Fix Missing Font Fallbacks for NSTextView
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
willProcessEditing
and it’ll do the right thing. Don’t do it indidProcessEditing
.
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.