[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
Based on patch from Jonathan Kew, as reported on the mailing list.
diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index d63eba2..a4f4bbd 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -260,6 +260,15 @@
*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;
}