<div><br></div><div class="gmail_quote">2013/4/20 Behdad Esfahbod <span dir="ltr"><<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Konstantin has brought up a few interesting issues regarding variation<br>
selectors. I'll summarize issues that I think can be improved:<br>
<br>
- Right now we don't handle a sequence of multiple variation selectors in a<br>
row. What *is* the best way to handle that? Ideally the extra ones should<br>
become visible. Even a box is better than silently not showing them, right?<br></blockquote><div><br></div><div><a href="http://unicode.org/faq/unsup_char.html">http://unicode.org/faq/unsup_char.html</a> 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.</div>
<div>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.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- Now, Unicode says only registered variation sequences are valid. I assume<br>
we don't want to enforce that?<br></blockquote><div><br></div><div>You forgot to mention using the variation selectors in Ideographic Variation Database, too.</div><div>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. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- What should HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES do to variation<br>
selectors? Right now they do not become visible no matter what. Is it<br>
relevant whether the variation selector was actually used during glyph lookup<br>
or not?<br></blockquote><div><br></div><div>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.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- If the answer to the last question of the previous item is yes, then we<br>
would new to change get_glyph() API to two separate get_glyph_variation() and<br>
get_glyph() calls. But that would be an API and ABI break :(. Thinking about<br>
it now, I wish I had done that from the beginning.<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thoughts?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
behdad<br>
<a href="http://behdad.org/" target="_blank">http://behdad.org/</a><br>
_______________________________________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/harfbuzz" target="_blank">http://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><br>
</font></span></blockquote></div><div><br></div><div>
<br clear="all"><div>Regards,<br>Konstantin</div></div><div><br></div>