My writing on font fallback (see font fallback blog post) has generally suggested using CTFontCopyDefaultCascadeListForLanguages. Responding on Twitter, Jiang Jiang suggests we use CTFontCreateForString instead.
This is much more like the Windows approach, and saves the trouble of having to go through a long font list, but on the other hand involves calling into CoreText API's on a fine grained basis every time a layout is needed. Part of my idea of getting the cascade list is that it could be retained on a per-locale basis.
Probably measurement is needed to figure out which is better. If CTFontCreateForString is very fast, then maybe that is the best choice.
My writing on font fallback (see font fallback blog post) has generally suggested using CTFontCopyDefaultCascadeListForLanguages. Responding on Twitter, Jiang Jiang suggests we use CTFontCreateForString instead.
This is much more like the Windows approach, and saves the trouble of having to go through a long font list, but on the other hand involves calling into CoreText API's on a fine grained basis every time a layout is needed. Part of my idea of getting the cascade list is that it could be retained on a per-locale basis.
Probably measurement is needed to figure out which is better. If CTFontCreateForString is very fast, then maybe that is the best choice.