美文网首页iOS开发-知识合集
IOS集成第三方TTF字体库

IOS集成第三方TTF字体库

作者: zuolingfeng | 来源:发表于2016-03-04 11:01 被阅读3174次

    前几天由于公司项目需求,需要在IOS上面集成第三方字体库,所以特意记录下。

    1.下载ttf字体库
    项目集成的是兰亭黑体,ttf文件已经共享到百度云盘,有需要测试的可以去下载下,下载地址:http://pan.baidu.com/s/1dDKzdo1

    2.拷贝lantinghei.TTF字体库到Xcode项目

    3.在Info.plist中加入Fonts provided by application字段,里面放入lantinghei.TTF,如图一所示:


    图一图一

    4.最重要的一步,打开Xcode的项目配置文件,选中BuildPhases,展开Copy Bundle Resources,点击下面的“+”号,把lantinghei.TTF文件加入进来。如图二所示:


    图二图二

    5.准备工作已经做完了,把系统所有字体信息打印出来,检查下我们的字体是否加入成功,在ViewController中加入如下代码:

    NSArray * fontArrays = [[UIFont familyNames] sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            NSString *str1 = (NSString *)obj1;
            NSString *str2 = (NSString *)obj2;
            return [str1 compare:str2];
        }];
        for(NSString *fontfamilyname in fontArrays)
        {
            NSLog(@"family:'%@'",fontfamilyname);
            for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
            {
                NSLog(@"\tfont:'%@'",fontName);
            }
            NSLog(@"-------------");
        }
    

    控制台打印如图三所示:(注意红框部分)


    图三图三

    我们的字体名字是:FZLTHK--GBK1-0,说明我们的字体库已经加入成功了。这个名字就是我们后面设置字体所需要的名字。
    如果这一步红框部分没有出现,就需要重现检查前面的步骤是不是出现了错误。

    6.最后就是加入如下代码:

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 200)];
    label.text = @"兰亭黑字体\n\n这是汉字中文\nABCDEFGHIJK\nabcdefghijk\n1234567890";
    UIFont *font = [UIFont fontWithName:@"FZLTHK--GBK1-0" size:26];
    label.numberOfLines = 0;
    label.textAlignment = NSTextAlignmentCenter;
    label.font = font;
    [self.view addSubview:label];
    

    注意代码:

    UIFont *font = [UIFont fontWithName:@"FZLTHK--GBK1-0" size:26];
    

    这里就是设置我们集成的第三方字体。最后运行模拟器,结果显示如图四所示:


    图四图四

    这样,IOS集成第三发TTF字体库就OK了。
    项目Demo已放到github,有需要的可以去下载
    https://github.com/zuolingfeng/LinfTestFont

    相关文章

      网友评论

      • 卓敦:楼主,字体文件不是lantinghei.TTF吗,怎么打印的名字是FZLTHK--GBK1-0。还有,我的字体文件是接口获取的,怎么使用
        卓敦:@羽之_HB 我也解决了
        羽之_HB:解决了 查看字体属性 寻找对应的全名就行
        羽之_HB:我也是这个问题,我现在都不知道哪个是我添加上去的字体
      • 我本善良:博主,有好的下载网站吗?百度了半天,没发现!
      • 无忌不悔:请问你们在使用第三方字体前是不是先需要支付商用版权费用?
        zuolingfeng:@无忌不悔 恩,学习了,以前还没这么考虑过。
        无忌不悔:@zuolingfeng 如果是你们自己的字体那肯定可以用,有些字体可能会有商用版权问题
        zuolingfeng:没有呢。这个字体是我们设计给我们的,
      • 半江瑟瑟:最重要的一步,打开Xcode的项目配置文件,选中BuildPhases,展开Copy Bundle Resources,点击下面的“+”号,把lantinghei.TTF文件加入进来
        请问这一步的作用是什么 我没这么做也可以啊
        半江瑟瑟:@zuolingfeng :+1:
        zuolingfeng:这一步是把字体库文件加到NSBundle里面。如果你没做,说明字体库文件已经加到NSBundle里了。。
        zuolingfeng:因为之前我写blog的时候没加这步,导致字体出不来。。也许现在可以不加了吧。。

      本文标题:IOS集成第三方TTF字体库

      本文链接:https://www.haomeiwen.com/subject/gqwxkttx.html