iosobjective-cfontsuifontasianfonts

Why does iOS choose a particular Asian font?


My iPhone is set to English, but my app is localized to several languages. When the app is internally switched to Japanese, the font rendered as "system" is cute, but not professional-looking.

kana

From what I can tell from iosfonts.com, the font selected may be Heiti TC.

heiti

How can I coerce my app to use, say, Hiragino Kaku, as the "system" font when localized to Japanese?


Here are my language settings on my hardware iPhone 5S:

languages


Solution

  • In my settings I correctly have my preferred languages as

    settings

    for testing. However, one user pointed out

    Yes, unfortunately Apple decided to go "All-China" and now prefers Chinese fonts over Japanese ones.

    Back on iOS 7, if a system font was missing glyphs, then iOS would chose a matching font for these missing glyphs based on the system language settings. In that list of preferred languages, Japanese was always before Chinese, so missing glyphs were taken from a Japanese font. With iOS 8, Apple reordered this list and so missing glyphs are now taken from a Chinese font.

    Following the advice from this answer and this answer, I changed my system language to Japanese, then back to English. The order of my preferred languages is exactly the same as before, but now my phone is correctly using the Japanese font and not the Chinese font. I think this is a bug, but I hope this helps others.