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 <beh...@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 <beh...@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 <beh...@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@333,0|R@699,0|M@1050,0|M@1880,0|X@2710,0|X@3074,0|M@3438,0|I@4268,0|N@5098,0|S@5928,0|M@6758,0|Y@7588,0|Y@7920,0|A@8252,0|Z@9082,0|Z@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@333,0|R@699,0|M@1050,0|M@1880,0|X@2710,0|X@3074,0|M@3438,0|M@4268,0|I@5098,0|N@5928,0|S@6758,0|Y@7588,0|Y@7920,0|B@8252,0|Z@9082,0|Z@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@333,0|R@699,0|M@1050,0|M@1880,0|X@2710,0|X@3074,0|M@3438,0|M@4268,0|Y@5098,0|Y@5430,0|I@5762,0|N@6592,0|S@7422,0|C@8252,0|Z@9082,0|Z@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@333,0|R@699,0|M@1050,0|M@1880,0|X@2710,0|X@3074,0|M@3438,0|M@4268,0|Y@5098,0|Y@5430,0|D@5762,0|I@6592,0|N@7422,0|S@8252,0|Z@9082,0|Z@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@333,0|R@699,0|M@1050,0|I@1880,0|N@2710,0|S@3540,0|I@4370,0|N@5200,0|S@6030,0|M@6860,0|X@7690,0|X@8054,0|X@8418,0|A@8782,0|Y@9612,0|Y@9944,0|A@10276,0|Z@11106,0|Z@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@333,0|R@699,0|M@1050,0|I@1880,0|I@2710,0|N@3540,0|S@4370,0|N@5200,0|S@6030,0|M@6860,0|X@7690,0|X@8054,0|X@8418,0|A@8782,0|Y@9612,0|Y@9944,0|B@10276,0|Z@11106,0|Z@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@333,0|R@699,0|M@1050,0|I@1880,0|N@2710,0|S@3540,0|M@4370,0|I@5200,0|N@6030,0|S@6860,0|X@7690,0|X@8054,0|X@8418,0|B@8782,0|Y@9612,0|Y@9944,0|A@10276,0|Z@11106,0|Z@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@333,0|R@699,0|M@1050,0|M@1880,0|I@2710,0|N@3540,0|S@4370,0|I@5200,0|N@6030,0|S@6860,0|X@7690,0|X@8054,0|X@8418,0|B@8782,0|Y@9612,0|Y@9944,0|B@10276,0|Z@11106,0|Z@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@364,0|I@728,0|N@1558,0|S@2388,0|A@3218,0|Y@4048,0|Y@4380,0|A@4712,0|Z@5542,0|Z@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@364,0|A@728,0|I@1558,0|N@2388,0|S@3218,0|Y@4048,0|Y@4380,0|B@4712,0|Y@5542,0|Y@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@364,0|I@728,0|N@1558,0|S@2388,0|B@3218,0|Y@4048,0|Y@4380,0|A@4712,0|Z@5542,0|Z@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@364,0|B@728,0|I@1558,0|N@2388,0|S@3218,0|Y@4048,0|Y@4380,0|B@4712,0|Z@5542,0|Z@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@830,0|S@1660,0|M@2490,0|P@3320,0|Q@3653,0|R@4019,0|I@4370,0|N@5200,0|S@6030,0|A@6860,0|X@7690,0|Y@8054,0|Z@8386,0|A@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@830,0|S@1660,0|M@2490,0|P@3320,0|Q@3653,0|R@4019,0|A@4370,0|I@5200,0|N@6030,0|S@6860,0|X@7690,0|Y@8054,0|Z@8386,0|B@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@830,0|N@1660,0|S@2490,0|P@3320,0|Q@3653,0|R@4019,0|I@4370,0|N@5200,0|S@6030,0|B@6860,0|X@7690,0|Y@8054,0|Z@8386,0|A@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@830,0|N@1660,0|S@2490,0|P@3320,0|Q@3653,0|R@4019,0|B@4370,0|I@5200,0|N@6030,0|S@6860,0|X@7690,0|Y@8054,0|Z@8386,0|B@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@830,0|S@1660,0|A@2490,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned 
--remove-default-ignorables 
--font-funcs=ft:U+0058,U+0041,U+0059:[I|N@830,0|S@1660,0|X@2490,0|A@2854,0|Y@3684,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned 
--remove-default-ignorables --font-funcs=ft:U+0042:[B|I@830,0|N@1660,0|S@2490,0]
+../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned 
--remove-default-ignorables 
--font-funcs=ft:U+0058,U+0042,U+0059:[X|I@364,0|N@1194,0|S@2024,0|B@2854,0|Y@3684,0]
commit 4cd342baea323bf9709340bbabfc092c976c239c
Author: Behdad Esfahbod <beh...@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
 
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to