gpt4 book ai didi

ios - 用户友好的UIFont`fontNamesForFamilyName:`

转载 作者:行者123 更新时间:2023-12-01 16:41:57 25 4
gpt4 key购买 nike

如果我运行此代码(在iPhone上):

NSArray *names = [UIFont familyNames];
NSLog(@"Font FamilyNames");
for (NSString *name in names) {
NSLog(@"Font Family: %@",name);
NSArray *fontFaces = [UIFont fontNamesForFamilyName:name];
for (NSString *fname in fontFaces) {
NSLog(@" %@",fname);
}
}

我得到此输出(节略):
...
Font Family: Georgia
Georgia-BoldItalic
Georgia-Bold
Georgia-Italic
Georgia
Font Family: Helvetica Neue
HelveticaNeue-BoldItalic
HelveticaNeue-Light
HelveticaNeue-Italic
HelveticaNeue-UltraLightItalic
HelveticaNeue-CondensedBold
HelveticaNeue-MediumItalic
HelveticaNeue-Thin
HelveticaNeue-Medium
HelveticaNeue-ThinItalic
HelveticaNeue-LightItalic
HelveticaNeue-UltraLight
HelveticaNeue-Bold
HelveticaNeue
HelveticaNeue-CondensedBlack
Font Family: Gill Sans
GillSans
GillSans-Italic
...

您可以看到每个字体系列都有各种字体,但是字体名称除了用户友好之外,什么都没有。例如,TextEdit以更好的方式呈现它们:

我如何以一种稳定的方式(这意味着它适用于所有字体,甚至iOS上尚不可用的字体)来获取每种字体的名称,例如TextEdit?

唯一想到的是解析每个字体的名称,将 HelveticaNeue-CondensedBold转换为 Condensed Bold,并将 HelveticaNeue-UltraLightItalic转换为 Ultra Light Italic。但是,您会注意到TextEdit将 HelveticaNeue-UltraLightItalic呈现为 UltraLight Italic,而不是 Ultra Light Italic,并且我不确定此方法是否适用于所有字体...

不能与我的想法配合使用的字体示例:
Font Family:  Bodoni 72
BodoniSvtyTwoITCTT-Book
BodoniSvtyTwoITCTT-Bold
BodoniSvtyTwoITCTT-BookIta

( Bodoni 72!= BodoniSvtyTwoITCTT)
Font Family:  Times New Roman
TimesNewRomanPS-BoldItalicMT
TimesNewRomanPSMT
TimesNewRomanPS-BoldMT
TimesNewRomanPS-ItalicMT

( Times New Roman!= TimesNewRomanPS以及那个MT怎么了?)

另一个问题是:没有字体名称包含 Regular,但这是用户希望在选项中看到的(请参见TextEdit屏幕截图)。

最佳答案

HelveticaNeue(不包含任何内容)=常规。

MT = Monotype

另请:http://www.fonts.com/support/faq/lt-mt-ef-abbreviations

如何默认使用iOS上不可用的字体?

  • 您将需要配置您的PList
  • 将字体文件拖到资源文件夹
  • 然后您可以使用新的自定义字体,如以下代码所示:
     [self.activateBtn.titleLabel setFont:
    [UIFont fontWithName:@"ProximaNova-Regular" size:15]];

  • 有关更多信息,您可以访问:
    Use custom fonts in iPhone App

    关于ios - 用户友好的UIFont`fontNamesForFamilyName:`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23592877/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com