[HarfBuzz] harfbuzz: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Thu Aug 23 09:59:55 PDT 2012


 src/hb-ot-layout-gpos-table.hh   |   20 ++++++++++----------
 src/hb-ot-shape-complex-indic.cc |    4 ++++
 2 files changed, 14 insertions(+), 10 deletions(-)

New commits:
commit 80cd92326f8a3f48a7821e720e8ecb2072e73286
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Aug 23 12:06:14 2012 -0400

    [Indic] Only apply basic features per-syllable
    
    Free up syllables and let features work across syllables for the
    presentation forms features and GPOS.
    
    Fixed:
    - 1 GURMUKHI test (remains 40)
    - 12 KHMER tests (remains 18)
    - 11 SINHALA tests (remains 121)
    
    Regresses:
    - 5 MALAYALAM tests (up to 312)
    
    Current numbers:
    
    BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
    DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
    GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
    GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%)
    KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
    KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
    LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
    MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed (0.0297592%)
    ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
    SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
    TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
    TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%)
    TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)

diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc
index 6fbd5c8..a40f51f 100644
--- a/src/hb-ot-shape-complex-indic.cc
+++ b/src/hb-ot-shape-complex-indic.cc
@@ -1122,6 +1122,10 @@ final_reordering (const hb_ot_shape_plan_t *plan,
     }
   final_reordering_syllable (plan, buffer, last, count);
 
+  /* Zero syllables now... */
+  for (unsigned int i = 0; i < count; i++)
+    info[i].syllable() = 0;
+
   HB_BUFFER_DEALLOCATE_VAR (buffer, indic_category);
   HB_BUFFER_DEALLOCATE_VAR (buffer, indic_position);
 }
commit df5d5c68f3a5cab17bf4a429802a1a1a834c3456
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Aug 23 09:33:30 2012 -0400

    Whitespace

diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh
index 41168b2..b99146c 100644
--- a/src/hb-ot-layout-gpos-table.hh
+++ b/src/hb-ot-layout-gpos-table.hh
@@ -1598,20 +1598,20 @@ struct GPOS : GSUBGPOS
 static void
 fix_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction)
 {
-    unsigned int j = pos[i].cursive_chain();
-    if (likely (!j))
-      return;
+  unsigned int j = pos[i].cursive_chain();
+  if (likely (!j))
+    return;
 
-    j += i;
+  j += i;
 
-    pos[i].cursive_chain() = 0;
+  pos[i].cursive_chain() = 0;
 
-    fix_cursive_minor_offset (pos, j, direction);
+  fix_cursive_minor_offset (pos, j, direction);
 
-    if (HB_DIRECTION_IS_HORIZONTAL (direction))
-      pos[i].y_offset += pos[j].y_offset;
-    else
-      pos[i].x_offset += pos[j].x_offset;
+  if (HB_DIRECTION_IS_HORIZONTAL (direction))
+    pos[i].y_offset += pos[j].y_offset;
+  else
+    pos[i].x_offset += pos[j].x_offset;
 }
 
 static void



More information about the HarfBuzz mailing list