Re: [csswg-drafts] [css-fonts][css-text] Variant Selection of Colorful (Emoji) or Monochrome Glyphs

For triggering emoji presentation style (often triggered by variation 
selectors), 
[UTR51](http://www.unicode.org/reports/tr51/proposed.html#Presentation_Style)
 explicitly states "Some systems may also provide this distinction 
with higher-level markup, rather than variation sequences." Therefore,
 the `text-transform` property should not be used to trigger this type
 of presentation style, since this behavior may not actually transform
 text. Similarly, the `font-variant` properties should also not be 
used because implementation of this behavior does not use font 
features.

This behavior is implemented by the 'cmap' table in the font. That is,
 drawing the string U+2603 U+FE0E in a font may actually end up 
drawing a different glyph ID than if you drew the string U+2603 U+FE0F
 using the same font. This has particular implications for font 
fallback - the strings above may map to glyph ID 0, which means that a
 fallback font may be chosen. This affects layout because the fallback
 font may have different metrics than the requested font.

On the other hand, color palettes are implemented after glyph 
selection, meaning they have no affect on font fallback. Palette 
selection describes how to draw a glyph once you already have a glyph 
ID in hand. Importantly, it also can't change the metrics of the 
glyph, meaning it doesn't affect layout.

Because of this, the two concepts should be kept separate, and should 
be triggered with orthogonal properties. Telling a font to draw with a
 text presentation while also specifying a color palette should be 
legal and valid. (Perhaps most fonts won't react to the color palette 
in this situation, but it's totally possible to build a font which 
would.)

-- 
GitHub Notification of comment by litherum
Please view or discuss this issue at 
https://github.com/w3c/csswg-drafts/issues/352#issuecomment-267651758 
using your GitHub account

Received on Friday, 16 December 2016 17:40:56 UTC