Система Saffron Type System — это система для отображения высококачественного масштабируемого шрифта на цифровых дисплеях. Она была разработана Mitsubishi Electric Research Laboratories и построена на ядре технологии адаптивно-выборочного дистанционного поля (ADF). Saffron лицензирована Adobe и Monotype и поставляется в многочисленных продуктах, таких как Adobe Flash Player и Amazon Kindle. Saffron реализован как в программном обеспечении, так и в оборудовании.
Saffron выполняет сглаживание , сначала вычисляя явное или неявное адаптивно-выбранное поле расстояний (ADF) [1] , а затем сопоставляя значения расстояний с плотностями. Это визуализирует красивые кривые, захватывает мелкие детали и сохраняет нюансы исходного дизайна шрифта. Хотя для достижения высококачественных результатов требуется только один образец расстояния на пиксель , программа может использовать до 3 образцов на пиксель для оптимизации качества изображения для ЖК-дисплеев . Вычисление образца расстояния требует только линейной интерполяции и может обновляться постепенно от пикселя к пикселю, тем самым делая процесс визуализации простым и эффективным. Для более полного рассмотрения сглаживания на основе расстояния см . «Новая структура для представления, визуализации, редактирования и анимации шрифта», Рональд Н. Перри и Сара Ф. Фрискен, MERL, 2002.
Saffron поддерживает два типа ADF для представления глифов: явные ADF и неявные ADF. Флаг времени компиляции управляет выбором типа ADF для использования во всей системе.
Явная генерация ADF использует пространственное подразделение сверху вниз для генерации пространственной иерархии явных ячеек ADF, где каждая явная ячейка ADF содержит набор выборочных значений расстояний и метод реконструкции; явная визуализация ADF реконструирует поле расстояний внутри каждой явной ячейки ADF, используя свой метод реконструкции, а затем сопоставляет реконструированные расстояния со значениями плотности.
Напротив, неявные ячейки ADF изначально не генерируются, а генерируются по требованию во время рендеринга. Более конкретно, неявная генерация ADF предварительно обрабатывает ADFPath (который представляет собой глиф); она генерирует неявные ячейки ADF из предварительно обработанного ADFPath и визуализирует каждую неявную ячейку ADF, сначала реконструируя поле расстояний внутри неявной ячейки ADF с помощью ее метода реконструкции, а затем сопоставляя реконструированные расстояния со значениями плотности.
Библиотека Saffron предлагает реализации рендерера как с плавающей, так и с фиксированной точкой с идентичным качеством изображения. Реализация с фиксированной точкой идеально подходит для встраиваемых систем и мобильных устройств , которым часто не хватает оборудования с плавающей точкой.
Программа поддерживает традиционные контурные шрифты , штриховые шрифты одинаковой ширины и стилизованные штриховые шрифты (SSF). Штриховые шрифты полезны для приложений с ограниченной памятью (например, встроенных систем), поскольку они занимают гораздо меньше места, чем контурные шрифты, а также быстрее отображаются. Например, контурные шрифты, содержащие набор символов GB2312, часто требуют более 3 МБ памяти, тогда как тот же набор символов может быть компактно представлен в штриховом шрифте всего в 250 КБ. Однако, поскольку каждый штрих имеет одинаковую ширину, USF не обладают выразительностью и культурным признанием своих контурных аналогов. Saffron поддерживает улучшенное представление для штриховых шрифтов, называемых стилизованными штриховыми шрифтами (SSF), которые обеспечивают выразительность традиционных контурных шрифтов и небольшой объем памяти USF. Подробности см. в статье «Улучшенное представление шрифтов на основе штрихов», тезисы и заявки конференции SIGGRAPH 2006, Елена Дж. Якубиак, Рональд Н. Перри и Сара Ф. Фрискен.
Saffron имеет автоматическую систему подгонки сетки, которая выравнивает сильные вертикальные и горизонтальные края глифов по пиксельной сетке или по субпиксельной сетке. Эта система подгонки сетки обеспечивает лучшую контрастность, равномерную толщину штрихов и постоянные характерные расстояния. Стандартные зоны выравнивания (SAZ) в настоящее время поддерживают несколько алфавитов, включая арабский , деванагари , иврит , латинский и тайский . Система подгонки сетки SAZ не требует никаких изменений в существующих шрифтах и особенно выгодна, когда подсказки недоступны или были удалены для экономии места. Шрифты без подсказок обычно занимают значительно меньше места, чем их аналоги с подсказками.
Saffron также имеет автоматическую систему подгонки сетки Multiple Alignment Zone (MAZ), которая оптимизирована специально для азиатских наборов символов, таких как китайский, японский и корейский. Подгонка сетки MAZ приводит к значительному улучшению качества рендеринга. Система подгонки сетки MAZ обнаруживает сильные горизонтальные и вертикальные края и выравнивает их по пиксельной сетке. Алгоритмы MAZ работают как с контурными шрифтами, так и со шрифтами на основе штрихов, запускаются динамически во время рендеринга и работают полностью автоматически без необходимости в дополнительных параметрах пользователя. Программа полностью поддерживает подсказанные приложением глифы, что позволяет приложениям переопределять автоматические алгоритмы подгонки сетки Saffron, используя собственные подсказки (например, подсказки TrueType) для подгонки сетки.
Китайские, японские и корейские символы часто содержат много штрихов, которые трудно отобразить отчетливо при малых размерах. Простого выравнивания горизонтальных и вертикальных штрихов по пиксельной сетке (например, округления каждого штриха до ближайшей точки сетки) недостаточно для получения четкого изображения. Система подгонки сетки MAZ от Saffron выполняет упрощение символов (по мере необходимости), чтобы гарантировать, что каждый символ остается четким и разборчивым даже при малых размерах.
Программа поддерживает субпиксельный рендеринг для оптимизации качества изображения для ЖК-дисплеев. Хотя вертикальные полосатые массивы RGB распространены, Saffron также может выполнять рендеринг в альтернативные пиксельные шаблоны, такие как дельта-массивы RGB, которые часто используются в ЖК-дисплеях цифровых камер. Кроме того, прототипные реализации Saffron оптимизированы для шаблонов PenTile от Clairvoyante . Во время субпиксельного рендеринга программа уменьшает артефакты цветной окантовки, которые в противном случае были бы видны при малых размерах.
Saffron использует присущие полям расстояний свойства для обеспечения непрерывной модуляции штриха (CSM), непрерывной модуляции как веса штриха, так и резкости края. Это позволяет пользователям настраивать внешний вид текста в соответствии с индивидуальными предпочтениями. Например, более резкие, более мягкие, более тонкие и более толстые версии одного и того же шрифта могут быть отображены с использованием различных параметров CSM.