src/hb-ot-layout-gpos-table.hh | 3 +++ src/hb-ot-shape-fallback.cc | 3 +++ test/api/test-buffer.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-)
New commits: commit c4712f8e372ee42749cda56cc7c28dc110a07ea9 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Aug 10 20:27:21 2017 -0700 Fix test diff --git a/test/api/test-buffer.c b/test/api/test-buffer.c index 17607f1e..51322a4b 100644 --- a/test/api/test-buffer.c +++ b/test/api/test-buffer.c @@ -196,7 +196,7 @@ test_buffer_contents (fixture_t *fixture, gconstpointer user_data) g_assert_cmpint (len, ==, 5); for (i = 0; i < len; i++) { - g_assert_cmphex (glyphs[i].mask, ==, 1); + g_assert_cmphex (glyphs[i].mask, ==, 0); g_assert_cmphex (glyphs[i].var1.u32, ==, 0); g_assert_cmphex (glyphs[i].var2.u32, ==, 0); } commit 882ebdadd6b3420ef2d3f296cd7416c76ee9901f Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Aug 10 20:23:17 2017 -0700 [unsafe-to-break] Flag during cursive positioning diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh index 37343d6a..0b828e8a 100644 --- a/src/hb-ot-layout-gpos-table.hh +++ b/src/hb-ot-layout-gpos-table.hh @@ -931,6 +931,7 @@ struct CursivePosFormat1 unsigned int i = buffer->idx; unsigned int j = skippy_iter.idx; + buffer->unsafe_to_break (i, j); hb_position_t entry_x, entry_y, exit_x, exit_y; (this+this_record.exitAnchor).get_anchor (c, buffer->info[i].codepoint, &exit_x, &exit_y); (this+next_record.entryAnchor).get_anchor (c, buffer->info[j].codepoint, &entry_x, &entry_y); commit 2d158ca37673f2b262f2381854559d6872d8fb45 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Aug 10 20:19:15 2017 -0700 [unsafe-to-break] Flag during kerning diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh index 952fd60f..37343d6a 100644 --- a/src/hb-ot-layout-gpos-table.hh +++ b/src/hb-ot-layout-gpos-table.hh @@ -643,6 +643,7 @@ struct PairSet min = mid + 1; else { + buffer->unsafe_to_break (buffer->idx, pos + 1); valueFormats[0].apply_value (c, this, &record->values[0], buffer->cur_pos()); valueFormats[1].apply_value (c, this, &record->values[len1], buffer->pos[pos]); if (len2) @@ -790,6 +791,7 @@ struct PairPosFormat2 unsigned int klass2 = (this+classDef2).get_class (buffer->info[skippy_iter.idx].codepoint); if (unlikely (klass1 >= class1Count || klass2 >= class2Count)) return_trace (false); + buffer->unsafe_to_break (buffer->idx, skippy_iter.idx + 1); const Value *v = &values[record_len * (klass1 * class2Count + klass2)]; valueFormat1.apply_value (c, this, v, buffer->cur_pos()); valueFormat2.apply_value (c, this, v + len1, buffer->pos[skippy_iter.idx]); commit a7c4972ccefaaf48dfd6f0f4588df0c785aa33d2 Author: Behdad Esfahbod <beh...@behdad.org> Date: Thu Aug 10 20:16:15 2017 -0700 [unsafe-to-break] Flag during fallback positioning diff --git a/src/hb-ot-shape-fallback.cc b/src/hb-ot-shape-fallback.cc index ea8312b2..4da53f4c 100644 --- a/src/hb-ot-shape-fallback.cc +++ b/src/hb-ot-shape-fallback.cc @@ -307,6 +307,9 @@ position_around_base (const hb_ot_shape_plan_t *plan, unsigned int end) { hb_direction_t horiz_dir = HB_DIRECTION_INVALID; + + buffer->unsafe_to_break (base, end); + hb_glyph_extents_t base_extents; if (!font->get_glyph_extents (buffer->info[base].codepoint, &base_extents)) _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz