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

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Feb 7 08:22:36 PST 2012


 contrib/harfbuzz-unicode.c |    2 +-
 src/harfbuzz-global.h      |    4 ----
 src/harfbuzz-shaper.cpp    |    2 +-
 3 files changed, 2 insertions(+), 6 deletions(-)

New commits:
commit 624feeed252024dcc076903e26f6b625f2c93c7f
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Feb 7 11:20:18 2012 -0500

    Don't force using packed structs
    
    This was causing SIGBUS on some ARM systems.

diff --git a/src/harfbuzz-global.h b/src/harfbuzz-global.h
index bccd6a2..d4e6b46 100644
--- a/src/harfbuzz-global.h
+++ b/src/harfbuzz-global.h
@@ -39,10 +39,6 @@
 #define HB_END_HEADER  /* nothing */
 #endif
 
-#if defined(__GNUC__) || defined(_MSC_VER)
-#define HB_USE_PACKED_STRUCTS
-#endif
-
 HB_BEGIN_HEADER
 
 #ifndef FALSE
commit 4717a185539d678b2040820e05bfe065d5d7c16d
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Jan 18 21:53:00 2012 -0500

    Fix RTL GPOS issue
    
    Reported in Oct 2011 to the mailing list by John Tapsell and confirmed
    by Khaled Hosny.
    
    https://bugreports.qt.nokia.com//browse/QTBUG-4475
    http://lists.freedesktop.org/archives/harfbuzz/2011-January/001062.html

diff --git a/src/harfbuzz-shaper.cpp b/src/harfbuzz-shaper.cpp
index ce4d4ac..7d433ea 100644
--- a/src/harfbuzz-shaper.cpp
+++ b/src/harfbuzz-shaper.cpp
@@ -1263,7 +1263,7 @@ HB_Bool HB_OpenTypePosition(HB_ShaperItem *item, int availableGlyphs, HB_Bool do
 //                    (int)(positions[i].x_pos >> 6), (int)(positions[i].y_pos >> 6),
 //                    positions[i].back, positions[i].new_advance);
 
-            HB_Fixed adjustment = (item->item.bidiLevel % 2) ? -positions[i].x_advance : positions[i].x_advance;
+            HB_Fixed adjustment = positions[i].x_advance;
 
             if (!(face->current_flags & HB_ShaperFlag_UseDesignMetrics))
                 adjustment = HB_FIXED_ROUND(adjustment);
commit 14899adc1891890299b76c4d9dc0ff8583227741
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Dec 15 16:22:48 2011 -0500

    Fix comparison bug

diff --git a/contrib/harfbuzz-unicode.c b/contrib/harfbuzz-unicode.c
index ce4f8e2..72c5cf2 100644
--- a/contrib/harfbuzz-unicode.c
+++ b/contrib/harfbuzz-unicode.c
@@ -114,7 +114,7 @@ hb_utf16_script_run_next(unsigned *num_code_points, HB_ScriptItem *output,
     const HB_Script script = code_point_to_script(cp);
 
     if (script != current_script) {
-      if (current_script == init_script == HB_Script_Inherited) {
+      if (current_script == HB_Script_Inherited && init_script == HB_Script_Inherited) {
         // If we started off as inherited, we take whatever we can find.
         output->script = script;
         current_script = script;



More information about the HarfBuzz mailing list