ela*_*ova 8 c parsing truetype
我想读取一个ttf并在缓冲区上绘制带有该字体的文本.即使有像freetype,gd这样的库来执行此任务,我也想编写自己的代码.你能就如何完成这项任务向我提出建议吗?
除非你是世界顶级的字体,排版和书写系统专家之一,否则答案很简单:不要.TrueType/OpenType有很多表需要支持正确的渲染,即使使用FreeType(这是一个极低级别的库),大多数人都会弄错.
如果您需要进行低级,确定性跨平台字体处理,那么至少应该使用FreeType和libotf.这将使您可以访问字形和轮廓,然后您可以随意呈现这些字形和轮廓.在大多数情况下,虽然使用GUI系统的文本渲染例程将更容易,更不容易出错.
最后,如果你坚持忽略我的建议,FreeType上的一个好的RTFS和微软的在线资源解释TrueType/OpenType字体中的表可能是最好的开始.
我建议你
阅读您能找到的所有 TTF 文档
查找您能找到的所有开源 TTF 解析器 + 渲染器,采用多种不同的语言,例如 Freetype (c/c++)、Batik (java) 以及您可以在 google 上找到的任何其他语言。另外,George Williams 的 fontforge 可能会对您的旅程非常有帮助。
拆开您在 1. 中收集的所有程序,看看它们是如何工作的。看看是否可以制作一个小型示例程序来执行一些简单的操作,例如转储字母“I”轮廓的点列表。
进行光栅化处理。从非常简单的事情开始,比如光栅化字母“l”。
TTF 的问题在于没有简单的文件格式,而 freetype 会为您处理许多疯狂的细节。但是,如果您不关心可移植性,并且您已经有一个要渲染的特定 TTF 文件,并且您只关心一个简单的小字母表,例如拉丁语或西里尔语,那么您可能没问题。
另外,您可能想查看我从我的小项目链接到的 TTF 文档列表https://github.com/donbright/font_to_svg/
| 归档时间: |
|
| 查看次数: |
7884 次 |
| 最近记录: |