Назад | Вернуться к оглавлению. | Далее |
12. Программы для работы с текстом (продолжение)
|
Для того, чтобы текстовый процессор мог считаться мощным и удобным, необходимо, чтобы в нем имелись возможности обработки файлов, созданных в других распространенных текстовых процессорах (Да, да, да! Конечно, в первую очередь тут имеется в виду MS Word!). Как минимум нужно уметь просматривать документы в форматах других редакторов. Можно, конечно, иметь перекодировщики, но с точки зрения удобства использования, это уже минус.
Имея в виду это неформальное определение и рассмотрим несколько программных продуктов для Линукс, претендующих на высокое звание текстового процессора.
Поскольку по своему основному предназначению текстовые редакторы тесно связаны с языком, а мы рассматриваем случай русского языка, при выборе текстового процессора особое внимание приходится уделять тому, имеются ли в нем возможности русификации. Чтобы не повторять одно и то же при описании каждого из рассматриваемых ниже продуктов, замечу сразу, что в моей системе были установлены не только стандартные шрифты Type1, поставляемые с дистрибутивом Black Cat 6.02, но и шрифты True Type от Windows (о подключении шрифтов True Type смотри в разделе 8.5).
Дистрибутив пакета можно скачать с сайта разработчика ftp://ftp.nluug.nl/pub/editors/ted или с американского сервера metalab: [http,ftp]://metalab.unc.edu/pub/packages/editors/ted. Дистрибутив поставляется либо в виде сжатого tar-архива, либо в виде RPM-пакета. Русифицированный вариант редактора можно найти на сервере ftp://ftp.logic.ru/pub/linux/russify/office/ted-static-2.6-ipl6mdk.i386.rpm (конечно, русификация по версиям чуть отстает).
Я устанавливал и русифицированную версию 2.6 редактора Ted, однако после некоторого периода испытаний вернулся к англоязычной версии 2.7, которая датирована 31 декабря 1999 г., и в которой устранены некоторые недостатки предыдущей версии. После ее запуска появляется окно следующего вида:
в котором выведены только три пункта меню: "Find", "Window" и "Help". Очевидно, что для того, чтобы открыть существующий файл для редактирования, нужно выбрать подпункт "Open" меню "File" и выбрать в появившемся окне нужный файл. Для создания нового файла соответственно выбираем подпункт "New" меню "File" или набираем [Ctrl-N].
Ted поддерживает формат файлов .rtf (Rich Text Format), что позволяет обеспечить некоторую степень совместимости с продуктами от Microsoft. А именно, любой файл, созданный в Ted, и сохраненный в формате rtf, будет корректно прочитан программами MS Word под Windows. Обратная совместимость (то есть возможность открыть любой rtf-файл в Ted) не достигнута, то есть некоторые опции форматирования, используемые в rtf-файлах, не воспринимаются Ted-ом. Тем не менее весь текст открываемого файла будет выведен на экран полностью и может быть сохранен в другом (или том же самом) файле, но уже без той информации, которая игнорируется при открытии файла.
Приведу краткий список основных возможностей Ted:
Ted можно использовать для чтения сообщений электронной почты, посланных с Windows-машин. Можно также сконфигурировать Ted как просмотрщик RTF-файлов для Netscape.
О том, что Ted может быть полностью русифицирован я узнал из статьи Виктора Вагнера, которой автор дал характерное название "Ted - word processor моей мечты". Самая интересная возможность русифицированной версии - наличие возможности проверки правописания для русскоязычного текста. Вызов этой функции производится с помощью пункта меню "Инструменты/Правописание". При этом появляется дополнительное окно (смотри рисунок), в котором надо щелкать по кнопочке "Найти следующее" для поиска очередной ошибки.
Правда, судя по первому впечатлению, в той версии, которую я видел (версия 2.6), реализация данной функции имеет много недостатков. Во-первых, все слова, набранные латинским шрифтом, обозначаются как ошибки (хотя даже ispell без проблем игнорирует их). Во-вторых, воспринимаются как ошибки слова, начинающиеся с заглавной буквы (программа предлагает такое слово набрать полностью заглавными буквами). И, что самое непонятное, очень много правильно набранных слов воспринимаются как ошибочные, причем первым же вариантом исправления предлагается в точности то же самое слово.
Впрочем, ошибок много и других. Именно поэтому я вернулся к версии 2.7 и, следуя рекомендациям В.Вагнера, попытался русифицировать ее.
Кодировка экранных шрифтов
Первым делом надо научить Ted вводить и отображать русские буквы. Для того, чтобы Ted правильно отображал шрифты в кодировке koi8-r на экране, надо создать файл xfonts.dir в директории /usr/local/afm, где Ted держит метрики шрифтов (*.afm), поместив в него следующий текст
Courier-Bold -*-courier-bold-r-normal--*-*-*-*-*-*-*-* Courier-BoldOblique -*-courier-bold-o-normal--*-*-*-*-*-*-*-* Courier-Oblique -*-courier-medium-o-normal--*-*-*-*-*-*-*-* Courier -*-courier-medium-r-normal--*-*-*-*-*-*-*-* Helvetica-Bold -*-helvetica-bold-r-normal--*-*-*-*-*-*-*-* Helvetica-BoldOblique -*-helvetica-bold-o-normal--*-*-*-*-*-*-*-* Helvetica-Oblique -*-helvetica-medium-o-normal--*-*-*-*-*-*-*-* Helvetica -*-helvetica-medium-r-normal--*-*-*-*-*-*-*-* Times-Bold -*-times-bold-r-normal--*-*-*-*-*-*-*-* Times-BoldItalic -*-times-bold-i-normal--*-*-*-*-*-*-*-* Times-Italic -*-times-medium-i-normal--*-*-*-*-*-*-*-* Times-Roman -*-times-medium-r-normal--*-*-*-*-*-*-*-*После этого русские буквы вводятся и отображаются нормально. Однако проблема решена еще не полностью: после того как поработаешь с Format tool или любым диалогом, содержащим строку ввода, Ted снова перестает вводить русские буквы. Решение этой проблемы, предложенное Иваном Паскалем, состоит в том, что создается пустой файл
/usr/X11R6/lib/X11/locale/koi8-r/Composeи в файл
/usr/X11R6/lib/X11/locale/compose.dirдобавляется строчка:
koi8-r/Compose ru_RU.KOI8-RЭто решение у меня вполне сработало (за исключением того, что клавиша [Delete] перестала удалять символы и стала вставлять пробелы, так что для исправления ошибок приходится пользоваться клавишей [BackSpace]).
Добавление новых шрифтов
Вместе со стандартным дистрибутивом Ted-а поставляются только 4 шрифта: Courier, Helvetica, Symbol и Times. Если Вы хотите оформлять свои документы более разнообразно, нужно добавить другие шрифты. В Ted можно использовать любой шрифт из числа тех, которые видны у Вас в X11, однако для этого нужно кое-что сделать. Чтобы узнать, какие шрифты у Вас имеются, запустите программу xfontsel и выберите тот фонт, который хотите добавить. Предположим, что это шрифт Bookman Light.
Для того, чтобы Ted увидел новый шрифт, необходимо поместить метрику этого шрифта (метрика - это файл формата .afm) в директорию /usr/local/afm. Метрику можно либо найти готовую, либо создать самому. Ted весьма привередлив к метрикам шрифта. Как пишет В.Вагнер, Ted долгое время отказывался грузить шрифты от kapella, поскольку в afm-файле отсутствуют упоминания нескольких символов, фигурирующих в Adobe Standard Encoding. Вместе с тем, работа с метриками шрифта - обязательное свойство более-менее продвинутой программы форматирования, поскольку той информации о шрифте, которую предоставляет X-сервер, недостаточно для качественной печати. Если вы попытаетесь работать с Ted используя метрики, не соответствующие Вашим шрифтам, результат будет безобразный - слова будут наезжать друг на друга.
Готовые метрики шрифтов можно найти в коллекции Adobe base35, которая находится на FTP-сервере ftp://ftp.adobe.com. Если Вы решите воспользоваться этим способом, скачайте коллекцию метрик шрифтов (или только нужный Вам файл с метрикой) ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles/base35 и проделайте следующие действия.
The translation from the PostScript names of the additional fonts to x font
names in /usr/local/afm/xfonts.dir is given in the following lines:
AvantGarde-Book -urwpp-urw gothic l-book-r-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-Demi -urwpp-urw gothic l-demi-r-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-BookOblique -urwpp-urw gothic
l-book-i-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-DemiOblique -urwpp-urw
gothic l-demi-i-normal--*-*-*-*-p-*-iso8859-1
Русификация интерфейса
Да, Ted позволяет и это. Достаточно перевести на русский язык файл ресурсов, который находится в каталоге /usr/X11R6/lib/X11/app-defaults/ru и называется Ted. (если такого каталога нет, его нужно создать и складывать туда все русифицированные ресурсы. Это правильнее чем класть языко-специфичные файлы в основной app-defaults). После этого, будучи запущенным с русской локалью, Ted будет выводить все меню и большую часть сообщений в диалоговых окнах по-русски.
Процессор обладает всеми особенностями и функциями, которые присущи текстовым процессорам, включая проверку правописания, причем работающую непосредственно в процессе ввода текста.
AbiWord позволяет открывать для редактирования и просмотра файлы
формата Microsoft Word (как MS Word 95, так и MS Word 97). После редактирования
файл можно сохранить в одном из следующих форматов:
- в собственном формате
AbiWord (.abw), подобном формату HTML;
- в текстовом формате (.txt);
- в
формате RTF (.rtf);
- в формате HTML;
- в формате UTF8;
- в формате
LaTex.
Таким образом, в принципе, через формат RTF можно организовать обмен файлами с пользователями MS Word.
К сожалению пока что этот редактор еще находится в состоянии разработки (я смотрел версию 0.7.8). При обращении к некоторым пунктам меню вместо указанного (или ожидаемого) результата появляется сообщение о том, что данный пункт пока не работает. Это относится к таким функциям, как создание нумерованных списков, стили, нумерация страниц и вставка символов. Вместо выполнения соответствующей функции пока что появляется сообщение : "пока не реализовано" ("not implemented yet"). И приглашение-просьба: если Вы программист, присоединяйтесь к разработке, а если не программист, то будьте терпеливы.
Поскольку работа над продуктом продолжается, давайте наберемся терпения в надежде, что появление полноценного продукта (реализующего все заявленные в меню возможности) не за горами.
Между прочим, по адресу http://www.hippo.ru/~hvv/abiword/ можно найти русифицированную версию AbiWord.
Домашняя страница: http://www.sun.com/products/staroffice
Лицензия: Sun's
Community Source License
Скачать с домашней страницы можно бесплатно. CD-ROM
стоит $39.95 (в США).
Текстовый процессор StarWriter входит в состав офисного пакета StarOffice фирмы Sun. Пакет был разработан немецкой фирмой StarDivision, которая была куплена Sun вместе с ее разработкой. Бета-версия StarOffice 5.1а, выпущенная уже от имени Sun, имеет мало принципиальных отличий от тех версий, которые выпускались первоначальным разработчиком. Конечно, появилась эмблема Sun и была значительно (на мой взгляд) облегчена процедура установки, которая теперь очень напоминает процедуры установки Windows-продуктов: ответь на несколько вопросов, а дальше сиди и читай сменяющие друг друга рекламные сообщения. Возможно это явилось следствием того, что пакет StarOffice выпущен и в варианте для Windows.
StarWriter имеет довольно большой набор файловых фильтров и обладает довольно большим сходством с Microsoft Word по набору основных операций, так что переход от Word к StarWriter должен происходить для пользователя достаточно просто.
В июне 2000 г. Sun выпустила версию 5.2 пакета, так что последующее изложение основывается на моем опыте использования версий 5.1 - 5.2.
Возможности
Текстовый процессор StarWriter позиционируется как альтернатива Microsoft Word, удовлетворяющая самым придирчивым требованиям. И действительно, StarWriter обеспечивает большинство возможностей, которые имеет MS Word. С его помощью можно создавать (в режиме WYSIWYG) документы высокого качества. Легко можно получить текст, разбитый на несколько колонок, вставить в текст рисунки и таблицы, врезки, задать формат абзацев, ширину полей и т.п. Имеются возможности, присущие профессиональным издательским системам, такие как управление величиной расстояния между соседними буквами (кернинг), задание стилей для отдельных фрагментов текста (заголовков, цитат и т.п.).
С помощью StarWriter можно создавать конверты, наклейки, письма.
Если говорить о том, в каких случаях стоит использовать StarWriter в качестве текстового процессора, то в первую очередь надо упомянуть тот факт, что он неотделим от остальных частей пакета StarOffice. В силу этого он довольно медленно грузится и вряд ли пригоден для запуска на достаточно старых компьютерах, вплоть до низших моделей Пентиумов. Пакет StarOffice сам по себе представляет собой интегрированную графическую среду, из которой можно запускать все другие приложения, так что он достаточно требователен к ресурсам. Поэтому вряд ли целесообразно использовать StarWriter в таких случаях, когда надо создать небольшую служебную записку или коротенькое электронное письмо (если, конечно, Вы не используете весь пакет StarOffice в качестве своей рабочей среды).
Самое неприятное - это то, что даже последняя версия StarWriter (5.2) не является полностью русифицированной и не достаточно корректно обрабатывает документы, созданные с помощью MS Word.
Если Вы встретили файл, содержимое которого "не читается", то Вам потребуется программа перекодировки. Как говорится в RU.LINUX.FAQ:
"Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Не надо писать новых ;-). Наиболее широко распространены iconv (входит в поставку glibc) и GNU recode."
Программа iconv запускается следующим образом:
[user] $ iconv -f866 -tKOI8-R -o<outfile>
infile
Если не указать выходной файл (опция -o), то результат будет
выдаваться на экран (используя more или less можно удобно
просмотреть файл). Чтобы получить список всех возможных кодировок (а он
огромен!), дайте команду iconv --list, а для получения помощи - iconv
-? или iconv --usage. Между прочим, подсказка по команде man не
выдается. Впрочем, других опций все равно очень немного: только --verbose
(сообщать дополнительные сведения), -V, и --version (обе опции
служат для вывода версии программы).
Программу recode можно найти по упомянутой выше ссылке, а также по
следующему URL: http://www.iro.umontreal.ca/~pinard/recode/".
Запускается она примерно так:
[user] $ recode
CP1251..KOI8-R winfile.txt
Кроме упомянутых команд Вы можете воспользоваться программой "Russian Anywhere", которая существует как в версии для Windows (где я с ней и познакомился), так и в версии для командной строки Линукс (создатели обещают выпустить и графическую оболочку). Эту программу можно скачать (как в исходных кодах, так и в виде исполняемого модуля) с сайта разработчиков http://www.livotov.org/software/.
Исполняемый модуль программы имеет название re. Его лучше поместить в один из каталогов, указанных в переменной PATH.
Программа вызывается из командной строки. Для того, чтобы перекодировать какой-то файл, который "не читается", в кодировку KOI8-R, надо дать команду:
re <SourceFile> <DestFile> ? K
где :
<SourceFile> - исходный (нечитаемый) файл;
<DestFile> - перекодированный файл;
? - сообщает RE,
что кодировка исходного файла не известна и RE должен проанализировать файл и
самостоятельно определить его кодировку;
K - задает кодировку для
результирующего файла (в данном случае KOI-8).
Если Вы знаете кодировку исходного файла, Вы можете указать ее вместо символа
"?". Например, если Вы хотите перекодировать файл letter.txt, который был создан
в Windows и Вы знаете, что файл сохранен в кодировке 1251, то надо дать команду:
re letter.txt letter2.txt W K
После этого, просмотрев файл letter2.txt, Вы увидите вполне читаемый русский текст в KOI8-R.
Полный формат вызова перекодировщика:
re options filename-from filename_to cp-from cp_to [s/d/f] [u/l/s]
options: [-v][-E|-R|-N][-e|-s] -v - выдавать информацию о ходе обработки -n - не выдавать информацию о ходе обработки (задано по умолчанию) -E - преобразовывать все символы p,H из русских в английские -R - преобразовывать все символы p,H из английских в русские -N - оставлять все p,H (русские и английские) как в исходном тексте (задано по умолчанию) -e - перекодировать все символы 0x80 - 0xFF -s - перекодировать только 64 символа русского алфавита (задано по умолчанию) cp-from, cp_to - любой из следующих символов, обозначающих возможные кодировки (по умолчанию - W,K): W - Windows "_" - _xxe D - Dos "%" - %hex K - KOI-8 "\\" - \'hex L - Latin G - Graph_win I - Iso "<" - binhex H - HEX + - +UTF7- S - ShiftKbrd C - C_MIC M - Mac Y - Y_c16 A - AFF Z - Z_c32 O - Odd(UTF8_1) F - F(UTF8_2) B - Base64 P - Pict E - Express N - N_Estl T - T-Html V - V_Vpp855 U - User X - X_sp "-" - -uue J - J_diff
Как уже было сказано, если cp-from="?", то программа пытается самостоятельно определить кодировку исходного файла.
Если у Вас по каким-либо причинам не оказалось ни одной из указанных программ-перекодировщиков, то для просмотра содержимого файла можно воспользоваться одним из браузеров Интернет, которые изначально ориентированы на работу с разными кодировками. Например, сгодится обычный lynx :
$ lynx -assume_local_charset cp866 file.txt
Можно также загрузить "нечитаемый" файл в Netscape Navigator, после чего поменять кодировку через меню "View / Character Set".
Идея, реализованная в этом пакете, очень проста: раз мы не имеем средств для просмотра файлов в формате MS Word, то давайте преобразуем текст из этих файлов в какой-то открытый формат. В качестве последнего выбран html 4.0. После этого полученный файл можно просмотреть с помощью любого Web-браузера. Конечно, при этом некоторые возможности форматирования, имеющиеся в Word, теряются, и это надо иметь в виду, просматривая полученные файлы.
Для установки программы Acrobat Reader 4.05 Вам потребуется 12 МБ дискового пространства, а для работы с программой - 32 МБ ОЗУ. Если у Вас была установлена версия 3.0 этой программы, ее необходимо предварительно удалить.
Прежде чем начать установку, выберите один из двух возможных вариантов установки: сетевой или локальный (на отдельном компьютере).
Локальная инсталляция гарантирует Вам доступ к программе на данном компьютере и может обеспечить значительное большую производительность (особенно в сравнении с работой по загруженной сети). Для локальной инсталляции Вы, естественно, должны иметь право записи в тот каталог, куда будет устанавливаться программа.
Сетевая инсталляция облегчает решение задач администрирования и поддержки программы, особенно в тех случаях, когда программу используют многие пользователи. Очевидно, что легче осуществлять обновление одного экземпляра программы на сервере, чем обновлять множество копий на отдельных компьютерах. Сетевая инсталляция должна выполняться администратором сервера.
Однако сетевая инсталляция имеет и некоторые недостатки. Сервер должен быть высоконадежным и инсталлируемые файлы должны быть установлены в каталог, который должен монтироваться одинаковым образом (в одну и ту же точку монтирования) на всех рабочих станциях сети.
По умолчанию программа Acrobat Reader устанавливается в каталог /usr/local/Acrobat4 (проверьте с помощью команды df, что на соответствующем разделе диска достаточно свободного места).
Если Вы получили файл с программой Acrobat Reader с Web-сайта, требуется вначале разархивировать установочные файлы с помощью программ gunzip и tar. После этого Вам необходимо перейти в каталог, содержащий установочный скрипт и запустить его:
# ./INSTALL
Инсталляционный скрипт выводит на экран несколько вопросов, в частности о том, в какой каталог разместить файлы программы. На каждый вопрос предлагается вариант ответа, который можно принять, просто нажав клавишу [Enter]. Если предлагаемый по-умолчанию ответ Вас не устраивает, введите собственный вариант ответа. В остальном надо просто следовать инструкциям, выдаваемым программой установки. Если Вы где-то ошиблись, можно прервать установку комбинацией [Control-C] и начать все заново.
По завершении процедуры инсталляции появляется сообщение о том, что установка успешно завершена (естественно, по-английски, что-то вроде "installed successfully").
После установки в том каталоге, куда Вы установили программу (напомню, что по-умолчанию это /usr/local/Acrobat4), создаются несколько подкаталогов:
* каталог bin содержит скрипт для запуска программы,
* каталог Reader содержит файлы подсказки и некоторые платформенно-зависимые файлы (смотри примечание ниже),
* каталог Fonts содержит шрифты,
* каталог Browsers содержит скрипт для запуска Acrobat Reader из браузера Netscape.
Ну, и в завершение инсталляции, Вы можете сделать так, чтобы не было необходимости каждый раз для запуска программы Acrobat Reader сначала переходить в каталог, где расположен скрипт запуска. Для этого надо создать ссылку на этот скрипт в одном из каталогов, указанных в переменной $PATH. Для примера создадим такую ссылку в каталоге /usr/bin :
# ln -s /usr/locale/Acrobat4/bin/acroread /usr/bin/acroread
Для того, чтобы было удобно запускать программу и из графической среды, остается только создать иконку на рабочем столе (если Вы не помните, как это сделать, смотрите описание используемой Вами графической среды) и на этом процесс инсталляции программы можно считать завершенным.
или щелчком по иконке на рабочем столе.
Если Вы не создали ссылку, то надо указывать в командной строке полный путь к
скрипту запуска :
$ /usr/local/Acrobat4/bin/acroread
Для того, чтобы просмотреть с помощью Acrobat Reader какой-то конкретный файл
или даже несколько, можно сразу указать имена этих файлов в командной строке.
Например,
$ acroread /share/docs/annual_report.pdf
/user/bob/Schedule.pdf
Если Вы введете команду acroread <filename>, когда Reader уже запущен, активная копия Reader-а отображает заданный файл.
Если Вы хотите получить подсказку по использованию программы, введите одну из
команд
$ acroread -help
$ acroread -helpall
% cat sample.pdf | acroread -toPostScript > sample.ps
С помощью аналогичных команд (более подробное описание которых Вы сможете найти в документации к программе) можно преобразовывать сразу группу файлов.
Для обратного преобразования PDF-файла в файл формата PostScript уровня 2, надо набрать следующую команду:
% acroread -toPostScript -level2 pdf_file_1
Другое дело словари. Без словаря не могут, как мне кажется, обойтись даже профессиональные переводчики. Да и на родном языке мы не всегда понимаем значение некоторых слов, так что вынуждены пользоваться толковыми словарями и энциклопедиями. Так что иметь электронный словарь просто необходимо. И такие словари существуют, в частности, и для Линукса. Ссылки на некоторые из них приведены в разделе ссылок. Естественно, что большинству пользователей в первую очередь требуется англо-русские словари, чтобы понимать пояснения к программам, которые в абсолютном большинстве случаев даются на английском.
Я не проводил сравнительного анализа электронных словарей, результаты которого мог бы Вам здесь предложить. Мне первой попалась программа slovo, разаработанная Д.Анисимовым, к которой я уже привык и она меня вполне устраивает. Эта программа использует широко известный англо-русский словарь Мюллера (хотя могут быть подключены и другие словари) и дает транскрипцию английских слов, так что в обычной практике ее вполне достаточно.
Некоторые затруднения у Вас может вызвать получение транскрипции, поскольку для корректной работы этой части программы необходимо установить специальные шрифты (это естественно, обычные шрифты не содержат знаков транскрипции). Однако в руководстве к программе, которое прилагается и в русскоязычном варианте, необходимые действия подробно описаны, так что объяснять это здесь нет нужды. По крайней мере, у меня все получилось, думаю и у Вас тоже все будет нормально, разве что придется приложить небольшие усилия.
После запуска программы появляется окно следующего вида:
только первоначально три нижних поля пусты.
Вы можете выбрать требующее перевода слово из списка в верхнем поле, либо прямо ввести его в строке ввода (второе сверху поле). В процессе ввода происходит перемещение подсветки в списке слов на слово, ближайшее к введенной Вами комбинации символов. Нажатие на клавишу [Enter] приводит к появлению перевода в нижнем поле окна программы и транскрипции в поле, расположенном над переводом. Пункт меню "Словари" позволяет сменить словарь (не все словари позволяют выводить транскрипцию, в моем случае этим свойством обладал только словарь Мюллера).
Надеюсь, что приведенных пояснений вполне достаточно для того, чтобы Вы смогли результативно пользоваться этой программой.
Назад | Вернуться к оглавлению. | Далее |
В.А.Костромин Последние изменения в содержание файла внесены 2 ноября 2000 г. |