diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-12-06 22:57:27 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-12-06 23:20:00 -0500 |
commit | dc5b1fdea7d63277f2b31489896d1947f0511a24 (patch) | |
tree | ac8caa284c779226c4272bab6739c9f2d486e712 /tests/layouts/tabs-nowrap.layout | |
parent | 1cf8e9b3cadad6efe510a177ca2be8f852022333 (diff) | |
download | pango-dc5b1fdea7d63277f2b31489896d1947f0511a24.tar.gz |
Fix line width computation
We an only use the line_width - remaining_width
shortcut if we are actually maintaining remaining_width,
i.e. not if we don't wrap lines.
Testcase included.
Fixes: #635
Diffstat (limited to 'tests/layouts/tabs-nowrap.layout')
-rw-r--r-- | tests/layouts/tabs-nowrap.layout | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/tests/layouts/tabs-nowrap.layout b/tests/layouts/tabs-nowrap.layout new file mode 100644 index 00000000..4a1d40b5 --- /dev/null +++ b/tests/layouts/tabs-nowrap.layout @@ -0,0 +1,363 @@ +{ + "context" : { + "font" : "serif 12", + "base-gravity" : "south", + "gravity-hint" : "natural", + "base-dir" : "weak-ltr", + "round-glyph-positions" : true, + "transform" : [ + 1, + 0, + 0, + 1, + 0, + 0 + ] + }, + "comment" : "A case where tabs were broken if line wrapping is disabled.", + "text" : "123\t9\n123456789", + "attributes" : [ + { + "type" : "font-features", + "value" : "tnum=1" + } + ], + "font" : "DejaVu Sans Mono 32", + "output" : { + "is-wrapped" : false, + "is-ellipsized" : false, + "unknown-glyphs" : 0, + "width" : 239616, + "height" : 239616, + "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 + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "word-end" : true, + "word-boundary" : true + }, + { + "line-break" : true, + "char-break" : true, + "cursor-position" : true, + "word-start" : true, + "backspace-deletes-character" : true, + "word-boundary" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "word-end" : true, + "sentence-end" : true, + "word-boundary" : true + }, + { + "line-break" : true, + "mandatory-break" : true, + "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 + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : true + }, + { + "char-break" : true, + "cursor-position" : 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" : 5, + "paragraph-start" : true, + "direction" : "ltr", + "runs" : [ + { + "offset" : 0, + "length" : 3, + "text" : "123", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "DejaVu Sans Mono 32", + "checksum" : "84c5467cadd1f6f23db0d9fbb6377e0d301334d3b5f36e6d5acebd34d0857d3a", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "extra-attributes" : [ + { + "type" : "font-features", + "value" : "tnum=1" + } + ], + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 20, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 21, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 1 + }, + { + "glyph" : 22, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 2 + } + ] + }, + { + "offset" : 3, + "length" : 1, + "text" : "\t", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "DejaVu Sans Mono 32", + "checksum" : "84c5467cadd1f6f23db0d9fbb6377e0d301334d3b5f36e6d5acebd34d0857d3a", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "extra-attributes" : [ + { + "type" : "font-features", + "value" : "tnum=1" + } + ], + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 268435455, + "width" : 133120, + "is-cluster-start" : true, + "log-cluster" : 0 + } + ] + }, + { + "offset" : 4, + "length" : 1, + "text" : "9", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "DejaVu Sans Mono 32", + "checksum" : "84c5467cadd1f6f23db0d9fbb6377e0d301334d3b5f36e6d5acebd34d0857d3a", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "extra-attributes" : [ + { + "type" : "font-features", + "value" : "tnum=1" + } + ], + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 28, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + } + ] + } + ] + }, + { + "start-index" : 6, + "length" : 9, + "paragraph-start" : true, + "direction" : "ltr", + "runs" : [ + { + "offset" : 6, + "length" : 9, + "text" : "123456789", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "DejaVu Sans Mono 32", + "checksum" : "84c5467cadd1f6f23db0d9fbb6377e0d301334d3b5f36e6d5acebd34d0857d3a", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "extra-attributes" : [ + { + "type" : "font-features", + "value" : "tnum=1" + } + ], + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 20, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 21, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 1 + }, + { + "glyph" : 22, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 2 + }, + { + "glyph" : 23, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 3 + }, + { + "glyph" : 24, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 4 + }, + { + "glyph" : 25, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 5 + }, + { + "glyph" : 26, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 6 + }, + { + "glyph" : 27, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 7 + }, + { + "glyph" : 28, + "width" : 26624, + "is-cluster-start" : true, + "log-cluster" : 8 + } + ] + } + ] + } + ] + } +} |