Флаги PDF FontDescriptor - PullRequest
       3

Флаги PDF FontDescriptor

0 голосов
/ 18 мая 2018

Как получить информацию о шрифте TrueType, чтобы я мог заполнить PDF-флаги в приложении MFC.

В моем приложении MFC я создаю PDF и пытаюсьвстраивать выбранные пользователем шрифты.У меня уже есть структура OUTLINETEXTMETRIC моего шрифта, но я все еще не знаю, как, например, проверить, является ли шрифт Serif, Symbolic или Script.

Любая помощь будет оценена.
Спасибо и извините за мой английский.

1 Ответ

0 голосов
/ 20 мая 2018

OUTLINETEXTMETRIC имеет otmTextMetrics элемент, который показывает Pitch и Family tmPitchAndFamily

From MSDN

lfPitchAndFamily
Биты с 4 по 7 члена определяют семейство шрифтов и могут принимать одно из следующих значений:

FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS

lfPitchAndFamily следует AND с 0xF0 для получения компонента семейства:

String family;
OUTLINETEXTMETRIC otm = { sizeof(OUTLINETEXTMETRIC) };
if(GetOutlineTextMetrics(hdc, otm.otmSize, &otm))
{
    switch(otm.otmTextMetrics.tmPitchAndFamily & 0xF0)
    {
    case FF_ROMAN: family = "FF_ROMAN"; break;
    case FF_SWISS: family = "FF_SWISS"; break;
    case FF_MODERN: family = "FF_MODERN"; break;
    case FF_SCRIPT: family = "FF_SCRIPT"; break;
    case FF_DECORATIVE: family = "FF_DECORATIVE"; break;
    }
}

Ожидаемый результат:

"Arial": FF_SWISS
"Times New Roman": FF_ROMAN
"Old English Text MT": FF_SCRIPT 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...