diff options
Diffstat (limited to 'modules/indic/indic-fc.c')
-rw-r--r-- | modules/indic/indic-fc.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/modules/indic/indic-fc.c b/modules/indic/indic-fc.c index 721e974b..788bc64f 100644 --- a/modules/indic/indic-fc.c +++ b/modules/indic/indic-fc.c @@ -248,6 +248,7 @@ get_gpos_ruleset (FT_Face face, PangoIndicInfo *indic_info) return ruleset; } + static void set_glyphs (PangoFont *font, FT_Face face, const gunichar *wcs, gulong *tags, glong n_glyphs, PangoOTBuffer *buffer) { @@ -257,10 +258,14 @@ set_glyphs (PangoFont *font, FT_Face face, const gunichar *wcs, gulong *tags, gl for (i = 0; i < n_glyphs; i += 1) { - pango_ot_buffer_add_glyph (buffer, - FT_Get_Char_Index (face, wcs[i]), - tags[i], - i); + guint glyph; + + if (ZERO_WIDTH_CHAR (wcs[i])) + glyph = 0; + else + glyph = FT_Get_Char_Index (face, wcs[i]); + + pango_ot_buffer_add_glyph (buffer, glyph, tags[i], i); } } |