Текстовый редактор Ted
Редактор Ted задуман автором (Mark de Does) как простой текстовый редактор, работающий под X Window в Unix/Linux системах, и играющий примерно ту же роль, что и WordPad под MS-Windows, только имеющий больше возможностей. Основное преимущество Ted по сравнению с редакторами, которые рассматривались в предыдущих разделах, - это возможность не только вводить и редактировать текст, но и обеспечивать простейшие возможности форматирования текста, изменять шрифты, вставлять в текст таблицы и рисунки. Именно в силу наличия этих возможностей я причислил этот редактор к текстовым процессорам, хотя он и не обладает всеми возможностями развитых текстовых процессоров.
Дистрибутив пакета можно скачать с сайта ftp://ftp.nluug.nl/pub/editors/ted или с сервера metalab: http://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.
увеличить изображение
Рис. 12.14. Основное окно редактора Ted
Ted поддерживает формат файлов .rtf (Rich Text Format), что позволяет обеспечить некоторую степень совместимости с продуктами от Microsoft. А именно, любой файл, созданный в Ted, и сохраненный в формате rtf, будет корректно прочитан программами MS Word под Windows. Обратная совместимость (т. е. возможность открыть любой rtf-файл в Ted) не достигнута, поскольку некоторые опции форматирования, используемые в rtf-файлах, программой 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 может быть полностью русифицирован, я узнал из статьи Виктора Вагнера http://ppg.ice.ru/ppg/wp. Самая интересная возможность русифицированной версии - наличие проверки правописания для русскоязычного текста. Вызов этой функции производится с помощью пункта меню Инструменты | Правописание. При этом появляется дополнительное окно (см. рис. 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 будет выводить все меню и большую часть сообщений в диалоговых окнах по-русски.