【问题标题】:Rasterize TrueType Character Glyph Data栅格化 TrueType 字符字形数据
【发布时间】:2012-05-07 07:02:48
【问题描述】:

我在 TrueType 字体文件中的 glyf 表 中有一个字符的字形数据。
此数据表示为十进制数字块。

示例: Calibri 11pt 中的字符“a”(字形索引 258)

0209225523736332020510640176643215663166476631192352121217752161317752241117752161516176521841247641403939150112016151770581842552401791217758184255232179131775818425523217911177581842552321801516176581842864201723197052165225919252105215252466542184127641520834134344292344674612201277404763237632371857479323717185747931139493237147225434343431964394935747162254343434350574948949337206635343838535366353446253526225151535246235341423534462535262451503022173534142212022515054553631628272631145914581711158145621161681051242249785761977349128129472766861025297136843816414168100663189806511161241212661212906370377010265761127437705280532729352981625152529263529194485126841962345634170836668

在屏幕上绘制这个角色有哪些可能性?

【问题讨论】:

  • 好问题。我进行了快速搜索,找不到任何有用的信息。希望有人能在 stackoverflow 上找到答案。

标签: fonts rendering truetype raster glyph


【解决方案1】:

简短的回答:不要自己做。使用字体渲染库,例如freetype,或者如果您在一个已经有字体渲染器的平台上,请使用它。还有许多商业渲染库可用。

长答案:可以在here 找到将字形数据解码为曲线的数据规范(以及可选的指令)。所以你可以从那开始。但是您还需要更多……您还需要解析“head”和“hhea”表,以了解在哪里放置东西以及如何将设计单元缩放到绘图空间中。然后,您需要解析包含“全局”(字体范围)指令(有时称为“提示”)的“fpgm”、“cvt”和“prep”表。然后您需要解析每个字形中存在的指令,然后开发一个填充例程来使用所有这些信息来放置单个像素。祝你好运!这不适合胆小的人,也不适合那些寻求快速解决方案的人。使用库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2012-08-30
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    相关资源
    最近更新 更多