summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--third_party/harfbuzz/chromium.patch21
-rw-r--r--third_party/harfbuzz/src/harfbuzz-hebrew.c3
2 files changed, 23 insertions, 1 deletions
diff --git a/third_party/harfbuzz/chromium.patch b/third_party/harfbuzz/chromium.patch
index 3e26566..8e0c827 100644
--- a/third_party/harfbuzz/chromium.patch
+++ b/third_party/harfbuzz/chromium.patch
@@ -67,3 +67,24 @@ index 36b9282..3628c88 100644
// first char in a run is never (treated as) a mark
int cStart = 0;
+diff --git a/third_party/harfbuzz/src/harfbuzz-hebrew.c b/third_party/harfbuzz/src/harfbuzz-hebrew.c
+index 533a063..2bda386 100644
+--- a/third_party/harfbuzz/src/harfbuzz-hebrew.c
++++ b/third_party/harfbuzz/src/harfbuzz-hebrew.c
+@@ -56,6 +56,8 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
+
+ assert(shaper_item->item.script == HB_Script_Hebrew);
+
++ HB_HeuristicSetGlyphAttributes(shaper_item);
++
+ #ifndef NO_OPENTYPE
+ if (HB_SelectScript(shaper_item, hebrew_features)) {
+
+@@ -64,7 +66,6 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
+ return FALSE;
+
+
+- HB_HeuristicSetGlyphAttributes(shaper_item);
+ HB_OpenTypeShape(shaper_item, /*properties*/0);
+ return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE);
+ }
diff --git a/third_party/harfbuzz/src/harfbuzz-hebrew.c b/third_party/harfbuzz/src/harfbuzz-hebrew.c
index 533a063..2bda386 100644
--- a/third_party/harfbuzz/src/harfbuzz-hebrew.c
+++ b/third_party/harfbuzz/src/harfbuzz-hebrew.c
@@ -56,6 +56,8 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
assert(shaper_item->item.script == HB_Script_Hebrew);
+ HB_HeuristicSetGlyphAttributes(shaper_item);
+
#ifndef NO_OPENTYPE
if (HB_SelectScript(shaper_item, hebrew_features)) {
@@ -64,7 +66,6 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
return FALSE;
- HB_HeuristicSetGlyphAttributes(shaper_item);
HB_OpenTypeShape(shaper_item, /*properties*/0);
return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE);
}