Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

TrueType



План:


Введення

TrueType (ТруТайп) - формат комп'ютерних шрифтів, розроблений фірмою Apple в кінці 1980-х років.

Шрифти в даному форматі використовуються в багатьох сучасних операційних системах. Файли з такими шрифтами мають розширення імені "ttf". Залежно від версії формату, максимальна кількість збережених символів може обмежуватися значеннями 2 серпня, 16 лютого або 2 32 [1].


1. Вільне ПЗ

В ОС на основі вільного ПЗ для роботи з даними шрифтами використовується вільна бібліотека FreeType, що підтримує цей та інші формати шрифтів.

Apple належать три патенти, які мають відношення до деяких способам обробки контурів шрифтів TrueType для виведення при маленькому розмірі. Так як ці патенти можуть перешкоджати вільному використанню таких способів, FreeType за замовчуванням поширюється з відключеною їх підтримкою, і обробляє контури по-іншому [2].


2. Принцип зберігання інформації про символ

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 надлишкова. Даний внутрішній об'єм буде зафарбований в будь-якому випадку.


3. Складовою символ

Для скорочення числа зберігання схожих символів придумали комбінувати два символи в один. Наприклад буква Е - це буква Е з двома точками над нею. Точки і Е можуть зберігається окремо, а при побудові Е символу, береться інформація з двох джерел.


Е

Рисунок 8 Приклад символів, які можна зробити комбінованими

4. Хінтінг

Незважаючи на те, що шрифти в форматі TrueType описані у векторному вигляді і, здавалося б, повинні легко масштабуватися, при відображенні символів на низькій роздільній здатності можуть виникати проблеми. Наприклад, якщо потрібно вписати векторний символ в квадрат розміром 16х16 пікселів, значна частина символу може лише злегка потрапити на один піксель. Виникає неоднозначність: чи слід зафарбовувати даний піксель або залишити його незакрашенним. Для усунення цієї неоднозначності в шрифти включають команди-підказки растеризатора, які й називають інструкціями хінтінга (хінтованія). Формат TrueType дозволяє зберігати шрифти як з інструкціями хінтінга, так і без них. Але без цих інструкцій шрифти вважаються неякісними (недобросовісно виконаними), і їх намагаються не використати.


5. Одиниця виміру шрифту

Одиниця виміру величини шрифту - point (англо-американський пункт), яка зазвичай перекладається як пункт, і поліграфічна одиниця вимірювання величини шрифту (французький пункт), насправді не збігаються. Комп'ютерний пункт дорівнює 0,353 мм, а поліграфічний пункт - 0,376 мм. Різниця становить близько 7%. Тому за умов згадування кегля обов'язково потрібно уточнити, який пункт має на увазі замовник, а який закладений у верстці.

Примітки

  1. Developer.Fonts - developer.apple.com/textfonts/TTRefMan/RM06/Chap6cmap.html (Англ.) . Apple Computer, Inc. (18 грудня 2002). - Сторінка для розробника. Загальні відомості та різні посилання .. архіві - www.webcitation.org/61N6pN3Pv з першоджерела 1 вересня 2011.
  2. FreeType & Patents - freetype.sourceforge.net / patents.html (Англ.) (1 червня 2008). Фотогалерея - www.webcitation.org/61N6ovv2E з першоджерела 1 вересня 2011.
  3. TrueType Reference Manual - developer.apple.com / fonts / TTRefMan / (Англ.) . Apple Computer, Inc. (18 грудня 2002). - Опис формату TrueType і принципів побудови символів. архіві - www.webcitation.org/61N6q8Ntz з першоджерела 1 вересня 2011.
  4. OpenType specification version 1.6 - www.microsoft.com / typography / otspec / default.htm (Англ.) . Microsoft (21 вересня 2009). - Опис формату OpenType і принципів побудови символів. архіві - www.webcitation.org/61N6qiSZk з першоджерела 1 вересня 2011.
Adobe Caslon a.svg Це заготовка статті про шрифтах. Ви можете допомогти проекту, виправивши або дописавши її.

Цей текст може містити помилки.

Схожі роботи | скачати
© Усі права захищені
написати до нас