On 2/1/14 10:17, Werner LEMBERG wrote:
[harfbuzz 0.9.25]Please tell me why the attached program returns zero and not true. In font `pala.ttf' (version 5.00), GSUB lookup 1 (part of the `smcp' feature) maps glyph `f' to glyph 1107, so there is definitely a substitution. However, `hb_ot_layout_lookup_would_substitute' returns zero, which irritates me. A bug? And what's the function of the last argument of this function, `zero_extent'? Werner subst.c #include <ft2build.h> #include FT_FREETYPE_H #include <hb.h> #include <hb-ot.h> #include <hb-ft.h> int main(void) { FT_Library ft_library; FT_Face ft_face; hb_face_t* hb_face; const char* filename = "pala.ttf"; hb_codepoint_t c = 'f'; FT_Init_FreeType(&ft_library); FT_New_Face(ft_library, filename, 0, &ft_face); hb_face = hb_ft_face_create(ft_face, NULL);
For your 'c' parameter, you want to be using the glyph ID of the default 'f' glyph, not the character code 'f'. That's what lookup 1 will apply to.
return hb_ot_layout_lookup_would_substitute(hb_face, 1, &c, 1, 1); } _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
_______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
