ClearType | это... Что такое ClearType? (original) (raw)

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]. Эта технология входит в состав DirectX 11. Если в Windows XP ClearType для обратной совместимости не менял ширину текста, то Natural ClearType уже может это делать — но и представляет собой особое API, недоступное для старых программ.

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

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

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

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

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

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

Текст отрисовывается с горизонтальным разрешением, втрое большим, чем требуемое. Каждый пиксель полученного текста соответствует одному субпикселю экрана. Полученный результат изображён на рисунке слева (линии 3, 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 — такие коэффициенты, что 2_a_ + 2_b_ + c = 1. Классикой являются a=\frac 1 9, b=\frac 2 9, c=\frac 1 3.

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

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

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

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

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

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

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

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

Если субпиксели расположить один под другим (как в повёрнутом на 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

Цветной текст на цветном фоне (масштаб 100 % и 600 %)

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

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

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

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

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

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

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

Примечания

  1. 1 2 Engineering Windows 7: Advances in typography and text rendering in Windows 7
  2. ClearType-сглаживание в Linux, или шрифты как в Ubuntu / Linux для всех / Хабрахабр
  3. How to turn on Cleartype in Ubuntu Linux?
  4. Anti-grain technology — Text rasterization exposures
  5. ClearType, in XP and Vista | Typophile (англ.)
  6. The Distant Origins of Sub-Pixel Font Rendering
Просмотр этого шаблона Компоненты Microsoft Windows
Основные AeroClearTypeДиспетчер рабочего столаDirectXПанель задач (ПускОбласть уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDIWIMSMB.NET FrameworkXPS • Active Scripting (WSHVBScriptJScript) • COM (OLEDCOMActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копияWDDM • UAA • Консоль Win32
Службыуправления Архивация и восстановление • COMMAND.COMcmd.exeСредство переноса данных • Просмотр событий • Установщикnetsh.exePowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновленияВосстановление системыДефрагментация дискаДиспетчер задачДиспетчер устройствКонсоль управленияОчистка дискаПанель управления (элементы)
Приложения Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупаMedia CenterПроигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPadБлокнотБоковая панельЗвукозапись • Календарь • КалькуляторНожницыПочта • Таблица символов • Исторические: Movie MakerNetMeetingOutlook ExpressДиспетчер программДиспетчер файловФотоальбом
Игры Chess Titans • Mahjong Titans • Purble Place • Пасьянсы (КосынкаПаукСолитер) • СапёрПинбол • Червы
Ядро ОС Ntoskrnl.exeСлой аппаратных абстракций (hal.dll) • Бездействие системыsvchost.exeРеестрСлужбыДиспетчер управления сервисамиDLL (формат модулей) • PENTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Службы Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копияПланировщик задач • Беспроводная настройка
Файловые системы ReFSNTFS (Жёсткая ссылкаТочка соединенияТочка монтирования • Точка повторной обработки • Символьная ссылкаTxFEFS) • WinFSFATexFATCDFS • UDF • DFS • IFS
Сервер Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-VIIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователейSharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUSГрупповая политикаКоординатор распределённых транзакций
Архитектура NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсовlsass.execsrss.exesmss.exe • spoolsv.exe • Запуск
Безопасность BitLockerЗащитникПредотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • БрандмауэрЦентр обеспечения безопасностиЗащита файлов
Совместимость Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on WindowsWOW64
Просмотр этого шаблона Свободная типографика
Гарнитуры операционных систем GNU FreeFont • Ghostscript fonts • GNU Unifont • DroidRobotoLiberation • Ubuntu
Другие гарнитуры Allerta • Asana-Math • Bitstream Vera • Caslon Roman • Chandas • Charis SIL • Computer Modern • DejaVu • Doulos SIL • Fixedsys Excelsior • Gentium • Inconsolata • Junicode • Kochi • Linux Libertine • M+ • Nimbus Mono • Nimbus Roman • Nimbus Sans • PT • Tiresias • Ubuntu-Title • Terminus
Программное обеспечение FontForgeFreeTypeMETAFONTMetaPost • METATYPE1 • PangoTeX
Лицензии OFL • Ubuntu Font Licence
Группы и люди Дональд Кнут • Open Font Library
Свободные гарнитуры UnicodeСписок свободных гарнитур • Список свободных гарнитур Unicode