[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