TrueType到C数组

时间:2010-11-15 02:12:36

标签: c parsing text low-level typography

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

问题是,我想使用的字体是TrueType格式。我该怎么做:

  1. 将TTF转换为大尺寸的B& W位图 字体没有任何AA(不严格编程 相关的);

  2. 将B& W位图字体解析为C字节数组。

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

    我不想使用外部库,我想保留C Std。库。使用率降至最低。这是一个大学项目,我想自己写一切。

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

使用Win32 GDI API编写位图:创建位图,打印一个字母,使用GetPixel来读取它。序列化为.c文件。

答案 2 :(得分:1)

试试Freetype。它可以为您提供可用于创建位图的数据。