Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc |
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc |
index 4b15deedd48f2b2fd83e53ed31b893d89d57f160..dc2d7af52217fa55492426ac7c43b9ee6e277d1d 100644 |
--- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc |
+++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc |
@@ -490,11 +490,6 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED, |
if (likely (!has_broken_syllables)) |
return; |
- |
- hb_codepoint_t dottedcircle_glyph; |
- if (!font->get_glyph (0x25CCu, 0, &dottedcircle_glyph)) |
- return; |
- |
hb_glyph_info_t dottedcircle = {0}; |
if (!font->get_glyph (0x25CCu, 0, &dottedcircle.codepoint)) |
return; |
@@ -503,9 +498,8 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED, |
buffer->clear_output (); |
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); |
@@ -513,10 +507,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. */ |
@@ -525,7 +519,7 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED, |
buffer->cur().use_category() == USE_R) |
buffer->next_glyph (); |
- buffer->output_info (info); |
+ buffer->output_info (ginfo); |
} |
else |
buffer->next_glyph (); |
@@ -576,6 +570,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_use = |
data_create_use, |
data_destroy_use, |
NULL, /* preprocess_text */ |
+ NULL, /* postprocess_glyphs */ |
HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, |
NULL, /* decompose */ |
compose_use, |