Руководство по настройке русской версии пакета StarOffice 5.2 в среде Black Cat Linux 6.2

© 2000 Леонид Кантер
© 2000 Black Cat Linux Team
Коммерческое распространение в печатном и электронном виде без письменного разрешения автора запрещено.

Шрифты и кодовые страницы
Установка растровых шрифтов
Установка шрифтов TrueType
Подключение шрифтов Type1
Перезапуск фонт-сервера
Установка StarOffice
Подключение шрифтов Type1 для печати
Выбор кодировки для работы со StarOffice
Печать из StarOffice
Как это происходит?
Проблемы при работе со StarOffice
Заключение
 

Эта инструкция представляет собой дополнение к Инструкции по инсталляции StarOffice 5.2, отражающее особенности установки и настройки руссой версии этого пакета в системе Black Cat Linux 6.2.  Вы узнаете, как наиболее полно реализовать возможности, заложенные в этом пакете, и обойти возможные проблемы.
 

Шрифты и кодовые страницы

StarOffice 5.2 - не только первая русифицированная версия этого пакета, но и первая версия, которая может работать с различными кодировками кириллицы, то есть отображать установленные в системе шрифты в соответствии с текущей кодировкой, в которой запущен StarOffice. Таких кодировок поддерживается три - KOI8-R, ISO8859-5 и CP1251. Текущая кодировка определяется пакетом по значению переменной окружения LANG - оно может иметь значения ru_RU.KOI8-R, ru_RU.ISO8859-5 или ru_RU.CP1251.

Внимание! uk_UA.KOI8-U, uk_UA.CP1251, ru_UA.KOI8-U, ru_UA.CP1251 не поддерживаются! При запуске StarOffice с одним из этих значений LANG все надписи будут отображаться вопросительными знаками! Для работы с документами на украинском языке необходимо использовать ru_RU.CP1251.

StarOffice способен отображать установленные в системе шрифты в сответствии с текущей кодировкой, в которой запущен пакет. То есть, если в системе установлены шрифты KOI8-R, а текущая кодовая страница StarOffice - CP1251, он попытается "собрать" CP1251 из KOI8-R, но при этом будут большие потери, так как в KOI8-R отсутствуют не только украинские, белорусские и южнославянские буквы, но и многие типографские знаки, такие как кавычки-"елочки", длинное тире и другие. При импорте документов из Microsoft Office эти недостающие символы будут заменяться вопросительными знаками, что затруднит работу с импортируемыми документами. Поэтому мы рекомендуем для работы со StarOffice использовать шрифты в кодировке CP1251, которая содержит самый полный набор символов, из которых легко "собирается" как KOI8-R, так и ISO8859-5.  StarOffice использует два вида шрифтов - растровые (pcf) - для элементов интерфейса (меню, подсказки, формы и др.), и Type1 - для печати и отображения документов на экране. Чтобы повысить качество отображения документов на экране, можно использовать шрифты TrueType из Windows. Далее подробно рассказывается, где взять и как правильно установить все необходимые шрифты.
 

Установка растровых шрифтов

Растровые шрифты в кодировке CP1251 находятся в пакете XFree86-MICROSOFT-CP1251-75dpi-fonts-6.2-2bc.noarch.rpm. Установите этот пакет командой rpm:

rpm -Uvh XFree86-MICROSOFT-CP1251-75dpi-fonts-6.2-1bc.noarch.rpm

Установка шрифтов TrueType

Стандартным каталогом для шрифтов TrueType в Black Cat Linux является /usr/share/fonts/default/TrueType. Для того, чтобы стандартные шрифты отображались в нужной нам кодировке CP1251, в этом каталоге необходимо создать два одинаковых файла - fonts.dir и fonts.scale - следующего вида:

12
timesi.ttf -monotype-Times New Roman-medium-i-normal--0-0-0-0-p-0-microsoft-cp1251
timesbi.ttf -monotype-Times New Roman-bold-i-normal-0-0-0-0-p-0-microsoft-cp1251
timesbd.ttf -monotype-Times New Roman-bold-r-normal--0-0-0-0-p-0-microsoft-cp1251
times.ttf -monotype-Times New Roman-medium-r-normal--0-0-0-0-p-0-microsoft-cp1251
couri.ttf -monotype-Courier New-medium-i-normal--0-0-0-0-m-0-microsoft-cp1251
courbi.ttf -monotype-Courier New-bold-i-normal--0-0-0-0-m-0-microsoft-cp1251
courbd.ttf -monotype-Courier New-bold-r-normal--0-0-0-0-m-0-microsoft-cp1251
cour.ttf -monotype-Courier New-medium-r-normal--0-0-0-0-m-0-microsoft-cp1251
ariali.ttf -monotype-Arial-medium-i-normal--0-0-0-0-p-0-microsoft-cp1251
arialbi.ttf -monotype-Arial-bold-i-normal--0-0-0-0-p-0-microsoft-cp1251
arialbd.ttf -monotype-Arial-bold-r-normal--0-0-0-0-p-0-microsoft-cp1251
arial.ttf -monotype-Arial-medium-r-normal--0-0-0-0-p-0-microsoft-cp1251

Кроме этого, сюда же необходимо положить файл encodings.dir, имеющий всего две строки:

1
microsoft-cp1251 /usr/X11R6/lib/X11/fonts/encodings/microsoft-cp1251.enc.gz

После этого сюда же необходимо скопировать все перечисленные в левом столбике файлы шрифтов, которые можно найти в инсталляции Windows (каталог \windows\fonts) либо на страничке Microsoft Typography (для извлечения файлов из самораспаковывающихся архивов необходима программа WinZip для Windows).  Каталог шрифтов TrueType готов к работе.

Подключение шрифтов Type1

Если шрифты TrueType недоступны, для отображения на экране можно использовать те же самые шрифты Type1, которые будут использоваться для печати (см. ниже). Но качество отображения символов на экране при этом будет намного хуже, так как, во-первых, растеризатор Type1 в X намного хуже, чем растеризатор TrueType, во-вторых, входящие в Black Cat Linux шрифты в русской части имеют недостаточно качественные хинты - специальные элементы, которые помогают растеризатору отображать символы небольших размеров (10-12). Поэтому, если для отображения на экране придется использовать шрифты Type1, рекомендуется через меню View -> Zoom увеличить масштаб изображения до 150%. На качестве печатных документов этот недостаток шрифтов не отразится, так как разрешающая способность современных принтеров (300-600 dpi) намного выше, чем разрешение дисплеев (75-100 dpi).

Поскольку вышеупомянутые шрифты являются неотъемлемой частью подсистемы печати Black Cat Linux (пакет urw-fonts-2.0-5bc-noarch.rpm) и устанавливается по умолчанию, достаточно только подключить их к фонт-серверу. Для этого нужно набрать команду

chkfontpath --add /usr/share/fonts/MICROSOFT-CP1251/Type1

Не подключайте этот каталог, если уже были подключены шрифты TrueType, как описано выше!

Перезапуск фонт-сервера

Файл конфигурации фонт-сервера находится в каталоге /etc/X11/fs. Убедитесь, что в нем имеются пути к подготовленным выше каталогам, и перезапустите фонт-сервер командой /etc/rc.d/init.d/xfs restart. Убедитесь, что в каталоге /usr/share/fonts/default/TrueType появился файл encodings.dir - он необходим для работы с кодировкой CP1251 и создается скриптом перезапуска фонт-сервера. Теперь нужно дать X-серверу команду перечитать список шрифтов, предоставляемых фонт-сервером - для этого в X-терминале наберите команду xset fp rehash. Проверьте при помощи программы xfontsel, появились ли в списке шрифты times new roman, arial и courier new. Они должны иметь русские буквы, в порядке, показанном на иллюстрации ниже:

Установка StarOffice

Перед установкой убедитесь, что в вашем домашнем каталоге доступно не менее 260Мб.  Процесс установки подробно описан в  Инструкции по инсталляции StarOffice 5.2

Подключение шрифтов Type1 для печати

Для того, чтобы работать с кириллицей в StarOffice, необходимо сначала добавить новые шрифты к драйверу печати StarOffice - библиотеке XPrinter. Для этого в пакет входит специальная утилита - SPAdmin. Выполните ее командой ~/office52/program/spadmin (~ означает домашний каталог). После этого нажать кнопки "Add Fonts" -> "Browse" и указать каталог /usr/share/fonts/MICROSOFT-CP1251/Type1, как показано на рисунке.

Далее подтвердите установку всех перечисленных шрифтов. Подсистема печати StarOffice готова к работе.

Выбор кодировки для работы со StarOffice

Как уже упоминалось выше, StarOffice 5.2 может работать в одной из трех кодировок: KOI8-R, ISO8859-5, CP1251. Каждая из этих кодировок имеет свои достоинства и недостатки. Попробуем разобраться.

KOI8-R  Единственное достоинство - позволяет отправлять письма и сообщения в группы новостей в этой же кодировке, и в ней же сохранять документы .html. Все остальное - сплошные недостатки: слишком много вопросительных знаков при импорте из Microsoft Word.

ISO8859-5 Единственная кодировка, которая позволяет работать со встроенными в эту версию словарями для проверки русской орфографии и переносов. Имеет также большинство украинских (кроме "г с чубом") и белорусские буквы. Недостатки: письма, отправленные в этой кодировке, не читаются большинством доступных клиентов, в том числе netscape messenger'ом. Кроме того, при нажатии кнопки "отображать непечатные символы" вместо привычных значков наблюдаются русские буквы "З" и "Ж".

CP1251 Наиболее удачная, на наш взгляд, кодировка для тех, у кого нет проблем с русской орфографией: 100% импорт из Microsoft Office, полный набор специальных символов, включая Евро, возможность работать на любом из славянских языков. Недостатки - руссий словарь недоступен, письма отправляются в ISO8859-5.

Вывод можно сделать такой: если нужна почта и новости - работаем в KOI8-R, нужен словарь - ISO8859-5, во всех остальных случаях - CP1251.

Для запуска StarOffice в кодировке, отличной от системной, можно указать полное имя locale непосредственно в командной строке, например:

LANG=ru_RU.CP1251 ~/office52/program/soffice

Либо же можно подредактировать сам файл ~/office52/program/soffice, или файлы kdlnk, или написать свои сценарии для запуска StarOffice в различных кодировках.

Для ввода украинских букв достаточно сменить раскладку клавиатуры при помощи переключателя kkb.

Печать из StarOffice

Для вывода на принтер StarOffice генерирует формат PostScript. Дополнительная русификация интерпретатора Ghostscript не требуется, так как все необходимые шрифты встраиваются в документ.

Как это происходит?

Попробуем разобраться, для чего производились все перечисленные выше действия. Как уже упоминалось, в качестве драйвера печати StarOffice использует библиотеку Bristol Xprinter. Эта библиотека может использовать шрифты только в формате Type1, если шрифт содержит более 256 символов - используются только первые 256, в порядке, описанном в векторе кодировки шрифта. В комплекте со шрифтом обязательно обязательно должен быть файл метрики в формате .afm.

При установке шрифтов программой SPAdmin информация о шрифте добавляется в файл xp3/psstd.fonts в формате, сходном с форматом файлов fonts.dir/fonts.scale. В каталоге xp3/pssoftfonts и xp3/fontmetrics/afm создаются символические ссылки соответственно на файлы шрифта и метрики. После этого Xprinter "узнает" о том, что у него появился новый шрифт.

При запуске StarWriter'а он запрашивает у Xprinter список установленных шрифтов. Только шрифты, перечисленные в psstd.fonts, появятся в списке доступных шрифтов StarWriter'a. А для отображения на экране из X-сервера запрашивается первый попавшийся шрифт, у которого в названии второе поле (Family) совпадает с тем, что написано в psstd.fonts, при этом поля Foundry и Encoding игнорируются. То есть, если в Xprinter установлен шрифт в одной кодировке, а в X - в другой, использовать их в StarOffice практически невозможно. Это происходит со стандартными шрифтами Times, Helvetica, Courier.

Проблемы при работе со StarOffice

Основная проблема заключается в том, что в этой версии безнадежно испорчены все фильтры для работы с форматами, которые не предусматривают указания кодировки - text, rtf, Word6.0/95. При сохранении в любом из этих форматов русские буквы заменяются на "?". То есть обмен документами с пользователями Windows возможен только через формат Word/Excel 97/2000.  Выше упоминалось, что некоторые почтовые клиенты плохо переносят письма в кодировке ISO8859-5, несмотря на явное указание этой кодировки. Кроме того, мы не рекомндуем использовать функцию замены стандартных шрифтов документа (Сервис - Параметры - Текстовый документ - Стандартные шрифты), так как это может вызвать проблемы.

Заключение

Несмотря на отмеченные недостатки, StarOffice - единственный пакет, который позволяет профессионально работать с документами в привычном окружении и обмениваться ими с пользователями Windows, причем абсолютно легально. Авторы и издатели Black Cat Linux выражают благодарность компании Sun Microsystems  за разрешение включить StarOffice в состав дистрибутива Black Cat Linux.

Все перечисленные торговые марки являются собственностью их владельцев.