Студопедия — Принцип хранения информации о символе
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Принцип хранения информации о символе






TrueType формат создан для хранения информации o контуре символа (векторное изображение). В отличие от растрового символа — векторный легко масштабируется. Но и у векторного способа хранения есть свои недостатки. Для того чтобы однозначно понимать (интерпретировать) записанную информацию, пользуются следующими правилами[3][4]:

• информация о линии контура хранится в виде точек

• прямая линия контура строится по двум точкам: начальной и конечной (Рисунок 1).

• элемент дуги строится методом Безье. Начало и конец кривой описываются точками, которые лежат на самой кривой. Остальные точки, не принадлежащие кривой служат для построения дуг (Рисунок 2).

Рисунок 1 Пример построения линии по двум точкам

Рисунок 2 Пример построения кривой Безье


Для построения кривой (рисунок 2) требуется три точки: P0, P1, P2, которая идёт из точки P0 в точку P2. P1 не лежит на кривой и служит для определения её кривизны. Для расчёта каждой точки кривой воспользуемся формулой 1:

P(t) = (1-t)2P0 + 2t(1-t)P1 + t2P2 (формула 1)

Рисунок 3 Пример построения более сложной кривой, состоящей из двух Безье

Рисунок 4 Пример кривой без промежуточной точки P2(рисунок 3).

На рисунке 3 приведён пример сложной кривой, которая состоит из двух простых. На рисунке 4 та же самая кривая, но точка P2 отсутствует. Её координаты восстанавливают. Например в данном случае точка P2 лежит по середине отрезка P1 P3. Подробнее об этом можно почитать в описании построения кривой Безье, квадратичный метод.

Итак, для построения контура используется два вида точек. Один тип — это точка, лежащая на контуре, является началом одной кривой или отрезка и концом другой. Другой вид точек — это точки не лежащие на контуре и являются контрольными точками для построения кривой. Между двумя кривыми может отсутствовать координатная точка и её придётся восстанавливать.

Следующее правило:

• первая и последняя точка контура замыкаются. То есть контур не может быть не замкнутым. Обязательно строится отрезок или кривая из последней точки в первую.

Рисунок 5 Пример построения символа «С»

На рисунке 5 показан приём построения одноконтурного символа «С». Контур состоит как из отрезков, так и из кривых. Или, говоря дословно, для построения этого символа использовались точки, лежащие на контуре (on-curve), и контрольные точки (не лежащие на кривой, off-curve). 25 точка смыкается с 0. 26, 27 точки являются контрольными (off-curve) и служат для построения кривой 25-0.

Рисунок 6 Пример построения трёхконтурного символа «B»

Рисунок 7 Пример закрашивания внутренних областей

На рисунке 6 показан символ, состоящий из 3х контуров. Для того чтобы различать контуры, существуют следующие правила:

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

Как видно из примера 5, контур не обязан завершаться on-curve точкой.

• Для того чтобы строить контур, каждая точка имеет свой индекс, и линии (кривые) рисуются в порядке следования индексов. Первый индекс 0. Информация о количестве точек ограничена 16-битным числом, то есть теоретически символ может строиться из 65536 точек (точек может быть и больше).

Для того чтобы узнать количество точек, из которого строится символ, нужно посмотреть информацию о последнем индексе последнего контура. Также необходимо просмотреть флаги всех точек. Допускается повтор точек с одними и теми же флагами несколько раз. Количество точек — номер последнего индекса +1, так как нумерация начинается с 0, плюс сумма всех повторяющихся точек.

Заливка символа. Из рисунков 5, 6 видно, что только контуров для построения символов не достаточно. Пространство внутри контура требуется закрасить. Как это сделать, если например символ «B», рисунок 6, имеет три контура и требуется закрасить только то, что находится между 1 м контуром и 2 м, а также 1 м и 3 м. А то, что внутри 2го и третьего — не закрашивать. Для этого ввели ещё правила:

• Внешний контур всегда закрашивается внутри независимо от обхода.

• Внутренний контур закрашивается в зависимости от обхода внешнего контура. Если порядок обхода точек совпадает, то внутренняя область закрашивается, если не совпадает, то не закрашивается (рисунок 7).

• Двумя внешними контурами может быть сформирован внутренний. Если обход точек двух контуров совпадает, то эта область закрашивается, если не совпадает, то не закрашивается (рисунок 7).

Точки p1 и p4 лежат внутри внешних (наружных) контуров и эта область всегда закрашивается, независимо от обхода точек.

Точка p2 попадает в область между двумя внешними контурами с разными проходами и эта область не закрашивается.

Точки p3 и p5 попадают в области внутренних контуров и закрашивание происходит в зависимости от обхода точек. Точка P3 получается внутри контура с обходом точек против часовой стрелки, в то время как внешний контур имеет обход в другую сторону и из-за этого область 3 не закрашивается. Точка p5 попадает в область с обходом по часовой стрелке, такое же направление обхода, что и у внешнего контура, поэтому область закрашивается.

С точки зрения построения шрифта — область точки p5 избыточна. Данный внутренний объём будет закрашен в любом случае.







Дата добавления: 2015-12-04; просмотров: 205. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

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

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия