[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