notofonts / noto-cjk

Noto CJK fonts
http://www.google.com/get/noto/help/cjk
3k stars 215 forks source link

Some Emoji will fallback to Noto Sans CJK on Android #191

Closed WordlessEcho closed 3 years ago

WordlessEcho commented 3 years ago

I discover that those Emoji was added in version 2.002: 🆕 (U+1F195), 🆓 (U+1F193), 🆙 (U+1F199), 🆗 (U+1F197), 🆒 (U+1F192), 🆖 (U+1F196), 🈁 (U+1F201), 🈳 (U+1F233), 🆎 (U+1F18E), 🆑 (U+1F191), 🆘 (U+1F198), 🉐 (U+1F250), 🈴 (U+1F234), 🈵 (U+1F235), 🈹 (U+1F239), 🈲 (U+1F232), 🉑 (U+1F251), 🈶 (U+1F236), 🈚 (U+1F21A), 🈸 (U+1F238), 🈺 (U+1F23A), 🆚 (U+1F19A)

When I try to replace NotoSansCJK-Regular.ttc (version 2.001) in Andorid system by version 2.003. Seems that Android prefer to display those Emoji by Noto Sans CJK instead of Noto Color Emoji. Before modified: original

After modified: modified

Why adding those Emoji to Noto Sans CJK?

Related issue: https://issuetracker.google.com/issues/185155368

punchcutter commented 3 years ago

These characters were not added in 2.002. They have always been in there (including 2.001) so that can't be the cause of what you're seeing.

WordlessEcho commented 3 years ago

I find out that NotoSansCJK-Regular.ttc (version 2.001) in Android is different to this repository.

SHA256 of NotoSansCJK-Regular.ttc (version 2.001) in this repository: 5dcd1c336cc9344cb77c03a0cd8982ca8a7dc97d620fd6c9c434e02dcb1ceeb3

SHA256 of NotoSansCJK-Regular.ttc (version 2.001) in Android 11: 036e8917a3f6ee3c29fac5e0da185dc857093d97c60b89baf207cbaad5895686

And I use Google's font tool to search 1F195. I can't find anything in Android version. But I can find it in this repository version. Seems that Android team did a little trick.

WordlessEcho commented 3 years ago

Here you can find more details about the modification by Android. https://android.googlesource.com/platform/external/noto-fonts/+/refs/heads/master/cjk/README.android

Update: https://cs.android.com/android/platform/superproject/+/oreo-dev:external/noto-fonts/cjk/README.android

subset_noto_cjk.py: https://cs.android.com/android/platform/superproject/main/+/main:external/noto-fonts/scripts/subset_noto_cjk.py;drc=d8536c6637d9506ccd8ffb09810ceb7e864e20d8

You might also interesting about chws: https://github.com/kojiishi/east_asian_spacing

prakashDiana commented 7 months ago

We need NOTO COLOR EMOJI!!!

prakashDiana commented 7 months ago

And also soccer ball and baseball. And more.

prakashDiana commented 7 months ago

The fonts have been modified to remove cmap entries for characters that should default to emoji style in Android.

prakashDiana commented 7 months ago

Missing some characters in Noto Sans CJK font

The missing characters are black sun with rays, cloud, black telephone, white up pointing index, black spade suit, black club suit, black heart suit, black diamond suit, soccer ball, baseball, negative squared AB, squared CL, squared COOL, squared FREE, squared ID, squared NEW, squared NG, squared OK, squared SOS, squared UP with exclamation mark, squared VS, squared Katakana koko, squared CJK Unified Ideograph mou4, squared CJK Unified Ideograph zi2, squared CJK Unified Ideograph gam3, squared CJK Unified Ideograph hung1, squared CJK Unified Ideograph hap6, squared CJK Unified Ideograph mun5, squared CJK Unified Ideograph jau5,squared CJK Unified Ideograph san1, squared CJK Unified Ideograph got3, squared CJK Unified Ideograph jing4, circled ideograph advantage, and circled ideograph accept. These are displayed as an emoji presentation.

prakashDiana commented 7 months ago

We set the value to -1 not...

prakashDiana commented 7 months ago

Twenty-four glyphs are available but we set the value to -1. With the exception of U+2252 & U+25C8