It\'s relatively easy to determine if a particular Unicode font contains a glyph for a code point when the code point fits into a 64 bit value.
if (CTFontGet
This is what I wound up using (where codePoint is the 32 bit code point you want to test for):
UniChar characters[2];
CFIndex length = (CFStringGetSurrogatePairForLongCharacter(codePoint, characters) ? 2 : 1);
CGGlyph glyphs[2];
if (CTFontGetGlyphsForCharacters(ctFont, characters, glyphs, length)) {
// It Exists
}