notofonts / symbols

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

The glyph for Unicode Character U+2AB6 is incorrect #84

Closed davelab6 closed 3 hours ago

davelab6 commented 4 hours ago

@mihnita posted internally on b/317596108 :

The easiest way to see the problem is to visit this link on an Android U phone: \ https://www.fileformat.info/info/unicode/char/2ab6/index.htm

The bigger glyph, at the top, points right. \ The glyphs shown below, for string.toUpperCase() / string.toLowerCase() point left.

The top one (pointing right) is the correct one, and shows properly because that is an image, not text.

The current U+2AB6 glyph in the font is the same as the U+2AB5 one. (you can visit both on the site above)


How we know it is the font and not something else

I retrieved the font from my Android device:

adb pull /system/fonts/NotoSansSymbols-Regular-Subsetted.ttf

and opened it in Fontforge

Go to the Unicode code point (View -- Goto -- u2ab6). The glyphs for U+2AB5 and U+2AB6 are identical:

font_in_fontforge

The Unicode chart for "Supplemental Mathematical Operators" shows the correct glyphs:

unicode_charts


This seems to be an Android problem (maybe related to subsetting?).

The NotoSansSymbols-Regular.ttf font on GitHub does not even have those glyphs. (I also checked NotoSansSymbols2, also no glyphs there)

I did not check the hinted versions on GitHub.

My guess is that the NotoSansSymbols-Regular-Subsetted.ttf font on Android is not only a subset, but was created by merging glyphs from other fonts(?) \ Or it is indeed a subset from an older font version.


After dumping the font with fonttools (ttx -s NotoSansSymbols-Regular-Subsetted.ttf) it looks like the glyphs for "uni2AB5" and "uni2AB6" are identical (in NotoSansSymbols-Regular-Subsetted._g_l_y_f.ttx). \ So it is not an incorrect cmap, or GSUB, or something else.


Version info:

My Android device: UQ1A.240105.004 \ Font: /system/fonts/NotoSansSymbols-Regular-Subsetted.ttf \ Font version (as shown by Fontforge): 1.09 uh \ sfnt revision (as shown by Fontforge): 1.09

simoncozens commented 3 hours ago

Yes, this is an Android bug - I don't know how NotoSansSymbols-Regular-Subsetted.ttf was created, but it's not something that we ship from the Noto side; it must have been created by the Android team. The glyphs will have come from Noto Sans Math, but I can't find a version of Noto Sans Math old enough to test - the oldest I have on hand is 2.000 from 2020.

Anyway, even if it was a bug then, this is solved on the Noto end, and Android need to update their fonts...

kenmcd commented 2 hours ago

Version 1.900 does still have the error. So it must have gotten fixed in the v2 update. NotoSansMath-Regular.v1.900.(2017-04-08).zip