繁体   English   中英

如何使用 dwrite API 从资源加载字体?

[英]How to load font from resource using dwrite API?

我想从程序本身的编译资源加载字体。 当我使用 GDI 时,我可以使用 AddFontMemResourceEx 加载它。 然而,直接 2D 有它自己的 Dwrite API,它与 GDI 不兼容。 官方文档建议使用CreateCustomFontFileReference + CreateCustomFontCollection 谁能给我一个例子怎么做?

查看 GitHub 上 microsoft/windows-classic-samples 存储库中的 DirectWriteCustomFontSets 示例( 此处)。 它演示了使用自定义字体集的五个场景,根据您的问题,听起来案例 4 将适用于您的情况:“使用内存缓冲区中包含的字体数据创建自定义字体集。”

对于这种情况,关键接口是IDWriteInMemoryFontFileLoader ,它是在 Windows 10 创意者更新(2017 年春季)中添加的。

示例项目中最相关的特定文件是:

  • CustomFontSetManager.h/.cpp — 这包括也适用于其他场景的成员
  • 二进制资源.h/.cpp
  • Document.h/.cpp — 这被描述为模拟包含字体数据的文档文件(例如,.doc 文件),但它可以是任何类型的二进制文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM