iOS 6:动态下载字体
2019独角兽企业重金招聘Python工程师标准>>>
iOS 6:字体列表
了解 iOS 6 中所使用的字体。
iOS 6 随附安装了下列字体:
|
|
|
了解详情
App 也可以根据需要安装下列字体:
|
|
|
上次修改时间: 2015-2-21
简体中文对应的PostScript名称(下载时使用的名称)
报隶-简 STBaoli-SC-Regular
冬青黑体简体中文 HiraginoSansGB-W3 HiraginoSansGB-W6
黑体-简 STHeitiSC-Light STHeitiSC-Medium
华文仿宋 STFangsong
华文黑体 STXihei STHeiti
华文楷体 STKaiti
华文宋体 STSong
楷体-简 STKaiti-SC-Regular STKaiti-SC-Bold STKaiti-SC-Black
兰亭黑-简 FZLTXHK--GBK1-0 FZLTTHK--GBK1-0 FZLTZHK--GBK1-0
隶变-简 STLibian-SC-Regular
翩翩体-简 HanziPenSC-W3 HanziPenSC-W5
手札体-简 HannotateSC-W5 HannotateSC-W7
宋体-简 STSongti-SC-Regular STSongti-SC-Light STSongti-SC-Bold STSongti-SC-Black
娃娃体-简 DFWaWaSC-W5
魏碑-简 Weibei-SC-Bold
行楷-简 STXingkai-SC-Light STXingkai-SC-Bold
雅痞-简 YuppySC-Regular
圆体-简 STYuanti-SC-Regular STYuanti-SC-Light STYuanti-SC-Bold
例:下载并使用行楷-简(STXingkai-SC-Bold)(粗体)
#import <CoreText/CoreText.h>textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0,WIDTH , HEIGHT - 64)];textView.contentSize = CGSizeMake(WIDTH, 1500);NSString *text = localizedStrng(@"FAQ_content");textView.editable = NO;[self.view addSubview:textView];//fontName要用对应的PostScript名称,否则,无法下载,行楷-简对应的PostScript名称有两个:STXingkai-SC-Light(细体) 和 STXingkai-SC-Bold(粗体),下面用的是粗体。NSString *fontName = @"STXingkai-SC-Bold";// Create a dictionary with the font's PostScript name.NSMutableDictionary *attrs = [NSMutableDictionary dictionaryWithObjectsAndKeys:fontName, kCTFontNameAttribute, nil];// Create a new font descriptor reference from the attributes dictionary.CTFontDescriptorRef desc = CTFontDescriptorCreateWithAttributes((__bridge CFDictionaryRef)attrs);NSMutableArray *descs = [NSMutableArray arrayWithCapacity:0];[descs addObject:(__bridge id)desc];CFRelease(desc);__block BOOL errorDuringDownload = NO;// Start processing the font descriptor..// This function returns immediately, but can potentially take long time to process.// The progress is notified via the callback block of CTFontDescriptorProgressHandler type.// See CTFontDescriptor.h for the list of progress states and keys for progressParameter dictionary.CTFontDescriptorMatchFontDescriptorsWithProgressHandler( (__bridge CFArrayRef)descs, NULL, ^(CTFontDescriptorMatchingState state, CFDictionaryRef progressParameter) {// NSLog( @"state %d - %@", state, progressParameter);double progressValue = [[(__bridge NSDictionary *)progressParameter objectForKey:(id)kCTFontDescriptorMatchingPercentage] doubleValue];if (state == kCTFontDescriptorMatchingDidBegin) {dispatch_async( dispatch_get_main_queue(), ^ {// Show something in the text view to indicate that we are downloadingtextView.text= [NSString stringWithFormat:@"Downloading %@", fontName];textView.font = [UIFont systemFontOfSize:16.];NSLog(@"Begin Matching");});} else if (state == kCTFontDescriptorMatchingDidFinish) {dispatch_async( dispatch_get_main_queue(), ^ {// Display the sample text for the newly downloaded fonttextView.text = text;textView.font = [UIFont fontWithName:fontName size:16.];// Log the font URL in the consoleCTFontRef fontRef = CTFontCreateWithName((__bridge CFStringRef)fontName, 0., NULL);CFStringRef fontURL = CTFontCopyAttribute(fontRef, kCTFontURLAttribute);NSLog(@"%@", (__bridge NSURL*)(fontURL));CFRelease(fontURL);CFRelease(fontRef);if (!errorDuringDownload) {NSLog(@"%@ downloaded", fontName);}});} else if (state == kCTFontDescriptorMatchingWillBeginDownloading) {dispatch_async( dispatch_get_main_queue(), ^ {NSLog(@"Begin Downloading");});} else if (state == kCTFontDescriptorMatchingDidFinishDownloading) {dispatch_async( dispatch_get_main_queue(), ^ {NSLog(@"Finish downloading");});} else if (state == kCTFontDescriptorMatchingDownloading) {dispatch_async( dispatch_get_main_queue(), ^ {textView.text= [NSString stringWithFormat:@"Downloading %@ %.0f%%", fontName,progressValue];NSLog(@"Downloading %.0f%% complete", progressValue);});} else if (state == kCTFontDescriptorMatchingDidFailWithError) {// An error has occurred.// Get the error messageNSError *error = [(__bridge NSDictionary *)progressParameter objectForKey:(id)kCTFontDescriptorMatchingError];if (error != nil) {NSLog(@"Download error: %@", [error description]);} else {NSLog(@"ERROR MESSAGE IS NOT AVAILABLE!");}}return (bool)YES;});
效果如下:
转载于:https://my.oschina.net/u/2344008/blog/485626
iOS 6:动态下载字体相关推荐
- iOS 动态下载系统提供的多种中文字体
作者刘文涛 转载请注明出处 一.功能简介 1.前言 为了实现更好的字体效果,有些应用在自己的应用资源包中加入了字体文件.但自己打包字体文件比较麻烦,原因在于: 1.字体文件通常比较大,10~20M是常 ...
- iOS 开发之动态下载系统提供的多种中文字体
使用动态下载中文字体的API可以动态地向iOS系统中添加字体文件,这些字体文件都是下载到系统的目录中(目录是/private/var/mobile/Library/Assets/com_apple_M ...
- iOS字体 动态下载系统提供的多种中文字体
一.场景.当前众多APP使用情况 在WWDC的内容公开之前,大家都以为iOS系统里面只有一种中文字体.为了达到更好的字体效果,有些应用在自己的应用资源包中加入了字体文件.但自己打包字体文件比较麻烦,原 ...
- ios动态下载多种中文字体
引言 在今年 WWDC 的内容公开之前,大家都以为 iOS 系统里面只有一种中文字体.为了达到更好的字体效果,有些应用在自己的应用资源包中加入了字体文件.但自己打包字体文件比较麻烦,原因在于: 1.字 ...
- iOS 动态下载系统的中文字体
/** APP中加入文件字体,使自己打包文件字体比较麻烦,原因在于: 1.字体库文件一般比较大,对于一般的APP相当于体积翻倍了,得不偿失 2.中文字体通常都有版权,需要处理相应的版权问题 所以我们可 ...
- 动态下载系统提供的多种中文字体
从iOS6开始,苹果开始支持动态下载官方提供的中文字体到系统中.使用苹果官方提供的中文字体,既可以避免版权问题,又可以节省应用体积.该方案适合对有较多需求的应用. 使用动态下载中文字体的API可以动态 ...
- 动态下载苹果提供的多种中文字体
引言 在今年WWDC的内容公开之前,大家都以为iOS系统里面只有一种中文字体.为了达到更好的字体效果,有些应用在自己的应用资源包中加入了字体文件.但自己打包字体文件比较麻烦,原因在于: 1.字体文件通 ...
- iOS 定制应用程序字体
使用Quartz Core绘制文字非常简单,苹果的Quartz 2D参考中演示了如何使用CGContextShowTextAtPoint函数绘制文本.不幸的是,这个函数不支持Unicode字符的绘制( ...
- Cocos Creator子游戏动态下载实现(大厅+子游戏模式)
热更新 在App开发过程中,当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖 ...
最新文章
- 1.IocDI和Spring
- python对象模型 ruby_使用JRuby/Jython实现Ruby/Python的互操作性?
- GAN的基本原理与入门应用!
- 重要通知:PMCAFF播客上线了!
- 【面试相关】非计算机专业如何1年内自学拿到算法offer
- linux内核中用来对共享资源进行隔离,简单理解Docker
- python连接oracle数据库_深入理解Python3.6连接Oracle数据库
- 19岁P8入驻阿里?从阿里的人才成长体系学习
- RabbitMQ——事务
- OpenCV萌新福音:易上手的数字识别实践案例
- 魅族16s Pro邀请函发布:对称式全面屏+骁龙855Plus
- C语言结构体(Struct)
- Scala中的下划线使用总结
- APUE 头文件apue.h 解决方法
- IT大学生成长周报 | 第 6 期
- ShaRF: Shape-conditioned Radiance Fields from a Single View
- 解决Access数据库突然变得很大的方法
- 怎么将两个pdf文件合并在一起?
- 汇编中的dup和equ
- matlab输出图片至指定文件夹(适用于批量输出)
热门文章
- mysql 异地双活_饿了么异地双活数据库实战
- (PD)PowerDesigner设计表时显示注释列Comment,Columns中没有Comment的解决办法(关联MySQL)
- Java调用金蝶接口
- 中国最大的电子图书搜索引擎,提供数万本电子图书(E书)完全免费下载!
- 日常随笔——如何判断字符是汉字、字母、还是拼音? 在C++中又该如何判断?
- 完成如下界面的设计 java登录界面设计
- console h3c 波特率_H3C(华三)路由器交换机SecureCRT软件设置|连接Console口方法
- 计算机学院 文化建设方案,计算机专业组文化建设和班级建设方案.doc
- 王帅:深入PHP内核
- wma转mp3怎么弄_wma转mp3格式转换器