Como verificar se um caractere é suportado por uma fonte

Estou trabalhando em um aplicativo com um campo de texto. O texto escrito neste campo será impresso e eu tenho um problema com alguns caracteres como emoji, caracteres chineses, etc ... porque a fonte não fornece esses caracteres.

É por isso que desejo obter todo o caractere fornecido por uma fonte (a fonte é baixada para que eu possa lidar diretamente com o arquivo ou com um objeto UIFont).

Eu ouvi sobreCTFontGetGlyphsForCharacters mas não tenho certeza se essa função faz o que eu quero e não consigo fazê-lo funcionar.

Aqui está o meu 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.");

AquiCTFontGetGlyphsForCharacters Retornafalso. É o que eu quero, porque o caractere '' não é fornecido pela fonte usada.
O problema é quando eu substituoNSString *characters = @"" porNSString *characters = @"abc", CTFontGetGlyphsForCharacters volte novamentefalso. Obviamente, minha fonte fornece um glifo para todos os caracteres ASCII.

questionAnswers(1)

yourAnswerToTheQuestion