如何在应用程序中集成自定义字体?

Ted*_*gel 4 macos fonts android ios coronasdk

我正在尝试将以下网站中的自定义字体(Imperator.ttf和goodfish.ttf)集成到我的电晕应用程序中:http://www.1001freefonts.com/top-fonts.php

我正在仔细阅读Corona官方网站上的教程:http:
//www.coronalabs.com/blog/2013/01/16/faq-wednesday-custom-fonts/

我遵循macosx集成的整个过程(通过双击等安装字体)并且不会出现任何错误.我还在我的build.settings文件中添加了字体文件名:

 UIAppFonts =
 {
       "Imperator.ttf"
 },
Run Code Online (Sandbox Code Playgroud)

每当我启动模拟器并调试当前加载的字体时,都不会出现新的字体.

是否有一种简单的方法来调试电晕模拟器上的问题,在osx上,以解决为什么字体不加载?

谢谢

Kri*_*lim 7

在您的电晕应用程序中安装自定义字体时,您必须执行以下步骤:

  • 在系统中安装字体.
  • 将字体文件(例如:)复制并粘贴Imperator.ttf到您main.lua存在的应用程序文件夹中.
  • 然后对于iPhone(仅适用于iPhone,Android不需要此功能),请将以下行添加到您的build.settings:

iphone =
    {
        plist =
        {
            UIAppFonts =
            {
                "Imperator.ttf"  -- Font file name
            },
            UIApplicationExitsOnSuspend = true
        },
    }
Run Code Online (Sandbox Code Playgroud)
  • Font Names使用以下命令调试并获得系统支持:

local fonts = native.getFontNames()
for i,fontname in ipairs(fonts) do
    print(fonts[i])
end
Run Code Online (Sandbox Code Playgroud)

从上面的调试中,您可以获得Imperator在创建文本/标签时必须使用的确切字体名称(此处为:).有时这可能与字体文件的名称不同.您也可以从photoshop(它的文本工具字体名称)等应用程序中获取它.

local myText = display.newText("Label with custom font",150,100,"Imperator",20)
Run Code Online (Sandbox Code Playgroud)

最后,您将获得输出:

在此输入图像描述

继续编码................