Dear Khaled, Khaled Hosny wrote: > On Sat, Apr 20, 2013 at 10:49:26AM +0100, Jonathan Kew wrote: >> On 19/4/13 22:13, Behdad Esfahbod wrote: >> >>> - 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? >> Yes, I think it's relevant. A variation selector that was used >> during glyph lookup has (in a sense) become "visible", manifested as >> a particular choice of glyph. I don't think it should -also- appear >> as a separate glyph, even in a "show invisibles" mode. In effect, >> the <base, VS> pair has been ligated - it's just a "ligation" that's >> handled by the cmap instead of GSUB. > > But this can be said about many other control characters, ZWJ or ZWNJ > for example, they have a visual effect. > > IMO PRESERVE_DEFAULT_IGNORABLES should simply show any default ignorable > character that is being removed from the output not as a result of > OpenType glyph substitution. One use of such feature (the only use?) is > to make visible all characters that has mysterious effects on the output > so they can be easily checked/edited, and I can see variation selectors > benefiting from this just like any other default ignorable.
I think the requirement to make visible all characters is reasonable, but I'm not sure PRESERVE_DEFAULT_IGNORABLES is the appropriate place to serve the request. For example, if ZJW or ZWNJ should be displayed visibly, various spaces (e.g. U+2000 - U+200B) are not expected to be displayed with clearly different glyphs? # I'm afraid that most fonts may lack the glyphs for such purpose. # The easiest way would be showing them with hexadecimal codepoints, # but, it's not easy to remind the expected operation from the hexadecimal values... Regards, mpsuzuki _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/harfbuzz