ClearType

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 7 апреля 2021 года; проверки требуют18 правок.
Перейти к навигацииПерейти к поиску
1. Букваа без сглаживания
2. Букваa, сглаженная традиционным способом
3. Букваa, сглаженная ClearType.
Сверху масштаб 300 %.

ClearType (отангл. «чистый шрифт») — методсглаживания текста на определённых видах компьютерных мониторов (особенно на ЖК), основанный на технологииSubPixel Rendering, зарегистрированный корпорациейMicrosoft.

Содержание

История

[править |править код]

Впервые эта технология в том виде, в котором она сейчас есть, представлена наComdex Fall 1998. В потребительском ПО ClearType появился в2000 году в составеMicrosoft Reader.Windows XP позволила всем программам (даже старым) сглаживать текст с помощью ClearType.Apple использует ClearType по договорукросс-лицензирования.

ClearType входит в составDirectX 10 — любая видеоплата, поддерживающая DirectX 10, может делать субпиксельный рендеринг символов без участияцентрального процессора.

Дальнейшее развитие данной технологии получило название Natural ClearType[1], впоследствии его переименовали вDirectWrite. Эта технология входит в состав DirectX 11. Если вWindows XP ClearType дляобратной совместимости не менял ширину текста, то DirectWrite уже может это делать — но и представляет собой особоеAPI, недоступное для старых программ.

Технология ClearType поддерживается и в некоторых дистрибутивахLinux — в частности,Ubuntu[2][3].

Как работает ClearType

[править |править код]
27 субпикселей в 9 пикселяхЖК-монитора

ВЭЛТ-мониторах расположение красных, зелёных и синих светоизлучающих элементов (зёрен люминофора) никак не связано с границами пикселей.[4] Нажидкокристаллических же дисплеях каждыйпиксель состоит из трёх таких элементов: красного, зелёного и синего. Эти элементы (назовём их субпикселями) являютсяпрямоугольникамишириной13 пикселя ивысотой 1 пиксель, и расположены они строго по порядку. ОбычнографическоеПО рассматривает пиксель как единое целое. ClearType же воспринимает субпиксели как самостоятельные структурные единицы.

Алгоритм работы ClearType состоит из двух шагов.

Масштаб 100 %:
 1 Линия без сглаживания
 2 Линия, сглаженная традиционным способом
 3 Линия, отображённая с субпиксельным рендерингом
Масштаб 1500 %:
 4 Линия без сглаживания
 5 Линия, сглаженная традиционным способом
 6 Линия, отображённая с субпиксельным рендерингом
 7 Та же линия, как она будет отображена на мониторе

Шаг 1. Субпиксельный рендеринг

[править |править код]

Текст отрисовывается с горизонтальнымразрешением, втрое большим, чем требуемое. Каждый пиксель полученного текста соответствует одному субпикселю экрана. Полученный результат изображён на рисунке слева (линии 3, 6, 7).

На рисунке результирующая линия (3) имеет белый цвет, так как её ширина составляет ровно три субпикселя. Часто толщина линий не делится на 3, используются не все субпиксели, и части объекта, отображённые в них, имеют явный цветной оттенок. К тому же зелёный субпиксель кажется более ярким, а красный с синим — более насыщенными. Для подавления этих цветовых перепадов применяется второй шаг.

Шаг 2. Распределение яркости

[править |править код]

На втором шаге текст размывается в горизонтальном направлении — то есть часть яркости, например, красного субпикселя, передаётся его зелёному и синему соседям.

Интенсивность каждого субпикселя вычисляется по формуле

V=aV2+bV1+cV0+bV1+aV2{\displaystyle V=aV_{-2}+bV_{-1}+cV_{0}+bV_{1}+aV_{2}},

гдеV−2 — исходная интенсивность субпикселя, который находится на 2 левее рассматриваемого,V−1 — исходная интенсивность субпикселя слева от рассматриваемого, и т. д.;a,b иc — такие коэффициенты, что 2a + 2b + c = 1. Классикой являютсяa=19{\displaystyle a={\tfrac {1}{9}}},b=29{\displaystyle b={\tfrac {2}{9}}},c=13{\displaystyle c={\tfrac {1}{3}}}.

Таким образом, яркость каждого субпикселя распределяется между пятью смежными субпикселями, и цветные артефакты становятся менее заметными.

Данный алгоритм распределения яркости рассчитан на дисплеи, у которых все пиксели имеют одинаковое расположение субпикселей (например, R-G-B). Если в разных строках последовательность субпикселей разная, уровень размытия можно уменьшить либо вообще обойтись без этого шага.

Слева: субпиксельный рендеринг (порядок R-G-B) повышает качество некоторых элементов, например, вертикальной палочки буквы «p». Но мелкие части наподобие засечек зачастую совсем не воспринимаются.
В центре:ClearType размывает субпиксельный рендеринг радиусом в 2/3 пикселя. Границы потеряли резкость, но не заметно ни разброса по яркости, ни цветных артефактов.
Справа: антиалиазинг, механическим образом построенный из субпиксельного рендеринга (в зависимости от количества зажжённых субпикселей устанавливаем интенсивность в 0, 33, 67 или 100 %). Границы чётче, чем вClearType, но форма букв передана хуже.

Почему это работает

[править |править код]

Нашиглаза могут воспринять какконтрастцветов, так и контрастяркостей. Но на малых масштабах контраст цветов воспринимается почти в три раза слабее, поэтому текст, отображённый с помощью ClearType, выглядитмонохромным и гладким. При внимательном рассмотрении вокруг текста можно увидеть красно-синие «разводы», однако начтение при нормальных условиях они не оказывают влияния.

Роль горизонтального расположения субпикселей

[править |править код]

Горизонтальное (а не вертикальное) расположение субпикселей друг относительно друга играет важную роль в работе ClearType. Повышение горизонтального разрешения в три раза позволяет варьироватьмежсимвольный интервал, более реалистично отображатьжирный шрифт икурсив, а также точнее задавать ширину символов.

Более того, поскольку текст и так размыт в горизонтальном направлении с радиусом в 2 субпикселя, ClearType’ированные символы можно сдвигать влево-вправо без потери качества с шагом в1256 субпикселя[5]. Ни вWindows Vista, ни вMac OS эта техника не применяется (но применяется вAdobe Acrobat иDirectWrite, появившемся вWindows 7[1]).

Если субпиксели расположить один под другим (как в повёрнутом на 90° ЖК-мониторе), механизм субпиксельного рендеринга повысил бы вертикальное разрешение, что менее полезно. ВWindows Vista,Windows XP Tablet PC Edition иFreeType есть поддержка такого расположения субпикселей (под названиемY-direction anti-aliasing в Windows иvRGB/vBGR в FreeType). Качество текста при таком выводе существенно ниже.

[3] ClearType на ЭЛТ-мониторах

[править |править код]
Как отображается один белый пиксель на синем фоне в разных типах мониторов.

ClearType не работает на ЭЛТ-мониторах и ЖК-мониторах в нештатном разрешении (у которых нет доступа к отдельным светоизлучающим элементам), а также наDLP-проекторах (у которых пиксель не делится на субпиксели). Тем не менее, и на них ClearType’ированный текст выглядит лучше несглаженного, так как субпиксельный рендеринг является вариантомсглаживания. Хотя вWindows XP качественное сглаживание имеется как часть ClearType, в «чистом» виде оно отсутствует. Именно по этой причине некоторые пользователи любят включать ClearType на ЭЛТ-мониторах.

Хотя на кинескопах со щелевой маской (Sony Trinitron, Mitsubishi Diamondtron, LG Flatron) полосы люминофора похожи на субпиксели ЖК-монитора, всё равно программного доступа к каждому из отдельных светящихся элементов нет. Поэтому и на них ClearType помогает ровно настолько, насколько помогает сглаживание.

С помощью некоторых программ (например,[1]) можно сравнить ClearType и обычное сглаживание. На ЭЛТ-мониторах большинство людей предпочитает именно сглаживание.

ОграниченияClearType

[править |править код]
  • ClearType имеет смысл применять только наЖК-,газоразрядных,светодиодных и прочих экранах, в которых цветное изображение получается делением пикселя на субпиксели, расположенные друг относительно друга по горизонтали.
  • Экран должен работать в своём физическом разрешении: логический пиксель операционной системы должен совпадать с физическим пикселем экрана. Увеличение или уменьшение путёминтерполяции практически не влияет на внешний вид текста с обычнымантиалиасингом, но делаетClearType’ированный шрифт размытым. Точно так же нельзя ClearType масштабировать или поворачивать.[6] При подключении через аналоговый интерфейс (например,VGA) монитор должен точно синхронизировать сигнал с физическими пикселями.
  • Порядок субпикселей в пикселе (R-G-B или B-G-R) должен быть заранее известен.Windows XP по умолчанию предполагает, что порядок RGB, но его можно заменить на BGR черезреестр; вручную или при помощи специальныхутилит (например,ClearType Tuning PowerToy илиClearType Switch). В ЖК-телевизорах соседние строки часто сдвинуты друг относительно друга на 1,5 субпикселя; в распространённых настольных ОС ClearType для таких экранов не реализован.
  • ClearType невозможно печатать на цветномпринтере: распечатка напоминаетнесведённые цвета. На чёрно-белом таких проблем нет, но лишние23 пикселя размытия не идут тексту на пользу.
Цветной текст на цветном фоне (масштаб 100 % и 600 %)
  • ClearType даёт хорошие результаты только при выводе тёмного текста на светлом фоне или светлого текста на тёмном фоне. Наибольшее качество получается, если чёрный текст выводить на белом фоне (или наоборот). Попытки вывода цветного текста или использования цветного фона не дают высокого качества конечного изображения, так как часть субпикселей не задействована. Например, если выводить белый текст на красном фоне, красные субпиксели будут зажжены и для текста, и для фона.
  • ClearType, как и любой другой типантиалиазинга, чувствителен кгамме монитора. На некачественных мониторах без надлежащей гамма-коррекции ClearType’ированный текст может быть совсем чёрным или очень бледным.
  • ВClearType, как и в любом антиалиазинге, типографский движок должен знать, какой фон находится под текстом.[6] А прикладной программист должен быть внимателен: если дважды нарисовать один и тот же текст без сглаживания, ничего не будет, а со сглаживанием (как классическим, так и ClearType) — текст станет чернее и жирнее, чем надо. Впрочем, есть существенное отличие: картинку с пиксельным сглаживанием можно записать в графический файл сальфа-каналом и накладывать на любой фон.[6] ВClearType-тексте прозрачность задаётся для каждого субпикселя по отдельности; такая функция смешивания проста, но в большинстве графических форматов и библиотек не реализована. Именно из-за функции смешивания часть ПО Microsoft (пусковое менюWindows 10,Microsoft Word 2013) не использует ClearType: анимация оказалась достаточно быстрой только на мощных геймерских видеоплатах. К тому же сказался скептицизм насчёт ClearType (см. ниже). В меню «Пуск»Windows 11 ClearType уже есть.

По первым трём причинамClearType нельзя использовать, если подготавливаемый рисунок должен корректно отображаться на любом мониторе, а не только на том, на котором он подготовлен. В частности, по этой причинеClearType отсутствует в программах наподобиеAdobe Photoshop. При подготовкескриншотов также правилом хорошего тона будет выключениеClearType.

ClearTypeмешает людям с повышенным чувством цвета, особенно на низкихdpi — для них края шрифтов начинают «подтекать» розовым, голубым или светло-зелёным цветом, вызывая чувство дефектности дисплея. Им рекомендуется ClearType полностью отключить и оставить только стандартный метод сглаживания. По мнению одного из разработчиков подсистемы ClearType для Windows:[7]

[...]

ВWPF используется метод C[ClearType], но не у многих устройств разрешение настолько высокое, чтобы возможное размытие никому не мешало.[…]Кого-то устраивает размытие метода C, кого-то нет. Странно, но факт: некоторым удобно читать длинные тексты, отображённые методом C на 96 dpi (например, черезTimes Reader), но не нравятся окна пользовательского интерфейса. Большинство людей не беспокоит цветная кайма ClearType, но некоторых не устраивает.[…]

Как для моих глаз, на 96 dpi метод C читается хуже, чем метод A[без антиалиазинга]. Для меня слишком размыто. А на 144 dpi не вижу никаких проблем — отлично читается.

Windows-реализацияClearType дляобратной совместимости устроена так, чтобы текст совпадал по габаритам с обычным несглаженным рендерингом. Одни шрифты (Arial,Tahoma)отхинтованы под несглаженный рендеринг, иClearType не может полностью избавить буквы от артефактов хинтинга. Другие (Consolas,Segoe UI) — подClearType, и на простом сглаживании выглядят плохо.

Некоторые[кто?] считают, чтоClearType не имеет долгосрочной перспективы: с развитием качества и разрешающей способности дисплеев будет достаточно универсального сглаживания, и использование неуниверсального ограниченного сглаживания наподобие ClearType станет бессмысленным. В любом случае Windows отказывается от ClearType на крупных кеглях.

Оспаривание патента

[править |править код]

На технологию ClearType выданпатентСШАMethods and apparatus for performing image rendering and rasterization operations, закончившийся в 2018 году.

Исследователь Стив Гибсон оспаривает этот патент, утверждая, что компания Microsoft запатентовала известную ранее вещь[8] — программисты подApple II подобным образом вдвое повышали эффективное разрешениеNTSC-телевизора (который использовался вместо монитора). То же самое делали и другие компьютерные фирмы. Даже в описанииMicrosoft Basic для Apple II есть ссылки на такие приёмы.

Примечания

[править |править код]
  1. 12Engineering Windows 7: Advances in typography and text rendering in Windows 7 . Дата обращения: 1 мая 2009. Архивировано 11 марта 2010 года.
  2. ClearType-сглаживание в Linux, или шрифты как в Ubuntu / Linux для всех / Хабрахабр . Дата обращения: 30 сентября 2016. Архивировано 7 августа 2016 года.
  3. 12How to turn on Cleartype in Ubuntu Linux?  Дата обращения: 27 августа 2011. Архивировано 5 сентября 2013 года.
  4. Это легко увидеть под лупой, выведя на ЭЛТ-монитор один белый пиксель на чёрном фоне, да и понятно логически: когда корректируешь геометрию изображения, пиксели сдвигаются, а зёрна люминофора — нет.
  5. Anti-grain technology — Text rasterization exposures . Дата обращения: 14 июля 2007. Архивировано изоригинала 6 сентября 2013 года.
  6. 123Color-aware ClearType requires access to fixed background pixels, which is a problem if you don't know what the background pixels are, or if they aren't fixed - The Old New Th...  Дата обращения: 28 февраля 2015. Архивировано 22 марта 2015 года.
  7. ClearType, in XP and Vista | TypophileАрхивная копия от 13 октября 2008 наWayback Machine (англ.)
  8. The Distant Origins of Sub-Pixel Font Rendering . Дата обращения: 4 марта 2007. Архивировано 21 июля 2006 года.
Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(4 сентября 2009)
Перейти к шаблону «Компоненты Microsoft Windows»
Основные
Службы
управления
Приложения
Win32
UWP/WASDK[англ.]
Исторические
Игры
Ядро ОС
Службы
Файловые
системы
Серверы
Архитектура
Безопасность
Совместимость
Перейти к шаблону «Microsoft Research»
Основные
проекты
Языки программирования и компиляторы
Распределённые вычисления/Грид
Интернет исети
Другое
Операционные системы
API
Выпущено в качестве отдельного продукта
MSR Labs
Live Labs[англ.]
Актуальные
Прекращённые
FUSE Labs[англ.]
Другие подразделения
Перейти к шаблону «Свободная типографика»
Гарнитурыоперационных систем
Другиегарнитуры
Программное обеспечение
Лицензии
Группы и люди
Перейти к шаблону «Шрифтовой дизайн»
Шрифтолитейное дело и шрифтовой дизайн
Понятия
Строение шрифта
Характеристики шрифта
Классификацияшрифтов
алфавитного письма
Древние
Готические
Славянские
Современные
Начертания шрифта
Единицы измерения
Компьютерная
типографика
Источник —https://ru.wikipedia.org/w/index.php?title=ClearType&oldid=149826168
Категории:
Скрытые категории: