| 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 9870ba3da05376de77301c2fc7d3a65505570a94..ae90864127104969b5a99243e8ba49218e2e6f25 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
|
| @@ -223,8 +223,8 @@ data_create_arabic (const hb_ot_shape_plan_t *plan)
|
| for (unsigned int i = 0; i < ARABIC_NUM_FEATURES; i++) {
|
| arabic_plan->mask_array[i] = plan->map.get_1_mask (arabic_features[i]);
|
| arabic_plan->do_fallback = arabic_plan->do_fallback &&
|
| - !FEATURE_IS_SYRIAC (arabic_features[i]) &&
|
| - plan->map.needs_fallback (arabic_features[i]);
|
| + (FEATURE_IS_SYRIAC (arabic_features[i]) ||
|
| + plan->map.needs_fallback (arabic_features[i]));
|
| }
|
|
|
| return arabic_plan;
|
| @@ -248,18 +248,17 @@ arabic_joining (hb_buffer_t *buffer)
|
| unsigned int prev = (unsigned int) -1, state = 0;
|
|
|
| /* Check pre-context */
|
| - if (!(buffer->flags & HB_BUFFER_FLAG_BOT))
|
| - for (unsigned int i = 0; i < buffer->context_len[0]; i++)
|
| - {
|
| - unsigned int this_type = get_joining_type (buffer->context[0][i], buffer->unicode->general_category (buffer->context[0][i]));
|
| + for (unsigned int i = 0; i < buffer->context_len[0]; i++)
|
| + {
|
| + unsigned int this_type = get_joining_type (buffer->context[0][i], buffer->unicode->general_category (buffer->context[0][i]));
|
|
|
| - if (unlikely (this_type == JOINING_TYPE_T))
|
| - continue;
|
| + if (unlikely (this_type == JOINING_TYPE_T))
|
| + continue;
|
|
|
| - const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
|
| - state = entry->next_state;
|
| - break;
|
| - }
|
| + const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
|
| + state = entry->next_state;
|
| + break;
|
| + }
|
|
|
| for (unsigned int i = 0; i < count; i++)
|
| {
|
| @@ -281,19 +280,18 @@ arabic_joining (hb_buffer_t *buffer)
|
| state = entry->next_state;
|
| }
|
|
|
| - if (!(buffer->flags & HB_BUFFER_FLAG_EOT))
|
| - for (unsigned int i = 0; i < buffer->context_len[1]; i++)
|
| - {
|
| - unsigned int this_type = get_joining_type (buffer->context[1][i], buffer->unicode->general_category (buffer->context[1][i]));
|
| + for (unsigned int i = 0; i < buffer->context_len[1]; i++)
|
| + {
|
| + unsigned int this_type = get_joining_type (buffer->context[1][i], buffer->unicode->general_category (buffer->context[1][i]));
|
|
|
| - if (unlikely (this_type == JOINING_TYPE_T))
|
| - continue;
|
| + if (unlikely (this_type == JOINING_TYPE_T))
|
| + continue;
|
|
|
| - const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
|
| - if (entry->prev_action != NONE && prev != (unsigned int) -1)
|
| - info[prev].arabic_shaping_action() = entry->prev_action;
|
| - break;
|
| - }
|
| + const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
|
| + if (entry->prev_action != NONE && prev != (unsigned int) -1)
|
| + info[prev].arabic_shaping_action() = entry->prev_action;
|
| + break;
|
| + }
|
| }
|
|
|
| static void
|
|
|