动态下载苹果中文字体

苹果其实不仅仅只有系统自带的字体,还可以有选择性的动态下载所需的字体。
像娃娃体、行楷、丽黑……等常见字体都支持。

具体支持列表见(iOS7):

https://support.apple.com/zh-cn/HT202771

那么问题来了,既然苹果系统支持这么多字体,怎么下载?怎么使用?
先看唐大的一篇文章,写的比较详细:

http://blog.devtang.com/2013/08/11/ios-asian-font-download-introduction

当然,看苹果的SampleCode更直接:

https://developer.apple.com/library/ios/#samplecode/DownloadFont/Listings/DownloadFont_ViewController_m.html

不过有一个问题,按照苹果的SampleCode使用后,下载的字体只在当前的程序周期中有效,重启后又不认上次的下载的字体了,打印所有字体也发现没有上次下载的字体。

打印字体代码:

NSArray* familys = [UIFont familyNames];
for (int i = 0; i<[familys count]; i++) {
  NSString* family = [familys objectAtIndex:i];
  NSLog(@"\r\n\r\nFontfamily:%@\r\n=====",family);
  NSArray* fonts = [UIFont fontNamesForFamilyName:family];
  for (int j = 0; j<[fonts count]; j++) {
    NSLog(@"%@",[fonts objectAtIndex:j]);
  }
}

字体文件虽然保存在了

/private/var/mobile/Library/Assets/com_apple_MobileAsset_Font

在 Mac 或是模拟器上,用kCTFontURLAttribute可以获得字体的绝对路径,但是在 iOS 上是不可能的。因此,只好在需要时重新执行一遍CTFontDescriptorMatchFontDescriptorsWithProgressHandler。

另外,这里有字体相关的官方介绍:《Using Fonts with TextKit》

https://developer.apple.com/videos/play/wwdc2013/223/
http://devstreaming.apple.com/videos/wwdc/2013/223xex5xsgdfh1ergtjrqwoghbj/223/223.pdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,720评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,702评论 4 61
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,770评论 2 45
  • 一朋友问我,今天你知不知道什么日子,把我问得一怔,什么日子,我冥思苦想了一会儿,没什么呀。前两天是母亲节,各种感恩...
    别山举水阅读 3,157评论 0 22
  • 20岁,眼泪逆流成河;21岁,我已学会逆流而行。 几个朋友聚在一起聊天谈到“乐观”这一话题时,我总会长叹一口气并...
    阮囧阅读 3,138评论 0 3

友情链接更多精彩内容