这个问题与UILabel极为相似,自定义字体显示*错误*自定义字体,但我需要同时使用此系列中的三种字体.我正在使用Myriad Pro,就像那个问题一样,但我需要使用Bold,Semibold和Regular.
目前,当我尝试通过定义为:
#define MYRIAD_BOLD(x) [UIFont fontWithName:@"MyriadPro-Bold" size:(x)]
Run Code Online (Sandbox Code Playgroud)
..给了我Semibold.如果我从plist条目中删除"由应用程序提供的字体"中的Semibold(对于上面链接的类似问题的"答案"),正确返回Bold,但(显然)Semibold不再可用.
关于为什么我(看似)一次限制为两个自定义字体的任何想法?(来自同一个家庭,至少?)
顺便说一句,这是NSLog输出[UIFont fontNamesForFamilyName:@"Myriad Pro"]:
Myriad Pro font names: (
"MyriadPro-Semibold",
"MyriadPro-Regular",
"MyriadPro-Bold"
)
谢谢!
在一个奇怪但有点预期的解决方法中,我发现我实际上可以通过在编辑器中打开字体来实际使用第三种变体(我只是抓住了我发现的第一个)并更改了系列名称,将其重新打包为otf,然后添加新文件到应用程序plist.我也离开了fontName.
奇怪的是它仍然加载相同的字体名称,并显示在+fontNamesForFamilyName:Myriad Pro 的响应下.
| 归档时间: |
|
| 查看次数: |
5853 次 |
| 最近记录: |