[HarfBuzz] harfbuzz: Branch 'master' - 4 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Fri Sep 28 14:15:26 UTC 2018


 src/hb-aat-layout-morx-table.hh                                     |    9 +++------
 test/api/Makefile.am                                                |    1 +
 test/shaping/data/text-rendering-tests/DISABLED                     |    4 ++++
 test/shaping/data/text-rendering-tests/Makefile.sources             |    4 ++++
 test/shaping/data/text-rendering-tests/fonts/TestMORXThirtyone.ttf  |binary
 test/shaping/data/text-rendering-tests/fonts/TestMORXThirtytwo.ttf  |binary
 test/shaping/data/text-rendering-tests/fonts/TestMORXTwentynine.ttf |binary
 test/shaping/data/text-rendering-tests/tests/MORX-29.tests          |    4 ++++
 test/shaping/data/text-rendering-tests/tests/MORX-30.tests          |    4 ++++
 test/shaping/data/text-rendering-tests/tests/MORX-31.tests          |    8 ++++++++
 test/shaping/data/text-rendering-tests/tests/MORX-32.tests          |    4 ++++
 11 files changed, 32 insertions(+), 6 deletions(-)

New commits:
commit f4072e8cb81072cd6d51a2607efedb76c02e7db1
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Sep 28 10:14:23 2018 -0400

    [morx] Remove mark_set from Insertion
    
    text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
    as mark set at 0.  This is unlike the Reordering lookup where un unset mark performs
    nothing.
    
    Fixes MORX-32.

diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh
index 08fe7354..60d05e61 100644
--- a/src/hb-aat-layout-morx-table.hh
+++ b/src/hb-aat-layout-morx-table.hh
@@ -592,7 +592,6 @@ struct InsertionSubtable
 			     hb_aat_apply_context_t *c_) :
 	ret (false),
 	c (c_),
-	mark_set (false),
 	mark (0),
 	insertionAction (table+table->insertionAction) {}
 
@@ -608,7 +607,7 @@ struct InsertionSubtable
       hb_buffer_t *buffer = driver->buffer;
       unsigned int flags = entry->flags;
 
-      if (entry->data.markedInsertIndex != 0xFFFF && mark_set)
+      if (entry->data.markedInsertIndex != 0xFFFF)
       {
 	unsigned int count = (flags & MarkedInsertCount);
 	unsigned int start = entry->data.markedInsertIndex;
@@ -669,10 +668,7 @@ struct InsertionSubtable
       }
 
       if (flags & SetMark)
-      {
-	mark_set = true;
 	mark = buffer->out_len;
-      }
 
       return true;
     }
@@ -681,7 +677,6 @@ struct InsertionSubtable
     bool ret;
     private:
     hb_aat_apply_context_t *c;
-    bool mark_set;
     unsigned int mark;
     const UnsizedArrayOf<GlyphID> &insertionAction;
   };
commit 0d18ec5467818fa8f763ec2871146a64d39987e7
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Sep 28 10:00:07 2018 -0400

    [morx] unsafe-to-break in Insertion
    
    Makes MORX-29, MORX-30, MORX-31 pass.

diff --git a/src/hb-aat-layout-morx-table.hh b/src/hb-aat-layout-morx-table.hh
index a8b287fd..08fe7354 100644
--- a/src/hb-aat-layout-morx-table.hh
+++ b/src/hb-aat-layout-morx-table.hh
@@ -629,6 +629,8 @@ struct InsertionSubtable
 	  buffer->skip_glyph ();
 
 	buffer->move_to (end + count);
+
+	buffer->unsafe_to_break_from_outbuffer (mark, MIN (buffer->idx + 1, buffer->len));
       }
 
       if (entry->data.currentInsertIndex != 0xFFFF)
commit 02bebe42c1ffbd8e11b232c943317c8cd8141afb
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Sep 28 09:51:35 2018 -0400

    [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 58de258f..1ce62e07 100644
--- a/test/shaping/data/text-rendering-tests/DISABLED
+++ b/test/shaping/data/text-rendering-tests/DISABLED
@@ -28,6 +28,10 @@ tests/MORX-25.tests
 tests/MORX-26.tests
 tests/MORX-27.tests
 tests/MORX-28.tests
+tests/MORX-29.tests
+tests/MORX-30.tests
+tests/MORX-31.tests
+tests/MORX-32.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 4be9d05d..5c8cd03f 100644
--- a/test/shaping/data/text-rendering-tests/Makefile.sources
+++ b/test/shaping/data/text-rendering-tests/Makefile.sources
@@ -52,7 +52,11 @@ DISBALED_TESTS = \
 	tests/MORX-26.tests \
 	tests/MORX-27.tests \
 	tests/MORX-28.tests \
+	tests/MORX-29.tests \
 	tests/MORX-2.tests \
+	tests/MORX-30.tests \
+	tests/MORX-31.tests \
+	tests/MORX-32.tests \
 	tests/MORX-3.tests \
 	tests/MORX-4.tests \
 	tests/MORX-5.tests \
diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtyone.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtyone.ttf
new file mode 100644
index 00000000..c64c12c0
Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtyone.ttf differ
diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtytwo.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtytwo.ttf
new file mode 100644
index 00000000..07ed76c1
Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXThirtytwo.ttf differ
diff --git a/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentynine.ttf b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentynine.ttf
new file mode 100644
index 00000000..9f015ca5
Binary files /dev/null and b/test/shaping/data/text-rendering-tests/fonts/TestMORXTwentynine.ttf differ
diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-29.tests b/test/shaping/data/text-rendering-tests/tests/MORX-29.tests
new file mode 100644
index 00000000..82fd9630
--- /dev/null
+++ b/test/shaping/data/text-rendering-tests/tests/MORX-29.tests
@@ -0,0 +1,4 @@
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+004D,U+004D,U+0059,U+0059,U+0041,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|M at 1880,0|X at 2710,0|X at 3074,0|M at 3438,0|I at 4268,0|N at 5098,0|S at 5928,0|M at 6758,0|Y at 7588,0|Y at 7920,0|A at 8252,0|Z at 9082,0|Z at 9404,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+004D,U+004D,U+0059,U+0059,U+0042,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|M at 1880,0|X at 2710,0|X at 3074,0|M at 3438,0|M at 4268,0|I at 5098,0|N at 5928,0|S at 6758,0|Y at 7588,0|Y at 7920,0|B at 8252,0|Z at 9082,0|Z at 9404,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+004D,U+004D,U+0059,U+0059,U+0043,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|M at 1880,0|X at 2710,0|X at 3074,0|M at 3438,0|M at 4268,0|Y at 5098,0|Y at 5430,0|I at 5762,0|N at 6592,0|S at 7422,0|C at 8252,0|Z at 9082,0|Z at 9404,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+004D,U+004D,U+0059,U+0059,U+0044,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|M at 1880,0|X at 2710,0|X at 3074,0|M at 3438,0|M at 4268,0|Y at 5098,0|Y at 5430,0|D at 5762,0|I at 6592,0|N at 7422,0|S at 8252,0|Z at 9082,0|Z at 9404,0]
diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-30.tests b/test/shaping/data/text-rendering-tests/tests/MORX-30.tests
new file mode 100644
index 00000000..ad4ab217
--- /dev/null
+++ b/test/shaping/data/text-rendering-tests/tests/MORX-30.tests
@@ -0,0 +1,4 @@
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+0058,U+0041,U+0059,U+0059,U+0041,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|I at 1880,0|N at 2710,0|S at 3540,0|I at 4370,0|N at 5200,0|S at 6030,0|M at 6860,0|X at 7690,0|X at 8054,0|X at 8418,0|A at 8782,0|Y at 9612,0|Y at 9944,0|A at 10276,0|Z at 11106,0|Z at 11428,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+0058,U+0041,U+0059,U+0059,U+0042,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|I at 1880,0|I at 2710,0|N at 3540,0|S at 4370,0|N at 5200,0|S at 6030,0|M at 6860,0|X at 7690,0|X at 8054,0|X at 8418,0|A at 8782,0|Y at 9612,0|Y at 9944,0|B at 10276,0|Z at 11106,0|Z at 11428,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+0058,U+0042,U+0059,U+0059,U+0041,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|I at 1880,0|N at 2710,0|S at 3540,0|M at 4370,0|I at 5200,0|N at 6030,0|S at 6860,0|X at 7690,0|X at 8054,0|X at 8418,0|B at 8782,0|Y at 9612,0|Y at 9944,0|A at 10276,0|Z at 11106,0|Z at 11428,0]
+../fonts/TestMORXTwentynine.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0050,U+0051,U+0052,U+004D,U+004D,U+0058,U+0058,U+0058,U+0042,U+0059,U+0059,U+0042,U+005A,U+005A:[P|Q at 333,0|R at 699,0|M at 1050,0|M at 1880,0|I at 2710,0|N at 3540,0|S at 4370,0|I at 5200,0|N at 6030,0|S at 6860,0|X at 7690,0|X at 8054,0|X at 8418,0|B at 8782,0|Y at 9612,0|Y at 9944,0|B at 10276,0|Z at 11106,0|Z at 11428,0]
diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-31.tests b/test/shaping/data/text-rendering-tests/tests/MORX-31.tests
new file mode 100644
index 00000000..6cc40b6e
--- /dev/null
+++ b/test/shaping/data/text-rendering-tests/tests/MORX-31.tests
@@ -0,0 +1,8 @@
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0058,U+0041,U+0059,U+0059,U+0041,U+005A,U+005A:[X|X at 364,0|I at 728,0|N at 1558,0|S at 2388,0|A at 3218,0|Y at 4048,0|Y at 4380,0|A at 4712,0|Z at 5542,0|Z at 5864,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0058,U+0041,U+0059,U+0059,U+0042,U+0059,U+0059:[X|X at 364,0|A at 728,0|I at 1558,0|N at 2388,0|S at 3218,0|Y at 4048,0|Y at 4380,0|B at 4712,0|Y at 5542,0|Y at 5874,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0058,U+0042,U+0059,U+0059,U+0041,U+005A,U+005A:[X|X at 364,0|I at 728,0|N at 1558,0|S at 2388,0|B at 3218,0|Y at 4048,0|Y at 4380,0|A at 4712,0|Z at 5542,0|Z at 5864,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0058,U+0042,U+0059,U+0059,U+0042,U+005A,U+005A:[X|X at 364,0|B at 728,0|I at 1558,0|N at 2388,0|S at 3218,0|Y at 4048,0|Y at 4380,0|B at 4712,0|Z at 5542,0|Z at 5864,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004D,U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0041:[I|N at 830,0|S at 1660,0|M at 2490,0|P at 3320,0|Q at 3653,0|R at 4019,0|I at 4370,0|N at 5200,0|S at 6030,0|A at 6860,0|X at 7690,0|Y at 8054,0|Z at 8386,0|A at 8708,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004D,U+0050,U+0051,U+0052,U+0041,U+0058,U+0059,U+005A,U+0042:[I|N at 830,0|S at 1660,0|M at 2490,0|P at 3320,0|Q at 3653,0|R at 4019,0|A at 4370,0|I at 5200,0|N at 6030,0|S at 6860,0|X at 7690,0|Y at 8054,0|Z at 8386,0|B at 8708,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004D,U+0050,U+0051,U+0052,U+0042,U+0058,U+0059,U+005A,U+0041:[M|I at 830,0|N at 1660,0|S at 2490,0|P at 3320,0|Q at 3653,0|R at 4019,0|I at 4370,0|N at 5200,0|S at 6030,0|B at 6860,0|X at 7690,0|Y at 8054,0|Z at 8386,0|A at 8708,0]
+../fonts/TestMORXThirtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+004D,U+0050,U+0051,U+0052,U+0042,U+0058,U+0059,U+005A,U+0042:[M|I at 830,0|N at 1660,0|S at 2490,0|P at 3320,0|Q at 3653,0|R at 4019,0|B at 4370,0|I at 5200,0|N at 6030,0|S at 6860,0|X at 7690,0|Y at 8054,0|Z at 8386,0|B at 8708,0]
diff --git a/test/shaping/data/text-rendering-tests/tests/MORX-32.tests b/test/shaping/data/text-rendering-tests/tests/MORX-32.tests
new file mode 100644
index 00000000..6f3ae888
--- /dev/null
+++ b/test/shaping/data/text-rendering-tests/tests/MORX-32.tests
@@ -0,0 +1,4 @@
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041:[I|N at 830,0|S at 1660,0|A at 2490,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0041,U+0059:[I|N at 830,0|S at 1660,0|X at 2490,0|A at 2854,0|Y at 3684,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0042:[B|I at 830,0|N at 1660,0|S at 2490,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0058,U+0042,U+0059:[X|I at 364,0|N at 1194,0|S at 2024,0|B at 2854,0|Y at 3684,0]
commit 4cd342baea323bf9709340bbabfc092c976c239c
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Fri Sep 28 09:47:45 2018 -0400

    Fix ubsan bot

diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index f910f9e0..ce609854 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -81,6 +81,7 @@ if HAVE_FREETYPE
 TEST_PROGS += test-multithread
 test_multithread_CFLAGS = $(CFLAGS) $(PTHREAD_CFLAGS) $(FREETYPE_CFLAGS)
 test_multithread_LDADD = $(LDADD) $(PTHREAD_LIBS) $(FREETYPE_LIBS)
+test_multithread_LINK = $(LINK)
 endif
 endif
 


More information about the HarfBuzz mailing list