在iOS下使用字体时关于字体名字的问题

在iOS下使用自定义字体比较蛋疼的就是名字不知道是什么,大部分字体可以在打开字体册就可以看到,如正常的XXX-Regular,但有时候名字并不是这个,有可能是XXX而已,还有可能是XXXItalic(而不是XXX-Italic)。名字错了,建立的字体肯定是空的。

那怎么办呢?

有办法的,有一段代码可以把当前所有的字体名字输出来。

如:

1.把XXX字体加入到resouce

2.Info.plist的Fonts provided by application里面加入字体文件名

3.运行下面代码

    NSArray *familyNames = [UIFont familyNames];
    for( NSString *familyName in familyNames ){
        printf( "Family: %s \n", [familyName UTF8String] );
        NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
        for( NSString *fontName in fontNames ){
            printf( "\tFont: %s \n", [fontName UTF8String] );
        }
    }

4.找到你的字体XXX,如下,Font:后面的就是我们要的字体名字

Family: Courier New 
    Font: CourierNewPSMT 
    Font: CourierNewPS-BoldMT 
    Font: CourierNewPS-ItalicMT 
    Font: CourierNewPS-BoldItalicMT 
Family: Oriya Sangam MN 
    Font: OriyaSangamMN 
    Font: OriyaSangamMN-Bold

5.自然是使用,如

UIFont *font_regular = [UIFont fontWithName:@"CourierNewPS-ItalicMT" size:84];

  完。




你可能感兴趣的:(在iOS下使用字体时关于字体名字的问题)