Поделиться через


Ширина и высота строк

Помимо получения данных о ширине символов для отдельных символов, приложениям также необходимо вычислять ширину и высоту целых строк. Две функции извлекают значения ширины и высоты строк: GetTextExtentPoint32 и GetTabbedTextExtent. Если строка не содержит символов табуляции, приложение может использовать функцию GetTextExtentPoint32 для получения ширины и высоты указанной строки. Если строка содержит символы табуляции, приложение должно вызвать функцию GetTabbedTextExtent.

Приложения могут использовать функцию GetTextExtentExPoint для операций обтекания словами. Эта функция возвращает количество символов из указанной строки, которые помещаются в указанное пространство.

По возрастанию и по убыванию шрифта

Некоторые приложения определяют междустрочный интервал между текстовыми строками разных размеров, используя максимальные значения по возрастанию и убыванию шрифта. Приложение может получить эти значения, вызвав функцию GetTextMetrics и проверив элементы tmAscent и tmDescentэлемента TEXTMETRIC.

Максимальный подъем и спуск отличаются от типографического подъема и спуска. В шрифтах TrueType и OpenType типографическое восхождение и спуск обычно являются верхней частью глифа f и нижней частью глифа g. Приложение может получить типографический асценз и нисход для шрифта TrueType или OpenType, вызвав функцию GetOutlineTextMetrics и проверив значения в элементах otmMacAscent и otmMacDescent структуры OUTLINETEXTMETRIC .

На следующем рисунке показана разница между значениями вертикальных текстовых метрик, возвращаемых в структурах NEWTEXTMETRIC и OUTLINETEXTMETRIC . (Имена, начинающиеся с otm, являются членами структуры OUTLINETEXTMETRIC .)

Иллюстрация, показывающая, как значения текстовых метрик отличаются от значений метрик структурного текста

Размеры шрифтов

Приложение может получить физические измерения шрифта TrueType или OpenType, вызвав функцию GetOutlineTextMetrics . Приложение может получить физические измерения любого другого шрифта, вызвав функцию GetTextMetrics . Чтобы определить размеры устройства вывода, приложение может вызвать функцию GetDeviceCaps . GetDeviceCaps возвращает как физические, так и логические измерения.

Логический дюйм — это мера, используется системой для представления разборчивых шрифтов на экране и примерно на 30–40 процентов больше физического дюйма. Использование логических дюймов исключает точное совпадение между выходными данными экрана и принтера. Разработчики должны помнить, что текст на экране — это не просто масштабируемая версия текста, который будет отображаться на странице, особенно если в текст включены графические элементы.