| Index: third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh
|
| diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh
|
| index a77f24ec849b6b0b9a9a11b79709d3619ea22fb9..d97d2852105a2373361d7686f3b728c60571154e 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh
|
| +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh
|
| @@ -75,9 +75,9 @@ arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUS
|
| if (!num_glyphs)
|
| return NULL;
|
|
|
| - /* Bubble-sort!
|
| + /* Bubble-sort or something equally good!
|
| * May not be good-enough for presidential candidate interviews, but good-enough for us... */
|
| - hb_bubble_sort (&glyphs[0], num_glyphs, OT::GlyphID::cmp, &substitutes[0]);
|
| + hb_stable_sort (&glyphs[0], num_glyphs, OT::GlyphID::cmp, &substitutes[0]);
|
|
|
| OT::Supplier<OT::GlyphID> glyphs_supplier (glyphs, num_glyphs);
|
| OT::Supplier<OT::GlyphID> substitutes_supplier (substitutes, num_glyphs);
|
| @@ -126,7 +126,7 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN
|
| first_glyphs_indirection[num_first_glyphs] = first_glyph_idx;
|
| num_first_glyphs++;
|
| }
|
| - hb_bubble_sort (&first_glyphs[0], num_first_glyphs, OT::GlyphID::cmp, &first_glyphs_indirection[0]);
|
| + hb_stable_sort (&first_glyphs[0], num_first_glyphs, OT::GlyphID::cmp, &first_glyphs_indirection[0]);
|
|
|
| /* Now that the first-glyphs are sorted, walk again, populate ligatures. */
|
| for (unsigned int i = 0; i < num_first_glyphs; i++)
|
|
|