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