【问题标题】:FreeTypeFontGenerator for GWT用于 GWT 的 FreeTypeFontGenerator
【发布时间】:2014-03-29 22:34:40
【问题描述】:

我正在使用 Libgdx 编写一个 Android 和 HTML5 应用程序。我发现 FreeTypeFontGenerator 不适用于 GWT 应用程序,并且不推荐使用 truetype。如果我想在 GWT 应用程序中使用字体,我应该使用什么?

【问题讨论】:

    标签: gwt libgdx freetype


    【解决方案1】:

    您可以像在任何 LibGDX 应用程序中一样使用BitmapFont,它是在 LibGDX 中支持字体的标准机制。 FreeTypeFontGenerator 是一个扩展,它不适用于 GWT,因为它具有本机代码。如果您需要-生成一些不同大小和类型的新字体文件,您可以使用Hiero 或我最喜欢的BMFont

    【讨论】:

    • 我正在尝试使用 BMFont,它适用于像 Arial 这样的标准字体,但我想使用自定义字体。如果您将它安装到 Windows 上,该字体可以正常工作,它在 BMFont 中看起来也很棒。但是当我尝试用 libgdx 导入它时,我得到了随机的东西。是我弄乱了设置还是其他原因?
    • 查看生成的 fnt 和 png 文件。它们有意义吗? png 有字形渲染并且 fnt 正确指定了每个字母的位置和大小?
    • png 是有道理的,所以我认为 fnt 文件有问题。偏移量可能有问题。我怎么知道我应该对特定字体进行哪些设置?
    【解决方案2】:

    可能有更好的方法,但如果找不到,可以使用 gdx-tools 项目中内置的 Hiero 工具将字体预渲染为几种尺寸,并在运行时选择最合适的一种。 Hiero 生成一个 .png 和一个描述该图像中字符的文件,您可以简单地加载它们,例如:

    BitmapFont font = new BitmapFont(Gdx.files.internal("data/font/font"+sizeNum+".fnt"));
    

    【讨论】:

    • 这适用于 HTML5 吗? TTF 在在线游戏中很重要。
    • 嗯,这不是 ttf,但如果你渲染足够多版本的位图字体,它应该足够好。据我所知,它有效(虽然没有个人经验)
    • 你说得对,一定有办法做到这一点。不幸的是字体支持不像 LibGDX 中的 Flash 那样先进。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多