2016年2月25日
重要更新:字体加载更轻松了!
随着 Public Release 2830 的发布,字体加载/显示方式也进行了更改。
以前,自定义字体的使用取决于操作系统和所使用的字体类型。有时您需要使用字体的文件名,有时您需要使用“内部字体名称”。许多开发人员通过确保字体文件名和内部字体名称匹配来简化自己的工作。
现在,您可以简单地使用 **字体文件名 + 扩展名**。这在除 Windows Phone 8 之外的**所有**平台上都是一致的。
例如,要显示文件名为 superfont.ttf
的自定义字体,只需使用
1 2 |
local myText = display.newText( "Hello World!", 100, 200, "superfont.ttf", 16 ) |
Windows Phone 8 仍然有不同的要求,即 "#"
。示例
1 2 |
local myText = display.newText( "Hello World!", 100, 200, "superfont.ttf#Super Font Regular", 16 ) |
为了简化字体的使用,您应该采用这种新的自定义字体加载方法。
Jason Schroeder
发布于 2月25日 14:43这个新功能最棒的部分是:我们可以将所有字体放在子文件夹中,并以此方式引用它们
local myText = display.newText( "Hello World!", 100, 200, "fotns/superfont.ttf", 16 )
我整洁的项目文件夹感谢您 @Rob!
Kevin Bradford
发布于 2月25日 18:00很棒的更改,谢谢!字体跨平台使用一直令人头疼。
Mario
发布于 2月26日 07:35这将会有很大帮助!!
-Mario
jch_APPLE
发布于 2月27日 04:59这是改进文本处理的第一步吗?无论如何,这是一个很棒的改变,谢谢!
Scott Harrison
发布于 2月28日 10:26可以在文档目录中使用字体吗?
Rob Miracle
发布于 2月28日 16:44不能。它只是相对于 system.ResourceDirectory 的字体文件的相对路径。
Julius Bangert
发布于 5月17日 10:48有没有办法从文档目录引用字体?如果能够下载新字体以用于我们不断更新的新内容,那就太棒了?
demo
发布于 2月29日 11:52好消息。现在,我们可以使用诸如 font-awesome 之类的字体来制作 Logo 等,而不是为每个分辨率创建单独的图像吗?或者仍然不支持?
Rob Miracle
发布于 2月29日 14:55您仍然只能使用 TTF 和 OTF 字体。
Crossman
发布于 3月3日 12:03您仍然需要在配置文件中命名字体吗?
Dave Z
发布于 3月3日 13:13使用 Daily Build 2823,以下行
TitleTxt = display.newText( “这是标题”, _W/2,_H/2, “titanone.ttf”, 28 )
生成错误:“警告:无法加载字体 titanone.ttf.ttf。正在使用默认字体。”
怎么回事???
Dave Z
发布于 3月3日 13:17我指的是 Build 2832…
Dave Z
发布于 3月3日 13:19哈哈!没关系。它工作了!有时你会错过最愚蠢的事情!
Ed
发布于 3月7日 20:13旧方法会继续有效吗?还是这是未来的新方法?
Rob Miracle
发布于 3月8日 15:43应该可以。
Rob Miracle
发布于 3月8日 18:22应该可以
Yanko Popov
发布于 4月25日 02:29虽然新的字体加载方式确实更简单,但旧方法在性能方面似乎更快,特别是如果您同时加载大量文本对象时。似乎新的方法在每次创建新的文本对象时都会加载代码中提供的字体文件,这可能是低效的,并且如果您同时创建大量的文本对象,则会导致非常明显的性能停顿。因此,我认为在 API 文档中保留旧的指定自定义字体的方法以及新的方法非常重要。
Rob Miracle
发布于 4月25日 07:34是的,按文件名加载速度较慢。这就是为什么我们仍然允许您使用字体系列名称作为一种方法。
Yanko Popov
发布于 5月2日 05:18谢谢!我错了,我只是完全错过了 API 文档中的内容 🙂