1

我参考了这个链接:在 Cocos2d 中使用自定义字体

这个链接:http ://captainjor.wordpress.com/2013/04/03/cocos2d-x-custom-ttf-font/

第一个链接有效,但我只能指定字体的系列名称(名称基于字体窗口的顶部)。如果我想要粗体或一些疯狂的屁股样式,当我打开其他样式字体(如 BoldItalic 或斜体)时,我无法明确指定,它仍然会返回姓氏。

第二个链接根本不起作用。

我在 Cocos2dx 中使用的代码有效:

CCLabelTTF *energyLabel = CCLabelTTF::create("ABCDEFGHIJKL", "Roboto", 60.0f);

这个没有:

CCLabelTTF *energyLabel = CCLabelTTF::create("ABCDEFGHIJKL", "Roboto Black Italic", 60.0f);

请注意,我已经仔细检查了 Info.plist 文件以导入所有必需的字体。有人有更多的解决方案吗?=/我很困惑。导入字体就是这样的 PITA。

编辑:我再次偶然发现了这个问题,但采用了不同的方法。只是想我会在这里发布一些关于我如何为 Android 和 iOS 进行字体导入的重要指示。请注意,这最适合支持使用一行代码导入字体。

  1. 首先,我将所有字体文件放在资源文件夹中(不在任何子文件夹中,只是在根目录中!)
  2. 特别是对于 iOS,您需要通过在 plist 中声明字体文件来导入它们。如何?像这样:

iOS中的字体声明列表

-> 是的,我们可以看到我以某种方式包含了“fonts/”子文件夹目录,即使字体位于资源的根文件夹中。这是这里最奇怪的部分,这应该是唯一棘手的事情。我尝试删除“fonts/”子文件夹目录引用,但当我尝试使用字体在我的应用程序中显示文本/标签时它不起作用

这是适用于 iOS 和 Android 的线路:

CCLabelTTF* levelLabel = CCLabelTTF::create("TextDisplayed", Roboto-BlackItalic.ttf, 12);

这行代码很大程度上依赖于这个事实:字体的 PostScript 名称需要与文件名完全相同。

4

2 回答 2

6

你会尝试使用

"Roboto-BlackItalic" 

作为字体名称?我刚刚检查了我的一些代码库,我使用的是字体文件名(不带扩展名)而不是正确的字体名称,它工作得很好。

编辑:根据 Joel Tay 的评论,这是正确使用的 Postscript 字体名称。如附图所示,您可以通过从预览菜单中选择显示字体信息在字体册中找到它。

在此处输入图像描述

于 2013-10-03T08:00:58.617 回答
0

你可以在这里查看我的答案。-

UIFont 自定义字体未显示在设备上

显示应用程序可见的所有“真实”字体名称。

于 2013-10-03T12:46:19.690 回答