我从 dafont 存储库中以 TTF 格式收集了许多 10 像素高的位图字体。但是,我无法从它们中提取实际的位图数据,因为它们似乎是矢量形式,并且在渲染时我无法弄清楚点大小和像素大小之间的对应关系。我需要有关软件工具、库或方法的建议,以获取与字母形式对应的准确的每像素位图数据。
一个对问题有意义的示例字体是http://www.dafont.com/commodore-64-pixelized.font
我的目标是使用这些位图字体中的一种或多种来控制基于 Arduino 的视觉持久性 (POV) 显示,作为http://shrimping.it项目的一部分。
POV 设备使用一排 LED 在设备左右移动时通过闪烁 LED 来在空中绘制文本。一个著名的例子是 Adafruit 的 MiniPOV http://www.ladyada.net/make/minipov3/
要编写微控制器代码来闪烁 LED,我需要从字体中获取逐个像素的信息,换句话说,我需要一个方案来从我提供的 TTF 格式文件中提取数据以避免使用为每个字符和每种字体手动执行此操作。
到目前为止,我一直在尝试处理(http://processing.org),但我看不到如何选择点大小来渲染 TTF,以便绘制字体与底层网格完全匹配的像素。一旦我有了这个,我就可以得到信息,但我似乎无法到达那里。Processing 报告的 textAscent 和 textDescent 值似乎是垃圾,至少对于我尝试过的字体。
我正在测试的字体是 Advocut、Andina、Aux DotBitC、BM tube、Commodore 64 Pixelised、Homespun BRK、Nayupixel、SG05 和 Visitor。如果您需要查看原始数据以更好地理解问题,您可以通过在 dafont.com 上搜索来自行检索其中的任何内容。