Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用CreateTextLayout并CreateTextFormat使用 DirectWrite (C++) 绘制文本,文本混合了希伯来语/英语,有没有办法为拉丁语和希伯来语字符使用不同的字体/字体大小?
CreateTextLayout
CreateTextFormat
谢谢。
创建IDWriteTextFormatusingCreateTextFormat时,您可以在第一个参数中传递字体系列的名称,您可以在第六个参数中更改字体的大小。
IDWriteTextFormat
您可以从MSDNCreateTextFormat获取参数。
这是 Microsoft Windows 字体系列的列表,您可以在其中找到拉丁语和希伯来语字体系列。
我最终要求IDWriteFont::HasCharacter构建文本范围,其中所有字符都使用相同的字体(希伯来语或拉丁语)。
IDWriteFont::HasCharacter
如果该文本范围使用希伯来字体,我会调用textLayout->SetFontSize它来增加字体大小。
textLayout->SetFontSize
这相当于预期字体回调DirectWrite会做,这是自动的,不能自定义。
DirectWrite