Как получить подчеркнутую геометрию шрифта из шрифта? СоздатьШрифт

У меня есть библиотека, которая извлекает геометрию текста из файла шрифта truetype.

Я использую вызов CreateFont, чтобы получить индексы глифов, а затем читаю поток байтов, чтобы получить точечные данные.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183499%28v=vs.85%29.aspx

Проблема в том, что если я передаю true в аргументе подчеркивания, геометрия не содержит подчеркивания. Нужно ли что-то конкретное делать??

Документ гласит: fdwUnderline [in] Указывает подчеркнутый шрифт, если установлено значение TRUE.

Это очень поможет!


person Kshitij Banerjee    schedule 15.05.2014    source источник
comment
Шрифты Truetype не имеют отдельных подчеркнутых вариантов. Например, когда вы выбираете подчеркнутый шрифт Arial, Windows использует обычный Arial и рисует линию под ним. Если вы читаете геометрию из файла ttf, вы получаете геометрию без подчеркивания, потому что это то, что содержится в файле.   -  person arx    schedule 15.05.2014
comment
Хм.. Я так и думал.. Значит флаг только для растрового рендеринга. Спасибо!   -  person Kshitij Banerjee    schedule 17.05.2014
comment
КСТАТИ. пожалуйста, добавьте ответ, чтобы я мог принять его.   -  person Kshitij Banerjee    schedule 04.07.2014
comment
Я ответил и добавил дополнительную информацию.   -  person arx    schedule 04.07.2014


Ответы (1)


Шрифты Truetype не имеют отдельных подчеркнутых вариантов. Например, когда вы выбираете подчеркнутый шрифт Arial, Windows использует обычный Arial и рисует линию под ним. Если вы читаете геометрию из файла ttf, вы получаете геометрию без подчеркивания, потому что это то, что содержится в файле.

Если вам нужна геометрия «как нарисовано», выберите контурный шрифт и вызовите BeginPath, TextOut, EndPath и GetPath.

person arx    schedule 04.07.2014
comment
Вы можете использовать GetOutlineTextMetrics, который включает в себя поля, указывающие, где должно быть нарисовано подчеркивание и какой толщины оно должно быть. Тот же ответ относится и к зачеркиванию. - person Adrian McCarthy; 01.09.2015