Руководство по русификации StarOffice 5.1a

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

Требования к системе
Подготовка X Window
Установка растровых шрифтов
Установка шрифтов TrueType
Подключение шрифтов Type1
Перезапуск фонт-сервера
Установка StarOffice
Подключение шрифтов Type1 для печати
Запуск StarOffice с драйвером клавиатуры cp1251
Печать из StarOffice
Как это происходит?
Проблемы при работе со StarOffice
Заключение

Ниже будет рассказано о русификации пакета StarOffice 5.1a в кодировке Microsoft-CP1251. Почему именно CP1251? Потому что это, во-первых, обеспечивает возможность обмениваться документами с Microsoft Office, во-вторых, эта кодировка содержит буквы из украинского, белорусского и южнославянских алфавитов, которые отсутствуют в KOI8-R.

Требования к системе

Для русификации StarOffice описанным ниже способом необходим дистрибутив Linux, включающий glibc-2.1 и Xfree86 с поддержкой CP1251 - Mandrake 7.0RE или Black Cat 6.2. Кроме этого, необходимы пакеты растровых (pcf) и масштабируемых (Type1, .pfa или .pfb) шрифтов в кодировке CP1251. Эти пакеты являются составной частью Black Cat Linux 6.2. Кроме этого, желательно иметь основные шрифты TrueType из Windows 9.x - Times New Roman, Arial и Courier New. Их использование необязательно, но установка шрифтов TrueType значительно повысит качество изображения на экране. Желательно также использовать в качестве окружения оболочку KDE, так как StarOffice включает средства интеграции с KDE. StarOffice - достаточно ресурсоемкая программа, поэтому для комфортной работы с ним рекомендуется процессор не хуже Pentium MMX и 64Mb RAM.

Подготовка X Window

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

Для элементов интерфейса (меню, формы поиска и др.) StarOffice использует шрифы в кодировке iso8859-1. Поэтому нам необходимо установить шрифты в кодировке CP1251, которые имеют алиасы (псевдонимы) iso8859-1, и удалить стандартные шрифты XFree-75dpi. Такой пакет входит в Black Cat 6.2, автор шрифтов - Дмитрий Болховитянов. Для этого нужно выполнить следующие команды:

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

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

Для установки шрифтов TrueType необходимо в каталоге /usr/share/fonts/default/TrueType необходимо создать файл 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

После этого сюда же необходимо скопировать все перечисленные в левом столбике файлы шрифтов, которые можно найти в инсталляции Windows (каталог \windows\fonts) либо на страничке Microsoft Typography (для извлечения файлов из самораспаковывающихся архивов необходима программа WinZip для Windows). Теперь можно выполнить в этом каталоге команду mkfontdir, в результате ее выполнения создается файл fonts.dir, полностью аналогичный файлу fonts.scale. Каталог шрифтов 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

Перед установкой убедитесь, что в вашем домашнем каталоге доступно не менее 160Мб. Для запуска установки, находясь в Х, выполните so51inst/office51/setup. Процесс установки подробно описан в документе so51inst/documentation/setup.pdf.

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

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

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

Запуск StarOffice с драйвером клавиатуры CP1251

Поскольку установленные нами шрифты имеют кодировку CP1251, необходимо обеспечить возможность ввода кириллицы с клавиатуры именно в этой кодировке, сохранив возможность работать с KOI8-R во всех остальных приложениях. Для этого необходимо перед запуском StarOffice установить переменную окружения _XKB_CHARSET=MICROSOFT-CP1251. Это можно сделать непосредственно в командной строке запуска StarOffice, например так:

bash$ _XKB_CHARSET=MICROSOFT-CP1251 ~/Office51/bin/soffice

Можно добавить строку "export _XKB_CHARSET=MICROSOFT-CP1251" непосредственно в скрипт запуска StarOffice - ~/Office51/bin/soffice, это обычный текстовый файл.

Для переключения между русской и украинской раскладками необходимо использовать переключатель раскладок kkb, который интегрирован в Black Cat KDE.

Печать из 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. К счастью, если установлены шрифты Times New Roman, Arial, Courier New - им отдается приоритет.

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

Основная проблема StarOffice 5.1a - несовместимость с форматом Office97/2000. Просьба не обращаться к автору этого документа с вопросами, почему при открытии таких файлов не видно русских букв! Напишите своим корреспондентам, чтобы они слали вам документы только в формате Word 6.0/95 и Excel 5.0/95. Другая проблема - сохранение файлов в формате HTML, при этом русские буквы превращаются в &umlaut; и т.д. В читаемый формат их можно перевести при помощи входящей в дистрибутив программы recode, с ключом -html.
Еще одна проблема - работа с почтой и новостями. Исходящая почта отправляется только в формате Quoted Printable и только с charset=iso8859-1 в заголовке, то есть пользоваться почтой и новостями в этой версии StarOffice вообще не рекомендуется.

Заключение

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