| Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc
|
| diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc
|
| index 00526f3df4ff74a02389c19badc096e810c7acdd..84282bd8d4ebae90e24a1b2371b3ffecf6f66363 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc
|
| +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc
|
| @@ -756,7 +756,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
| {
|
| default:
|
| assert (false);
|
| - /* fallthrough */
|
| + HB_FALLTHROUGH;
|
|
|
| case BASE_POS_LAST:
|
| {
|
| @@ -1243,7 +1243,7 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
|
|
|
| buffer->idx = 0;
|
| unsigned int last_syllable = 0;
|
| - while (buffer->idx < buffer->len)
|
| + while (buffer->idx < buffer->len && !buffer->in_error)
|
| {
|
| unsigned int syllable = buffer->cur().syllable();
|
| syllable_type_t syllable_type = (syllable_type_t) (syllable & 0x0F);
|
| @@ -1251,10 +1251,10 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
|
| {
|
| last_syllable = syllable;
|
|
|
| - hb_glyph_info_t info = dottedcircle;
|
| - info.cluster = buffer->cur().cluster;
|
| - info.mask = buffer->cur().mask;
|
| - info.syllable() = buffer->cur().syllable();
|
| + hb_glyph_info_t ginfo = dottedcircle;
|
| + ginfo.cluster = buffer->cur().cluster;
|
| + ginfo.mask = buffer->cur().mask;
|
| + ginfo.syllable() = buffer->cur().syllable();
|
| /* TODO Set glyph_props? */
|
|
|
| /* Insert dottedcircle after possible Repha. */
|
| @@ -1263,7 +1263,7 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
|
| buffer->cur().indic_category() == OT_Repha)
|
| buffer->next_glyph ();
|
|
|
| - buffer->output_info (info);
|
| + buffer->output_info (ginfo);
|
| }
|
| else
|
| buffer->next_glyph ();
|
| @@ -1631,8 +1631,8 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
|
| if (new_pos > start && info[new_pos - 1].indic_category() == OT_M)
|
| {
|
| unsigned int old_pos = i;
|
| - for (unsigned int i = base + 1; i < old_pos; i++)
|
| - if (info[i].indic_category() == OT_M)
|
| + for (unsigned int j = base + 1; j < old_pos; j++)
|
| + if (info[j].indic_category() == OT_M)
|
| {
|
| new_pos--;
|
| break;
|
| @@ -1834,6 +1834,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_indic =
|
| data_create_indic,
|
| data_destroy_indic,
|
| NULL, /* preprocess_text */
|
| + NULL, /* postprocess_glyphs */
|
| HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT,
|
| decompose_indic,
|
| compose_indic,
|
|
|