デバイス (iphone/ipad) にフォントが存在するかどうかを実行時に確認したいですか?
それを行う方法はありますか?
UIFont
fontWithNameメソッドを使用して試すことができます。iOSに存在しないフォントに対してnilを返す必要があると思います。
+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize
このコードを使用して、使用可能なすべてのフォントのリストを取得できます。
// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
[fontNames release];
}
[familyNames release];
このコードに基づいて、すべてのフォント名を含む NSArray を簡単に構築し、それを使用してフォントがそこにあるかどうか、または任意の種類のワークフローがアプリにより適しているかどうかを確認できます。