[ft] Don't set *glyph in get_glyph() if glyph not found

This commit is contained in:
Behdad Esfahbod 2015-05-18 18:37:06 -07:00
parent ff0f210519
commit 9df099b483
1 changed files with 10 additions and 6 deletions

View File

@ -75,15 +75,19 @@ hb_ft_get_glyph (hb_font_t *font HB_UNUSED,
void *user_data HB_UNUSED) void *user_data HB_UNUSED)
{ {
unsigned int g;
FT_Face ft_face = (FT_Face) font_data; FT_Face ft_face = (FT_Face) font_data;
if (unlikely (variation_selector)) { if (likely (!variation_selector))
*glyph = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector); g = FT_Get_Char_Index (ft_face, unicode);
return *glyph != 0; else
} g = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector);
*glyph = FT_Get_Char_Index (ft_face, unicode); if (unlikely (!g))
return *glyph != 0; return false;
*glyph = g;
return true;
} }
static hb_position_t static hb_position_t