Rich Siegel recently wondered on Slack why
NSTextView would suddenly display empty placeholders for some glyphs when the font does not support them, instead of falling back to a safe font like it usually does. Chinese characters never got displayed. Michel Fortin remembered a similar problem, and the potential fix was quite simple:
In summary, if you have to change the font after the text storage was edited, do it in
willProcessEditingand it’ll do the right thing. Don’t do it in
That turned out to be what tripped up Mr Siegel's text view, which now happily displays CJK/CJKV again. For more details and some background about how you can detect this problem in your apps, read Michel's post.