Merge branch 'master' into cff-more-arrayof-fixes
This commit is contained in:
commit
12cd3171ba
|
@ -714,7 +714,6 @@ struct InsertionSubtable
|
||||||
hb_aat_apply_context_t *c_) :
|
hb_aat_apply_context_t *c_) :
|
||||||
ret (false),
|
ret (false),
|
||||||
c (c_),
|
c (c_),
|
||||||
mark_set (false),
|
|
||||||
mark (0),
|
mark (0),
|
||||||
insertionAction (table+table->insertionAction) {}
|
insertionAction (table+table->insertionAction) {}
|
||||||
|
|
||||||
|
@ -730,7 +729,9 @@ struct InsertionSubtable
|
||||||
hb_buffer_t *buffer = driver->buffer;
|
hb_buffer_t *buffer = driver->buffer;
|
||||||
unsigned int flags = entry->flags;
|
unsigned int flags = entry->flags;
|
||||||
|
|
||||||
if (entry->data.markedInsertIndex != 0xFFFF && mark_set)
|
unsigned mark_loc = buffer->out_len;
|
||||||
|
|
||||||
|
if (entry->data.markedInsertIndex != 0xFFFF)
|
||||||
{
|
{
|
||||||
unsigned int count = (flags & MarkedInsertCount);
|
unsigned int count = (flags & MarkedInsertCount);
|
||||||
unsigned int start = entry->data.markedInsertIndex;
|
unsigned int start = entry->data.markedInsertIndex;
|
||||||
|
@ -755,6 +756,9 @@ struct InsertionSubtable
|
||||||
buffer->unsafe_to_break_from_outbuffer (mark, MIN (buffer->idx + 1, buffer->len));
|
buffer->unsafe_to_break_from_outbuffer (mark, MIN (buffer->idx + 1, buffer->len));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags & SetMark)
|
||||||
|
mark = mark_loc;
|
||||||
|
|
||||||
if (entry->data.currentInsertIndex != 0xFFFF)
|
if (entry->data.currentInsertIndex != 0xFFFF)
|
||||||
{
|
{
|
||||||
unsigned int count = (flags & CurrentInsertCount) >> 5;
|
unsigned int count = (flags & CurrentInsertCount) >> 5;
|
||||||
|
@ -792,12 +796,6 @@ struct InsertionSubtable
|
||||||
buffer->move_to ((flags & DontAdvance) ? end : end + count);
|
buffer->move_to ((flags & DontAdvance) ? end : end + count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & SetMark)
|
|
||||||
{
|
|
||||||
mark_set = true;
|
|
||||||
mark = buffer->out_len;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -805,7 +803,6 @@ struct InsertionSubtable
|
||||||
bool ret;
|
bool ret;
|
||||||
private:
|
private:
|
||||||
hb_aat_apply_context_t *c;
|
hb_aat_apply_context_t *c;
|
||||||
bool mark_set;
|
|
||||||
unsigned int mark;
|
unsigned int mark;
|
||||||
const UnsizedArrayOf<GlyphID> &insertionAction;
|
const UnsizedArrayOf<GlyphID> &insertionAction;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
tests/MORX-31.tests
|
|
||||||
tests/MORX-41.tests
|
|
||||||
|
|
||||||
# Non-Unicode cmap
|
# Non-Unicode cmap
|
||||||
tests/CMAP-3.tests
|
tests/CMAP-3.tests
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ TESTS = \
|
||||||
tests/MORX-29.tests \
|
tests/MORX-29.tests \
|
||||||
tests/MORX-2.tests \
|
tests/MORX-2.tests \
|
||||||
tests/MORX-30.tests \
|
tests/MORX-30.tests \
|
||||||
|
tests/MORX-31.tests \
|
||||||
tests/MORX-32.tests \
|
tests/MORX-32.tests \
|
||||||
tests/MORX-33.tests \
|
tests/MORX-33.tests \
|
||||||
tests/MORX-34.tests \
|
tests/MORX-34.tests \
|
||||||
|
@ -61,6 +62,7 @@ TESTS = \
|
||||||
tests/MORX-39.tests \
|
tests/MORX-39.tests \
|
||||||
tests/MORX-3.tests \
|
tests/MORX-3.tests \
|
||||||
tests/MORX-40.tests \
|
tests/MORX-40.tests \
|
||||||
|
tests/MORX-41.tests \
|
||||||
tests/MORX-4.tests \
|
tests/MORX-4.tests \
|
||||||
tests/MORX-5.tests \
|
tests/MORX-5.tests \
|
||||||
tests/MORX-6.tests \
|
tests/MORX-6.tests \
|
||||||
|
|
|
@ -48,7 +48,7 @@ for elt in html.findall(".//*[@class='expected'][@ft:id]", namespaces):
|
||||||
opts = opts + ' --variations=%s' % variations
|
opts = opts + ' --variations=%s' % variations
|
||||||
print ("../fonts/%s:%s:%s:%s" % (font, opts, unistr(text), glyphstr(glyphs)))
|
print ("../fonts/%s:%s:%s:%s" % (font, opts, unistr(text), glyphstr(glyphs)))
|
||||||
|
|
||||||
for elt in html.findall(".//*[@class='should-not-crash'][@ft:id]", namespaces):
|
for elt in html.findall(".//*[@class='expected-no-crash'][@ft:id]", namespaces):
|
||||||
found = True
|
found = True
|
||||||
name = elt.get(ns('ft:id'))
|
name = elt.get(ns('ft:id'))
|
||||||
text = elt.get(ns('ft:render'))
|
text = elt.get(ns('ft:render'))
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
../fonts/TestMORXFourteen.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0043,U+0044,U+0045:[B|C@626,0|D@1222,0|E@1896,0|A@2452,0]
|
../fonts/TestMORXFourteen.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0043,U+0044,U+0045:[B|C@626,0|D@1222,0|E@1896,0|A@2452,0]
|
||||||
../fonts/TestMORXFourteen.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041,U+0042,U+0042,U+0042,U+0043,U+0043,U+0043,U+0044,U+0044,U+0044,U+0042,U+0043,U+0044,U+0043,U+0045:[B|B@626,0|B@1252,0|C@1878,0|C@2474,0|C@3070,0|D@3666,0|D@4340,0|D@5014,0|B@5688,0|C@6314,0|D@6910,0|C@7584,0|E@8180,0|A@8736,0]
|
../fonts/TestMORXFourteen.ttf::U+0041,U+0042,U+0042,U+0042,U+0043,U+0043,U+0043,U+0044,U+0044,U+0044,U+0042,U+0043,U+0044,U+0043,U+0045:*
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
../fonts/TestMORXThirtytwo.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0041:[A]
|
../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:[X|A@364,0|Y@1194,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]
|
../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|B@364,0|Y@1194,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]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0061,U+0063:[a_c]
|
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0061,U+0063:[a_c]
|
||||||
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0062,U+0063:[b_c]
|
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0062,U+0063:[b_c]
|
||||||
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0063,U+0063:[c]
|
../fonts/TestMORXFourtyone.ttf::U+0063,U+0063:*
|
||||||
../fonts/TestMORXFourtyone.ttf:--font-size=1000 --ned --remove-default-ignorables --font-funcs=ft:U+0061,U+0062,U+0063,U+0063:[a|b_c@561,0|c@1631,0]
|
../fonts/TestMORXFourtyone.ttf::U+0061,U+0062,U+0063,U+0063:*
|
||||||
|
|
Loading…
Reference in New Issue