О ШРИФТАХ (ТЕХНИЧЕСКАЯ СТОРОНА)

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

Выбор формата

Практически можно выбирать между двумя форматами: TrueType и PostScript Type 1. Шрифты TrueType известны всем, так как их поддержка встроена в Windows, о формате PostScript следует сказать подробнее.

Для работы с PostScript-шрифтами в среде Windows необходимо установить программу Adobe Type Manager, базовую версию которой можно бесплатно загрузить с сайта производителя. В Windows 2000 и Windows XP (а также большинстве систем на базе Unix) имеется встроенная поддержка шрифтов Type 1.

Шрифты Type 1 состоят из двух файлов: файл PostScript-начертаний и файл метрик шрифта. Файлы PostScript-начертаний обычно имеют расширение *.PFB, файлы же метрик могут быть текстовыми (с расширением *.AFM) и двоичными (с расширением *.PFM). Type Manager использует двоичный формат. AFM-файлы обычно применяются в операционных системах семейства Unix, а также под Windows в отдельных приложениях, имеющих собственный механизм работы со шрифтами Type 1.

Основные достоинства PostScript-шрифтов:

Недостатки PostScript-шрифтов:

Техническое качество

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

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

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

Кодировка

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

Начертания символов, физически присутствующих в шрифте, принято называть глифами (glyphs). Чтобы эти глифы были доступны в различных программах, каждому из них нужно приписать определенный код. До недавнего времени каждый символ обозначался одним байтом, т. е. 16-ю двоичными разрядами. Таким образом, кодировку каждого шрифта можно было представить в виде матрицы, содержащей 16х16=256 ячеек. На самом деле, не все эти ячейки доступны, поскольку слоты с кодами от 0 до 31 зарезервированы под управляющие символы. Точно так же не должны использоваться символ 127 (DELETE) и 160 (NBSPACE). Для размещения глифов остается 222 позиции. Именно так строится кодировка PostScript-шрифтов.

Поскольку 222 позиций было явно недостаточно для многих языков, появился стандарт Unicode, в котором каждый символ обозначается двумя байтами. Это дает уже 256x256 комбинаций. Кодировка Unicode положена в основу TrueType-шрифтов.

Кодовые страницы.Однако многие программы (и в их числе большинство популярных издательских систем) всё еще не поддерживают Unicode. Чтобы работать с TrueType-шрифтами в других приложениях, Unicode-индексы содержащихся в них символов должны каким-то образом ложиться на стандартную матрицу 16x16. Для этого используется механизм кодовых страниц, при помощи которых многоязычные шрифты разделяются на несколько сечений (Times New Roman Cyr, Times New Roman Greek, etc.). В большинстве шрифтов содержится только одна кодовая страница — западная (ANSI или Windows 1252). Это относится и к политоническим греческим шрифтам, не поддерживающим Unicode. Таким образом, эти шрифты воспринимаются системой как западноевропейские, независимо от того, как на самом деле выглядят их символы. Подробная информация о Unicode и кодовых страницах TrueType-шрифтов содержится на сайте Константина Казарновского.

Западная кодовая страница. Специфика западной кодовой страницы заключается в том, что ей соответствует начальная, верхняя часть Unicode. Поэтому для большинства символов мы получаем совпадение индексов Unicode с индексами ANSI. Например, латинская буква A grave имеет индекс Unicode 00C0 и индекс ANSI 192 (или C0 в шестнадцатеричном исчислении). Но есть и несовпадения. Например, левая верхняя двойная кавычка имеет индекс Unicode 201C, хотя в таблице ANSI она находится в 147-й позиции. Таким образом, чтобы некий символ был доступен в большинстве программ под номером 147, ему надо приписать индекс Unicode 201C.

Проблема символов 142 и 158. В конце 1997 года Microsoft внесла изменения в западную кодовую страницу. Ранее не использовавшимся позициям с кодами 128, 142 и 158 были приписаны значения Unicode 20AC (символ Euro), 017D (capital Z with caron) и 017D (small z with caron). Однако эти позиции уже были задействованы во многих распространенных кодировках греческих шрифтов. Так, в кодировке WinGreek в 142-й позиции находился символ iota dieresis, а в 158-й — epsilon asper gravis. В результате с доступом к этим символам, естественно, возникли затруднения. В Windows 95/98 данная проблема касалась только Microsoft Word 97/2000, и потому не была смертельной, так как там всё же можно обеспечить доступ к «потерянным» символам с помощью макросов (например, нашего пакета СОЛУНЬ). В Windows NT 4.0 service pack 4 и выше и Windows 2000 проблема возникала абсолютно во всех приложениях и потому выглядела фатальной. Поняв, в чем дело, разработчики шрифтов начали дублировать соответствующие символы в новых позициях Unicode. В настоящее время проблема символов 142 и 158 полностью решена для шрифтов Ральфа Хэнкока и Миндовга Строкиса в кодировке WinGreek, а также для оригинального Greek. С другими кодировками греческих шрифтов по-прежнему имеются затруднения.

Символьная кодировка. TrueType-шрифты могут иметь также символьную кодировку, которая предназначена для шрифтов, содержащих разного рода значки-пиктограммы. В таких шрифтах можно задействовать только 222 позиции (как и в PostScript-шрифтах); попытки соотнести их с Unicode не делается. Кроме того, для текста, оформленного символьным шрифтом, в Microsoft Word не проверяется орфография. Поэтому шрифты с нестандартными кодировками (в том числе греческие) раньше часто оформлялись как символьные. Однако с появлением юникодовых приложений (типа Microsoft Word 97) выяснилось, что в нем символьные шрифты непригодны для набора текста. Пробелы, оформленные символьными шрифтами, не воспринимаются в качестве таковых, из-за чего весь абзац принимается за одно длинное слово, которое приходится переносить со строки на строку, разрывая его в произвольных местах. Аналогичным образом ведут себя и последние версии текстового процессора OpenOffice.org Writer. Как и в предыдущем случае, на высоте оказались разработчики шрифтов WinGreek, заменившие символьные версии своих шрифтов их аналогами для кодовой страницы 1252. Использование же ряда шрифтов в других распространенных кодировках остается по этой причине затруднительным. Так, символьными являются распространенный в России шрифт Hellenica, шрифт Athenian в кодировке GreekKeys и шрифт SIL Galatia.

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

Казалось бы, имена глифов не важны для конечного пользователя, так как поведение шрифта в программе зависит не от них, а только от привязки символов к номерам ячеек кодовой таблицы. Однако правильный выбор имен облегчает работу разработчику и тем самым позволяет предотвратить много возможных ошибок. Например, часто встречаются шрифты, первоначально разработанные для Macintosh. Предположим, что имена глифов были выбраны согласно стандартной макинтошевской кодировке. Тогда при переносе шрифта на другую платформу нужно либо переименовывать больше половины глифов, либо приписывать этим глифам несвойственные им номера Unicode. Если не делать ни того, ни другого, тогда в переделанной для платформы PC версии шрифта часть символов перейдет на другие места, а часть окажется недоступной. Если же перекодировка сделана с ошибками, то конечному пользователю будет очень сложно разобраться, чего на самом деле хотел автор. Между прочим, такие проблемы часто возникают со шрифтами от Linguist's Software.

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

Hosted by uCoz