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

时间:2014-04-24 20:46:56

标签: c++ fonts direct2d directwrite

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

感谢。

2 个答案:

答案 0 :(得分:1)

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

您可以从MSDN获取CreateTextFormat参数。

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

答案 1 :(得分:0)

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

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

这相当于预期字体回调DirectWrite会做,这是自动的,无法自定义。