TrueType 到 C 数组

F. *_* P. 6 c parsing text typography low-level

我正在编写一个低级 C 应用程序,并且计划使用数组来存储我的字体。

问题是,我想使用的字体是 TrueType 格式。我该如何:

  1. 将 TTF 转换为大尺寸、黑白、位图字体,无需任何 AA(严格来说与编程无关);

  2. 将黑白位图字体解析为 C 字节数组。

位图应该使用什么格式?应该足够简单,我这个只有一年多经验的初学者程序员可以编写一个解析器将其存储在所述数组中。

我不想使用外部库,并且我想保留 C Std。库。使用量降至最低。这是一个大学项目,我想自己写所有内容。

R..*_*R.. 3

这不是最专业或最干净的,但在你的情况下我会这样做:

  • 选择等宽字体和大小,其中每个字符都是整数个像素。
  • font_width打开 GIMP(或您最喜欢的图像编辑程序)并制作像素宽和像素高的图像font_height*96
  • 制作一个锚定在左上角的文本元素,其中包含<space> <newline> ! <newline> " <newline> # <newline>...(即所有 ASCII 字形)。
  • 将其保存为易于处理的未压缩图像格式,例如 PNM。
  • 将其加载到类型为 的数组中uint8_t [96][font_height][font_width]