configure.ac | 12 +++++++++--- src/hb-ot-shape-complex-arabic-table.hh | 4 ++-- src/hb-ot-shape-complex-indic.cc | 4 ++-- src/hb-private.hh | 9 ++++++--- src/hb-set-private.hh | 16 ++++++++++------ util/options.cc | 2 +- 6 files changed, 30 insertions(+), 17 deletions(-)
New commits: commit e3320ecc1b5a7eaccc7c9370b2d1b76850f054be Author: Behdad Esfahbod <[email protected]> Date: Mon Aug 6 11:44:10 2012 -0700 Fix compiler warnings diff --git a/configure.ac b/configure.ac index 63833b7..689b6a4 100644 --- a/configure.ac +++ b/configure.ac @@ -66,13 +66,19 @@ if test "x$GCC" = "xyes"; then # Make sure we don't link to libstdc++ CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions" - # Hide inline methods - CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" - # Assorted warnings CXXFLAGS="$CXXFLAGS -Wcast-align" case "$host" in + *-mingw*) + ;; + *) + # Hide inline methods + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + ;; + esac + + case "$host" in arm-*-*) # Request byte alignment on arm CXXFLAGS="$CXXFLAGS -mstructure-size-boundary=8" commit 167b625d988b74572d6b2f646c285b666b650d49 Author: Behdad Esfahbod <[email protected]> Date: Sun Aug 5 21:16:26 2012 -0700 [Indic] Minor, move 'blwf' after 'half' We don't apply them together anyway. Should not make any difference right now. diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index ccc4a9d..0dbf412 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -148,8 +148,8 @@ indic_features[] = {HB_TAG('r','p','h','f'), false}, {HB_TAG('r','k','r','f'), true}, {HB_TAG('p','r','e','f'), false}, - {HB_TAG('b','l','w','f'), false}, {HB_TAG('h','a','l','f'), false}, + {HB_TAG('b','l','w','f'), false}, {HB_TAG('a','b','v','f'), false}, {HB_TAG('p','s','t','f'), false}, {HB_TAG('c','f','a','r'), false}, @@ -180,8 +180,8 @@ enum { RPHF, _RKRF, PREF, - BLWF, HALF, + BLWF, ABVF, PSTF, CFAR, commit 048e3b596fb7fccd3fb5f48de98b6b67788f774a Author: Behdad Esfahbod <[email protected]> Date: Sat Aug 4 18:04:57 2012 -0700 Speed up hb_set_digest_lowest_bits_t calcs diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh index 8beff37..4413579 100644 --- a/src/hb-set-private.hh +++ b/src/hb-set-private.hh @@ -83,9 +83,13 @@ struct hb_set_digest_lowest_bits_t } inline void add_range (hb_codepoint_t a, hb_codepoint_t b) { - /* TODO Speedup. */ - for (unsigned int i = a; i < b + 1; i++) - add (i); + if (b - a >= sizeof (mask_t) * 8 - 1) + mask = (mask_t) -1; + else { + mask_t ma = mask_for (a); + mask_t mb = mask_for (b); + mask |= mb + (mb - ma) - (mb < ma); + } } inline bool may_have (hb_codepoint_t g) const { commit 3d1b66a35e1ab3be19335705f310b278d76d66d2 Author: Behdad Esfahbod <[email protected]> Date: Sat Aug 4 17:42:28 2012 -0700 Speed up hb_set_digest_common_bits_t calcs diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh index 550b7f2..8beff37 100644 --- a/src/hb-set-private.hh +++ b/src/hb-set-private.hh @@ -54,9 +54,9 @@ struct hb_set_digest_common_bits_t } inline void add_range (hb_codepoint_t a, hb_codepoint_t b) { - /* TODO Speedup. */ - for (unsigned int i = a; i < b + 1; i++) - add (i); + /* The negation here stands for ~(x-1). */ + mask &= -(1 << _hb_bit_storage (a ^ b)); + value &= mask; } inline bool may_have (hb_codepoint_t g) const { commit bdc48a879a1900138d8caaa8d90fb9fe1e768d1d Author: Behdad Esfahbod <[email protected]> Date: Sat Aug 4 17:08:38 2012 -0700 Enlarge glyph_name buffer Lohit Devanagari has a glyph named: u0924_u094D.half_u0930_u094D.blwf.vatu diff --git a/util/options.cc b/util/options.cc index 584190e..3a9496b 100644 --- a/util/options.cc +++ b/util/options.cc @@ -747,7 +747,7 @@ format_options_t::serialize_glyphs (hb_buffer_t *buffer, if (i) g_string_append_c (gs, '|'); - char glyph_name[32]; + char glyph_name[128]; if (show_glyph_names) { hb_font_get_glyph_name (font, info->codepoint, glyph_name, sizeof (glyph_name)); g_string_append_printf (gs, "%s", glyph_name); commit 25326c2359b0a3e25222b94acd142bc36eff78a4 Author: Behdad Esfahbod <[email protected]> Date: Sat Aug 4 16:43:18 2012 -0700 Rewrite ARRAY_LENGTH as a template function Such it wouldn't apply to pointers accidentally. diff --git a/src/hb-ot-shape-complex-arabic-table.hh b/src/hb-ot-shape-complex-arabic-table.hh index df85086..c66111b 100644 --- a/src/hb-ot-shape-complex-arabic-table.hh +++ b/src/hb-ot-shape-complex-arabic-table.hh @@ -914,9 +914,9 @@ static const uint16_t shaping_table[][4] = #define SHAPING_TABLE_LAST 0x06D3 -static const struct { +static const struct ligature_set_t { uint16_t first; - struct { + struct ligature_pairs_t { uint16_t second; uint16_t ligature; } ligatures[4]; diff --git a/src/hb-private.hh b/src/hb-private.hh index 2f85025..0f1e5ce 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -66,14 +66,17 @@ #undef MIN -template <typename Type> static inline Type MIN (const Type &a, const Type &b) { return a < b ? a : b; } +template <typename Type> +static inline Type MIN (const Type &a, const Type &b) { return a < b ? a : b; } #undef MAX -template <typename Type> static inline Type MAX (const Type &a, const Type &b) { return a > b ? a : b; } +template <typename Type> +static inline Type MAX (const Type &a, const Type &b) { return a > b ? a : b; } #undef ARRAY_LENGTH -#define ARRAY_LENGTH(__array) ((signed int) (sizeof (__array) / sizeof (__array[0]))) +template <typename Type, unsigned int n> +static inline unsigned int ARRAY_LENGTH (const Type (&a)[n]) { return n; } #define HB_STMT_START do #define HB_STMT_END while (0) _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
