Am 2013-03-15 23:24, schrieb Khaled Hosny:
Hi all,

I’m considering the possibility of adding support for ‘opbd’ feature in
XeTeX, and I have some questions.

The OpenType feature registry description¹ is a bit contradicting, but
my understanding is that ‘opbd’ is a merely user interface shorthand,
and the actual features are ‘ltbd’ and ‘rtbd’.

Given the nature of glyph protrusion and the way it is implemented in
XeTeX, those features can not simply be turned on during shaping, they
need to be applied separately after line breaking, also XeTeX needs to
query the protrusion values independent of the shaping process as they
can influence line breaking.

I have been thinking of ways to do this without requiring a dedicating
HarfBuzz API, something like creating a new buffer with the glyph I want
to gets its protrusion value (with a special get_glyph() function to
accept glyph ids instead of characters), applying ‘ltbd’ or ‘rtbd’ as
appropriate and measuring the difference x advance/offset of the shaped
glyph to the advance width stored in the font. But this is 1) too
complex 2) fragile since other features that are applied by default can
interfere.

So I’m asking if HarfBuzz can provide an API to retrieve optical bounds,
something like:

hb_ot_layout_get_glyph_optical_bounds (face, gid, side)
   if side == left:
      query ‘ltbd’
   else if side == right
      query ‘rtbd’


There aren’t any fonts with such features in the wild AFAIK, but I have
a modified version of TeX Gyre Pagella than I used to test this feature
in LuaTeX a while ago².

Regards,
Khaled

¹ http://www.microsoft.com/typography/otspec/features_ko.htm#opbd
² http://www.khaledhosny.org/files/tmp/TeXGyrePagella-Regular-opbd.otf

I started to write support for lfbd and rtbd in EB Garamond some time ago, but didn’t inlude it in the font. I’ve reworked it and it’s available now in EBGaramond12-Regular.sfdir. Not having any tool to test, I have no idea if I did it right. The feature file is availabale here: https://bitbucket.org/georgd/eb-garamond/src/c35e1d485685176169f7ad385e2bd99e2fed6c7c/featurefiles/Regular/opbd.fea?at=master

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

Reply via email to