从iOS6开始,苹果开始支持动态下载官方提供的中文字体到系统中。使用苹果官方提供的中文字体,既可以避免版权问题,又可以节省应用体积。该方案适合对有较多需求的应用。
使用动态下载中文字体的API可以动态地向iOS系统中添加字体文件,这些字体文件都是下载到系统的目录中(目录是/private/var/mobile/Library/Assets/com_apple_MobileAsset_Font/),所以并不会造成应用体积的增加。由于字体文件是iOS系统提供的,也免去了字体使用版权的问题。虽然第一次下载相关的中文字体需要一些网络开销和下载时间,但是这些字体下载后可以在所有应用间共享,所以可以预见,随着该API使用的普及,大部分应用都不需要提示用户下载字体,因为很可能这些字体在之前就被其他应用下载下来了。
在官方文档(http://support.apple.com/kb/HT5484?viewlocale=zh_CN)中,苹果列出了提供动态下载和使用的中文字体文件列表。不过由于下载的时候需要使用的名字是PostScript名称,所以如果你真正要动态下载相应的字体的话,还需要使用Mac内自带的应用“字体册”(Font Book)来获得相应字体的PostScript名称。
苹果提供了动态下载代码的Demo工程(https://developer.apple.com/library/ios/samplecode/DownloadFont/Listings/DownloadFont_ViewController_m.html)。
#import "ViewController.h"
#import <CoreText/CoreText.h>
@interface ViewController ()
{
NSString *_errorMessage;
UILabel *_label;
}
@end
@implementation ViewController
- (void)viewDidLoad {