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

时间:2013-10-30 11:33:23

标签: android ios macos fonts corona

我正在尝试将以下网站中的自定义字体(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"
 },

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

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

由于

2 个答案:

答案 0 :(得分:7)

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

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

iphone =
    {
        plist =
        {
            UIAppFonts =
            {
                "Imperator.ttf"  -- Font file name
            },
            UIApplicationExitsOnSuspend = true
        },
    }

  • 使用以下命令调试并获取系统支持的Font Names

local fonts = native.getFontNames()
for i,fontname in ipairs(fonts) do
    print(fonts[i])
end

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

local myText = display.newText("Label with custom font",150,100,"Imperator",20)

最后,您将获得输出:

enter image description here

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

答案 1 :(得分:-2)

将Imperator.ttf字体文件放在Assets文件夹

在课堂上使用以下代码:

字体imperator_typeface = Typeface.createFromAsset(getContext()。getAssets(),“Imperator.ttf”);

your_textview.setTypeface(imperator_typeface);