我需要将使用 GDI 和 GDI+ 的现有 C++ 代码中的一些文本到位图渲染例程转换为使用 DirectWrite(需要 CFF 支持和 OTF 功能支持)。
我是 DirectWrite 的新手。花一些时间研究迁移现有功能所需的内容并进行一些原型设计,我遇到了一个问题:我的问题是 DirectWrite(开箱即用)不支持字符间距调整(这是现有功能的要求)应用程序),至少不是在 Windows 7 上。我知道它随 Windows 8 一起提供,但不幸的是,这个现有应用程序的另一个要求是在 Windows 7 上运行。
到目前为止,我在研究中发现,要走的路似乎是实现自定义 DirectWrite 文本布局,但我还没有找到任何关于如何做到这一点的好的指导方针,尤其是在字符间距方面(关于MSDN 关于如何创建自定义文本布局对我来说有点模糊)。
正如我认为这必须在之前完成,在花费数天和/或数周的研究和开发重新发明轮子之前,这里有没有人知道我可以使用自定义字符间距的 DirectWrite 文本布局的示例实现作为开始点还是教程?
UPDATE1:不是答案,但是 - 我发现 IDWriteTextLayout1 界面(支持设置字符空格)不仅随 Windows 8 提供,而且还随 Windows 7 上的“Windows 7 Platform Update for SP1”(KB 2670838)提供。因为我可以要求应用程序正常运行,这解决了我的问题,尽管它没有回答我的问题。