在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体。
第一个,必须要有一个有效的字体文件。在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号的字母表。如果没有显示或发生错误,则改字体很可能是损坏的或者不是正确的字体格式。
接下来你要考虑的是字体名不一定和该字体文件的名字一致。字体有3个名字:
字体文件的名字 字体族的名字(family name) 字体的名字
为了使用SpriteBuilder,字体名字和字体文件的名字(除去文件扩展)应该匹配,否则字体不会工作。
一旦你在SpriteBuilder中添加了一个TrueType字体然后发布,接着可以添加以下代码:
-(void)showAllFontNames{ for (NSString *family in [UIFont familyNames]) { NSLog(@"%@ (family)",family); for (NSString *name in [UIFont fontNamesForFamilyName:family]) { NSLog(@" %@ (name)",name); } } }
你可以在log输出中找到你新加入SpriteBuilder的TrueType字体名称,然后如有必要将该字体文件的名字改成和字体名称同名。然后重新导入该字体文件,并且更新所有label中该字体文件的名称。
注意:在SpriteBuilder中使用一般的TrueTypeitinerary不需要编辑Info.plist文件。如果你不通过SpriteBuilder而使用TrueType字体时,才需要这样做。