Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Антиалиасинг Microsoft ClearType — это метод сглаживания, который улучшает разрешение отображения шрифтов по сравнению с традиционным антиалиасингом. Это значительно улучшает удобочитаемость на цветных мониторах LCD с цифровым интерфейсом, например в ноутбуках и высококачественных плоских настольных дисплеях. Удобочитаемость на экранах CRT также несколько улучшена.
Однако ClearType зависит от ориентации и упорядочения полос LCD. В настоящее время ClearType реализуется только для LCD с вертикальными полосами, упорядоченными RGB. В частности, это влияет на планшетные ПК, где дисплей может быть ориентирован в любом направлении, и те экраны, которые могут переходить из альбомной ориентации в портретную.
Разрешено антиализание ClearType:
- Для 16-, 24-разрядных и 32-разрядных цветов (отключено для 256 цветов или меньше)
- Для контекста устройства экрана и контекста устройства памяти (а не для контекста устройства принтера)
- Для шрифтов TrueType и шрифтов OpenType с контурами TrueType
Сглаживание ClearType отключено:
- Клиент сервера терминала
- Для растровых шрифтов, векторных шрифтов, шрифтов устройств, шрифтов типа 1 или шрифтов Postscript OpenType без контуров TrueType
- Если шрифт имеет настроенные встроенные растровые изображения, то только для тех размеров шрифта, которые содержат встроенные растровые изображения.
Чтобы активировать антиализию ClearType, вызовите SystemParametersInfo один раз, чтобы включить сглаживание шрифтов, а затем второй раз, чтобы задать тип сглаживания FE_FONTSMOOTHINGCLEARTYPE, как показано в следующем примере кода:
SystemParametersInfo(SPI_SETFONTSMOOTHING,
TRUE,
0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
0,
(PVOID)FE_FONTSMOOTHINGCLEARTYPE,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Вы можете настроить внешний вид текста, изменив значение контрастности, используемое в алгоритме ClearType. Значение по умолчанию — 1400, но оно может быть любым значением от 1000 до 2200. В зависимости от устройства отображения и чувствительности пользователя к цветам, значение более высокой или низкой контрастности может повысить удобочитаемость. Чтобы изменить контрастность, вызовите SystemParametersInfo с SPI_SETFONTSMOOTHINGCONTRAST. Следующий код задает значение контрастности 1600.
SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,
0,
(PVOID)1600,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Для совместимости приложений следует учитывать следующие сведения:
- Отрисовка текста с использованием ClearType немного медленнее, чем при использовании стандартного сглаживания.
- Приложения не должны использовать XOR для отображения выделенного текста. Приложения должны задать цвет фона и отобразить заново выделенный текст.
- Приложения не должны наносить один и тот же текст поверх самого себя в режиме прозрачности. В этом случае пограничные пиксели, которые являются антиалиасными, будут объединяться с собой, а не с цветом фона. Это приводит к темным и красочным краям.
- Приложения не должны рисовать текст, отображая символы по отдельности в непрозрачном режиме, так как край символа может быть обрезан следующим символом. Это происходит из-за того, что символ, сглаживаемый с помощью ClearType, может иметь отрицательную ширину A или C, где обычный символ имеет положительную ширину A или C. Гарантируется, что только ширина символа B совпадает. Аналогичным образом приложения должны быть осторожны, если сглаживаемый текст находится рядом с несмеченным текстом.
- Если приложение отрисовывает текст, а затем управляет растровым изображением, то сглаживание шрифтов должно быть отключено, задав NONANTIALIASED_QUALITY элемент lfQuality элемента LOGFONT структуры. Например, игра может добавить эффект тени растрового изображения, или текст, отрисованный в растровое изображение, можно масштабировать, чтобы создать миниатюру.
- Если пользователь работает в книжном режиме (т. е. полоса монитора горизонтальная), следует отключить сглаживание ClearType.
Параметр fdwQuality в CreateFont и член lfQuality структуры LOGFONT принимают флаг CLEARTYPE_QUALITY. Растеризация шрифтов, созданных с помощью этого флага, будет использовать растризатор ClearType. Этот флаг не влияет на предыдущие версии операционной системы.