diff --git a/src/hb-ft.cc b/src/hb-ft.cc index d63eba2f060f031e7a673a9f2892457345431547..a4f4bbdc01c97fa35a503d267a93630ea8fb3b38 100644 --- a/src/hb-ft.cc +++ b/src/hb-ft.cc @@ -260,6 +260,15 @@ hb_ft_get_glyph_from_name (hb_font_t *font HB_UNUSED, *glyph = FT_Get_Name_Index (ft_face, buf); } + if (*glyph == 0) + { + /* Check whether the given name was actually the name of glyph 0. */ + char buf[128]; + if (!FT_Get_Glyph_Name(ft_face, 0, buf, sizeof (buf)) && + len < 0 ? !strcmp (buf, name) : !strncmp (buf, name, len)) + return true; + } + return *glyph != 0; }