[HarfBuzz] Problem with shaping Serif fonts

Khaled Hosny khaledhosny at eglug.org
Tue Oct 8 21:23:33 PDT 2013


On Wed, Oct 09, 2013 at 01:39:17AM +0200, Oliver Meier wrote:
> Hello
> 
> I recently started playing with harfbuzz and encountered a strange problem.
> I don't know what I'm doing wrong, but somehow multiple f's shaped
> for serif fonts like DejaVuSerif or FreeSerif get grouped in pairs
> or so..
> 
>         hb_buffer_set_direction( hb_buffer, HB_DIRECTION_LTR );
>         hb_buffer_set_script( hb_buffer, HB_SCRIPT_LATIN );
>         hb_buffer_set_language( hb_buffer,
> hb_language_from_string("en", strlen("en")) );
> 
>         hb_buffer_add_utf8( hb_buffer, "ffff", strlen("ffff"), 0,
> strlen("ffff") );
>         hb_shape( hb_ft_font, hb_buffer, NULL, 0 );
> 
>         hb_glyph_info_t     *glyph_info =
>             hb_buffer_get_glyph_infos(hb_buffer, &glyph_count);
> 
> At this point glyph_count=2 instead of 4. In the kerning i see that
> f's are indeed "grouped".
> 
> Can someone point me in the right direction, or is this a bug?

https://en.wikipedia.org/wiki/Typographic_ligature#Latin_alphabet

BTW, if you have any code that assumes the number of output glyphs will
be equal to the number of input characters, it is wrong.

Regards,
Khaled



More information about the HarfBuzz mailing list