Что такое диодный шрифт

Шрифты для графического дисплея? Это же очень просто

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Скажете, это же все электрические приборы? Бесспорно. Но еще у них есть дисплей. Да, холодильники чаще могут обходиться без дисплея, чем смартфоны, но это неточно. В этом вопросе время на стороне холодильников.

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

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифтмонохромная анимация

Однако, графический интерфейс пользователя практически никогда не может быть реализован только графическими примитивами — точками, линиями, геометрическими фигурами — без использования текста. Текст точно и однозначно «рассказывает» человеку о параметрах системы, ее настройках, прошлом и текущем состояниях.

Сегодня широкое распространение получила пользовательская и специальная электронная техника, значительная часть которой построена на базе микроконтроллеров. Микроконтроллер представляет собой вычислительную платформу, которая может быть запрограммирована почти неограниченным количеством алгоритмов, реализованных на разных языках программирования. Правда, на реализацию накладывают свои ограничения небольшой размер памяти программ (в среднем от единиц килобайт до единиц мегабайт) и ещё меньший размер оперативной памяти, обычно на порядок. А вот драйверы дисплеев, графические библиотеки и сам пользовательский графический интерфейс — отнюдь не компактные алгоритмы. Именно поэтому Вы вряд ли отыщете графические библиотеки для систем на микроконтроллерах, которые бы использовали «взрослые» векторные шрифты для вывода текста. Конечно, есть и такие микроконтроллеры, которые могут дать жару многим серьезным микропроцессорам прошлых лет, но это уже отдельная «весовая категория».

Embedded-шрифт изнутри

Обычно для решения задачи вывода текста в памяти программ создаётся специальный массив данных, так называемая таблица знакогенератора. Не пугайтесь, что он специальный, — все очень просто. В массиве-таблице по сути хранятся растровые изображения всех необходимых приложению символов. Функция графической библиотеки, выводящая текстовые строки, по очереди считывает из таблицы изображение каждого символа и «рисует» его в нужной позиции на дисплее. Все! Идея проста, как столб.

Рассмотрим пример такой таблицы. Предположим, что нам требуется изображение символа шириной 6 и высотой 8 пикселей. Причем, вертикальный ряд пикселей — столбец высотой 8 пикселей — будем кодировать ровно одним байтом. Самый первый байт будет кодировать самый левый столбец. Самый младший бит будет кодировать самый верхний пиксель столбца. Вот пример части такой таблицы:

А вот та же часть в двоичной записи (посмотрите внимательно на биты — каждый из них кодирует один пиксель изображения):

И, конечно же, посмотрим, как эти символы выводятся на дисплее (прямоугольники для лучшего представления знакомест символов):

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Такой подход в хранении шрифта имеет свои преимущества и недостатки.

К преимуществам можно отнести небольшой размер таблицы знакогенератора в сравнении с размером файлов стандартных форматов шрифтов для «больших» систем, а также простоту программной реализации графических библиотек, основанных на этом подходе. И первое, и второе чрезвычайно важны в условиях жесткого дефицита памяти и вычислительных возможностей микроконтроллеров.

К недостаткам следует отнести проблемы с масштабированием, что является прямым следствием растровой природы такого шрифта. Приемлемый по качеству результат получается только, если увеличивать размер символов в кратное количество раз, например, в два, три или четыре раза. В таком случае нет искажений изображений символов, но чем больше кратность увеличения, тем более заметна «растровость» символов. Если в разрабатываемой системе требуется иметь несколько разных шрифтов и масштабирование одного не решает задачу удовлетворительно, тогда используют несколько шрифтов — таблиц знакогенератора.

Предыстория

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

И вот, не впечатлившись результатом, была изучена документация на контроллер дисплея и разработана довольно быстрая библиотека. Шрифт, естественно, было решено сделать заново. Хотелось также, чтобы шрифт был не только моноширинным, но и пропорциональным, то есть чтобы символы в ширину занимали ровно столько места, сколько им требуется, с равным межсимвольным расстоянием.

Тут-то и понадобилось приложение, умеющее создать ту самую таблицу знакогенератора. Разработчики, которые хоть раз сталкивались с подобной проблемой, сразу же скажут: «Задача известная, решение тоже — утилита от MikroElektronika для создания именно таких шрифтов, и код генерирует аж на трех языках». Действительно, есть такая утилита. Я тоже пробовал ее использовать. Впечатления двоякие. Вроде бы все работает, и в то же время не хватает удобства и гибкости, сама таблица знакогенератора генерируется только по одному единственному алгоритму, который, очевидно, используется в графических библиотеках от той же MikroElektronika.

Народная мудрость гласит: «Если хочешь сделать что-то хорошо, сделай это сам». После изучения утилиты от MikroElektronika вдоль и впоперек пришло понимание, что так жить дальше нельзя. Тогда было решено начать собственный проект приложения, которое смогло бы удовлетворить самого требовательного разработчика. Хотелось видеть удобный редактор символов, предварительный просмотр образцов текста, наглядный импорт системных шрифтов, компактный формат хранения шрифтов, настраиваемый генератор кода и, конечно же, гибкость внешнего вида и функций приложения.

Как, наверное, большинство начинающих разработчиков, я был величайшим оптимистом и оценил время разработки в несколько месяцев. Как же я ошибался! Нет, действительно, за несколько месяцев был сделан рабочий прототип, но в таком виде его даже друзьям показывать было стыдно. Начался долгий процесс доведения до ума, в ходе которого приложение много раз изменилось внешне, обросло многими полезными и удобными инструментами. К сожалению, проект всегда был хоббийным, поэтому разработка была сильно неравномерной и разорванной во времени. Что в итоге сказалось на сроках выпуска готового приложения. Ведь старт проекту был дан где-то в конце 2015, а сейчас уже 2021.

Показывай уже!

«Вот он! Вот он — этот коварный тип. » (с).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Это приложение, которое умеет создавать растровые шрифты с нуля или на основе установленных системных. Имеет широкие возможности редактирования как отдельных символов, так и всего шрифта. Есть удобная навигация по символам, предпросмотр образцов текста, выбор кодировки и всяческие полезные настройки. И, конечно же, генерирует код на Си — ту самую таблицу знакогенератора. Причём этот генератор также имеет множество настроек, что позволяет интегрировать созданный шрифт в разные программные решения.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Полагаю, что дальше расписывать работу приложения будет нецелесообразно — получится длинное руководство пользователя. Которое, кстати, присутствует в репозитории проекта.

Пример реализации очень мелкого шрифта — меньше просто физически некуда.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Послесловие

Проект приложения имеет открытые исходные коды и является свободным программным обеспечением.

Сейчас приложение выпущено только под Windows. Может быть, в неопределённом будущем, будут выпуски и под другие ОС.

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

И, естественно, автор ждёт Ваших отзывов и комментариев — от похвалы до жёсткой критики. Всем удобной работы и хорошего настроения!

Обновление 1. Чтобы не превращать статью в сборник картинок, добавил ссылки на разделы справки, где есть иллюстрирующие скриншоты.

Источник

Компью А рт

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт
Юрий Самарин, докт. техн. наук, профессор МГУП им. Ивана Федорова

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

Основой цифрового шрифта является набор описаний символов. Символы могут быть представлены различными способами. Именно эти способы и определяют вид шрифта. В настоящее время применяются следующие виды шрифтов:

Растровые шрифты. Растровый метод создания цифровых шрифтов основан на представлении шрифтовых знаков (символов) в виде матрицы с размерностью nxm пикселов (дискретных точек) — рис. 1.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 1. Растровое представление символа

При матричном представлении информации об изображении знака его разлагают на элементы черного и белого цвета. Для этого поле знака (площадь прямоугольника) разбивают на одинаковые части равноотстоящими горизонтальными и вертикальными линиями и полученные строки и столбцы пронумеровывают по порядку. Местоположение каждого элемента поля знака будет полностью определяться номером строки i и номером столбца j. При этом aij = 0, если элемент поля знака белого цвета, и aij = 1, если элемент черного цвета.

Например, изображению знака «О» может соответствовать битовая матрица размерностью 10×12, приведенная на рис. 2. Фактически растровый шрифт представляет собой битовый образ изображения символов, в котором хранится информация о всех точках формируемого символа.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 2. Матричное представление знака «О»

Процесс воспроизведения растровых символов сводится к переносу этого изображения на светочувствительные (термочувствительные) поверхности (плоскую или цилиндрическую) в выводных устройствах (фотовыводных, формовыводных, лазерных принтерах и т.д.). Никаких предварительных преобразований не требуется. В этих устройствах при сканировании, то есть при поэлементной записи изображения по заданной траектории, формируется растровое изображение.

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

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

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 3. Формирование изображения шрифтовых знаков из горизонтальных точечно-растровых строк: а — при однолучевом сканировании; б — при многолучевом (пакетном) сканировании записываемого материала

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

Сформированное из отдельных вертикальных или горизонтальных линий (точечно­растровых линий) изображение шрифтовых знаков, в отличие от идеального изображения (рис. 4а) знаков (например, получаемых путем их фотографирования с эталонных изображений), имеет растрированную структуру (рис. 4б­д) с пилообразной формой некоторых линий контура знака. Шаг между линиями микрорастра выбирается так, чтобы изображение в пределах знака было сплошным. Для этого шаг должен быть несколько меньше (обычно на 20­30%) диаметра светового пятна, формирующего изображение на материале. Величина, обратная шагу микрорастра, определяется важнейшей характеристикой выводного устройства — разрешением. Чем выше разрешение и соответственно меньше диаметр пятна, тем мельче пилообразная форма линий контура знака и выше качество изображения. Приведенное для примера увеличенное изображение знаков на рис. 4в и 4д получено при разрешении, которое в 2 раза больше, чем изображение знаков на рис. 4б и 4г соответственно.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 4. Шрифтовые знаки, получаемые при фотографировании эталонных изображений (а) и в фотовыводных устройствах: б и в — при вертикальном сканировании фотоматериала с разрешением соответственно R и 2R dpi; г и д — при горизонтальном сканировании с разрешением соответственно R и 2R dpi

Современные фотовыводные и формовыводные устройства экспонируют материал с разрешением 1200­5000 dpi, что обеспечивает получение форм высокого качества.

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

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

Однако, несмотря на указанные недостатки, растровые шрифты получили широкое распространение. В современных системах они применяются, как правило, в тех случаях, когда необходима очень высокая скорость работы, а требования к большому разнообразию гарнитур отсутствуют, — например в качестве экранных шрифтов операционных систем или шрифтов матричных принтеров.

Контурные шрифты. Известны два основных способа описания информации о контуре шрифтового знака: контурно­векторный и контурный.

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

При контурном описании знака контур разбивается на отдельные участки, представляющие собой отрезки прямой и дуги окружностей и кривых (рис. 5б). При кодировании контуров, кроме координат начала и конца векторов, задаются параметры дуг окружностей (радиус окружности, координаты центра окружности, координаты точек сопряжения дуг).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 5. Способы кодирования информации о начертании шрифтовых знаков при контурно-векторном (а) и контурном (б) описании изображения знаков

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

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт,

где lб и l — линейные размеры знака в базовом и небазовом кеглях; Kб и K — базовый и небазовый кегли; М = K/Kб — масштабный множитель.

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

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

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

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

Математическое описание кривой, заданной на плоскости, может быть представлено в параметрической форме:

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

Наиболее универсальной и распространенной кривой, применяемой при описании контуров, можно считать кривую Безье третьего порядка (рис. 6), где параметр t принимает значения от 0 до 1, а уравнение кривой выглядит так:

где точки p0 и p3 являются крайними, а p1 и p2 — направляющими.

Тогда координаты x и y контура изображения будут определяться парой кубических уравнений:

При этом координаты крайних и направляющих точек находятся с помощью выражений:

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

Для кривых Безье однозначно решается задача разделения на две кривые. Объединение двух кривых и построение кривой, проходящей через заданную точку, можно выполнить только приближенно (или при наличии дополнительных условий).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 7. Представление различных кривых с помощью кривых Безье

Если расположить последовательно несколько кривых и определить способ сопряжения между ними, то возможности описания контура становятся безграничными.

Из недостатков кривых Безье следует отметить неудобство работы для художников, рисующих символы на компьютере, которым довольно сложно манипулировать направляющими точками, не лежащими на кривой.

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

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 8. Формирование элемента шрифтового знака

Широкое применение нашли цифровые шрифты форматов Adobe Type 1 (иногда этот формат называют PostScript Type 1 или просто Type 1) и True Type. В формате Туре 1 контуры символов формируются из участков прямых линий (назовем их векторами) и участков кривых Безье третьего порядка. На рис. 8 приведен пример контура элемента шрифтового знака, который аппроксимирован тремя участками прямых (векторами) и тремя участками кривых Безье. Первая кривая имеет крайние точки Р01 и Р31, вторая — Р02 и Р32, а третья — Р03 и Р33. При этом точка Р32 окончания второй кривой совпадает с точкой Р03, то есть с началом третьей кривой.

Для большей компактности горизонтальные и вертикальные векторы, а также кривые, определяемые вертикальными и горизонтальными контрольными векторами, описываются отдельными командами. Все команды описания контуров оперируют относительными координатами. Все символы в Туре 1­шрифтах представляются в единой координатной сетке. Преобразование символов в соответствии с координатной системой выводного устройства производится через матрицу, заданную в заголовке шрифта (FontMatrix). При этом после трансформирования через матрицу получается шрифт кеглем в 1 пункт (рис. 9).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 9. Схема масштабирования цифровых шрифтов формата Type 1

Матрица состоит из шести чисел: [a, b, c, d, tx, ty]. Итоговые координаты рассчитываются следующим образом:

Обычно в Туре 1­шрифтах используется сетка в 1000 единиц координатного пространства символа, которая соответствует 1 пункту, при этом прописные буквы имеют высоту примерно 700 единиц, а коэффициенты матрицы а и d равны 0,001.

Используя матричную форму представления знака, можно провести его геометрические преобразования. Например, перенести его на расстояния ty и tx (рис. 10а), масштабировать по вертикали и горизонтали с множителями соответственно sy и sx (рис. 10б).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 10. Преобразование знака: а — перенос; б — масштабирование; в — наклон

При помощи FontMatrix можно создавать наклонные начертания без изменения самого шрифта. Для этого коэффициенту с нужно присвоить значение, равное синусу угла наклона (рис. 10в). Например, матрица для координатной сетки 1000 с наклоном 12° вправо будет выглядеть так: [0,001 0 0,2 0,001 00]. Коэффициент b в Туре 1­шрифтах обычно не используется.

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

В формате Type 1 существует правило заполнения контуров: все контуры, направленные против часовой стрелки, заполняются, а идущие в противоположном направлении — нет. Иначе это правило формулируется так: при обходе контура по его направлению заполняется область, лежащая слева (рис. 11).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 11. Направление обхода контура

Любой Туре 1­шрифт состоит из двух основных частей: открытой и закрытой (зашифрованной). В открытой части Туре 1­шрифта содержится информация, доступная для любого текстового редактора. Обычно здесь представляются обозначение и заголовок шрифта.

В закрытой части размещаются:

В формате Adobe Type 1 используется декларативный метод разметки (рис. 12), который основан на описании особенностей символа при помощи их декларирования отдельно от описания контура. В итоге описание символа включает две части: математическое описание символа и декларирование его особенностей.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 12. Пример разметки символа

Задачу связывания этих частей и построения знаков при выводе текстового материала решает программа растеризации. Именно она анализирует форму символа, связывает ее с заданной разметкой и принимает решение об изменении контура в ходе его масштабирования и заполнения. Преимущество декларативной разметки — простота построения шрифтов.

Для устранения лишних наплывов во всех символах шрифта применяются так называемые зоны выравнивания. Эти зоны определяются для шрифта и фиксируют положение и ширину всех областей, в которых имеются оптические наплывы (области округлых букв и букв, имеющих угловое окончание сверху или снизу, например буквы «О», «С» и «А»). При масштабировании символов, начиная с определенного размера, происходит подавление оптических наплывов.

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

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 13. Штриховая разметка (хинты)

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

Разметка программируется двумя основными методами: описанием характеристик символа и указанием конкретных команд, изменяющих контур. Изменение контура происходит путем перемещения образующих его точек. Точки могут перемещаться по отдельности или группами с использованием интерполяции.

Основой программы разметки являются измерения расстояния между точками и команды округления значений. Как правило, большая часть программ разметки строится следующим образом:

Измеряется некое расстояние, которое затем округляется по определенным правилам.

Остальные расстояния устанавливаются в пропорции к измеренному.

В основу формата True Type положен принцип программируемой разметки символов (рис. 14). Основным достоинством True Type­шрифта можно считать его простоту. Вся необходимая информация о символах находится в одном файле, а процесс установки новых шрифтов легок и нагляден. True Type­шрифты «прозрачны» по отношению к любым выводным устройствам, начиная от дисплея и заканчивая самыми сложными PostScript­принтерами и фотонаборными автоматами.

При построении символов в True Type­шрифтах используется координатная система, в общих чертах аналогичная той, которая применяется в Туре 1­шрифтах. Все символы описываются в сетке, размер которой определяется в заголовке шрифта. Максимальный размер сетки равен 16 384. При этом значения координат находятся в диапазоне от –16 384 до +16 384. Обычно используется сетка размером в 2048 единиц (координаты по каждой из осей могут находиться в диапазоне от –2048 до +2047). Масштабирование контуров символа (рис. 15) осуществляется в соответствии с формулой:

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт,

где Sb — размер знака в точках в соответствии с разрешением выводного устройства (ФНА); — размер контура знака в единицах размерной сетки формата; K — кегль знака в пунктах; R — разрешение ФНА; Sкс — размер координатной сетки формата.

Например, символ высотой 1400 единиц, определенный в сетке, имеющей размер 2048 единиц, при воспроизведении размером в 10 пунктов на устройстве с разрешением 300 точек на дюйм будет иметь высоту, равную 1400×10(300/(72×2048)) = 24,48 точки.

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

Понятно, что дробные значения координат нельзя воспроизвести на растровом выводном устройстве, поэтому необходимо их округлить. В True Type­шрифтах округление производится не механически, а с применением набора инструкций, которые определяют разметку символов с учетом характера масштабирования отдельных элементов знака, например тонких засечек и т.п.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 14. Программируемый метод разметки

Для построения контуров символов в TrueType­шрифтах используются векторы и кривые второго порядка — В­сплайны. В определении кривых может участвовать произвольное количество точек; из них две крайние точки (on­curve) лежат на контуре, а остальные (off­curve) находятся вне его (рис. 16).

При заполнении контуров применяется правило, противоположное тому, что используется для заполнения Туре 1­контуров, то есть при обходе контура по его направлению заполняется область, лежащая справа (см. рис. 11).

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 15. Схема масштабирования цифровых шрифтов формата True Type

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

При воспроизведении каждого шрифтового знака на фотонаборном автомате или формовыводном устройстве необходимо решить две задачи: масштабировать (уменьшить или увеличить) контур знака до необходимого размера (кегля) и активировать все точки, попавшие во внутренние области этого контура, то есть «заполнить» контур.

Заполнить контур шрифтовых знаков можно различными способами (рис. 17), что позволяет получить большое разнообразие декоративных шрифтов для каждой гарнитуры, представленной в форматах Type 1 и True Type.

Что такое диодный шрифт. Смотреть фото Что такое диодный шрифт. Смотреть картинку Что такое диодный шрифт. Картинка про Что такое диодный шрифт. Фото Что такое диодный шрифт

Рис. 17. Примеры заполнения контура шрифтовых знаков

Наличие двух принципиально разных по способу представления данных шрифтовых форматов Type 1 и True Type порождает сложности на этапе допечатной подготовки издания. Трудности эти связаны в первую очередь с некорректным переносом шрифтовой информации между компьютерными платформами Mac и РС, а также с недостаточной емкостью шрифтового файла, из­за чего нельзя включить в состав шрифта разнообразные лигатуры и спецсимволы. Для решения этих и других проблем в 1997 году был выпущен новый шрифтовой формат Open Type, разработанный совместно Adobe и Microsoft.

Он обладает двумя основными преимуществами. Во­первых, один и тот же файл шрифта может использоваться на обеих платформах (Маc ОС и Windows). Во­вторых, новые шрифты имеют расширенный набор символов — более 65 тыс. знаков против 256 в шрифтах стандарта PostScript.

Благодаря этому, используя Open Type­шрифты, можно применять расширенный ассортимент знаков и символов: буквицы, капитель и лигатуры, расширенный контекстуальный кернинг и точное оптическое позиционирование символов и акцентов в зависимости от контекста; изящные архаичные формы отдельных букв, знаков, цифр и дробей; исторические написания отдельных знаков в алфавитах и их редукцию в реформах письменности; шрифтовые имитации рукописных каллиграфических образцов текста; письменные системы народов, отличные от стандартного европейского письма; фонетическую запись текстов; текст с диакритическими знаками; текст с нелатинской системой письма (старогреческий, арамейский, сирийский языки, иврит, древнерусский и другие языки).

Шрифты Ореn Туре могут использоваться совместно со шрифтами PostScript, Туре 1 и True Type. В любом шрифте Ореn Туре применяется единственный файл шрифта для всей его иерархической структуры, показателей и растровых данных, что упрощает управление файлами. Формат Ореn Туре основан на кодировке Unicode — это позволяет ему поддерживать практически все языки мира.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *