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






_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to