我正在尝试在运行时从文件加载字体并使用 DirectWrite 显示它。以下代码应使用该字体初始化 IDWriteTextFormat 对象:
hr = pDWriteFactory->CreateTextFormat(
L"Font Family", // Font family name
NULL, // Font collection (NULL sets it to use the system font collection)
// Somehow, a custom font collection should be used here, but I don't know how to do that
DWRITE_FONT_WEIGHT_REGULAR,
DWRITE_FONT_STYLE_NORMAL,
DWRITE_FONT_STRETCH_NORMAL,
16.0f,
L"en-us",
&pTextFormat // IDWriteTextFormat object
);
Run Code Online (Sandbox Code Playgroud)
它与系统字体完美配合,但我不知道如何加载自定义字体文件。我将不胜感激有关如何实现这一目标的任何示例。
到目前为止我尝试过的:
• 我在 Stackoverflow 上阅读了这篇文章和这个问题,但我没有看到应该在哪里传递字体文件的文件路径(因此,我完全没有实现这两个页面上提供的任何代码)
• 我也读过这篇文章,但如果我是对的,它与 DirectWrite (?) 无关(我尝试实现 AddFontResourceEx 方法,但无济于事)
• 最后,该问题的答案建议使用 …