[HarfBuzz] harfbuzz: Branch 'master' - 4 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Fri Aug 11 03:27:33 UTC 2017
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 <behdad at 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 <behdad at 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 <behdad at 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 <behdad at 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))
More information about the HarfBuzz
mailing list