src/hb-aat-layout-common-private.hh | 10 +++++----- src/hb-aat-layout-morx-table.hh | 7 +++---- test/shaping/data/text-rendering-tests/DISABLED | 2 ++ test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++ test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf |binary test/shaping/data/text-rendering-tests/fonts/TestMORXTwentysix.ttf |binary test/shaping/data/text-rendering-tests/tests/MORX-25.tests | 9 +++++++++ test/shaping/data/text-rendering-tests/tests/MORX-26.tests | 2 ++ util/hb-subset.cc | 2 +- util/options.hh | 10 ++++++++-- 10 files changed, 32 insertions(+), 12 deletions(-)
New commits: commit 194140d3f352b53b95757cccb7fff50425747cd6 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Feb 8 16:27:57 2018 -0600 [util] Minor diff --git a/util/hb-subset.cc b/util/hb-subset.cc index fb6d3635..37ec7b51 100644 --- a/util/hb-subset.cc +++ b/util/hb-subset.cc @@ -73,7 +73,7 @@ struct subset_consumer_t fprintf(stderr, "Unable to open output file\n"); return false; } - size_t bytes_written = fwrite(data, 1, data_length, fp_out); + ssize_t bytes_written = fwrite(data, 1, data_length, fp_out); if (bytes_written == -1) { fprintf(stderr, "Unable to write output file\n"); diff --git a/util/options.hh b/util/options.hh index 155f7079..411165bf 100644 --- a/util/options.hh +++ b/util/options.hh @@ -240,19 +240,25 @@ struct shape_options_t : option_group_t { if (error) *error = "all shapers failed."; - return false; + goto fail; } if (normalize_glyphs) hb_buffer_normalize_glyphs (buffer); if (verify && !verify_buffer (buffer, text_buffer, font, error)) - return false; + goto fail; if (text_buffer) hb_buffer_destroy (text_buffer); return true; + + fail: + if (text_buffer) + hb_buffer_destroy (text_buffer); + + return false; } bool verify_buffer (hb_buffer_t *buffer, commit 5021ba2a2186a77d7d70be5602b960d14634d8b2 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Feb 8 15:11:28 2018 -0600 [aat] Minor diff --git a/src/hb-aat-layout-common-private.hh b/src/hb-aat-layout-common-private.hh index e0f59a4a..fea3b094 100644 --- a/src/hb-aat-layout-common-private.hh +++ b/src/hb-aat-layout-common-private.hh @@ -563,9 +563,9 @@ struct StateTable unsigned int entry = 0; while (state < num_states) { - if (unlikely (!c->check_array (states + state * nClasses, - states[0].static_size, - nClasses * (num_states - state)))) + if (unlikely (!c->check_array (states, + states[0].static_size * nClasses, + num_states))) return_trace (false); { /* Sweep new states. */ const HBUINT16 *stop = &states[num_states * nClasses]; @@ -574,9 +574,9 @@ struct StateTable state = num_states; } - if (unlikely (!c->check_array (entries + entry, + if (unlikely (!c->check_array (entries, entries[0].static_size, - num_entries - entry))) + num_entries))) return_trace (false); { /* Sweep new entries. */ const Entry<Extra> *stop = &entries[num_entries]; diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh index f8209a60..fc834ebf 100644 --- a/src/hb-aat-layout-morx-table.hh +++ b/src/hb-aat-layout-morx-table.hh @@ -281,7 +281,7 @@ struct ContextualSubtable TRACE_SANITIZE (this); unsigned int num_entries = 0; - if (unlikely (!machine.sanitize (c, &num_entries))) return false; + if (unlikely (!machine.sanitize (c, &num_entries))) return_trace (false); unsigned int num_lookups = 0; @@ -454,9 +454,8 @@ struct LigatureSubtable { TRACE_SANITIZE (this); /* The rest of array sanitizations are done at run-time. */ - return c->check_struct (this) && machine.sanitize (c) && - ligAction && component && ligature; - return_trace (true); + return_trace (c->check_struct (this) && machine.sanitize (c) && + ligAction && component && ligature); } protected: commit 1242ad8424f5e8357fe6fd2143430aa8cfaf0954 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Feb 8 14:10:01 2018 -0600 [test/text-rendering-tests] Update from upstream diff --git a/test/shaping/data/text-rendering-tests/DISABLED b/test/shaping/data/text-rendering-tests/DISABLED index 51174553..dbe870f1 100644 --- a/test/shaping/data/text-rendering-tests/DISABLED +++ b/test/shaping/data/text-rendering-tests/DISABLED @@ -24,6 +24,8 @@ tests/MORX-20.tests tests/MORX-21.tests tests/MORX-22.tests tests/MORX-23.tests +tests/MORX-25.tests +tests/MORX-26.tests # Rounding differences tests/SHARAN-1.tests diff --git a/test/shaping/data/text-rendering-tests/Makefile.sources b/test/shaping/data/text-rendering-tests/Makefile.sources index b12f1733..f77c1bce 100644 --- a/test/shaping/data/text-rendering-tests/Makefile.sources +++ b/test/shaping/data/text-rendering-tests/Makefile.sources @@ -48,6 +48,8 @@ DISBALED_TESTS = \ tests/MORX-21.tests \ tests/MORX-22.tests \ tests/MORX-23.tests \ + tests/MORX-25.tests \ + tests/MORX-26.tests \ tests/MORX-2.tests \ tests/MORX-3.tests \ tests/MORX-4.tests \ diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf new file mode 100644 index 00000000..e3fadf51 Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentyfive.ttf differ diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentysix.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentysix.ttf new file mode 100644 index 00000000..828f6441 Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentysix.ttf differ diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-25.tests b/test/shaping/data/text-rendering-tests/tests/MORX-25.tests new file mode 100644 index 00000000..ccd0563d --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-25.tests @@ -0,0 +1,9 @@ +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0043,U+0044,U+0045:[A.alt|B.alt@1000,0|C.alt@2000,0|D.alt@3000,0|E.alt@4000,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0045,U+0042,U+0043,U+0044,U+0041:[E|B@556,0|C@1182,0|D@1778,0|A@2452,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0043,U+0042,U+0041,U+0042,U+0043:[C|B@596,0|A.alt@1222,0|B.alt@2222,0|C.alt@3222,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0043:[A.alt|B.alt@1000,0|C.alt@2000,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0043,U+0042,U+0041:[C|B@596,0|A@1222,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042:[A.alt|B.alt@1000,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0042,U+0041:[B|A@626,0] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041:[A] +../fonts/TestMORXTwentyfive.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0042:[B] diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-26.tests b/test/shaping/data/text-rendering-tests/tests/MORX-26.tests new file mode 100644 index 00000000..bebae606 --- /dev/null +++ b/test/shaping/data/text-rendering-tests/tests/MORX-26.tests @@ -0,0 +1,2 @@ +../fonts/TestMORXTwentysix.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042:[A|B@639,0] +../fonts/TestMORXTwentysix.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0042:[B.alt] _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz