summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-11-23 13:59:24 -0500
committerMatthias Clasen <mclasen@redhat.com>2021-11-24 19:57:58 -0500
commitbecb4a942a87989acd37770af08f04da3e2731ba (patch)
tree63fdef633ff52d7836c12e23024dbcae7bccbd97
parent2b013d4114cdca3581c0fd5eba1238e9eb890f8d (diff)
downloadpango-becb4a942a87989acd37770af08f04da3e2731ba.tar.gz
Add more tests
These were produced with the help of http://gitlab.gnome.org/matthiasc/layout-editor
-rw-r--r--tests/layouts/bratwurst.layout18
-rw-r--r--tests/layouts/bratwurst2.layout173
-rw-r--r--tests/layouts/bratwurst3.layout261
-rw-r--r--tests/layouts/bratwurst4.layout216
-rw-r--r--tests/layouts/effigy.layout165
-rw-r--r--tests/layouts/kebab.layout225
6 files changed, 1049 insertions, 9 deletions
diff --git a/tests/layouts/bratwurst.layout b/tests/layouts/bratwurst.layout
index 641cc37a..8102e2da 100644
--- a/tests/layouts/bratwurst.layout
+++ b/tests/layouts/bratwurst.layout
@@ -27,12 +27,12 @@
"value" : "italic"
}
],
- "font" : "Cantarell Bold 32 @wght=604",
+ "font" : "Cantarell Bold 32",
"width" : 87040,
"output" : {
"is-wrapped" : false,
"is-ellipsized" : false,
- "width" : 197632,
+ "width" : 202752,
"height" : 53248,
"log-attrs" : [
{
@@ -111,7 +111,7 @@
"gravity" : "south",
"language" : "en-us",
"script" : "latin",
- "font" : "Cantarell Bold 32 @wght=604",
+ "font" : "Cantarell Bold 32",
"flags" : 0,
"y-offset" : 0,
"start-x-offset" : 0,
@@ -119,19 +119,19 @@
"glyphs" : [
{
"glyph" : 29,
- "width" : 27648,
+ "width" : 28672,
"is-cluster-start" : true,
"log-cluster" : 0
},
{
"glyph" : 409,
- "width" : 17408,
+ "width" : 18432,
"is-cluster-start" : true,
"log-cluster" : 1
},
{
"glyph" : 244,
- "width" : 22528,
+ "width" : 23552,
"is-cluster-start" : true,
"log-cluster" : 2
},
@@ -151,7 +151,7 @@
"gravity" : "south",
"language" : "en-us",
"script" : "latin",
- "font" : "Cantarell Bold Oblique 32 @wght=604",
+ "font" : "Cantarell Bold Oblique 32",
"flags" : 0,
"y-offset" : 0,
"start-x-offset" : 0,
@@ -159,7 +159,7 @@
"glyphs" : [
{
"glyph" : 467,
- "width" : 34816,
+ "width" : 35840,
"is-cluster-start" : true,
"log-cluster" : 0
},
@@ -171,7 +171,7 @@
},
{
"glyph" : 409,
- "width" : 17408,
+ "width" : 18432,
"is-cluster-start" : true,
"log-cluster" : 2
},
diff --git a/tests/layouts/bratwurst2.layout b/tests/layouts/bratwurst2.layout
new file mode 100644
index 00000000..701a0b37
--- /dev/null
+++ b/tests/layouts/bratwurst2.layout
@@ -0,0 +1,173 @@
+{
+ "context" : {
+ "font" : "serif 12",
+ "language" : "en-us",
+ "base-gravity" : "south",
+ "gravity-hint" : "natural",
+ "base-dir" : "weak-ltr",
+ "round-glyph-positions" : true,
+ "transform" : [
+ 1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0
+ ]
+ },
+ "comment" : [
+ "A single word, expected to produce a single",
+ "overlong line."
+ ],
+ "text" : "Bratwurst",
+ "font" : "Cantarell Bold 32",
+ "width" : 87040,
+ "output" : {
+ "is-wrapped" : false,
+ "is-ellipsized" : false,
+ "width" : 202752,
+ "height" : 53248,
+ "log-attrs" : [
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "sentence-boundary" : true,
+ "sentence-start" : true,
+ "backspace-deletes-character" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "mandatory-break" : true,
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "sentence-boundary" : true,
+ "sentence-end" : true,
+ "word-boundary" : true
+ }
+ ],
+ "lines" : [
+ {
+ "start-index" : 0,
+ "length" : 9,
+ "paragraph-start" : true,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 0,
+ "length" : 9,
+ "text" : "Bratwurst",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 29,
+ "width" : 28672,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 244,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 3
+ },
+ {
+ "glyph" : 467,
+ "width" : 35840,
+ "is-cluster-start" : true,
+ "log-cluster" : 4
+ },
+ {
+ "glyph" : 438,
+ "width" : 24576,
+ "is-cluster-start" : true,
+ "log-cluster" : 5
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 6
+ },
+ {
+ "glyph" : 417,
+ "width" : 20480,
+ "is-cluster-start" : true,
+ "log-cluster" : 7
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 8
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/tests/layouts/bratwurst3.layout b/tests/layouts/bratwurst3.layout
new file mode 100644
index 00000000..fe5107d9
--- /dev/null
+++ b/tests/layouts/bratwurst3.layout
@@ -0,0 +1,261 @@
+{
+ "context" : {
+ "font" : "serif 12",
+ "language" : "en-us",
+ "base-gravity" : "south",
+ "gravity-hint" : "natural",
+ "base-dir" : "weak-ltr",
+ "round-glyph-positions" : true,
+ "transform" : [
+ 1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0
+ ]
+ },
+ "comment" : [
+ "A single word with word-char wrapping,",
+ "expected to be broken to fit the line width."
+ ],
+ "text" : "Bratwurst",
+ "font" : "Cantarell Bold 32",
+ "wrap" : "word-char",
+ "width" : 87040,
+ "output" : {
+ "is-wrapped" : true,
+ "is-ellipsized" : false,
+ "width" : 78848,
+ "height" : 212992,
+ "log-attrs" : [
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "sentence-boundary" : true,
+ "sentence-start" : true,
+ "backspace-deletes-character" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "mandatory-break" : true,
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "sentence-boundary" : true,
+ "sentence-end" : true,
+ "word-boundary" : true
+ }
+ ],
+ "lines" : [
+ {
+ "start-index" : 0,
+ "length" : 2,
+ "paragraph-start" : true,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 0,
+ "length" : 2,
+ "text" : "Br",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 4,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 29,
+ "width" : 28672,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 1081,
+ "width" : 18432,
+ "log-cluster" : 1
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 2,
+ "length" : 2,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 2,
+ "length" : 2,
+ "text" : "at",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 4,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 244,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 1081,
+ "width" : 18432,
+ "log-cluster" : 1
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 4,
+ "length" : 2,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 4,
+ "length" : 2,
+ "text" : "wu",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 4,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 467,
+ "width" : 35840,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 438,
+ "width" : 24576,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 1081,
+ "width" : 18432,
+ "log-cluster" : 1
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 6,
+ "length" : 3,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 6,
+ "length" : 3,
+ "text" : "rst",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 417,
+ "width" : 20480,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/tests/layouts/bratwurst4.layout b/tests/layouts/bratwurst4.layout
new file mode 100644
index 00000000..311a1984
--- /dev/null
+++ b/tests/layouts/bratwurst4.layout
@@ -0,0 +1,216 @@
+{
+ "context" : {
+ "font" : "serif 12",
+ "language" : "en-us",
+ "base-gravity" : "south",
+ "gravity-hint" : "natural",
+ "base-dir" : "weak-ltr",
+ "round-glyph-positions" : true,
+ "transform" : [
+ 1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0
+ ]
+ },
+ "comment" : [
+ "A single word with a soft hyphen,",
+ "expected to be broken at the soft",
+ "hyphen and still produce overlong",
+ "lines."
+ ],
+ "text" : "Brat­wurst",
+ "font" : "Cantarell Bold 32",
+ "width" : 87040,
+ "output" : {
+ "is-wrapped" : true,
+ "is-ellipsized" : false,
+ "width" : 115712,
+ "height" : 106496,
+ "log-attrs" : [
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "sentence-boundary" : true,
+ "sentence-start" : true,
+ "backspace-deletes-character" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "mandatory-break" : true,
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "sentence-boundary" : true,
+ "sentence-end" : true,
+ "word-boundary" : true
+ }
+ ],
+ "lines" : [
+ {
+ "start-index" : 0,
+ "length" : 6,
+ "paragraph-start" : true,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 0,
+ "length" : 6,
+ "text" : "Brat­",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 4,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 29,
+ "width" : 28672,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 244,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 3
+ },
+ {
+ "glyph" : 268435455,
+ "width" : 0,
+ "is-cluster-start" : true,
+ "log-cluster" : 4
+ },
+ {
+ "glyph" : 1081,
+ "width" : 18432,
+ "log-cluster" : 4
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 6,
+ "length" : 5,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 6,
+ "length" : 5,
+ "text" : "wurst",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 467,
+ "width" : 35840,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 438,
+ "width" : 24576,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ },
+ {
+ "glyph" : 417,
+ "width" : 20480,
+ "is-cluster-start" : true,
+ "log-cluster" : 3
+ },
+ {
+ "glyph" : 430,
+ "width" : 16384,
+ "is-cluster-start" : true,
+ "log-cluster" : 4
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/tests/layouts/effigy.layout b/tests/layouts/effigy.layout
new file mode 100644
index 00000000..62fa596f
--- /dev/null
+++ b/tests/layouts/effigy.layout
@@ -0,0 +1,165 @@
+{
+ "context" : {
+ "font" : "serif 12",
+ "language" : "en-us",
+ "base-gravity" : "south",
+ "gravity-hint" : "natural",
+ "base-dir" : "weak-ltr",
+ "round-glyph-positions" : true,
+ "transform" : [
+ 1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0
+ ]
+ },
+ "comment" : [
+ "A ligature that is expected to be borken",
+ "to produce two fitting lines."
+ ],
+ "text" : "effigy",
+ "font" : "DejaVu Sans 32",
+ "wrap" : "char",
+ "width" : 81920,
+ "height" : 2048,
+ "output" : {
+ "is-wrapped" : true,
+ "is-ellipsized" : false,
+ "width" : 71680,
+ "height" : 102400,
+ "log-attrs" : [
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "sentence-boundary" : true,
+ "sentence-start" : true,
+ "backspace-deletes-character" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "mandatory-break" : true,
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "sentence-boundary" : true,
+ "sentence-end" : true,
+ "word-boundary" : true
+ }
+ ],
+ "lines" : [
+ {
+ "start-index" : 0,
+ "length" : 3,
+ "paragraph-start" : true,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 0,
+ "length" : 3,
+ "text" : "eff",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "DejaVu Sans 32",
+ "flags" : 4,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 72,
+ "width" : 26624,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 5041,
+ "width" : 29696,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 2803,
+ "width" : 15360,
+ "log-cluster" : 1
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 3,
+ "length" : 3,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 3,
+ "length" : 3,
+ "text" : "igy",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "DejaVu Sans 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 76,
+ "width" : 12288,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 74,
+ "width" : 27648,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 92,
+ "width" : 25600,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/tests/layouts/kebab.layout b/tests/layouts/kebab.layout
new file mode 100644
index 00000000..ce41c9b4
--- /dev/null
+++ b/tests/layouts/kebab.layout
@@ -0,0 +1,225 @@
+{
+ "context" : {
+ "font" : "serif 12",
+ "language" : "en-us",
+ "base-gravity" : "south",
+ "gravity-hint" : "natural",
+ "base-dir" : "weak-ltr",
+ "round-glyph-positions" : true,
+ "transform" : [
+ 1.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0
+ ]
+ },
+ "comment" : [
+ "Two words, expected to be broken",
+ "between words, collapsing the space",
+ "and still produce two overlong lines."
+ ],
+ "text" : "Döner Kebab",
+ "font" : "Cantarell Bold 32",
+ "width" : 87040,
+ "output" : {
+ "is-wrapped" : true,
+ "is-ellipsized" : false,
+ "width" : 126976,
+ "height" : 106496,
+ "log-attrs" : [
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "sentence-boundary" : true,
+ "sentence-start" : true,
+ "backspace-deletes-character" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "expandable-space" : true,
+ "word-boundary" : true
+ },
+ {
+ "line-break" : true,
+ "char-break" : true,
+ "cursor-position" : true,
+ "word-start" : true,
+ "word-boundary" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "char-break" : true,
+ "cursor-position" : true,
+ "break-inserts-hyphen" : true
+ },
+ {
+ "line-break" : true,
+ "mandatory-break" : true,
+ "char-break" : true,
+ "white" : true,
+ "cursor-position" : true,
+ "word-end" : true,
+ "sentence-boundary" : true,
+ "sentence-end" : true,
+ "word-boundary" : true
+ }
+ ],
+ "lines" : [
+ {
+ "start-index" : 0,
+ "length" : 7,
+ "paragraph-start" : true,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 0,
+ "length" : 7,
+ "text" : "Döner ",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 37,
+ "width" : 31744,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 381,
+ "width" : 25600,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 360,
+ "width" : 25600,
+ "is-cluster-start" : true,
+ "log-cluster" : 3
+ },
+ {
+ "glyph" : 287,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 4
+ },
+ {
+ "glyph" : 409,
+ "width" : 18432,
+ "is-cluster-start" : true,
+ "log-cluster" : 5
+ },
+ {
+ "glyph" : 268435455,
+ "width" : 0,
+ "is-cluster-start" : true,
+ "log-cluster" : 6
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "start-index" : 7,
+ "length" : 5,
+ "paragraph-start" : false,
+ "direction" : "ltr",
+ "runs" : [
+ {
+ "offset" : 7,
+ "length" : 5,
+ "text" : "Kebab",
+ "bidi-level" : 0,
+ "gravity" : "south",
+ "language" : "en-us",
+ "script" : "latin",
+ "font" : "Cantarell Bold 32",
+ "flags" : 0,
+ "y-offset" : 0,
+ "start-x-offset" : 0,
+ "end-x-offset" : 0,
+ "glyphs" : [
+ {
+ "glyph" : 100,
+ "width" : 28672,
+ "is-cluster-start" : true,
+ "log-cluster" : 0
+ },
+ {
+ "glyph" : 287,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 1
+ },
+ {
+ "glyph" : 272,
+ "width" : 25600,
+ "is-cluster-start" : true,
+ "log-cluster" : 2
+ },
+ {
+ "glyph" : 244,
+ "width" : 23552,
+ "is-cluster-start" : true,
+ "log-cluster" : 3
+ },
+ {
+ "glyph" : 272,
+ "width" : 25600,
+ "is-cluster-start" : true,
+ "log-cluster" : 4
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file