On 29/5/15 15:16, Koji Ishii wrote:
Sorry if this was asked before, I'm new to this list (and to harfbuzz
too), please accept my apologies if so.
When a variation selector is in the source, such as:
U+0030 U+FE0E
glyph_func receives U+FE0E as variationSelector argument.
What is the expected behavior for the glyph_func if it cannot find the
variant glyph?
From my observation, if glyph_func returns false, harfbuzz returns 2
glyphs for the above string. So I'm guessing that when the specified
variant does not exist, glyph_func should fallback to the base glyph
and returns true if the base glyph exists.
Could someone confirm whether my understanding above is correct or not?
As I understand it, if a variation selector is passed to the glyph_func,
it should return true only if the <char, selector> pair is explicitly
handled.
Otherwise, it should return false; harfbuzz will call the glyph_func
again for the base character alone, and then separately for the
variation selector. This means it is possible for a font to implement
variation selector support via an OpenType lookup (ligating pairs of
<base glyph, VS glyph>, for example) if desired, instead of via cmap
format 14.
If -- as is likely, if it's not supported by the font -- the variation
selector maps to .notdef at this stage, it will then be hidden by later
harfbuzz code that makes default-ignorables invisible.
JK
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz