notofonts / symbols

Noto Symbols
SIL Open Font License 1.1
14 stars 4 forks source link

Noto Symbols: Variations sequences for symbols are not supported #34

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 9 years ago
The following characters have variation sequences defined for them, but they 
are not supported in the Noto Sans Symbols font:

2229 FE00; with serifs; # INTERSECTION 
222A FE00; with serifs; # UNION
2268 FE00; with vertical stroke; # LESS-THAN BUT NOT EQUAL TO
2269 FE00; with vertical stroke; # GREATER-THAN BUT NOT EQUAL TO
2272 FE00; following the slant of the lower leg; # LESS-THAN OR EQUIVALENT TO
2273 FE00; following the slant of the lower leg; # GREATER-THAN OR EQUIVALENT TO
228A FE00; with stroke through bottom members; # SUBSET OF WITH NOT EQUAL TO
228B FE00; with stroke through bottom members; # SUPERSET OF WITH NOT EQUAL TO
2293 FE00; with serifs; # SQUARE CAP
2294 FE00; with serifs; # SQUARE CUP
2295 FE00; with white rim; # CIRCLED PLUS
2297 FE00; with white rim; # CIRCLED TIMES
229C FE00; with equal sign touching the circle; # CIRCLED EQUALS
22DA FE00; with slanted equal; # LESS-THAN EQUAL TO OR GREATER-THAN
22DB FE00; with slanted equal; # GREATER-THAN EQUAL TO OR LESS-THAN
2A3C FE00; tall variant with narrow foot; # INTERIOR PRODUCT
2A3D FE00; tall variant with narrow foot; # RIGHTHAND INTERIOR PRODUCT
2A9D FE00; with similar following the slant of the upper leg; # SIMILAR OR 
LESS-THAN
2A9E FE00; with similar following the slant of the upper leg; # SIMILAR OR 
GREATER-THAN
2AAC FE00; with slanted equal; # SMALLER THAN OR EQUAL TO
2AAD FE00; with slanted equal; # LARGER THAN OR EQUAL TO
2ACB FE00; with stroke through bottom members; # SUBSET OF ABOVE NOT EQUAL TO
2ACC FE00; with stroke through bottom members; # SUPERSET OF ABOVE NOT EQUAL TO

(This is contrary to Mongolian and Phags-pa, where the sequences are supported 
in the fonts.)

The glyphs for the above sequences (shown at 
http://www.unicode.org/Public/UCD/latest/ucd/StandardizedVariants.html) should 
be added to the Noto Symbols font, and a cmap subtable format 14 should be 
added to map the sequences to glyphs.

(CC-ing Behdad to confirm that cmap subtable format 14 is preferable to a GSUB 
rule.)

Original issue reported on code.google.com by roozbeh@google.com on 2 Apr 2015 at 12:16

GoogleCodeExporter commented 9 years ago
FYI: harfbuzz uses cmap format 14 first before falling back to GSUB. 

Original comment by jungs...@google.com on 3 Jun 2015 at 5:54

GoogleCodeExporter commented 9 years ago
Another FYI: Unicode 5.0 (perhaps earlier) has the variants defined for math 
operators in the bug  :  
http://www.unicode.org/Public/5.0.0/ucd/StandardizedVariants.html 

Original comment by jungs...@google.com on 3 Jun 2015 at 6:00

GoogleCodeExporter commented 9 years ago
Thinking ahead to the implementation, I would like to clarify some details. In 
a run of text, the occurrence of a variation selector after a candidate 
character is a direct request to choose a specific form of the character if 
that form is included in the font. If this glyph-selection is not present in 
the cmap, then it should be included in the substitution table. Behdad's 
comment above (... before falling back to GSUB) might imply that the OpenType 
interpreter needs to search the GSUB for an appropriate rule to carry out. I 
would think that selecting a variant form should either be implemented through 
the cmap or through substitution, but not both. The simplest way to implement 
such a selection in substitution is a mandatory ligature (U+ABCD + VSn -> 
U+ABCD.alt_n). Comments please.

Original comment by kamal.ma...@gtempaccount.com on 8 Jun 2015 at 6:11

behdad commented 9 years ago

cc @roozbehp @kmansourMT @behdad

behdad commented 9 years ago

Yes, for everything other than the Mongolian variation selectors, cmap 14 is required.

dougfelt commented 8 years ago

PhagsPa also uses GSUB to implement variants.

dougfelt commented 8 years ago

This is fixed with NotoSansSymbols v1.07.

On my system pango-view doesn't do the substitution, but hb-view works fine-- I'm not set up properly. So I used hb-view on some characters and looked at the variation selector cmap.