Линукс - это по нашему
О русских буквах, шрифтах и тому подобном

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

Я пользуюсь, как уже писал, вариантом Линукса, именуемым Linux Mandrake 6.0/RE. Последние две буковки, как нетрудно догадаться, означают - русская редакция. Подготовленная IPLabs Linux Team. И вполне оправдывающая свое название. Почему - ответить не сложно.

Если при инсталляции выбрать в качестве языка русский, базовая русификация происходит без всякого участия пользователя. То есть: автоматически русифицируется консоль, появляются русские шрифты в текстовом режиме и русские буквы во многих приложениях KDE - X-менеджера по умолчанию. И в текстовом, и в графическом режиме подключается одинаковая русская раскладка клавиатуры (соответствующая виндовой) и обеспечивается ее единообразное переключение - клавишей CapsLock.

О клавишах

Могут сказать, что это - не очень удобно. Не согласен. Нажать одну клавишу всегда проще, чем их комбинацию - вроде двух Shift'ов в DOS'е или всякого рода комбинаций Alt'ов, Control'ов и Shift'ов (да еще с различением левых и правых) в Windows. Правда, и в Виндах можно переключать раскладку одной клавишей, однако это Alt или Control, достаточно часто использующиеся для других целей. Да еще и правые - а ведь правая рука компьютерщика лежит на мыши, как правая рука вездеходчика - на рычаге передач.

Клавиша же CapsLock используется редко: если же все таки требуется массовый ввод в верхнем регистре, не лениво нажать ее в сочетании с Shift'ом (для возвращения первозданной функции). И, главное, расположена достаточно удобно (в отличие от иногда используемого с той же целью ScrollLock'а), а вероятность случайно нажать ее - достаточно мала.

Могут возразить, что все таки надо бы дать пользователю несколько вариантов переключения клавиатуры. И с этим, не смотря на свою любовь к свободе выбора, не могу согласиться. Не тот случай. Ведь не приходит же никому в голову (если она - здравомыслящая) дать свободу выбора в вопросе лево- или правостороннего управления автомобилем. Кто бывал в Петропавловске-Камчатском - знает, к чему это приводит.

Так и с раскладками. Сколько раз, бывало, прихожу на работу и после набора нескольких русских слов обнаруживаю, что кто-то изменил мои привычные Shift-левый Alt (в Виндах, разумеется) на что-нибудь другое... Так что уж лучше один плохой стандарт, чем много хороших. Тем более, что этот, как я пытался показать, вовсе не плох.

В принципе, сразу после окончания инсталляции можно начинать набирать русские тексты (хотя и мешает отсутствие индикатора раскладки). Если работать в консоли или пользоваться теми штатными средствами KDE, о которых я писал в одной из первых заметок. Однако - не со всеми.

Например, попытка ввести русские буквы в Klyx'е (текстовом процессоре, базирующемся на TEX'е) не даст никакого результата. Даже в виде греко-французской абракадабры, когда, по аналогии с Виндами, можно было бы заподозрить отсутствие русских шрифтов или тому подобное. Нажимая русские клавиши, вы просто не увидите вообще ничего.

Что делать? Об этом весьма внятно написано в книжке, идущей в комплекте с описываемым дистрибутивом. То есть надо повозиться с менеджерами клавиатуры (или как они правильно называются?).

В KDE их два: штатная kikbd - интернациональная клавиатура, и kkb - отечественное, как я понимаю, добавление. Относительно первой в руководстве сказано, что даже при единичном запуске она напрочь сносит все русские настройки клавиатуры. И рекомендуется никогда ее не запускать. Поскольку руководство это меня еще ни разу не подводило, я поверил на слово. И другим того же советую.

Вместо нее рекомендуется использовать kkb. Ее пиктограмма появляется на десктопе KDE сразу после инсталляции. Вызов ее приводит к появлению на панели (в правом нижнем ее углу, возле часов) индикатора языка клавиатуры в виде российского флага. Щелчок на индикаторе правой клавишей мыши вызывает меню, в котором предлагаются на выбор простая русская раскладка клавиатуры (это та, которая была установлена при инсталляции) или т.н. "хакерская" раскладка. Здесь же можно включить.выключить звуковой сигнал при переключении, а также выйти из kkb.

Хакерская раскладка - это именно то, что позволяет работать с русскими буквами в приложениях, изначально кириллицу не поддерживающих. Типа того же Klyx'а или большинства полукоммерческих офисных комплектов (того же StarOffic'а, например). При ее выборе (что можно сделать не только мышью, но и комбинацией Control+F11), индикатор приобретает вид флага РСФСР советских времен. Переключение с латиницы на кириллицу - той же клавишей CapsLock, что и при обычной раскладке; впрочем, в обоих случаях можно переключаться и просто одинарным щелчком левой клавиши мыши на индикаторе.

Теоретически, если X-Window при инсталляции установился без проблем, этого должно быть достаточно. Однако если приходилось пользоваться XConfigurator'ами или xf86config'ами, исходная раскладка могла измениться непредсказуемым образом (я уже упоминал, что в результате таких упражнений у меня получилось что-то вроде DOS'овской раскладки, но с цифрами на верхнем регистре и знаками препинания - на нижнем). И в этом случае при хакерской раскладке кириллица может и не появиться.

В этом случае следует осмотреть файл XF86Confog (напомню, что он находится по адресу /etc/X11) и озаботиться, чтобы в секции Keyboard в нем присутствовали строки типа

Protocol "Standard"
XkbRules "xfree86"
XkbModel "pc104"
XkbLayout "ru"

У меня после этого все заработало, и более того: обычная русская раскладка тоже вернулась к Виндовому виду (такому же, как и хакерская). Что, не смотря на ее очевидное неудобство, все же более привычно.

А в принципе процесс настройки kkb детально описан в документации к ней (/usr/doc/kkb-0.x), в том числе и по русски.

О шрифтах

Как уже говорилось, сразу после инсталляции KDE на десктопе присутствуют русские буквы. Поскольку варианта дистрибутива, о котором идет речь, частично русифицирован. Правда, именно частично. Довольно забавно наблюдать в пунктах меню чехарду типа пунктов "Закрыть" и "Close all". Впрочем, и Москва не сразу строилась...

А вот что удручает по настоящему - это русские шрифты. Производства Cronyx. Весьма далекие не только от эстетического идеала, но и просто от удобочитаемости. особенно при малых кеглях.

Впрочем, увеличение кегля делает только хуже. Шрифты эти, представленные гарнитурами Times, Courier и парой-тройкой гарнитур Sans Serife, относятся к растровым. И, следовательно, с увеличением размера приобретают ясно выраженные зазубренные очертания. Что особенно уродливо выглядит в графических приложениях типа GIMP'а или Killustrator'а. А уж на курсивное начертание лучше не смотреть.

Впрочем, смотреть на это безобразие и не обязательно. XWindow позволяет подключать шрифты многих типов, в том числе Adobe Type 1 и True Type. Причем - в различных кодировках, если дело касается кириллицы. Хотя не все из подключенных шрифтов будут работать во многих приложениях, однако экранную картину это существенно улучшит.

Правда, процесс этот не столь прост, как в Windows, и требует ряда манипуляций руками. Помучавшись со штатными буковками (назвать их шрифтами язык не поворачивается), я решил эти манипуляции проделать.

В качестве объекта приложения своих сил я избрал шрифты Adobe Type 1. Как более универсальные и имеющие в кириллическем варианте кодировку KOI-8 - основную для Линукса и Интернета. Ведь то немногое, что мне требуется в CP1251, всегда можно конвертировать (и в Линуксе, и в Виндах, это давно не проблема).

Поиски в Сети, однако, показали, что изобилия русских шрифтов Type 1 KOI-8 - отнюдь не наблюдается. Наиболее полная (вернее, наименее неполная) подборка предлагалась в комплекте с описанием русификации StarOffice. Которую я и скачал. Шрифты эти можно найти во многих местах, ссылки можно найти на OpenNet.ru или на iXBT Software.

Итак, шрифты я скачал в виде tar-архива размером чуть больше мегабайта. Благополучно распаковал его. Выяснилось, что он содержит собственно шрифтовые файлы (*.pfb), файлы шрифтовых метрик (*.afm), два add-файла (fonts.dir.scale.add и psstd.fonts.add), а также READMY с весьма подробными указаниями дальнейших действий. Руководствуясь ими, я переписал pfd-файлы в каталог /usr/X11R6/lib/X11/fonts/Type1 (воспользовавшись своим правом root'а); метрики нужны, как я понял, для установки шрифтов принтерных, что, за отсутствием соответствующего устройства, для меня пока не актуально.

В том же каталоге имелись два файла - fonts.dir и fonts.scale. Это - простые текстовые файлы, содержащие, как я понимаю, описание шрифтов (вернее, шрифтоначертаний, с указанием кодировки для кириллицы) данного каталога, количество которых указано в первой строчке файла. В них следовало внести изменения.

Вероятно, можно сделать это и в ручную, в любом текстовом редакторе, если знать соответствующие параметры. Которые достаточно прозрачно устанавливаются из имени файла (кое-что можно почерпнуть и из метрики). Однако в данном случае все было проще, поскольку любезно предлагался специально предназначенный для этого файл fonts.dir.scale.add. Каковой и был добавлен командой

cat fonts.dir.scale.add >> /usr/X11R6/lib/X11/fonts/Type1/fonts.dir; \
cat fonts.dir.scale.add >> /usr/X11R6/lib/X11/fonts/Type1/fonts.scale

После чего оставалось сосчитать количество добавленных шрифтов и приплюсовать его к числу в первой строчке каждого файла (каковые должны быть, очевидно, идентичны по содержанию).

В результате я получил пять новых кириллических гарнитур - arial, kourier (именно так!), times, а также pragmatica и times et (каждая - доступная во всех четырех основных начертаниях). Несколько более грубые, чем их true type аналоги для Windows, но по сравнению с тем, что было ранее - просто верх шрифтового искусства. Я немедленно применил их к своему десктопу и всем используемым приложениям - и с тех пор чувствую себя гораздо лучше.

Конечно, изобилие не то, что в Виндах. Но, поскольку исходный принцип понятен, остальное - вопрос времени и терпения. Ведь существует достаточное количество программ для конвертации шрифтов True Type в Type 1. Чем на досуге и собираюсь заняться. Естественно, качество таких конвертированных шрифтов будет, как я понимаю, хуже, чем оригинальных. Но тут уж ничего не поделаешь. Остается надеяться, что какой-нибудь профессиональный фонт-дизайнер из любви к искусству займется разработкой собственно кириллических шрифтов для XWindow...

Наконец, о прочем

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

Как же с этим обстоит дело под Линуксом? Очень просто. В состав любого дистрибутива входит программа проверки орфографии под названием ispell. Которая автоматически подключается к любому Линукс-приложению, имеющему дело со Словом. Программа эта давно уже имеет русский вариант. И если озаботиться установкой последнего при инсталляции (а при выборе русскоязычной инсталляции это происходит по умолчанию) - больше ничего и не требуется. Разумеется, в используемом мной дистрибутиве - в других, возможно, придется что-нибудь поправить руками.

После этого любые набранные по русски тексты проверяются по правилам правописания именно русского языка. Единственно, в некоторых приложениях (например, в Klyx'е) язык документа надо определить явным образом.

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

Разумеется, есть такие обычные для современных Spellchecker'ов опции, как создание пользовательских словарей и возможность внесения в словать неизвестного слова. Правда, каждую грамматическую форму надо вносить отдельно. Но это - неизбежная плата за флективность русского языка.

Таким образом, в современном Линуксе имеются все необходимые средства для работы с русским языком. Хотя их использование может быть несколько более сложным, чем в Windows, оно вполне посильно любому пользователю. Требуя лишь внимательного чтения документации. Но, как я уже говорил, Линукс любит читателя.

С чем пока и попрощаюсь

Алексей Федорчук
Щербинка, 21 ноября 1999 г.



Реклама в Интернет
©Алексей Федорчук