Свежий номер №25 (402)  / Особенности национального самана
 
Дата публикации: 03.07.2001

Сергей Токарев, stokarev@mail2000.ru

 
1
Врезка  >>

Если бы Кирилл и Мефодий предвидели, с какими трудностями столкнутся потомки славянских народов в эпоху компьютеризации, они бы дважды подумали, прежде чем создавать свой стандарт кодировки символов - кириллицу. Впрочем, был еще более экзотический вариант - не «мефодьица», как можно было бы ожидать в наш век торжества копирайта, но глаголица, которая к кириллице относилась примерно так же, как КОИ-8 относится к Win-1251. Из-за проблем с поддержкой в браузерах ранних версий глаголица была успешно забыта, и остался лишь один вариант, известный нам ныне как кириллица. До наших дней дошла сильно переработанная и усеченная версия этого набора знаков для кодировки славянской письменности, но все же даже такой упрощенный вариант кодовой страницы встречает непонимание у целого ряда программ, в частности у известных пакетов от фирмы Adobe.

Исторически сложилось так, что родным языком создателей ЭВМ, увы, был английский. И первым языком, появившимся на дисплеях, был английский, а точнее - базовый набор латинских букв. Одному отображаемому на экране символу соответствовал один байт. В его 256 значений прекрасно укладывался весь английский алфавит, с заглавными и прописными, знаками препинания и служебными символами, не предназначенными для появления на экране (отсюда и пошло выражение «непечатные слова»). Но у байта оставалась еще масса свободных значений, которые решено было использовать для кодировки всякой всячины: элементарной графики, знаков валют и некоторых малоиспользуемых символов.

Благодарные носители языков, использующие немного или сильно другие алфавиты, для кодировки своего языка выкидывали эту всячину и замещали ее национальными символами. Так, один и тот же шрифт мог нести в себе как латинские, так и национальные символы, в том числе и кириллицу. Это была золотая эра однобайтовых шрифтов, работавших как в офисных, так и в графических программах. Правда, портило картину разногласие между операционными системами DOS\Windows\Unix\Mac в том, какие значения каким символам соответствуют. Но в целом все было нормально.

И тут программисты - конечно же, в неустанной заботе о пользователях - придумали гениальный вариант кодировки символов. Для одного символа было решено использовать не один, а два байта (65535 вариантов числовых значений), что означало возможность создания шрифта, универсального для всех языков, коих на данном этапе истории было немногим больше тысячи. О том, что придумать и отрисовать 65535 написаний символов для разных языков, при этом соблюдая еще и стиль и внешние признаки шрифта, будет непросто, программисты, как обычно, не подумали 1.

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

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

Проблема в том, что ряд программ отказывается понимать Unicode-шрифты, и среди них вовсе не случайно оказались программы от Adobe. Дело в том, что Unicode-шрифты сейчас реализуются по технологии TrueType или OpenType, а программы Adobe традиционно ориентируются на работу со шрифтами Type I. И если у вас установлены национальные шрифты в формате Type I, корректные, как минимум укра… взятые из хорошего места, а еще лучше - купленные у производителя, почти никаких проблем с программами Adobe возникнуть не должно.

Но пользователей TrueType-шрифтов, как правило, ждут неприятные сюрпризы, связанные с поддержкой русских символов в Adobe Photoshop, Indesign и, что хуже всего, в Illustrator и при выводе файлов PDF из Попытка набрать русский текст шрифтом Unicode в Adobe Illustrator 9 (Win2000). До исправления файла AdobeFnt.lst.PageMaker и FrameMaker. Рассмотрим некоторые аспекты национальной шрифтовой проблемы и возможные методы борьбы с ней.

Первые шаги

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

  1. Adobe Type Manager 4.хх, желательно Deluxe - для поддержки шрифтов Type I.

  2. Сами шрифты Type I.

  3. Драйверы AdobePS - для корректной работы PostScript.

И хотя в Windows уже включены драйверы для PostScript (производства «Билл и Ко»), для серьезной работы хорошо бы иметь установленные драйверы от Adobe (кому как не им знать всю подноготную PostScript). Эти драйверы скачиваются бесплатно с сайта Adobe.

Illustrator 9, Photoshop 5.x, Indesign

Особую нелюбовь к национальным кодировкам проявляет девятая версия Adobe Illustrator. По стечению обстоятельств эта же программа сейчас претендует на место самого мощного векторного редактора (см. www.softerra.ru/review/creative/graphics/9297).

Начнем с того, что программа категорически отказывается перезаписывать файл в своем девятом формате, если путь назначения содержит расширенные или Набор русского текста шрифтом Unicode в Adobe Illustrator 9 (Win2000). После исправления файла AdobeFnt.lst.национальные символы (кириллицу, умляуты и прочую местную символику). От этого страдают в равной мере и русские дизайнеры, и чешские, и далекий дон Педро вытирает пот со лба в солнечной Бразилии, безуспешно пытаясь повторно сохранить файл с португальским названием, причем тип платформы (Wintel или Mac) не играет ровным счетом никакой роли. Эта проблема пока никак не лечится, но обойти ее можно тремя путями: либо сохранять все в формате восьмого Illustrator, либо вместо команды «Save…» употреблять «Save As…», либо просто отказаться от привычки использовать русские (национальные) имена для файлов и папок. Я в свое время предпочел третий вариант и с тех пор ни разу не видел назойливое окно «Acrobat PDF file format is having difficulties».

Вторая проблема: не отображаются национальные символы в TrueType-шрифтах. Это характерно для юникодных платформ Windows (NT\2000\Me), Illustrator 9.x и Photoshop 5.x и связано с отсутствием поддержки национальных TTF-шрифтов. На сайте Adobe прямо говорится, что Illustrator 9 не поддерживает интернациональные шрифты TrueType, даже если в операционной системе установлено все необходимое. Жалобы, опять же, идут по всему миру - от Бразилии до Чехии. Счастливое исключение составляют только китайские, японские и корейские шрифты, но нам от этого вряд ли легче.

Первый способ справиться с этим - отредактировать реестр Windows. Делается это так:

  1. Открываем реестр, ищем ветвь HKEY_LOCAL_MACHINE\ System\CurrentControlSet\ Control\ Nls\ Codepage.

  2. Открываем параметр 1252 и устанавливаем его значение в «CP_1251.nls» - как у параметра 1251.

  3. Закрываем реестр.

Метод тестировался в системах Win9x, и, хотя этот способ встречается в советах чаще других, рекомендую им все же не пользоваться: во-первых, не стоит будить спящего зверя, то есть лишний Отображение национальных Uni­code-шрифтов в палитре Ado­be Illustrator 9 (Win2000). После исправления файла Ado­beFnt.lst.раз ковыряться в реестре, а во-вторых, этот способ не всегда помогает в случае с Photoshop, а для Illustrator 9, как правило, бесполезен. Вместо этого нужно:

  1. Залезть в директорию Program Files/Common Files/Adobe/Typspt.

  2. Используя текстовый редактор, открыть файл AdobeFnt.lst. Именно в указанной папке, ибо на компьютере с программами Adobe есть несколько одноименных файлов!

  3. В файле Adobefnt.lst перечисляются шрифты и их свойства. В описании каждого шрифта имеется строка WritingScript. Найдите ее. По идее, она должна указывать кодировку шрифта: «WritingScript:Cyrillic». Но именно из-за этой строки национальные шрифты Unicode в WinMe\NT4\2000 отображаются неправильно.

  4. Поменяйте название кодировки на «Roman» для всех проблемных шрифтов: «WritingScript:Roman».

  5. Запишите все изменения, закройте файл.

Проделав все эти операции, установите на файле атрибут «Только для чтения» («Read only»). Если вы пользуетесь проводником Windows, это легко сделать: щелкните правой кнопкой по файлу и выберите из меню «Свойства» («Properties»).

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

Описанный метод решает проблемы не только с девятым «Иллюстратором», но и с Photoshop 5.x и с Adobe Indesign. Он успешно использовался и доказал свою жизнеспособность на платформах Win2000\NT. Более подробно о функции Adobefnt.lst, а также о «нехороших» шрифтах Type I, работающих в Illustrator с ошибками, и борьбе с проблемами кириллицы в PDF читайте в полной версии статьи на сайте www.softerra.ru.

Врезка.

[i40238]


1 (обратно к тексту) - В ряд с вечными проблемами отцов и детей, преступления и наказания пора поставить еще одну - программистов и дизайнеров!

 
1
Врезка  >>


Сергей Токарев
stokarev@mail2000.ru
 
Дизайнер, в прошлом программист и журналист.


<<  Конец неживых секретарш
Все материалы номера
И ты, root?  >>