How do the big Unicode OSS fonts like Noto, Deja Vu deal with this?
How do the big Unicode OSS fonts like Noto, Deja Vu deal with this?
- In cases with the Noto project, they've given up long ago on literal singular font in both name and file to cover every languages; they have bunch of variants as different fonts(TC,SC,HK,JP,KR,...), available as both individual files as well as combined files[1].
- In cases with most Latin fonts like Deja Vu - I think this is where bulk of "wrong font" problem comes from. They don't support CJK at all, and operating systems often handle fallback to system defaults for missing characters, but sometimes OS falls back into wrong CJK fonts and cause text mIshmashlnG[2] problems or show bunch of square placeholders(aka tofu). The latter is usually solved by installing Noto fonts, and former by specifying what fonts are to be used for fallbacks(anyhow it's done, it can be OS or game engine dependent).
- There are also bunch of domestically made fonts such as IPA Gothic; they usually only support the targeted one of CJK + ASCII(+ISO-8859-1). Most Japanese-English _bi_ lingual contents take this route, which had lead to curiosity by some as to why Japanese content creators appear to have unique and specific taste for fonts[3] - in fact they're just reusing the font files already in the project folder.
- For creative purposes such as games, FOSS fonts sometimes don't cut it, but that is not unique to the Japanese language.
1: https://cdn-ak.f.st-hatena.com/images/fotolife/s/satob/20231... | https://archive.is/6qeVm
2: https://blog.enjo.life/wp-content/uploads/2022/08/fonts-and-... | https://archive.is/jSQzn
This is "Han Unification", a terrible idea from early in the development of Unicode. The idea was so bad that the affected glyphs are now also given always-Chinese and always-Japanese Unicode points, making it possible to, for example, compare a Chinese character to a Japanese character in the same document.
But the fix exists. You can specify that you have no idea what you're trying to write by coding it as U+76F4 (直). Or you can specify a Chinese character by coding U+FAA8 (直). Or you can specify a Japanese one by coding U+2F940 (直). There isn't actually a reason you'd want U+76F4 - it's just a dead, useless unicode point - but we can observe here that my default font doesn't include a glyph for either U+FAA8 or U+2F940 even though U+FAA8 is by definition identical to U+76FA (since this is a Chinese font).
The fact that it was the only one that properly rendered for me is an actual reason.
You don't want U+76F4, you want buggy Asian fonts to be fixed.
(On second thought... did it render correctly for you? Did you check?)
Yes there is: https://fonts.google.com/noto/specimen/Noto+Serif+JP