я использую CreateTextLayout
а также CreateTextFormat
рисовать текст с помощью DirectWrite (C ++), текст смешанный иврит / английский, есть ли способ использовать другой шрифт / размер шрифта для символов латинского и иврита?
Благодарю.
Когда вы создаете IDWriteTextFormat
с помощью CreateTextFormat
Вы можете передать имя семейства шрифтов в первом параметре и изменить размер шрифта в шестом параметре.
Вы можете получить CreateTextFormat
параметры из MSDN.
Вот это список семейств шрифтов Microsoft Windows, там вы найдете латиницу и иврит.
Я в итоге позвонил IDWriteFont::HasCharacter
строить текстовые диапазоны, внутри которых все символы используют один и тот же шрифт (иврит или латинский).
Если этот текстовый диапазон использует шрифт иврит, я называю textLayout->SetFontSize
на нем, чтобы увеличить размер шрифта.
Это равносильно ожиданию обратного вызова шрифта DirectWrite
будет делать, что является автоматическим и не может быть настроено.