CGContextShowTextAtPoint函数绘制中文
来源:互联网 发布:ajax发送json数据 编辑:程序博客网 时间:2024/06/05 21:14
其实iOS中已经包含了中文字体。这不奇怪,否则iPhone是通过什么来显示中文?使用下列代码,我们可以查看iPhone上支持的所有字体名:
NSArray *fontFamilies = [UIFontfamilyNames];
for(NSString *fontFam in fontFamilies) {
NSLog(@"=========%@=========",fontFam);
NSArray *fontNames = [UIFontfontNamesForFamilyName:fontFam];
for (NSString* fontName in fontNames) {
NSLog(@"%@",fontName);
}
}
其中就有两个中文字体:
=========Heiti SC=========
STHeitiSC-Medium
STHeitiSC-Light
⋯⋯
=========Heiti TC=========
STHeitiTC-Medium
STHeitiTC-Light
这是两个系统内置的字体族,一个简体黑体,一个是繁体黑体。这两个字体族都分别包含中、轻两种不通字重的字体。
注:黑体是一种无衬线字体(san-serif)。所谓衬线字体,是指末端被加强的字体,这种字体如Times、Times New Roman、宋体,易于识别。而无衬线字体的笔画粗细是一致的,没有末端加强,因此不易识别但比较醒目。对于某些软件,比如电子阅读器,一般应使用宋体等衬线字体 ( serif) 。
由于iOS系统中只提供一种中文字体黑体,对于文本阅读器这类中文软件,我们只能在程序中提供自己的字体文件来增加额外的字体支持。关于在程序中使用自定字体,请参考另一篇博文:《iOS 定制应用程序字体 》。
然后是加载这两个中文字体。请使用 CGFontCreateWithFontName函数:
CGFontRef font_ref =CGFontCreateWithFontName((CFStringRef)@"STHeitiTC-Medium");
接下来的过程正如《iOS定制应用程序字体》中所述的一模一样,映射unichar为Glyphs,然后调用 CGContextShowTextAtPoint函数绘制中文。
- CGContextShowTextAtPoint函数绘制中文
- Magick++绘制中文
- MFC D3D绘制中文
- 绘制 sigmoid函数
- 实现绘制正多边形函数
- 开源-绘制函数
- GLUT模型绘制函数
- OPenGL绘制几何体函数
- OpenGL 绘制函数图象
- 绘制正弦函数曲线
- 边框绘制函数
- 简单函数绘制
- 在线绘制数学函数
- 体绘制函数 vtk
- hist 绘制直方图函数
- 绘制余弦函数曲线
- hist 绘制直方图函数
- MATLAB 绘制函数曲线图
- 探索软件设计模式
- PDP backlight cannot work 和Backlight 的ASL不起作用(Riogrande Platform)
- IE7.0以下版本列表<li>元素中元素错位解决方法
- 70个新鲜实用的JavaScript和Ajax技术(上)
- codeblocks快捷键(转载)
- CGContextShowTextAtPoint函数绘制中文
- linux静态库和动态库分析
- 我 out了。。。。。。。
- test+testcase+testsuite
- 二、基本算法之DFS、BFS和A*
- Selenium 环境配置
- Windwos远程执行Linux命令
- 到了对学习赖宁活动进行小结的时候了
- gdb常用调试命令