2009-06-16 2 views
5

Когда я открываю общий диалог шрифтов Windows, он перечисляет для каждого шрифта кучу размеров. Для всех шрифтов OpenType/TrueType он имеет тот же список - 9, 10, 11, 12, 14, 16, 18 ... Для растровых шрифтов список варьируется в зависимости от доступных растровых изображений. «Маленькие шрифты» имеют 2,3,4,5,6,7, а обычный старый Courier - 10, 12, 15. Я не знаю, но я уверен, что даже для шрифтов TrueType, определенные размеры будут намечены и будут выглядеть лучше всех других размеров, поэтому, предположительно, я мог бы также увидеть шрифт TrueType с более ограниченным набором размеров.Получение доступных размеров шрифта в Windows

Я реализую функцию в своем приложении, в которой Ctrl + Mousewheel будет масштабировать размер шрифта вверх и вниз, как это происходит в браузерах. Я хотел бы определить доступный список размеров для шрифта, чтобы, если я в настоящее время находится в размере 12, мое приложение знает, что для Courier New следующий следующий больший размер - 14, а для обычного старого Courier - 15.

Как мне это сделать?

+0

На каком языке вы занимаетесь этим? –

+0

Я иду прямо против Win32 API, поэтому язык-агностик вопроса. Но я использую C++. –

ответ

5

См. here для объяснения того, как перечислять шрифты/размеры шрифта для определенного шрифта. Обратите внимание, что шрифты TrueType могут отображаться любого размера (а не только предопределенные), поскольку они основаны на векторе.

+0

Спасибо. Я понимаю, что OpenType/TrueType будет масштабироваться до любого размера, но они часто имеют определенные размеры, которые вручную намекали, чтобы хорошо выглядеть. –

+0

Веб-страница не работает ... Любая альтернатива? – raymai97