[HarfBuzz] harfbuz uniscribe backend and firefox.

Tom Hindle tom_hindle at sil.org
Thu Aug 6 16:15:00 PDT 2015


Hello,

Recently I created a experimental patch for Firefox to allow use of 
harfbuz's uniscribe backend, selectable via a about:config option.

The patch can be seen here:
https://hg.mozilla.org/try/rev/08eef5e76a40

In order to get it work I had to make a couple of changes to hb-uniscribe.cc

This was because when Firefox code calls

hb_font_set_scale(mHBFont, scale, scale);

Its scale values are "16.16 fixed point" format (floats converted to int 
by multiplying by 65536) and so it expects values returns by 
hb_buffer_get_glyph_positions to be the same format.

I made hb-uniscribe.cc comply with this by scaling by ratio between 
font->(x|y)_ppem and font->(x|y)_scale.

Is this something hb-uniscribe.cc should already be doing or is the 
Firefox code making unsafe assumptions?

The latest gfxHarfBuzzShaper.cpp source code can be seen here:
https://hg.mozilla.org/mozilla-central/file/03e3d77d1b6b/gfx/thebes/gfxHarfBuzzShaper.cpp


Thanks
Tom








More information about the HarfBuzz mailing list