12.7.3 Текстовый редактор Ted

12.7.3 Текстовый редактор Ted

Редактор Ted задуман автором (Mark de Does) как простой текстовый редактор, работающий под X Window в Unix/Linux системах, и играющий примерно ту же роль, что и WordPad под MS-Windows, только имеющий больше возможностей. Основное преимущество Ted по сравнению с редакторами, которые рассматривались в предыдущих разделах, - это возможность не только вводить и редактировать текст, но и обеспечивать простейшие возможности форматирования текста, изменять шрифты, вставлять в текст таблицы и рисунки. Именно в силу наличия этих возможностей я причислил этот редактор к текстовым процессорам, хотя он и не обладает всеми возможностями развитых текстовых процессоров.

Дистрибутив пакета можно скачать с сайта ftp://ftp.nluug.nl/pub/editors/ted или с сервера metalab: [http,ftp]://metalab.unc.edu/pub/packages/editors/ted.

Дистрибутив поставляется либо в виде сжатого tar-архива, либо в виде RPM-пакета. Русифицированный вариант редактора можно найти на сервере ftp://ftp.logic.ru/ (конечно, русификация по версиям чуть отстает).

Я устанавливал и русифицированную версию 2.6 редактора Ted, однако после некоторого периода испытаний вернулся к англоязычной версии 2.7, которая датирована 31 декабря 1999 г., и в которой устранены некоторые недостатки предыдущей версии.

После ее запуска появляется окно, в котором изображена гравюра в стиле Альбрехта Дюрера, указана версия программы, ссылка на сайт разработчиков и имеется всего три пункта меню: File, Window и Help. Очевидно, что для того, чтобы открыть существующий файл для редактирования, нужно выбрать подпункт Open меню File и выбрать в появившемся окне нужный файл. Для создания нового файла соответственно выбираем подпункт New меню File или набираем ‹Ctrl›+‹N›. После открытия файла окно программы приобретает вид, изображенный на рис. 12.14.

Ted поддерживает формат файлов .rtf (Rich Text Format), что позволяет обеспечить некоторую степень совместимости с продуктами от Microsoft. А именно, любой файл, созданный в Ted, и сохраненный в формате rtf, будет корректно прочитан программами MS Word под Windows. Обратная совместимость (т. е. возможность открыть любой rtf-файл в Ted) не достигнута, поскольку некоторые опции форматирования, используемые в rtf-файлах, программой Ted не воспринимаются. Тем не менее текст открываемого файла будет выведен на экран полностью, и может быть сохранен в другом (или том же самом) файле, но уже без той информации о форматировании, которая игнорируется при открытии файла.

Рис. 12.14. Основное окно редактора Ted

Приведу краткий список основных возможностей Ted.

• Редактирование файлов в режиме WYSIWIG. При этом вы можете использовать все шрифты, для которых у вас имеются.afm-файлы и которые доступны для X11. Ted поставляется с .afm-файлами для шрифтов Adobe, которые имеются для систем, основанных на Motif, и могут использоваться со всеми postscript-принтерами: Times, Helvetica, Courier и Symbol. Другие шрифты могут быть добавлены с помощью обычных процедур, используемых для этого в X11. Поддерживаются такие свойства шрифтов как выделение (bold), курсив (italic), подчеркивание, верхние и нижние индексы.

• Вставка рисунков в формате bitmap.

• Печать на PostScript-принтерах.

• Работа с файлами в формате Acrobat PDF.

• Проверка правописания для 12 языков, основанных на латинском алфавите.

• Отправка документов по e-mail не выходя из Ted.

• Операции Cut/Copy/Paste, включая обмен с другими приложениями.

• Поиск/Замена.

• Форматирование абзацев: отступ на первой строке, смещение всего абзаца, использование линеек.

• Разбиение текста на страницы.

• Вставка таблиц и операции с таблицами: операции с колонками и строками таблиц, изменение размеров с помощью линеек.

• Поддерживается вставка символов из разных кодовых таблиц.

• Гиперссылки и закладки (bookmarks).

• Сохранение документа в текстовом и HTML-формате.

Ted можно использовать для чтения сообщений электронной почты, посланных с Windows-машин. Можно также сконфигурировать Ted как просмотрщик RTF-файлов для Netscape.

Рис. 12.15. Проверка правописания в редакторе Ted

О том, что Ted может быть полностью русифицирован, я узнал из статьи Виктора Вагнера [П14.19]. Самая интересная возможность русифицированной версии - наличие проверки правописания для русскоязычного текста. Вызов этой функции производится с помощью пункта меню Инструменты | Правописание. При этом появляется дополнительное окно (см. рис. 12.15), в котором надо щелкать по кнопочке "Найти следующее" для поиска очередной ошибки.

Правда, судя по первому впечатлению, в той версии, которую я видел (версия 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 можно использовать любой шрифт из числа тех, которые видны у вас в графической оболочке, однако для этого нужно кое-что сделать. Чтобы узнать, какие шрифты у вас имеются, запустите программу xfontsel и выберите тот шрифт, который хотите добавить. Предположим, что это Bookman Light.

Для того, чтобы Ted увидел новый шрифт, необходимо поместить метрику этого шрифта (метрика - это файл формата.afm) в директорию /usr/local/afm. Метрику можно либо найти готовую, либо создать самому. Ted весьма привередлив к метрикам шрифта. Как пишет В.Вагнер, Ted долгое время отказывался грузить шрифты от kapella, поскольку в afm-файле отсутствуют упоминания нескольких символов, фигурирующих в Adobe Standard Encoding. Вместе с тем, работа с метриками шрифта - обязательное свойство более-менее продвинутой программы форматирования, поскольку той информации о шрифте, которую предоставляет X сервер, недостаточно для качественной печати. Если вы попытаетесь работать с Ted, используя метрики, не соответствующие Вашим шрифтам, результат будет безобразный - слова будут наезжать друг на друга.

Готовые метрики шрифтов можно найти в коллекции Adobe base35, которая находится на FTP-сервере ftp://ftp.adobe.com, а инструкцию по их установке - в файле подсказки по редактору Ted.

В заключение замечу, что Ted позволяет осуществить русификацию интерфейса. Достаточно перевести на русский язык файл ресурсов, который находится в каталоге /usr/X11R6/lib/X11/app-defaults/ru и называется Ted. Если такого каталога нет, его нужно создать и складывать туда все русифицированные ресурсы. После этого, будучи запущенным с русской локалью, Ted будет выводить все меню и большую часть сообщений в диалоговых окнах по-русски.