DirectWrite:拉丁语和复杂脚本使用不同的字体



我使用CreateTextLayoutCreateTextFormat用DirectWrite(C++)绘制文本,文本是希伯来语/英语混合的,有没有办法对拉丁语和希伯来语字符使用不同的字体/字号?

谢谢。

使用CreateTextFormat创建IDWriteTextFormat时,可以在第一个参数中传递字体家族的名称,也可以在第六个参数中更改字体的大小。

您可以从MSDN获取CreateTextFormat参数。

以下是Microsoft Windows字体系列的列表,您可以在其中找到拉丁语和希伯来语字体。

我最终调用了IDWriteFont::HasCharacter来构建所有字符都使用相同字体(希伯来语或拉丁语)的文本范围。

如果该文本范围使用希伯来文字体,我会对其调用textLayout->SetFontSize来增加字体大小。

这相当于预期了DirectWrite将执行的字体回调,这是自动的,不能自定义。

最新更新