Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Unified Diff: third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc

Issue 396393005: Roll HarfBuzz to 0.9.32 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc
index ea6d85c1e6c1f282dc5c9bc392752aac76a4d17b..b7aa694cb6bed86dfd2d52ea0f17047451dbcf75 100644
--- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc
+++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc
@@ -57,41 +57,15 @@ enum {
static unsigned int get_joining_type (hb_codepoint_t u, hb_unicode_general_category_t gen_cat)
{
- if (likely (hb_in_range<hb_codepoint_t> (u, JOINING_TABLE_FIRST, JOINING_TABLE_LAST))) {
- unsigned int j_type = joining_table[u - JOINING_TABLE_FIRST];
- if (likely (j_type != JOINING_TYPE_X))
- return j_type;
- }
-
- /* Mongolian joining data is not in ArabicJoining.txt yet. */
- if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x1800, 0x18AF)))
- {
- if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x1880, 0x1886)))
- return JOINING_TYPE_U;
-
- /* All letters, SIBE SYLLABLE BOUNDARY MARKER, and NIRUGU are D */
- if ((FLAG(gen_cat) & (FLAG (HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER) |
- FLAG (HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER)))
- || u == 0x1807 || u == 0x180A)
- return JOINING_TYPE_D;
- }
-
- /* 'Phags-pa joining data is not in ArabicJoining.txt yet. */
- if (unlikely (hb_in_range<hb_codepoint_t> (u, 0xA840, 0xA872)))
- {
- if (unlikely (u == 0xA872))
- return JOINING_TYPE_L;
-
- return JOINING_TYPE_D;
- }
-
- if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x200C, 0x200D)))
- {
- return u == 0x200C ? JOINING_TYPE_U : JOINING_TYPE_C;
- }
-
- return (FLAG(gen_cat) & (FLAG(HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) | FLAG(HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG(HB_UNICODE_GENERAL_CATEGORY_FORMAT))) ?
- JOINING_TYPE_T : JOINING_TYPE_U;
+ unsigned int j_type = joining_type(u);
+ if (likely (j_type != JOINING_TYPE_X))
+ return j_type;
+
+ return (FLAG(gen_cat) &
+ (FLAG(HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) |
+ FLAG(HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) |
+ FLAG(HB_UNICODE_GENERAL_CATEGORY_FORMAT))
+ ) ? JOINING_TYPE_T : JOINING_TYPE_U;
}
static const hb_tag_t arabic_features[] =

Powered by Google App Engine
This is Rietveld 408576698