[arabic-fallback] Fix ligature code
Fixes https://github.com/harfbuzz/harfbuzz/issues/4042
This was broken in 20e9f0b
.
This commit is contained in:
parent
b9646dfd62
commit
4300a18b85
|
@ -154,16 +154,22 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN
|
||||||
const auto &components = ligature_table[first_glyph_idx].ligatures[ligature_idx].components;
|
const auto &components = ligature_table[first_glyph_idx].ligatures[ligature_idx].components;
|
||||||
unsigned component_count = ARRAY_LENGTH_CONST (components);
|
unsigned component_count = ARRAY_LENGTH_CONST (components);
|
||||||
|
|
||||||
for (unsigned i = 0; i < component_count; i++)
|
bool matched = true;
|
||||||
|
for (unsigned j = 0; j < component_count; j++)
|
||||||
{
|
{
|
||||||
hb_codepoint_t component_u = ligature_table[first_glyph_idx].ligatures[ligature_idx].components[i];
|
hb_codepoint_t component_u = ligature_table[first_glyph_idx].ligatures[ligature_idx].components[j];
|
||||||
hb_codepoint_t component_glyph;
|
hb_codepoint_t component_glyph;
|
||||||
if (!component_u ||
|
if (!component_u ||
|
||||||
!hb_font_get_glyph (font, component_u, 0, &component_glyph))
|
!hb_font_get_nominal_glyph (font, component_u, &component_glyph))
|
||||||
continue;
|
{
|
||||||
|
matched = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
component_list[num_components++] = component_glyph;
|
component_list[num_components++] = component_glyph;
|
||||||
}
|
}
|
||||||
|
if (!matched)
|
||||||
|
continue;
|
||||||
|
|
||||||
component_count_list[num_ligatures] = 1 + component_count;
|
component_count_list[num_ligatures] = 1 + component_count;
|
||||||
ligature_list[num_ligatures] = ligature_glyph;
|
ligature_list[num_ligatures] = ligature_glyph;
|
||||||
|
|
Loading…
Reference in New Issue