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