在iOS,android和windows下使用ttf字体的套路都稍微有点不同,具体在下面几个方面:

1)安装:

windows平台    使用ttf字体时如系统字库中未安装该字体,则需右键点击字体文件进行安装,然后才可使用;

android平台     无需安装直接打包到apk的资源中即可;

ios平台            需要在xcode项目的info.plist中添加字体文件,具体位置如下:

打开该文件后先查找是否有 Fonts provided by application 该项,如果没有则在文件如下图位置点击加号进行添加

在Fonts provided by application选项中增加需使用的字体文件,添加后的截图如下:

这里需要注意的是该ttf文件所在的目录路径,我这边的路径是resources/fnt/fangzheng.ttf, 这里注意根据自己的资源路径进行设置,完成这步后ios下字体资源安装就算搞定了。

2)使用:

windows平台,使用代码示例如下:

UILabel *pLabel = UILabel::create();

pLabel->setFontName("方正.ttf");

pLabel->setText("中国智造,慧及全球");

android和ios的调用代码和windows一样,但在设置字体名称时是有区别的,这里一定要注意:

pLabel->setFontName("方正.ttf");

在android中字体文件的名称不能为中文,表现为在打包apk时会输出下面的错误信息:

方正.ttf :error: Invalid filename. Unable to add.

这里只需把文件名改为非中文表示,比如改为 "fangzheng.ttf",然后修改设置字体名称的代码如下:

pLabel->setFontName("fangzheng.ttf");

再重新进行apk打包就可以了。

在ios下会稍微麻烦些,主要原因是在ios下设置的字体名称不是文件名,而是该字体真实的字体名称,关于如何获取真实字体名称,可以借鉴下面这位同学的技术贴,

具体原理是新建一个ios应用项目,将需要使用使用的ttf字体包含进去,具体方法和上面讲的ios安装ttf字体套路一样,只是plist的位置不一样而已,然后通过下面的代码:

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];

NSArray *fontNames;

NSInteger indFamily, indFont;

for (indFamily=0; indFamily

{

NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);

fontNames = [[NSArray alloc] initWithArray:

[UIFont fontNamesForFamilyName:

[familyNames objectAtIndex:indFamily]]];

for (indFont=0; indFont

{

NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);

}

}

将该项目所支持的所有字体的名称信息全部输出到 target output中,如下图:

然后复制所有输出的内容保存到文本文件中,修改项目属性将刚才添加ttf字体移除,再次执行得到新的支持字体的信息,将这两个文本进行对比即可找到自己添加的ttf字体的真是font name,

这里注意的是需使用的是 Font name,不是Family name

详细的步骤可参见下面这位同学分享的技术帖:

我根据上面帖子中的方法找到的字体名字为 FZCTHFW--GB1-0

修改设置字体的代码如下:

pLabel->setFontName("FZCTHFW--GB1-0");

由于在ios和android中使用的字体名称不一致,这个可以定义一个全局变量,然后根据不同平台设置不同的值即可,示例如下:

#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

std::string FONT_NAME = "fangzheng.ttf";

#else

std::string FONT_NAME = "FZCTHFW--GB1-0";

#endif

到此处在cocos2dx2.2.2中跨平台使用的ttf字体就基本搞定了。

cocos2dx ttf字体 android,cocos2dx2.2.2中使用ttf字体相关推荐

  1. android 寺库trytry_wpf 中使用 ttf

    因为实现ImageButton接触ttf在wpf中的使用,ttf是图标按钮的集合文件.可在阿里www.iconfont.cn网站选择下载.首先选择所需图标添加到购物车,选择完成后从购物车中选择&quo ...

  2. html5 在线字体库,网络字体@font-face,如何处理网页中的特殊字体?

    网络字体@font-face 如何处理网页中的特殊字体 HTML5学堂:随着网页的发展,网页中出现了越来越多的字体种类,网页自带的微软雅黑.宋体.黑体已经越来越难以满足设计的需要,那么,如何在网站中使 ...

  3. div html表格样式设置字体大小,css样式表中如何修改字体大小为18px?

    css样式表中如何修改字体大小为18px?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css样式表中如何修改字体大小为18px? 在css样式表中可以 ...

  4. html中的字体选择,谈谈Web标准设计中的常用字体和选用原则

    浏览器中展示网页文字内容时,文字字体都会按照设计师在css中定义的字体族的顺序来进行显示. 什么是字体族?字体族就是你在css代码中看到"font-family"的代码内的一类字体 ...

  5. html中如何设置所有文本字体,如何设置HTML页面中文本的字体

    字体属性介绍 CSS中的字体属性是干什么的呢?字体字体确定和字体有关咯,就是设置HTML页面中文本的字体, CSS中经常使用的字体属性有几种呢,笔者给你们梳理了下,比较经常使用的一共有5种,今天咱们就 ...

  6. word设置默认字体_如何在Word中设置默认字体

    word设置默认字体 Word is a powerful application, but some of the configuration tools are not very intuitiv ...

  7. word中字体 html,在Word 2010中设置文本字体

    在本章中,我们将讨论如何在Word 2010中设置文本字体和大小.Microsoft字允许您使用不同大小的不同字体.您可以通过更改字体及其大小来更改文档的外观.通常您会为段落和标题使用不同的字体.学习 ...

  8. Android AutoSize屏幕适配中图标及字体放大的问题解决

    现象: 项目接入Android AutoSize屏幕适配框架,项目本身主界面是横屏操作的界面.测试中用户反馈在vivo x27的手机或者其他机型也会出现(没测试出来)横屏后所有的图标及字体都放大. 原 ...

  9. android dialog 字体,android – 为AlertDialog的MultiSelectItems设置自定义字体(字体)

    AlertDialog.Builder使用 AlertController.AlertParams构建对话框.我检查了AlertDialog.Builder #create()调用AlertContr ...

最新文章

  1. 【 FPGA 】UltraFast设计方法学:时序收敛之时序约束基本准则
  2. 【运营干货】三分钟,读懂互联网运营
  3. Python 常见的内置模块
  4. Python与操作系统有关的模块
  5. Windows下MinGW编译vim7.4
  6. Separate Query from Modifier(分离查询和修改)
  7. SQL 拼接语句输出_一文了解Mybatis中动态SQL的实现
  8. 在 ASP.NET MVC 中创建自定义 HtmlHelper
  9. 【win10.win7】在win10系统里面安装win7系统(亲测有效,方便快捷,无需自己设置开机启动项)
  10. git 上传项目到github
  11. 家庭网络布线图与布线方案
  12. 通达OA2017版连接sqlserver2008数据库
  13. 稳定排序与不稳定排序的区别
  14. 为啥E进制计算机的效率最高?
  15. 风险回避、减轻、转移、接受,汇率风险
  16. 小程序分销的规则是怎样的?
  17. Mongodb分片学习
  18. Windows 10 截图工具
  19. MacOS redis开机启动设置
  20. php怎么定义字符串变量的值,php字符串变量怎么替换

热门文章

  1. 百度产品经理校园招题目汇总
  2. 百分比宽高下使内容居中
  3. 如何利用Python3和OpenCV对比两张图片的不同,提取差异性
  4. (附源码)基于django校园宿舍管理系统-计算机毕设84831
  5. 数控机床手动编程能否用计算机验证,数控技术基础知识
  6. Pyhton中用pandas解决excel中身份证号不全问题
  7. python爬取豆瓣电影排行榜数据
  8. 用户体验设计遇见色彩情感
  9. 你不知道的知识丨为什么很多球员,喝了运动饮料,总是直接吐出来?
  10. BIM风云录 步步惊心!腾讯布局CIM平台剑指阿里