以编程方式创建.ttf(TrueType字体)文件

6

我想使用自己的代码创建自己的.ttf文件。我进行了一些研究,并找到了苹果公司的.ttf文件规范。

然而,我还是有些困惑。以下是其中的一段摘录:

"TrueType字体文件由一系列连接的表格组成。表格是一系列单词。每个表格必须长对齐,并在必要时用零填充。" https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6.html

我用notepad++打开一个.ttf文件,期望看到上述描述的表格,但只看到了一堆难以理解的东西。请参见附加的截图。

Screenshot

我的问题:这些表格是什么?

有人能否详细说明我需要做什么来创建这些表格?我对编写代码比较新,所以问题可能在于我缺乏编码知识。如果是这种情况,是否有人可以指点我参考资料,让我了解这些表格的相关知识?


规范中提到“表”是指在您选择的编程语言中设置的程序化表格。使用Java、C/C++、Python、Ruby或VBA打开.ttf文件,并将文件中的数据读入程序中设置的表变量中。这是处理它的最简单方法。听起来你似乎期望像打开MSWord文档一样打开.ttf文件并查看。但它是一个数据文件,不是那样工作的。 - PeterT
我明白了,这很有道理。那么,我是否可以将.ttf文件中的数据读入表变量,然后将该数据输出到文本文件中呢?(我正在寻找一种方法来查看.ttf文件的结构示例,以便我可以在一屏上阅读苹果的规范,并在另一屏上查看示例。) - brownfox
顺便说一下,我将使用Java。 - brownfox
你可以在Java中读取ttf,然后格式化表格数据并将格式化的输出写入可读文件。这是一个值得尝试的编程练习。我没有查找过,但可能有一个ttf文件数据查看器应用程序可供使用,可以满足你的需求。 - PeterT
非常感谢您的帮助。关于.ttf查看器的好主意,我一定会寻找类似的东西。 - brownfox
显示剩余2条评论
2个回答

3

请查看OpenType Cookbook,了解如何编写字体程序。如果您只想查看所提到的表格,您需要使用类似TTX/FontTools的工具将二进制表格转换为更可读的格式(在本例中为XML文件)。


谢谢!.ttf/ttx转换器非常有帮助,可以查看.ttf文件中的内容。 - brownfox

1
我找到了我的问题的答案:

http://www.fileformat.info/tool/hexdump.htm

我在这里上传了一个.ttf文件,该网站将其转换为十六进制形式进行显示。现在我可以在一个窗口中阅读.ttf规范,并在另一个窗口中查看规范的实现示例。
最初我正在寻找二进制显示,但是这种十六进制显示更适合查看。
使用此十六进制转储以及.ttx文件使.ttf文件格式更易于理解。
更新:
我找到了另一个答案。有一个名为'ufo-extractor'的Python软件包,它将.otf或.ttf文件转换为.ufo文件。 .ufo文件是可读的字体文件。请参见:http://unifiedfontobject.org/

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