html文档含有阿拉伯文,html – iOS中包含自定义字体的阿拉伯文字
更新:
从iOS 7开始,您不需要使用Core Text来呈现自定义的阿拉伯字体.您可以将UILabel和/或UITextView与NSAttributedString一起使用.结果与使用Core-Text的结果相同.但是,根据您的要求,使用Core Text仍然是更好的选择.
更新:
我已将此报告为Apple的错误,但我不确定他们何时会添加对阿拉伯字体的支持.目前,没有简单的方法可以做到这一点.我最终使用默认的系统字体,这不是很好.
原始信息
我确实设法构建了一个使用自定义阿拉伯字体的古兰经应用程序.我使用已知的阿拉伯字体与Core Text框架来获得所需的结果.通过检查应用程序商店中提供的应用程序Quran Presenter for iPad,您可以看到我最终得到的结果.
这里有一些示例代码可以帮助您:
- (CTFontRef)newCustomFontWithName:(NSString *)aFontName
ofType:(NSString *)type
attributes:(NSDictionary *)attributes {
NSString *fontPath = [[NSBundle mainBundle] pathForResource:aFontName ofType:type];
NSData *data = [[NSData alloc] initWithContentsOfFile:fontPath];
CGDataProviderRef fontProvider = CGDataProviderCreateWithCFData((CFDataRef)data);
[data release];
CGFontRef cgFont = CGFontCreateWithDataProvider(fontProvider);
CGDataProviderRelease(fontProvider);
CTFontDescriptorRef fontDescriptor = CTFontDescriptorCreateWithAttributes((CFDictionaryRef)attributes);
CTFontRef font = CTFontCreateWithGraphicsFont(cgFont, 0, NULL, fontDescriptor);
CFRelease(fontDescriptor);
CGFontRelease(cgFont);
return font;
}
- (CATextLayer *)customCATextLayer {
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat:24.f], (NSString *)kCTFontSizeAttribute,
[NSNumber numberWithInt:1], (NSString *)kCTLigatureAttributeName,
nil];
CTFontRef font = [self newCustomFontWithName:@"PDMS_Saleem_QuranFont-signed"
ofType:@"ttf"
attributes:attributes];
CATextLayer *normalTextLayer = [[CATextLayer alloc] init];
normalTextLayer.font = font;
normalTextLayer.string = NSLocalizedString(@"Sample", nil);
normalTextLayer.wrapped = YES;
normalTextLayer.foregroundColor = [[UIColor blackColor] CGColor];
normalTextLayer.fontSize = 24.f;
normalTextLayer.alignmentMode = kCAAlignmentCenter;
normalTextLayer.frame = CGRectMake(0.f, 10.f, 320.f, 32.f);
CFRelease(font);
return [normalTextLayer autorelease];
}
- (void)viewDidLoad {
[super viewDidLoad];
CATextLayer *normalTextLayer = [self customCATextLayer];
[self.customView.layer addSublayer:normalTextLayer];
}
请注意,我正在使用CATextLayer和CTFontRef.这种方法存在一些问题.
1.您将不得不忍受选定的“自定义阿拉伯字体”中的问题.
2.您必须使用使用字体支持的扩展字符的阿拉伯语文本.
HTH.
html文档含有阿拉伯文,html – iOS中包含自定义字体的阿拉伯文字相关推荐
- python docx 合并文档 图片_Python检查Word文件中包含特定关键字的所有页码
推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社图书详情:配套资源:用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系 ...
- 智能文档理解:通用文档预训练模型
预训练模型到底是什么,它是如何被应用在产品里,未来又有哪些机会和挑战? 预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮.这和小孩子读书一样,一开始语文.数学.化学都学,读书.网上游戏等,在脑子 ...
- Facebook 游戏开发更新文档 API 参考文档 v6.0
Facebook 游戏开发更新文档 API 参考文档 v6.0 更新日志 1.排行榜 此版本全新推出排行榜 API!提供一套强大的 API, 使得游戏可获取排行榜.查询得分 情况和设置新分数(支持分数 ...
- 大学“电路分析基础”试题合集第六章(文末附PDF文档与Word文档)
大学"电路分析基础"试题合集第一章 大学"电路分析基础"试题合集第二章 大学"电路分析基础"试题合集第三章 大学"电路分析基础&q ...
- 干掉 Postman?测试接口直接生成API文档,这个文档工具真香!
欢迎关注方志朋的博客,回复"666"获面试宝典 实不相瞒我的收藏夹里躺着很多优质的开源项目,我有个爱好平时遇到感兴趣的开源项目都会记录下来,然后有时间在慢慢研究.前几天刚给同事分享 ...
- 如何利用 nbconvert将 IPYNB文档转换 Markdown文档?
简 介: IPYNB文件是现在基于IPython开发工程人员记录和分析处理算法和数据记录文档.将该文档转换成其它格式可以方便面进行思想共享,工作汇报等.利用 nbconvert可以很方便将ipynb的 ...
- 实施文档_Word 2010文档处理案例教程
Word 2010文档处理案例教程 ISBN:978-7-80243-928-3/02 作者:黄桂林 江义火 郭燕 定价:38.00元 出版社:航空工业出版社 适用层次:通用 出版日期:2019-10 ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- html在分页功能中如何实现当前页面的页码样式与其他页面不同_如何使用word文档?word文档使用技巧教程?...
Word文档使用方法与教程: 使用正确的部分和章节标题 我们在前面的章节中介绍了预设样式,但是这些样式可用于快速创建章节,子标题和标题页.在"主页"功能区选项卡中找到样式,可以在其 ...
- VC++ 单文档和多文档应用程序
下面来看一下什么是VC++ MFC 单文档和多文档应用程序: VC++ 2012,新建一个工程:工程类型选择 MFC应用程序: 然后在应用程序向导中,选择应用程序类型为 单文档: 最后生成的基本应用程 ...
最新文章
- 成功有感之给年轻人的10个忠告
- Linux_SystemLogManager
- 关于 golang 代理设置的
- java jediscluster_方便jediscluster操作的工具类
- json 和 jsonp
- java怎么设置不同事件_activiti 全局流程监听ActivitiEventListener,实现监听不同类型事件,不需要在acitivit中配置任务监听,非常方便...
- 敏捷软件开发之结对编程
- 测试网络稳定性_Redmi Note8 Pro游戏测试,网络稳定性竟比荣耀9X Pro还好?
- springMVC之mvc:interceptors拦截器的用法
- 西门子g120c面板参数设定_西门子PCS7模拟量单位设置
- python生成wps文件_使用Python操作XLS文件(wps中叫et)
- android对象识别实验报告,20162302 实验四《Android程序设计》实验报告
- GitHub使用笔记
- MATLAB矩阵合并
- beyond compare 对class文件反编译及比较
- python数据分析之pandas
- c语言编程后怎么做成软件,编程软件是用来编程的,那编程软件是怎么做出来的?...
- Python编程基础——编程环境准备工作
- 练习-Java字符串之String类常用方法之文件名与邮箱验证
- 三相功率测量,两表法和三表法区别
热门文章
- OpenGL游戏程序设计——————关于这本书
- 九段系统服务器,人力资源一卡通考勤系统
- opencv2.4.9 + vc2012配置过程记录
- java eclipse计算器_用eclipse制作计算器。
- u-boot-2012.04.01 移植笔记
- 小米5短接点 | 小米红米高通短接9008教程视频教程 | 高通9008驱动下载 | 不拆机怎么直接进9008 | 什么线能直接进9008
- matlab机器人工具箱puma560模型学习
- pandas实现上采样和下采样
- matlab求偏相关系数,计算皮尔逊相关系数t检验——Matlab
- Python 3.8.7安装教程