Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные шрифты.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
13.49 Mб
Скачать

Проблемы растеризации

  1. Нарушение пропорций символа.

  2. Нарушение симметричности некоторых символов.

  3. Нарушение единства символов.

  4. Смыкание штрихов.

  5. Выпадение точек.

  6. Нарушение формы округлых букв.

3 4 5 6

Для чего нужен хинтинг (hinting)

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

Она улучша­ет форму знака, представленного относительно небольшим числом пикселов, если применяется шрифт мелкого кегля или у выводного устройства очень низкое разрешение.

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

Таблицы ASCII и Unicode

Все кодировки подразделяются на

  • восьмибитовые(однобайтовые) - 256 символов

  • шестнадцатибитовые (двубайтовые) - 65 636 знаков

Не все версии обеих операционных систем позволя­ют обеспечить доступ ко всем знакам, содержащим­ся в шрифтовых файлах. Это возможно только в системах, поддерживающих кодовую таблицу Unicode. К ним относятся Macintosh OS X и Windows NT 4, Windows 2000 и Windows XP. Фирмы Microsoft и Apple объявили, что Unicode станет под­держиваться во всех будущих обновлениях их опе­рационных систем.

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

До Unicode единственным межплатформенным стандартом кодирования был стандарт ASCII (American Standard Code for Information Interchange — американский стандартный код обмена информаци­ей), который использовал только коды от 0 до 127. Если текст сохранен в фай­ле этого формата, его можно передавать и читать, независимо от того, какой шрифт и какая операци­онная система использовались для записи, посколь­ку коды, передающие текст, имеют стандартные зна­чения.

Например, ASCII-код 72 означает заглавную латинскую букву Н.

Стандарт Unicode расширяет кодовую схему, включая знаковые комплекты для нелатинскях

алфавитов. Большинство шрифтовых файлов стан­дарта Unicode, например, для азиатских идеогра­фических языков, двухбайтовые (double-byte) и мо­гут содержать более 65 000 знаков.

Таблица ASCII

Проблемы кодирования шрифтовых файлов

Процесс присвоения знакам числовых значений называется кодированием (encoding). До того как Macintosh и Windows стали поддерживать стандарт Unicode, они использовали разные кодовые схемы (таблицы). Таблицы совпадали в основной части комплекта ASCII, но различались в знаках, имеющих коды после 128, так называемые знаки стар­ших разрядов (high-bit). Результатом стало то, что документы, кодировавшиеся на одной компьютерной платформе, на другой очень часто отображались некорректно.

Двубайтовый способ описания, использующий 2¹⁶=65536 символов, не­которое время существовал в качестве идеи, затем был реализован фирмой Microsoft как стардарт, поддерживаемый программами Microsoft Office и некоторыми другими программами. А в операционной системе Windows NT двубайтовые коды генериру­ются непосредственно клавиатурой.

Момент перехода на этот стандарт, называемый Unicode, помнится многим как кошмар: новая версия WinWord вдруг стала рисовать квадратики на экране вместо русскоязычных текстов (бедный Word безуспешно пы­тался найти в старых шрифтах двубайтовые номера), а в других программах (не под­держивающих Unicode) текст, набранный в WinWord любимым Times New Roman, вдруг превращался из кириллического текста в бессмысленный набор символов с ум­ляутами и ксанфами. Со временем проблема почти исчезла, так как появились раз­нообразные конверторы для старых шрифтов, самый известный из них - ttfconv. Это бесплатная утилита очень небольшого размера.

Для конвертации необходимо пере­нести конвертируемые шрифты в отдельную директорию, поскольку операционная система «не позволит» изменять шрифты в папке Fonts. Далее выполняется команда ttfconv.exe *.ttf, затем шрифты надо перенести обратно в папку Fonts.