栅格化TTF字体

时间:2016-08-05 21:37:09

标签: python python-3.x fonts true-type-fonts rasterizing

我在带有屏幕的Raspberry Pi上。

我没有使用X,而是将像素数据直接写入帧缓冲区。我已经能够绘制图像和原始形状,混合,使用双缓冲等...

我遇到问题的地方是绘制文字。屏幕只是这个级别的一个字节数组,因此我需要一种方法来获取字体,大小,文本等,并将其转换为位图(实际上,{fig:sumfig1}bool[] / { {1}}会更好,因为它可以节省额外的读/写。

我不知道如何处理这个问题。

到目前为止我考虑过的事情......

  • 使用固定宽度字体和atlas / spritemap。应该工作,我已经可以阅读图像,但是等宽字体具有有限的视觉吸引力。也意味着添加更多字体是非常艰巨的。
  • 使用固定宽度字体,地图集和蒙版来指示每个字符的位置。会支持可变宽度字体,但是,缩放会有损并且看起来像维护噩梦,除非我可以自动化地图集/蒙版生成。

以前有人设法做过这样的事吗?

如果需要图书馆,我可以接受这一点,但由于这更像是一个理解我的Pi的练习,而不是一个严肃的项目,我更喜欢解释/教程。

1 个答案:

答案 0 :(得分:0)

考虑使用Cairo图形库,可以用于所有图形,也可以用作生成字体图集的工具。 Cairo广泛支持使用TTF字体渲染字体,以及其他有用的图形操作。

在较低级别,您还可以使用Freetype库直接加载字体并从中渲染字符。但是,使用起来比较困难。