Cómo verificar si un carácter es compatible con una fuente

Estoy trabajando en una aplicación con un campo de texto. El texto escrito en este campo se imprimirá y tengo un problema con algunos caracteres como emoji, caracteres chinos, etc., porque la fuente no proporciona estos caracteres.

Es por eso que quiero obtener todo el carácter proporcionado por una fuente (la fuente se descarga para poder tratar directamente con el archivo o con un objeto UIFont).

Escuché sobreCTFontGetGlyphsForCharacters pero no estoy seguro de que esta función haga lo que quiero y no puedo hacer que funcione.

Aquí está mi código:

CTFontRef fontRef = CTFontCreateWithName((CFStringRef)font.fontName, font.pointSize, NULL);
NSString *characters = @""; // emoji character
NSUInteger count = characters.length;
CGGlyph glyphs[count];
if (CTFontGetGlyphsForCharacters(fontRef, (const unichar*)[characters cStringUsingEncoding:NSUTF8StringEncoding], glyphs, count) == false)
    NSLog(@"CTFontGetGlyphsForCharacters failed.");

aquíCTFontGetGlyphsForCharacters regresofalso. Es lo que quiero porque la fuente utilizada no proporciona el carácter ''.
El problema es cuando reemplazoNSString *characters = @"" porNSString *characters = @"abc", CTFontGetGlyphsForCharacters volver de nuevofalso. Obviamente, mi fuente proporciona un glifo para todos los caracteres ASCII.

Respuestas a la pregunta(1)

Su respuesta a la pregunta