ClearType

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
1 Буква а без сглаживания
2 Буква a, сглаженная традиционным способом
3 Буква a, сглаженная ClearType.
Сверху масштаб 300 %.

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

Впервые эта технология в том виде, в котором она сейчас есть, представлена на Comdex Fall 1998.

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

Дальнейшее развитие данной технологии получило название Natural ClearType[1]. Эта технология входит в состав DirectX 11.

Содержание

[править] Как работает ClearType

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

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

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

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

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

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

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

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

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

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

V = a V_{-2} + b V_{-1} + c V_0 + b V_1 + a V_2 ~

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

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

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

[править] Почему это действует

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

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

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

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

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


[править] ClearType на ЭЛТ-мониторах

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

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

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

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

[править] Ограничения ClearType

  • ClearType имеет смысл применять только на ЖК-, газоразрядных, светодиодных и прочих экранах, в которых цветное изображение получается делением пикселя на субпиксели, расположенные друг относительно друга по горизонтали.
  • Экран должен работать в своём штатном разрешении: логический пиксель операционной системы должен совпадать с физическим пикселем экрана. Увеличение или уменьшение путём интерполяции практически не влияет на внешний вид текста с обычным антиалиазингом, но делает ClearType’ированный шрифт размытым.
  • Порядок субпикселей в пикселе (R-G-B или B-G-R) должен быть заранее известен. Windows XP по умолчанию предполагает, что порядок RGB, но его можно заменить на BGR через реестр; вручную или при помощи специальных утилит (например, ClearType Tuning PowerToy или ClearType Switch).
Цветной текст на цветном фоне (масштаб 100 % и 600 %)
  • ClearType даёт хорошие результаты только при выводе тёмного текста на светлом фоне или светлого текста на тёмном фоне. Наибольшее качество получается, если чёрный текст выводить на белом фоне (или наоборот). Попытки вывода цветного текста или использования цветного фона не дают высокого качества конечного изображения, так как часть субпикселей не задействована. Например, если выводить белый текст на красном фоне, красные субпиксели будут зажжены и для текста, и для фона.
  • ClearType мешает людям с повышенным чувством цвета, особенно на низких dpi — для них края шрифтов начинают «подтекать» розовым, голубым или светло-зелёным цветом, вызывая чувство дефектности дисплея. Им рекомендуется ClearType полностью отключить и оставить только стандартный метод сглаживания (В OC Windows Vista и Windows 7 это можно сделать путем правки реестра, не отключая при этом встроенный 3D Desktop (Windows Aero)).

Для отключения ClearType в Windows Vista и Windows 7 запустите редактор реестра и измените значение следующего ключа с 2 на 1:

HKEY_CURRENT_USER\Control Panel\Desktop\FontSmoothingType = 1 (по умолчанию 2)

Для отключения сглаживания любого типа измените:

HKEY_CURRENT_USER\Control Panel\Desktop\FontSmoothing = 1 (по умолчанию 2)

Пользователи, которые переходят от Windows XP/2000 на Windows Vista или Windows 7 также могут сменить шрифт Segoe UI 9pt на Tahoma 8pt и Trebuchet MS 10pt (в соответствии с классической схемой Windows XP)

Тем не менее, полностью избавится от ClearType в Windows Vista/7 стандартными средствами невозможно, шрифты подобные Segoe UI (со встроенной моделью сглаживания ClearType) будут в 3d режиме отображаться только в ClearType, независимо от установок в реестре. Физическое их удаление тоже весьма проблематично, даже из под учетной записи Администратора. Возможные вариантом решения это удаление их из дистрибутива установки ОС, или физическое удаление с диска специализированными программами, но такие решения могут повлечь плохо прогнозируемые ошибки, так этот шрифт во многих случаях используется программами по умолчанию. Другая возможность это отредактировать эти шрифты специализированным программным обеспечением и удалить встроенную модель сглаживания ClearType, но подобные действия, как отключения 3d десктопа все равно не приобретают полного удовлетворительного решения, так как Segoe UI не оптимизирован на стандартный режим сглаживания, а только на ClearType.


По мнению одного из разработчиков подсистемы ClearType для Windows:[3]
«

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

»

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

[править] Критика ClearType

  • Метод сглаживания шрифтов ClearType не обладает универсальностью, т.е. подходит для определенных типов отображающий устройств c определенным dpi для определенных размеров символов, для определенных людей с цветовой чувствительностью восприятия.
  • Не имеет перспектив использования с развитием качества и разрешающей способностью дисплеев.

[править] Оспаривание патента

На технологию ClearType выдан патент США Methods and apparatus for performing image rendering and rasterization operations (англ.) .

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

[править] Примечания

[править] См. также

Источник — «http://ru.wikipedia.org/wiki/ClearType»