танию со шрифтом cmr10, чтобы английские тексты воспроизводились правильно.) Какие именно --- что найдете. Были использованы русские шрифты N.Glonti, имеющиеся в поставке Slackware 2.0.1. Модифицированный формат сохраняется под другим именем, скажем, rplain.tex.
tex -i "rplain \input rus \input ruhyph \dump \end"
tex '&rplain' ...
Первый из дополнительных файлов, rus.tex, содержит нечто вроде
\catcode`\^^80=11 \lccode`\^^80="A0 % А \catcode`\^^81=11 \lccode`\^^81="A1 % Б ... \catcode`\^^9f=11 \lccode`\^^9f="EF % Я \catcode`\^^a0=11 \lccode`\^^a0="A0 \uccode`\^^a0="80 % а \catcode`\^^a1=11 \lccode`\^^a1="A1 \uccode`\^^a1="81 % б ... \catcode`\^^ef=11 \lccode`\^^ef="EF \uccode`\^^ef="9F % ят.е., просто указывает TeX'у, что есть русские буквы с такими кодами (catcode), и для каждой задается соответствующая строчная (lccode) либо прописная (uccode) буква. Обязательным является задание catcode, прочее можно опустить, но при этом командные слова \uppercase и \lowercase работать не будут, а также возникнут проблемы с переносами. Набор текста ведется без какого-либо переключения языков, русские буквы допустимо использовать в именах командных слов. Эта русификация пользуется кодировкой 866, как в использованных шрифтах, вы можете сделать, как вам нужно.
Второй файл, ruhyph.tex, был взят из поставки Русский Linux "Красная Шапочка", 5.0. В нем заданы таблицы переноса для русских слов. К сожалению, многие слова не переносятся. Для облегчения поисков приведем размер и дату файла: 32345 байт, датирован 16-м ноября 1997.
Такой метод русификации сравнительно прост как в исполнении, так и в пользовании. Единственный его недостаток, который пока что известен --- его не получится "просто так" приспособить к другим языкам, пользующимся кириллицей, например, украинскому: придется вводить механизм явного переключения языков, т.е. имитировать более развитые пакеты. Но такой цели не ставилось --- требовался простой способ набирать смешанные русско-английские тексты. IMHO, для этого он годится.
Следует также отметить, что буквам присваивается "естественная" лексическая категория "11" (буква), а не "13" (активный символ), что положительно влияет на быстродействие, а также позволяет определять русские имена командных слов, чего не умеют некоторые другие локализации.
Любая конструктивная критика будет с благодарностью рассмотрена.
© 1999 Сергей Короп, <svk@lib.ru>
Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.