小编M_F*_*M_F的帖子

C++ - DirectWrite:在运行时从文件加载字体

我正在尝试在运行时从文件加载字体并使用 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 方法,但无济于事)
• 最后,该问题的答案建议使用 …

c++ fonts directwrite

3
推荐指数
2
解决办法
4628
查看次数

标签 统计

c++ ×1

directwrite ×1

fonts ×1