教程:使用自定义字体

18 条评论
  • Kevin
    发布于 00:17, 1月17日

    感谢这篇文章...

    我认为这篇关于自定义字体的文章也很好。由 Beebe 先生去年发表

    https://www.coronalabs.com/blog/2011/07/13/custom-fonts-corona/

  • Andreas
    发布于 02:12, 1月17日

    嗨,Tom,

    再次感谢你简洁有帮助的教程。

    我们经常使用自定义字体,所以我想分享两个小技巧

    1. 许可证

    通常,您必须购买额外的许可证才能在您的应用程序中使用字体,仅仅购买用于网络发布或打印的许可证是不够的(例如,如果您正在将儿童读物转换为互动故事书)。这并不贵,我们平均每种字体的许可证支付约 20-40 美元。

    2. OTF -> TTF

    我们只使用 TTF,因为我们为 iOS / Android / Kindle / NOOK 发布 - 嘿,这正是 Coronalabs SDK 的用途。 🙂
    所以我们有时需要将 OTF 转换为 TTF。一个非常快速、免费(且无障碍)的在线转换器可以很好地完成这项任务,它是
    http://www.freefontconverter.com

    最好的问候,
    Andreas

  • Igor
    发布于 13:30, 1月17日

    我发现单个构建中包含超过约 100 种字体是不可能的。该应用程序崩溃(可能是由于内存问题)

  • frank
    发布于 16:56, 1月18日

    嗨,Andreas,

    关于 1,一旦我们购买了字体,我们可以免费将 TTF 与我们的应用程序一起发布给无限数量的用户吗?

    谢谢
    Frank

  • Stiven
    发布于 20:10, 1月19日

    嗨!

    我有一个问题。

    使用自定义字体时,设备上的字体有时会错位,并且会高或低几个像素。您知道问题是什么或如何解决吗?

    在不同设备上,差异似乎也不同。

    • Greg
      发布于 08:44, 1月23日

      我也遇到过这个问题

    • Julius Bangert
      发布于 06:16, 4月28日

      Stiven,你解决这个问题了吗?我注意到这个问题,即设备上的文本比模拟器略高。我一直都知道这个问题,但我有点忽略了它,认为可以在最后解决。不过现在真的需要修复它了。

  • Chris Leyton
    发布于 06:26, 1月21日

    关于位图字体的文章怎么样 - 如果你想让你的游戏看起来更精美一些,这真的是唯一的方法。据我所知,唯一的方法是使用一个相当过时的社区模块 (bmf.lua) 或第三方 Text Candy 选项。关于这方面的建议会很有帮助。

  • Renato - RBG
    发布于 00:20, 4月2日

    我试图在我的 Android 设备(Galaxy S-I)中使用自定义字体,但即使按照上面的说明操作,自定义字体也无法工作。

    经过几次尝试和测试后,我发现问题在于我的字体文件的扩展名是大写字母 (.TTF)。我将字体文件扩展名更改为 .ttf,它就能完美工作了。

    • Ahmad
      发布于 05:12, 6月20日

      我在我的 Android 应用程序中做了所有事情,它在模拟器上工作,但在我的设备 LG G2 上不工作,为什么?请帮助我

  • Rob
    发布于 10:32, 8月23日

    我正在我的 Droid Razr 上与字体作斗争。阅读了 Renato 的评论,发现同样的问题也解决了我的问题。

    字体文件扩展名 (TTF) 必须是小写;ttf

    当我更改它后,我的字体在设备上完美显示。

  • Rithy
    发布于 20:42, 8月27日

    嗨,

    我发现这个教程很有用;但是,我在 Win 中使用字体系列时遇到问题。我有 2 种字体,helveticaneue.ttf 和 HelveticaNeue-Bold.ttf,我将它们安装在我的 Win 7 中,但我只能让 Helvetica Neue 字体名称工作。
    我怎样才能使粗体字体工作?我使用上述方法从系统字体中获取字体名称,但没有打印出 HelveticaNeue-Bold。有人解决过这个问题吗?

    顺便说一句,它在 Mac 和 IOS 上似乎工作正常。

    谢谢。

  • Sabir Ahmed
    发布于 03:52, 9月26日

    大家好,
    我有一个问题。
    我可以在一个字符串中以不同的格式显示一些句子或单词吗?(例如:斜体、粗体或更改单词颜色)

    谢谢,

  • Dewey
    发布于 14:34, 5月13日

    字体可以在文件夹中吗,还是需要放在项目根目录?
    如果在文件夹中,则需要更改 build_settings 的语法是什么?

    谢谢
    D

  • Federico Pici
    发布于 01:58, 6月12日

    嗨,
    经过一些测试,我能够了解如何在 Android 下正确使用自定义字体。
    1) 选择一个 .ttf 字体文件,并将其放在应用程序的根文件夹(main.lua 所在的位置)。文件扩展名 (.ttf) 必须是小写
    2) 无需在 build.setting 中写入任何内容(对于 Android)
    3) 在模拟器下,字体文件必须通过字体名称引用,但在 Android 下,字体文件必须通过文件名引用。因此,在我的例子中,我将 LUNAKRONIKLIGHT.ttf 放在我的应用程序的根文件夹下,将其安装在我的操作系统中,并使用“Luna Kronik Light”引用它(在模拟器中)。在 Android 设备下,我使用 LUNAKRONIKLIGHT 引用它。我花了一些时间才明白。如果您更改文件名并将其设置为等于字体名称,则无需检测您是在模拟器下还是在真实设备下。在我的例子中,我将“LUNAKRONIKLIGHT.ttf”重命名为“Luna Kronik Light.ttf”,并且在模拟器和 Android 设备下都使用相同的命名约定工作。
    希望对您有所帮助
    Federico Pici

    • Crossman
      发布于 10:05, 2月7日

      这非常有帮助,谢谢!

  • Martin
    发布于 12:36, 7月16日

    不工作。该字体通过 native.getFontNames() 列出,但 newText 不显示。

    将字体交换为“Arial”(或任何其他预加载的字体),一切正常... 🙁

  • Roland
    发布于 01:10, 10月17日

    我可以确认,字体在我的 Android 设备上不工作。
    – 字体是 main.lua 目录中的 .tff(小写)
    – 已添加到 build.settings 中的 UIAppFonts

    我甚至在 native.getFontNames() 中看不到自定义字体名称。我使用的是 Corona ver 2014.2456