如何使用Fontforge将TTF转换为FNT

16

我有一个TTF字体,需要转换为FNT格式(最好也能转换成pcf格式)。我尝试使用Fontforge进行转换,但是当我加载字体并选择生成字体时,右侧列表中除了“没有位图字体”之外,无法选择任何内容,尽管WIN FNT已存在。有人能帮助我解决这个问题吗?

3个回答

23

我建议尝试 Hiero。它可以将任何已安装的系统字体或字体文件转换为.fnt

您可以从 BadLogicGames 下载它。

  • 打开runnable-hiero.jar
  • 选择要转换的字体。
    • 对于您电脑上已安装的字体:选择System
    • 对于下载的字体文件:选择File并通过单击...选择一个字体
  • 在菜单栏中,选择File → Save BMFont files (text)
  • 选择保存位置和以.fnt结尾的文件名

如果操作正确,您应该有两个文件:font_name.fntfont_name.png

Hiero v3.1 - Bitmap Font Tool


1
嗨,我使用的是Mac。我使用“java -jar fileName”运行jar文件。这是我得到的结果https://imgur.com/a/6g0nKYw。我找不出如何转换它。我已经加载了印地语字体。 - Neer Patel
@NeerPatel 只需运行 jar 文件本身即可,无需添加任何参数。 - Stevoisiak
我想说的是,在选择文件后,我找不到任何可点击的“转换”按钮,可以将.ttf文件转换为.fnt文件。请看屏幕截图,您可以看到我已经选择了Mukta字体。但现在,我该如何指示软件进行转换? - Neer Patel
@NeerPatel,选择:文件->保存BMFont文件。如果您想更改颜色,请使用渲染:Java。 - Dmitro

16

FNT是一种点阵格式,而TTF是一种轮廓/矢量格式。要得到FNT输出,您首先需要创建一个或多个点阵。如果Fontforge已经包含了Freetype制作,则可以使用该软件完成此操作:

  • 进入Element -> Bitmap Strikes Available。
  • 选择“Win”按钮
  • 在“Point Sizes”下输入所需大小(或大小)。
  • 勾选“Use FreeType”和“Create Rasterized Strikes”,然后单击“OK”。

现在您应该具有可用的点阵。进入Generate Fonts;在左侧选择“无轮廓字体”,在右侧选择Windows FNT,选择所需大小并生成即可。


15
我制作了一个在线工具,可以将TrueType字体 (.ttf) 转换成Bitmap字体 (.fnt)。 https://ttf2fnt.com 这里输入图片描述

3
无论我尝试上传什么东西,都无法成功。 - Jul
2
它在我的Node项目中与Jimp完美地工作。非常感谢! - fxbayuanggara
有没有办法使用ASCII以外的其他字符?我正在考虑将此工具与a-frame一起使用,因为很难找到支持任何其他字符的位图字体。 - Robin Manoli
@milos 很好,但是我们该如何让像é这样的重音符号正常工作呢? - Alextoul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接