Jump to content

Растеризация шрифтов

(Перенаправлено из раздела «Сглаживание шрифтов »)
Особенно для небольших размеров шрифтов, рендеринг векторизованных шрифтов в режиме «миниатюры» может значительно различаться в зависимости от размера миниатюры. Здесь небольшое изменение в upright= множитель от 1.70 к 1.75 приводит к значительным и взаиморазличимым аномалиям рендеринга, возможно, из-за ошибок округления, возникающих в результате использования целочисленных размеров шрифта. [ оригинальное исследование? ]

Растеризация шрифта — это процесс преобразования текста из векторного описания (как в масштабируемых шрифтах, таких как шрифты TrueType ) в растровое или растровое описание. Часто это предполагает сглаживание текста на экране, чтобы сделать его более плавным и легким для чтения. Это также может включать в себя хинтинг — информацию, встроенную в данные шрифта, которая оптимизирует детали рендеринга для определенных размеров символов.

Виды растеризации

[ редактировать ]

Самая простая форма растеризации — это простое рисование линий без какого-либо сглаживания. В терминологии Microsoft это называется двухуровневым (или более популярным «черно-белым») рендерингом, поскольку для рисования глифов не используются промежуточные оттенки (серого). (На самом деле в качестве переднего плана и фона можно использовать любые два цвета.) [1] Эту форму рендеринга также называют псевдонимом или «зубчатым». [2] Это самый быстрый метод рендеринга в том смысле, что он требует наименьших вычислительных усилий. Однако у него есть тот недостаток, что отображаемые глифы могут потерять четкость и стать трудно распознаваемыми при небольших размерах. Поэтому многие файлы данных шрифтов (например, TrueType) содержат подсказки , которые помогают растеризатору решить, где визуализировать пиксели для особенно проблемных областей глифов, или наборы вручную настроенных растровых изображений для использования с определенными размерами пикселей. [1] Типичный пример: все версии Microsoft Windows до Windows 95 (например, Windows 3.1 ) предоставляли только этот тип встроенного растеризатора. [2]

Простая растеризация без сглаживания
Растеризация со сглаживанием без хинтинга
Растеризация со сглаживанием и хинтингом. Здесь пиксели вынуждены по возможности попадать в целые пиксельные координаты.
Растеризация с хинтингом и субпиксельным рендерингом для плоскопанельного дисплея RGB

Более сложный подход — использовать стандартные методы сглаживания компьютерной графики. Это можно рассматривать как определение для каждого пикселя по краям персонажа того, какую часть этого пикселя занимает персонаж, и рисование этого пикселя с определенной степенью непрозрачности. Например, при рисовании черной буквы (000000) на белом (FFFFFF) фоне, если пиксель в идеале должен быть заполнен наполовину (возможно, диагональной линией от угла к углу), он рисуется на 50% серым (BCBCBC). Слишком простое применение этой процедуры может привести к размытию глифов. Например, если буква содержит вертикальную линию, которая должна быть шириной в один пиксель, но находится точно между двумя пикселями, она отображается на экране как серая линия шириной в два пикселя. Эта размытость меняет ясность на точность. Однако современные системы часто заставляют линии попадать в целочисленные пиксельные координаты, что делает глифы более четкими, но также делает линии немного шире или тоньше, чем они выглядели бы на распечатанном листе бумаги.

Деталь субпиксельной рендеринга, показывающая положения отдельных цветных пикселей, составляющих белый шрифт.

Большинство компьютерных дисплеев имеют пиксели, состоящие из нескольких субпикселей (обычно по одному для красного, зеленого и синего цветов, которые объединяются для создания полного диапазона цветов). В некоторых случаях, особенно с плоскими дисплеями, это можно использовать путем рендеринга с субпиксельным разрешением, а не с использованием целых пикселей, что может увеличить эффективное разрешение экрана. Это обычно известно как субпиксельный рендеринг . Одной из запатентованных реализаций субпиксельного рендеринга является ClearType от Microsoft .

Используемые в настоящее время системы растеризации

[ редактировать ]

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

Microsoft Windows поддерживает субпиксельный рендеринг начиная с Windows XP . С другой стороны, стандартный растеризатор Microsoft без ClearType является примером растеризатора, который отдает приоритет шрифта ясности дизайнера ; заставляя текст занимать целые координатные позиции, следуя замыслу дизайнера шрифта в виде подсказок и даже не сглаживая определенные шрифты определенных размеров, следуя замыслу дизайнера шрифта в таблице вздохов, его становится легче читать на экране, но при печати может выглядеть несколько иначе. Ситуация изменилась с появлением Direct2D/DirectWrite в обновлении платформы Windows 7 и Windows Vista, позволяющем субпиксельное позиционирование текста до размеров 1/16 пикселя. [3]

Mac OS X в Quartz отличается использованием субпиксельного позиционирования; он не помещает глифы в точные местоположения пикселей, а использует различные методы сглаживания, [4] включая субпиксельный рендеринг , чтобы расположить символы и линии так, чтобы они отображались дальше от шрифта намека дизайнера и ближе к исходному контуру. В результате экранное изображение очень похоже на печатный результат, но иногда его трудно читать при меньшем кегле. Начиная с macOS Mojave, модуль рендеринга Quartz удалил субпиксельный рендеринг, полагаясь вместо этого исключительно на сглаживание оттенков серого. Это изменение приемлемо для экранов HiDPI «retina», но затрудняет чтение текста на внешних мониторах. [5]

Большинство других систем используют библиотеку FreeType , которая в зависимости от настроек может находиться где-то между реализациями Microsoft и Apple; он поддерживает хинтинг и сглаживание, а также дополнительно выполняет субпиксельный рендеринг и позиционирование. FreeType также предлагает некоторые функции, отсутствующие ни в одной из реализаций, такие как цветобалансированный субпиксельный рендеринг и гамма-коррекция. [6]

Приложения также могут предлагать собственные решения для рендеринга шрифтов. Графические платформы, такие как Skia Graphics Engine (используется Google Chrome ), иногда используют собственный механизм рендеринга шрифтов. Видеоиграм и другим 3D-приложениям также могут потребоваться более быстрые средства рендеринга на базе графического процессора, такие как различные средства рендеринга на основе SDF и «Slug». [7]

  1. ^ Jump up to: а б Грег Хичкок (с введением Стивена Синофски ) « Инженерные изменения в ClearType в Windows 7 », блоги MSDN, 23 июня 2009 г.
  2. ^ Jump up to: а б О рендеринге текста в Windows Internet Explorer 9
  3. ^ Библиотека MSDN: Разработка .NET: WPF: Обзор ClearType
  4. ^ «[ft] Fwd: Re: Воздействие растеризации текста» . lists.gnu.org .
  5. ^ «MacOS Mojave удаляет субпиксельное сглаживание, что делает дисплеи без сетчатки размытыми | Hacker News» . news.ycombinator.com .
  6. ^ «О небольших намеках, правильной отрисовке текста, затемнении стебля и ЖК-фильтрах» . сайт freetype.org .
  7. ^ «Библиотека рендеринга шрифтов Slug» . sluglibrary.com .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bd878527cd7da1a212d0037b485f0267__1713911640
URL1:https://arc.ask3.ru/arc/aa/bd/67/bd878527cd7da1a212d0037b485f0267.html
Заголовок, (Title) документа по адресу, URL1:
Font rasterization - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)