我正在考虑制作一个位图字体编辑器,但我完全找不到有关.fon
内部结构的任何信息。
有人知道我在哪里可以找到它吗?或者唯一的解决方案是自己分析这些文件?
我正在考虑制作一个位图字体编辑器,但我完全找不到有关.fon
内部结构的任何信息。
有人知道我在哪里可以找到它吗?或者唯一的解决方案是自己分析这些文件?
我将首先提到“FON”已成为几种不同字体格式的某种通用文件扩展名。到目前为止,最常见的是 Microsoft 的,但还有其他文件自称为 FON,它们使用完全不同的格式。因此,您可能需要仔细检查。我在下面包含的信息仅与 Microsoft 格式有关。
FON其实就是EXE格式,也就是说:FON文件是包含字体资源(也只有字体资源)的EXE,文件扩展名为FON。在介绍 FON 时编写的这个非常古老的文档中有更多信息。
您可能实际上对称为 FNT 的字体资源格式感兴趣。Microsoft 对此有很好的文档。
本质上,您所做的是创建 FNT 资源,然后将它们编译为 Windows 可执行文件(您可以在 FON 中包含多个 FNT;通常所做的是将相同字体的多种尺寸打包到单个 FON 中)。
由于从另一个答案链接的 Microsoft 知识库文章 #65123 不再起作用(“抱歉,找不到页面”),因此我找到了一些替代方法:
mkwinfont
并dewinfont
用于编码和解码 FNT 格式的文件)——更新版本可在https://github.com/juanitogan/mkwinfont获得(感谢 Richard)引用存档团队页面:
FON 是 Microsoft Windows 原生的字体文件格式。从 Windows 3.1 开始,随着 TrueType 的引入,它开始被边缘化,尽管它继续受到支持。它包含 FNT 格式的字体。因此,它支持位图字体和描边字体;但除了 Windows 中包含的描边字体(Modern、Roman 和 Script)之外,它几乎专门用于位图字体。它有时甚至被称为 Windows 位图字体格式。
该页面链接到那里的FNT(Windows 字体) wiki 页面,解释文件格式,还有Windows SDK PDF,从第 423 页开始包含对 FON 文件格式内容的描述。