satbyy / go-noto-universal

Noto fonts go universal! Download pan-Unicode, merged Noto fonts according to time of usage (current, ancient) or geographical region (South Asia, SE Asia, Africa-MiddleEast, Europe-Americas).
Other
151 stars 21 forks source link

Add support for Basic Multilingual Plane (BMP, Plane 0) #68

Open ArtemAvramenko opened 6 months ago

ArtemAvramenko commented 6 months ago

Perhaps many people, like me, have been looking for a replacement for the outdated "Arial Unicode MS" font, which has near-perfect coverage of the code pages used on Windows, which is a very valuable feature for real business tasks. This despite the fact that it doesn't support surrogate pairs at all.

Unfortunately, Go Noto Kurrent could not be a painless replacement for this font, as it failed a basic test - displaying a Wikipedia article about China without missing characters: https://zh.wikipedia.org/wiki/中华人民共和国 For example, freshwater dolphin baiji (白鱀豚) is displayed as "白�豚".

I know there is a CJK build of Go Noto, but what I would like is a universal all-in-one solution, which could be to cover Basic Multilingual Plane (BMP) as much as possible and ignore all surrogate pairs. This would prove to be an excellent solution for a great many real-world tasks where some exotic languages and characters are not used.

Theoretically, a TTF font can hold 65535 glyphs, which would cover the BMP plane (characters 0000-FFFF, excluding D800-F8FF) completely and uncompromisingly. Unfortunately, I don't have the expertise to build such a font myself.

An additional motivation for covering only BMP is that many libraries, in particular some popular PDF generators, only work correctly with it, so for them having additional planes does not result in any benefits.