From cddd173f713335318802a98f008d44b66ac4db46 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 24 Nov 2021 17:46:55 -0500 Subject: Make test-layout use included fonts Add Cantarell, DejaVu Sans and a subset of Noto Color Emoji to git, and make test-layout use just those fonts. This should help with keeping the ci from breaking due to different system fonts. Update tests. --- tests/fonts/Cantarell-VF.otf | Bin 0 -> 170588 bytes tests/fonts/DejaVuSans.ttf | Bin 0 -> 757076 bytes tests/fonts/README | 4 + tests/fonts/emoji-subset.ttf | Bin 0 -> 35236 bytes tests/layouts/bratwurst.layout | 33 +++++++- tests/layouts/bratwurst2.layout | 17 +++- tests/layouts/bratwurst3.layout | 65 +++++++++++++- tests/layouts/bratwurst4.layout | 33 +++++++- tests/layouts/effigy.layout | 35 ++++++-- tests/layouts/kebab.layout | 33 +++++++- tests/layouts/valid-1.layout | 49 ++++++++++- tests/layouts/valid-10.layout | 86 +++++++++++++++++-- tests/layouts/valid-11.layout | 81 ++++++++++++++++-- tests/layouts/valid-12.layout | 51 ++++++++++- tests/layouts/valid-13.layout | 51 ++++++++++- tests/layouts/valid-14.layout | 126 +++++++++++++++++++++------ tests/layouts/valid-15.layout | 49 ++++++++++- tests/layouts/valid-16.layout | 49 ++++++++++- tests/layouts/valid-17.layout | 33 +++++++- tests/layouts/valid-18.layout | 51 ++++++++++- tests/layouts/valid-19.layout | 183 ++++++++++++++++++++++++++++++++++++---- tests/layouts/valid-2.layout | 81 ++++++++++++++++-- tests/layouts/valid-20.layout | 33 +++++++- tests/layouts/valid-22.layout | 129 ++++++++++++++++++++++++++-- tests/layouts/valid-3.layout | 50 +++++++++-- tests/layouts/valid-4.layout | 81 ++++++++++++++++-- tests/layouts/valid-5.layout | 97 +++++++++++++++++++-- tests/layouts/valid-6.layout | 52 ++++++++++-- tests/layouts/valid-7.layout | 65 +++++++++++++- tests/layouts/valid-8.layout | 70 +++++++++++++-- tests/layouts/valid-9.layout | 84 ++++++++++++++++-- tests/meson.build | 9 +- tests/test-layout.c | 110 +++++++++++++----------- 33 files changed, 1685 insertions(+), 205 deletions(-) create mode 100644 tests/fonts/Cantarell-VF.otf create mode 100644 tests/fonts/DejaVuSans.ttf create mode 100644 tests/fonts/README create mode 100644 tests/fonts/emoji-subset.ttf diff --git a/tests/fonts/Cantarell-VF.otf b/tests/fonts/Cantarell-VF.otf new file mode 100644 index 00000000..cd2ccf42 Binary files /dev/null and b/tests/fonts/Cantarell-VF.otf differ diff --git a/tests/fonts/DejaVuSans.ttf b/tests/fonts/DejaVuSans.ttf new file mode 100644 index 00000000..46bb331e Binary files /dev/null and b/tests/fonts/DejaVuSans.ttf differ diff --git a/tests/fonts/README b/tests/fonts/README new file mode 100644 index 00000000..df48f804 --- /dev/null +++ b/tests/fonts/README @@ -0,0 +1,4 @@ +The fonts in this directory are available to test-layout tests. +emoji-subset.ttf is a subset of Noto Color Emoji that is just +big enough to provide the Emoji that are present in our test +cases. diff --git a/tests/fonts/emoji-subset.ttf b/tests/fonts/emoji-subset.ttf new file mode 100644 index 00000000..2addf727 Binary files /dev/null and b/tests/fonts/emoji-subset.ttf differ diff --git a/tests/layouts/bratwurst.layout b/tests/layouts/bratwurst.layout index 8102e2da..ddfe44c2 100644 --- a/tests/layouts/bratwurst.layout +++ b/tests/layouts/bratwurst.layout @@ -32,6 +32,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 202752, "height" : 53248, "log-attrs" : [ @@ -111,7 +112,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -151,7 +166,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold Oblique 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/bratwurst2.layout b/tests/layouts/bratwurst2.layout index 701a0b37..0fb44a24 100644 --- a/tests/layouts/bratwurst2.layout +++ b/tests/layouts/bratwurst2.layout @@ -25,6 +25,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 202752, "height" : 53248, "log-attrs" : [ @@ -104,7 +105,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/bratwurst3.layout b/tests/layouts/bratwurst3.layout index fe5107d9..7d58668b 100644 --- a/tests/layouts/bratwurst3.layout +++ b/tests/layouts/bratwurst3.layout @@ -26,6 +26,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 78848, "height" : 212992, "log-attrs" : [ @@ -105,7 +106,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -146,7 +161,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -187,7 +216,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -228,7 +271,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/bratwurst4.layout b/tests/layouts/bratwurst4.layout index 311a1984..66c76828 100644 --- a/tests/layouts/bratwurst4.layout +++ b/tests/layouts/bratwurst4.layout @@ -27,6 +27,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 115712, "height" : 106496, "log-attrs" : [ @@ -112,7 +113,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -171,7 +186,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/effigy.layout b/tests/layouts/effigy.layout index 62fa596f..a2275d45 100644 --- a/tests/layouts/effigy.layout +++ b/tests/layouts/effigy.layout @@ -27,7 +27,8 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, - "width" : 71680, + "unknown-glyphs" : 0, + "width" : 73728, "height" : 102400, "log-attrs" : [ { @@ -91,7 +92,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 32", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -105,13 +117,13 @@ }, { "glyph" : 5041, - "width" : 29696, + "width" : 30720, "is-cluster-start" : true, "log-cluster" : 1 }, { "glyph" : 2803, - "width" : 15360, + "width" : 16384, "log-cluster" : 1 } ] @@ -132,7 +144,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 32", + "font" : { + "description" : "DejaVu Sans 32", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -162,4 +185,4 @@ } ] } -} +} \ No newline at end of file diff --git a/tests/layouts/kebab.layout b/tests/layouts/kebab.layout index ce41c9b4..a62117ae 100644 --- a/tests/layouts/kebab.layout +++ b/tests/layouts/kebab.layout @@ -26,6 +26,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 126976, "height" : 106496, "log-attrs" : [ @@ -120,7 +121,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -180,7 +195,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Bold 32", + "font" : { + "description" : "Cantarell Bold 32", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 8374 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-1.layout b/tests/layouts/valid-1.layout index 0a966d4f..8fc1429a 100644 --- a/tests/layouts/valid-1.layout +++ b/tests/layouts/valid-1.layout @@ -36,6 +36,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 225280, "height" : 37888, "log-attrs" : [ @@ -357,7 +358,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -505,7 +520,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -601,7 +630,21 @@ "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { diff --git a/tests/layouts/valid-10.layout b/tests/layouts/valid-10.layout index 51dc9ad0..ef6298d5 100644 --- a/tests/layouts/valid-10.layout +++ b/tests/layouts/valid-10.layout @@ -23,6 +23,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 102400, "height" : 38912, "log-attrs" : [ @@ -178,7 +179,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -230,7 +245,18 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -250,13 +276,13 @@ }, { "glyph" : 1331, - "width" : 8192, + "width" : 9216, "is-cluster-start" : true, "log-cluster" : 2 }, { "glyph" : 1344, - "width" : 10240, + "width" : 11264, "is-cluster-start" : true, "log-cluster" : 0 } @@ -270,15 +296,29 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, "end-x-offset" : 0, "glyphs" : [ { - "glyph" : 3, - "width" : 5120, + "glyph" : 1109, + "width" : 3072, "is-cluster-start" : true, "log-cluster" : 0 } @@ -292,7 +332,21 @@ "gravity" : "south", "language" : "el", "script" : "greek", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -314,7 +368,21 @@ "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { diff --git a/tests/layouts/valid-11.layout b/tests/layouts/valid-11.layout index 683cf696..d743acea 100644 --- a/tests/layouts/valid-11.layout +++ b/tests/layouts/valid-11.layout @@ -58,6 +58,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 109568, "height" : 38912, "log-attrs" : [ @@ -189,7 +190,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -253,7 +268,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -275,7 +304,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -323,7 +366,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -345,7 +402,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/layouts/valid-12.layout b/tests/layouts/valid-12.layout index 96362eb3..b7ee6ddf 100644 --- a/tests/layouts/valid-12.layout +++ b/tests/layouts/valid-12.layout @@ -30,8 +30,9 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 1, "width" : 113664, - "height" : 59392, + "height" : 56320, "log-attrs" : [ { "char-break" : true, @@ -389,7 +390,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -555,7 +570,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -585,7 +614,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-13.layout b/tests/layouts/valid-13.layout index 3bb98ce7..dadd40f0 100644 --- a/tests/layouts/valid-13.layout +++ b/tests/layouts/valid-13.layout @@ -31,8 +31,9 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 2, "width" : 219136, - "height" : 21504, + "height" : 18432, "log-attrs" : [ { "char-break" : true, @@ -390,7 +391,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -562,7 +577,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -590,7 +619,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/layouts/valid-14.layout b/tests/layouts/valid-14.layout index 255f51da..09894b52 100644 --- a/tests/layouts/valid-14.layout +++ b/tests/layouts/valid-14.layout @@ -23,8 +23,9 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 161792, - "height" : 48128, + "height" : 47104, "log-attrs" : [ { "char-break" : true, @@ -195,13 +196,27 @@ "runs" : [ { "offset" : 0, - "length" : 3, - "text" : "你", + "length" : 6, + "text" : "你好", "bidi-level" : 0, "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { @@ -227,36 +242,44 @@ }, { "glyph" : 1058, - "width" : 4096, + "width" : 16384, "log-cluster" : 0 } ] }, { - "offset" : 3, - "length" : 4, - "text" : "好 ", + "offset" : 6, + "length" : 1, + "text" : " ", "bidi-level" : 0, "gravity" : "south", "language" : "xx", "script" : "han", - "font" : "Droid Sans 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, "end-x-offset" : 0, "glyphs" : [ { - "glyph" : 1300, - "width" : 15360, + "glyph" : 1109, + "width" : 3072, "is-cluster-start" : true, "log-cluster" : 0 - }, - { - "glyph" : 268435488, - "width" : 0, - "is-cluster-start" : true, - "log-cluster" : 3 } ] }, @@ -268,7 +291,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -320,7 +357,18 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -340,13 +388,13 @@ }, { "glyph" : 1331, - "width" : 8192, + "width" : 9216, "is-cluster-start" : true, "log-cluster" : 2 }, { "glyph" : 1344, - "width" : 10240, + "width" : 11264, "is-cluster-start" : true, "log-cluster" : 0 } @@ -360,15 +408,29 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, "end-x-offset" : 0, "glyphs" : [ { - "glyph" : 3, - "width" : 5120, + "glyph" : 1109, + "width" : 3072, "is-cluster-start" : true, "log-cluster" : 0 } @@ -382,7 +444,21 @@ "gravity" : "south", "language" : "el", "script" : "greek", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-15.layout b/tests/layouts/valid-15.layout index ac7ab3e9..8bcec049 100644 --- a/tests/layouts/valid-15.layout +++ b/tests/layouts/valid-15.layout @@ -23,6 +23,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 153600, "height" : 36864, "log-attrs" : [ @@ -652,7 +653,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -826,7 +841,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -962,7 +991,21 @@ "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { diff --git a/tests/layouts/valid-16.layout b/tests/layouts/valid-16.layout index 0f1b8698..8c80be6d 100644 --- a/tests/layouts/valid-16.layout +++ b/tests/layouts/valid-16.layout @@ -24,6 +24,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 153600, "height" : 56320, "log-attrs" : [ @@ -653,7 +654,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -827,7 +842,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -963,7 +992,21 @@ "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { diff --git a/tests/layouts/valid-17.layout b/tests/layouts/valid-17.layout index 8d0ff072..f14c769c 100644 --- a/tests/layouts/valid-17.layout +++ b/tests/layouts/valid-17.layout @@ -22,6 +22,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 102400, "height" : 56320, "log-attrs" : [ @@ -152,7 +153,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -266,7 +281,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-18.layout b/tests/layouts/valid-18.layout index e02c185a..9424a079 100644 --- a/tests/layouts/valid-18.layout +++ b/tests/layouts/valid-18.layout @@ -27,8 +27,9 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 9, "width" : 295936, - "height" : 62464, + "height" : 56320, "log-attrs" : [ { "char-break" : true, @@ -343,7 +344,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -462,7 +477,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -499,7 +528,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/layouts/valid-19.layout b/tests/layouts/valid-19.layout index 02b07bf4..aeec29a7 100644 --- a/tests/layouts/valid-19.layout +++ b/tests/layouts/valid-19.layout @@ -20,8 +20,9 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, - "width" : 250880, - "height" : 43008, + "unknown-glyphs" : 7, + "width" : 252928, + "height" : 38912, "log-attrs" : [ { "char-break" : true, @@ -206,7 +207,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -246,7 +261,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -254,7 +280,7 @@ "glyphs" : [ { "glyph" : 5867, - "width" : 15360, + "width" : 16384, "is-cluster-start" : true, "log-cluster" : 0 }, @@ -280,7 +306,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -288,7 +325,7 @@ "glyphs" : [ { "glyph" : 5867, - "width" : 15360, + "width" : 16384, "is-cluster-start" : true, "log-cluster" : 0 }, @@ -308,7 +345,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -330,7 +381,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Raqq 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -358,7 +420,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -380,7 +456,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Raqq 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -402,7 +489,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -424,7 +525,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Raqq 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -452,7 +564,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -498,7 +624,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Raqq 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -550,7 +687,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-2.layout b/tests/layouts/valid-2.layout index 30f062b0..a7e490eb 100644 --- a/tests/layouts/valid-2.layout +++ b/tests/layouts/valid-2.layout @@ -34,6 +34,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 200704, "height" : 37888, "log-attrs" : [ @@ -260,7 +261,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -330,7 +345,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Oblique 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -370,7 +399,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -428,7 +471,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -482,7 +539,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-20.layout b/tests/layouts/valid-20.layout index 4f799fd9..e82eec6d 100644 --- a/tests/layouts/valid-20.layout +++ b/tests/layouts/valid-20.layout @@ -38,6 +38,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 76800, "height" : 44032, "log-attrs" : [ @@ -109,7 +110,21 @@ "gravity" : "east", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Rotated-Left 11", + "font" : { + "description" : "Cantarell Rotated-Left 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -161,7 +176,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/layouts/valid-22.layout b/tests/layouts/valid-22.layout index e5e5970e..5596cb19 100644 --- a/tests/layouts/valid-22.layout +++ b/tests/layouts/valid-22.layout @@ -100,6 +100,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 49152, "height" : 41090, "log-attrs" : [ @@ -204,7 +205,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -226,7 +241,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell Oblique 7.1484375", + "font" : { + "description" : "Cantarell 7.1484375", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -262,7 +291,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -302,7 +345,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 7.1484375", + "font" : { + "description" : "Cantarell 7.1484375", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -338,7 +395,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 4.646484375", + "font" : { + "description" : "Cantarell 4.646484375", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -386,7 +457,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 3.0205078125", + "font" : { + "description" : "Cantarell 3.0205078125", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -446,7 +531,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 1.962890625", + "font" : { + "description" : "Cantarell 1.962890625", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -518,7 +617,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 1.2763671875", + "font" : { + "description" : "Cantarell 1.2763671875", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/layouts/valid-3.layout b/tests/layouts/valid-3.layout index a40e605e..b0310eaa 100644 --- a/tests/layouts/valid-3.layout +++ b/tests/layouts/valid-3.layout @@ -20,7 +20,8 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, - "width" : 53248, + "unknown-glyphs" : 0, + "width" : 54272, "height" : 38912, "log-attrs" : [ { @@ -91,7 +92,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -125,7 +140,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -133,7 +159,7 @@ "glyphs" : [ { "glyph" : 5857, - "width" : 15360, + "width" : 16384, "is-cluster-start" : true, "log-cluster" : 0 }, @@ -153,7 +179,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-4.layout b/tests/layouts/valid-4.layout index a57f6d63..5cdf02f4 100644 --- a/tests/layouts/valid-4.layout +++ b/tests/layouts/valid-4.layout @@ -21,6 +21,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 197632, "height" : 111616, "log-attrs" : [ @@ -897,7 +898,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -1106,7 +1121,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -1316,7 +1345,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 4, "y-offset" : 0, "start-x-offset" : 0, @@ -1519,7 +1562,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -1735,7 +1792,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-5.layout b/tests/layouts/valid-5.layout index fa68f67c..66801d85 100644 --- a/tests/layouts/valid-5.layout +++ b/tests/layouts/valid-5.layout @@ -29,6 +29,7 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 194560, "height" : 130048, "log-attrs" : [ @@ -797,7 +798,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -955,7 +970,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -1125,7 +1154,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -1337,7 +1380,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -1465,7 +1522,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -1639,7 +1710,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-6.layout b/tests/layouts/valid-6.layout index c0b31f13..7f103a8f 100644 --- a/tests/layouts/valid-6.layout +++ b/tests/layouts/valid-6.layout @@ -20,8 +20,9 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, - "width" : 150528, - "height" : 40960, + "unknown-glyphs" : 1, + "width" : 151552, + "height" : 38912, "log-attrs" : [ { "char-break" : true, @@ -183,7 +184,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -205,7 +220,18 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -213,7 +239,7 @@ "glyphs" : [ { "glyph" : 19, - "width" : 9216, + "width" : 10240, "is-cluster-start" : true, "log-cluster" : 0 }, @@ -239,7 +265,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-7.layout b/tests/layouts/valid-7.layout index 882e67c8..5a1fed32 100644 --- a/tests/layouts/valid-7.layout +++ b/tests/layouts/valid-7.layout @@ -37,6 +37,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : true, + "unknown-glyphs" : 0, "width" : 153600, "height" : 37888, "log-attrs" : [ @@ -358,7 +359,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -446,7 +461,21 @@ "gravity" : "south", "language" : "en-us", "script" : "common", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 2, "extra-attributes" : [ { @@ -475,7 +504,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -523,7 +566,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-8.layout b/tests/layouts/valid-8.layout index ea42ae7a..d8fbee1b 100644 --- a/tests/layouts/valid-8.layout +++ b/tests/layouts/valid-8.layout @@ -23,6 +23,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 134144, "height" : 90112, "log-attrs" : [ @@ -178,7 +179,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -230,7 +245,18 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, @@ -250,13 +276,13 @@ }, { "glyph" : 1331, - "width" : 8192, + "width" : 9216, "is-cluster-start" : true, "log-cluster" : 2 }, { "glyph" : 1344, - "width" : 10240, + "width" : 11264, "is-cluster-start" : true, "log-cluster" : 0 } @@ -270,15 +296,29 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, "end-x-offset" : 0, "glyphs" : [ { - "glyph" : 3, - "width" : 5120, + "glyph" : 1109, + "width" : 3072, "is-cluster-start" : true, "log-cluster" : 0 } @@ -292,7 +332,21 @@ "gravity" : "south", "language" : "el", "script" : "greek", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "y-offset" : 0, "start-x-offset" : 0, diff --git a/tests/layouts/valid-9.layout b/tests/layouts/valid-9.layout index e833808e..29e2fad9 100644 --- a/tests/layouts/valid-9.layout +++ b/tests/layouts/valid-9.layout @@ -28,8 +28,9 @@ "output" : { "is-wrapped" : true, "is-ellipsized" : false, + "unknown-glyphs" : 0, "width" : 71392, - "height" : 93184, + "height" : 94208, "log-attrs" : [ { "char-break" : true, @@ -183,7 +184,21 @@ "gravity" : "south", "language" : "en-us", "script" : "latin", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -255,7 +270,18 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "DejaVu Sans 11", + "checksum" : "69ccd07023a72ceb27a5e5c22f728627353b60a198170f5e58dd7014221abf01", + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -283,14 +309,14 @@ }, { "glyph" : 1331, - "width" : 17080, + "width" : 18104, "x-offset" : 4444, "is-cluster-start" : true, "log-cluster" : 2 }, { "glyph" : 1344, - "width" : 19128, + "width" : 20152, "x-offset" : 4444, "is-cluster-start" : true, "log-cluster" : 0 @@ -305,7 +331,21 @@ "gravity" : "south", "language" : "he", "script" : "hebrew", - "font" : "DejaVu Sans 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -343,7 +383,21 @@ "gravity" : "south", "language" : "el", "script" : "greek", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { @@ -408,7 +462,21 @@ "gravity" : "south", "language" : "el", "script" : "greek", - "font" : "Cantarell 11", + "font" : { + "description" : "Cantarell 11", + "checksum" : "5bcb6ee14ee9d210b2e91d643de1fe456e9d1aea770983fdb05951545efebbe2", + "variations" : { + "wght" : 0 + }, + "matrix" : [ + 1.0, + -0.0, + -0.0, + 1.0, + 0.0, + 0.0 + ] + }, "flags" : 0, "extra-attributes" : [ { diff --git a/tests/meson.build b/tests/meson.build index 00741a14..ca53d103 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -44,18 +44,23 @@ if cairo_dep.found() [ 'testiter', [ 'testiter.c' ], [ libpangocairo_dep ] ], [ 'test-ellipsize', [ 'test-ellipsize.c' ], [ libpangocairo_dep ] ], [ 'markup-parse', [ 'markup-parse.c' , 'test-common.c' ], [ libpangocairo_dep ] ], - [ 'test-layout', [ 'test-layout.c', 'test-common.c' ], [ libpangocairo_dep ] ], [ 'test-itemize', [ 'test-itemize.c', 'test-common.c' ], [ libpangocairo_dep ] ], [ 'test-shape', [ 'test-shape.c', 'test-common.c' ], [ libpangocairo_dep ] ], [ 'test-font', [ 'test-font.c' ], [ libpangocairo_dep ] ], [ 'testattributes', [ 'testattributes.c', 'test-common.c' ], [ libpangocairo_dep ] ], - [ 'testmisc', [ 'testmisc.c' ], [ libpangocairo_dep, libpangoft2_dep, glib_dep, harfbuzz_dep ] ], [ 'cxx-test', [ 'cxx-test.cpp' ], [ libpangocairo_dep, gobject_dep, harfbuzz_dep ] ], [ 'test-harfbuzz', [ 'test-harfbuzz.c' ], [ libpangocairo_dep, gobject_dep, harfbuzz_dep ] ], [ 'test-break', [ 'test-break.c', 'test-common.c', 'validate-log-attrs.c' ], [libpangocairo_dep, glib_dep, harfbuzz_dep ] ], [ 'testserialize', [ 'testserialize.c' ], [ libpangocairo_dep ] ], ] + if build_pangoft2 + tests += [ + [ 'testmisc', [ 'testmisc.c' ], [ libpangocairo_dep, libpangoft2_dep, glib_dep, harfbuzz_dep ] ], + [ 'test-layout', [ 'test-layout.c', 'test-common.c' ], [ libpangocairo_dep, libpangoft2_dep ] ], + ] + endif + if host_system != 'darwin' tests += [ [ 'testrandom', [ 'testrandom.c' ], [ libpangocairo_dep, gio_dep ] ], diff --git a/tests/test-layout.c b/tests/test-layout.c index 0a4c8d3a..93a6118f 100644 --- a/tests/test-layout.c +++ b/tests/test-layout.c @@ -29,44 +29,22 @@ #include "config.h" #include +#include #include "test-common.h" -static PangoContext *context; - -static GBytes * -test_bytes (GBytes *orig) -{ - GBytes *bytes; - GError *error = NULL; - PangoLayout *layout; - - if (context == NULL) - context = pango_font_map_create_context (pango_cairo_font_map_get_default ()); - - layout = pango_layout_deserialize (context, orig, PANGO_LAYOUT_DESERIALIZE_CONTEXT, &error); - g_assert_no_error (error); - - bytes = pango_layout_serialize (layout, PANGO_LAYOUT_SERIALIZE_CONTEXT | PANGO_LAYOUT_SERIALIZE_OUTPUT); - - g_object_unref (layout); - - return bytes; -} - static void test_layout (gconstpointer d) { const char *filename = d; GError *error = NULL; char *diff; - PangoFontFamily **families; - int n_families; - gboolean found_cantarell; GBytes *bytes; char *contents; gsize length; GBytes *orig; + PangoContext *context; + PangoLayout *layout; char *old_locale = g_strdup (setlocale (LC_ALL, NULL)); setlocale (LC_ALL, "en_US.UTF-8"); @@ -79,35 +57,18 @@ test_layout (gconstpointer d) return; } - if (context == NULL) - context = pango_font_map_create_context (pango_cairo_font_map_get_default ()); - - found_cantarell = FALSE; - pango_context_list_families (context, &families, &n_families); - for (int i = 0; i < n_families; i++) - { - if (strcmp (pango_font_family_get_name (families[i]), "Cantarell") == 0) - { - found_cantarell = TRUE; - break; - } - } - g_free (families); - - if (!found_cantarell) - { - char *msg = g_strdup_printf ("Cantarell font not available, skipping layout %s", filename); - g_test_skip (msg); - g_free (msg); - g_free (old_locale); - return; - } - g_file_get_contents (filename, &contents, &length, &error); g_assert_no_error (error); orig = g_bytes_new_take (contents, length); - bytes = test_bytes (orig); + context = pango_font_map_create_context (pango_cairo_font_map_get_default ()); + layout = pango_layout_deserialize (context, orig, PANGO_LAYOUT_DESERIALIZE_CONTEXT, &error); + g_assert_no_error (error); + + bytes = pango_layout_serialize (layout, PANGO_LAYOUT_SERIALIZE_CONTEXT | PANGO_LAYOUT_SERIALIZE_OUTPUT); + + g_object_unref (layout); + g_object_unref (context); diff = diff_bytes (bytes, orig, &error); g_assert_no_error (error); @@ -136,15 +97,43 @@ test_layout (gconstpointer d) g_free (diff); } +static void +install_fonts (const char *dir) +{ + FcConfig *config; + PangoFontMap *map; + char *conf; + + config = FcConfigCreate (); + + conf = g_strdup_printf ("\n" + "\n" + "\n" + " %s/cache\n" + "", dir); + + if (!FcConfigParseAndLoadFromMemory (config, (const FcChar8 *) conf, TRUE)) + g_error ("Failed to parse fontconfig configuration"); + + g_free (conf); + + FcConfigAppFontAddDir (config, (const FcChar8 *) dir); + map = pango_cairo_font_map_get_default (); + pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (map), config); + FcConfigDestroy (config); +} + int main (int argc, char *argv[]) { GDir *dir; GError *error = NULL; + char *opt_fonts = NULL; const gchar *name; char *path; GOptionContext *option_context; GOptionEntry entries[] = { + { "fonts", 0, 0, G_OPTION_ARG_FILENAME, &opt_fonts, "Fonts to use", "DIR" }, { NULL, 0 }, }; @@ -160,6 +149,9 @@ main (int argc, char *argv[]) } g_option_context_free (option_context); + if (opt_fonts) + install_fonts (opt_fonts); + /* allow to easily generate expected output for new test cases */ if (argc > 1 && argv[1][0] != '-') { @@ -168,11 +160,20 @@ main (int argc, char *argv[]) GError *error = NULL; GBytes *orig; GBytes *bytes; + PangoContext *context; + PangoLayout *layout; g_file_get_contents (argv[1], &contents, &length, &error); g_assert_no_error (error); orig = g_bytes_new_take (contents, length); - bytes = test_bytes (orig); + context = pango_font_map_create_context (pango_cairo_font_map_get_default ()); + layout = pango_layout_deserialize (context, orig, PANGO_LAYOUT_DESERIALIZE_CONTEXT, &error); + g_assert_no_error (error); + + bytes = pango_layout_serialize (layout, PANGO_LAYOUT_SERIALIZE_CONTEXT | PANGO_LAYOUT_SERIALIZE_OUTPUT); + + g_object_unref (layout); + g_object_unref (context); g_print ("%s", (const char *)g_bytes_get_data (bytes, NULL)); @@ -184,6 +185,13 @@ main (int argc, char *argv[]) g_test_init (&argc, &argv, NULL); + if (!opt_fonts) + { + path = g_test_build_filename (G_TEST_DIST, "fonts", NULL); + install_fonts (path); + g_free (path); + } + path = g_test_build_filename (G_TEST_DIST, "layouts", NULL); dir = g_dir_open (path, 0, &error); g_free (path); -- cgit v1.2.1