【问题标题】:How do you integrate custom fonts in an app?如何在应用程序中集成自定义字体?
【发布时间】:2013-11-09 22:56:23
【问题描述】:

我正在尝试将来自以下网站的自定义字体(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 上的 corona 模拟器上调试问题,以解决字体无法加载的原因?

谢谢

【问题讨论】:

标签: android ios macos fonts coronasdk


【解决方案1】:

将 Imperator.ttf 字体文件放入 Assets 文件夹中

在课堂上使用以下代码:

字体 imperator_typeface =Typeface.createFromAsset(getContext().getAssets(),"Imperator.ttf");

your_textview.setTypeface(imperator_typeface);

【讨论】:

  • 当我写这些行有一个错误信息。是为了电晕吗?
  • 这看起来像是原生 Android 代码,而不是 Corona SDK/Lua 代码。
【解决方案2】:

在您的 Corona 应用程序中安装自定义字体时,您必须遵循以下步骤:

  • 在您的系统中安装字体。
  • 将字体文件(如: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)

最后,你会得到如下输出:

继续编码...... ?

【讨论】:

猜你喜欢
  • 2016-10-28
  • 2013-05-12
  • 2011-03-31
  • 2015-02-25
  • 1970-01-01
  • 2020-10-22
  • 2021-08-31
  • 2011-09-13
  • 1970-01-01
相关资源
最近更新 更多