[HarfBuzz] Better handling variation selectors

Konstantin Ritt ritt.ks at gmail.com
Fri Apr 19 20:05:34 PDT 2013


2013/4/20 Behdad Esfahbod <behdad at behdad.org>

> Konstantin has brought up a few interesting issues regarding variation
> selectors.  I'll summarize issues that I think can be improved:
>
>   - Right now we don't handle a sequence of multiple variation selectors
> in a
> row.  What *is* the best way to handle that?  Ideally the extra ones should
> become visible.  Even a box is better than silently not showing them,
> right?
>

http://unicode.org/faq/unsup_char.html says unhandled variation selectors
shouldn't be visible. Even more, all  variation selectors are of
default_ignorable property and expected to be rendered as completely
invisible, when unhandled.
I'd say we shouldn't make them visible unless
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES, and that is what we currently
have. However, I don't like the way HB currently makes them invisible - by
removing them from the output glyph array.


>   - Now, Unicode says only registered variation sequences are valid.  I
> assume
> we don't want to enforce that?
>

You forgot to mention using the variation selectors in Ideographic
Variation Database, too.
I don't think we should enforce sequences validation; this could be
implemented in user's get_glyph() (or get_glyph_variation()), if user
really wants that.


> - What should HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES do to variation
> selectors?  Right now they do not become visible no matter what.  Is it
> relevant whether the variation selector was actually used during glyph
> lookup
> or not?
>

If we're going to not eat the variation selectors from the output, then
they would pass through the path the other default_ignorable-s do, thus
guaranteeing consistency.


>   - If the answer to the last question of the previous item is yes, then we
> would new to change get_glyph() API to two separate get_glyph_variation()
> and
> get_glyph() calls.  But that would be an API and ABI break :(.  Thinking
> about
> it now, I wish I had done that from the beginning.
>


>
> Thoughts?
>
> --
> behdad
> http://behdad.org/
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>


Regards,
Konstantin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/harfbuzz/attachments/20130420/62a98487/attachment.html>


More information about the HarfBuzz mailing list