【问题标题】:Rendering Vector Text OpenGL渲染矢量文本 OpenGL
【发布时间】:2014-04-15 17:48:33
【问题描述】:

我已经阅读了Rendering Vector Art on the GPU 关于渲染由二次/三次贝塞尔曲线边界定义的形状的内容。我希望以此为基础来创建填充的文本,就好像它被钢笔或刷子以某种方式抚摸一样。 (欢迎就如何做到这一点提出任何建议。)

但是,我有点不确定从哪里获得具有本文中指定格式的字体/形状(表示二次/三次贝塞尔曲线的点数组)。

有谁知道获取这种格式的字体/矢量图的方法吗?该论文的作者提到了 truetype 字体,但根据

TrueType Font Parsing in C

看起来解析 truetype 字体可能涉及的远不止这些?我知道还有像 .svg 这样的格式,但我不知道从哪里开始,因为它所包含的内容远远超过我想要摆脱的内容。

例如,是否有某种类型的文件格式,我可以将 .svg 文件或 truetype 文件转换为,也许通过使用 inkscape 的导出功能,这样生成的格式就可以解析为点数组和控制点?


我接受了下面的答案,但是对于任何对此感兴趣的人,您应该查看

https://github.com/quarnster/TTF

这几乎正是我想要的。该代码运行良好,但有点难以理解如何使用它。如果您阅读有关 TTF 格式的信息会更有意义,例如这里 An Introduction to TrueType Fonts: A look inside the TTF format

【问题讨论】:

  • This technote 展示了如何在 OSX 上获取字形轮廓。它可能已经过时,但可能是一个不错的起点。

标签: c++ opengl graphics svg fonts


【解决方案1】:

我建议使用跨平台库 FreeType (http://www.freetype.org/)。 FreeType 加载字体文件,除其他外,还提供字体中字形的边界曲线。具体来说,您应该查看函数FT_Outline_Decompose,它给出了您想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 2015-05-06
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多