CoreText - 创建CTFont时的性能警告?

时间:2013-08-17 17:07:56

标签: objective-c core-text ctfontref ctfont

创建CTFont时会收到以下警告。

CoreText性能说明:客户端请求使用名称为"ArialRoundedMTBold"的PostScript名称为"Arial Rounded MT Bold"的字体。

// Creating Font
CTFontRef fontWithoutTrait = CTFontCreateWithName((__bridge CFStringRef)(name), size, NULL);

// Font names I use to create a font 
[UIFont familyNames];

如果我删除从[UIFont familyNames]获取的任何字体名称中的所有空格,它是否会是核心文本所期望的字体名称,这是否安全?

1 个答案:

答案 0 :(得分:5)

在创建字体时,将完整名称转换为postscript名称。

+ (NSString *)postscriptNameFromFullName:(NSString *)fullName
{
    UIFont *font = [UIFont fontWithName:fullName size:1];
    return (__bridge NSString *)(CTFontCopyPostScriptName((__bridge CTFontRef)(font)));
}