Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Электронный офис в Linux

Composer - перспективный текстовый редактор на основе HTML

Оригинал: Composer, a potential HTML based word processor
Автор: Maurice Cepeda
Дата: 3 июня 2008
Перевод: Александр Тарасов aka oioki
Дата перевода: 21 июля 2008

Розалин Хантер писала об использовании Composer в качестве замены текстового процессора. Я тоже пользовался им в этом качестве на Mac OS X. Мне он нравится по многим причинам. Во-первых, он мне привычен - с его помощью я писал тексты для веб. Программа создает HTML-файлы. Я пришел к убеждению, что HTML не такой уж плохой язык для текстового процессора, ведь возможностей по форматированию текста вполне хватает для большинства задач. Хотя и неочевидно, однако Composer - это HTML-редактор, входивший в состав старого пакета Mozilla Application Suite.

Хотя разработка этого пакета остановилась несколько лет назад, однако на его основе был начат другой проект - SeaMonkey, и Composer входит в его состав. Вообще был и самостоятельный редактор Nvu, и его новый преемник - KompoZer. Однако оба этих проекта развиваются не очень резво: главный разработчик Nvu - Даниэль Глезмен переключился как раз на разработку новой версии Composer, а последняя версия KompoZer, движимого сообществом, вышла около года назад.

Функции Composer

Сейчас я объясню, почему Composer можно считать достойной заменой текстового процессора. Нужно помнить, что перечисленные ниже функции не являются революционными, однако суть в том, что пользователям зачастую не нужны функционально раздутые текстовые процессоры. А Composer действительно можно использовать в качестве временной замены текстового процессора. Уже сейчас он содержит функции, из которых может вырасти полноценный редактор. Вот они:

  • базовое форматирование (выравнивание, абзацы, маркированные списки);
  • разнообразие шрифтов;
  • таблицы;
  • изображения;
  • проверка правописания (по словарю);
  • гипер-ссылки;
  • проверка правописания в реальном времени (если включена).

Composer - это HTML-редактор, поэтому следует отметить следующее:

  • Имеется поддержка различных кодировок - например, универсальная UTF-8 и любимая мной в прошлом ISO-8859-3 (для южноевропейских языков). Внутри программы можно быстро переконвертировать текст из одной кодировки в другую;
  • HTML - такой язык разметки, что текст, написанный на нем, сложно прочитать обычному человеку. Однако HTML все-таки позволяет модифицировать текст на низком уровне - редактируя код во вкладке Source, чего вряд ли можно добиться, открыв, к примеру, документ Microsoft Word в обычном текстовом редакторе;
  • Имеется поддержка FTP, для передачи/сохранения документов на FTP-сервера;
  • Документы, созданные в Composer, можно легко вкладывать в электронную почту. Просто скопируйте и вставьте код;
  • И, пожалуй, самое важное - HTML-файлы можно открыть в любом браузере в любой операционной системе. Представьте, что вам пришлось бы сказать друзьям и коллегам: "Я не могу открыть твой файл. Пришли мне его в формате Word". С HTML такого не будет.

Для уменьшения размеров HTML-файлов Composer ведет себя как и Scribus, а именно не сохраняет картинки внутри редактируемых HTML-файлов. Таким образом, документы получаются малого объема. Нужные картинки можно размещать на FTP-серверах, а в документах указывать ссылки на них. При этом, правда, нужно обращать внимание на правильное составление самих ссылок, иначе картинки отображаться не будут.


Написание этой статьи в Composer

Почему Composer не пользуются как текстовым процессором?

Раз так все хорошо, почему Composer не развился в полноценный текстовый процесор? Могу сделать следующие предположения. Может быть, потому что Microsoft Word победил в умах большинства пользователей. Свободные альтернативы, такие как OpenOffice.org (OOo) и Abiword, крепко заняли свои позиции. Еще есть NeoOffice (NeoO) для OS X и портированная на Java версия OpenOffice.org. Однако, рассмотрев их, я понял, что они: медленные (NeoO), большие по объему (NeoO и OOo) и глючные (NeoO). В отличие от своих свободных конкурентов, Word в Windows запускается быстро - однако стоит вспомнить, что это достигается благодаря тому, что основные части Word предварительно загружаются в память, что вряд ли можно назвать эффективным использованием ресурсов компьютера. Нельзя сказать, что у Composer нет своих недостатков... Но взгляните еще раз на другие программы: медлительный запуск, общая медлительность, проблемы совместимости (Abiword для OS X) и агрессивное использование памяти - почему бы не воспользоваться Composer?

С другой стороны, весомым недостатком Composer являются сложности в разметке документа. Нельзя заранее знать, как будет выглядеть документ на печати. Вдобавок Composer при печати выводит в заголовке путь к файлу, что в большинстве случаев нежелательно и некрасиво. В OS X этот эффект можно обойти, распечатав документ, переконвертированный в PDF через Shiira 2.0 b2 - при этом заголовка не будет. Насколько мне известно, настройки печати в SeaMonkey изменять нельзя, и ни KompoZer, ни Nvu, ни suiterunner (нестабильная версия SeaMonkey) не позволяет отключить печать заголовка. Возможность выбора размера бумаги и реализация WYSIWYG делает Composer достойным звания простенького текстового процессора.

Как насчет LaTeX?

Есть еще одна причина, почему никто не принимает всерьез эту идею HTML-процессора. Ведь уже несколько десятков лет существует другая система текстовой разметки, которой, впрочем непросто обучиться. Я говорю о LaTeX - системе, которая дает профессиональный результат. К сожалению, область применения LaTeX ограничена академическими кругами, со стороны обывателей у него никогда не было нормальной поддержки. Установка системы сопряжена с определенными трудностями - ведь нужно поставить множество разных файлов из разных источников и распространяемых под разными лицензиями. К примеру, чтобы получить работающую систему, вам понадобится оболочка, основной пакет и наверняка понадобится куча разнообразных расширений. Еще одной проблемой LaTeX является совместимость. Обычные программы, такие как интернет-браузеры, не умеют отображать файлы LaTeX. С другой стороны, конечно, стоит признать, что математические формулы, набранные средствами HTML, не идут ни в какое сравнение с формулами, набранными в LaTeX. Но, опять же, немногим из нас нужны профессионально выглядящие формулы или сверхвысокое соответствие принципам WYSIWYG.

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

Вы можете обвинить меня в том, что я сравниваю яблоки и апельсины, и будете правы. Но я бы не стал останавливаться исключительно на одной концепции - ведь такое приложение, как Composer потенциально может реализовать сразу обе. Composer позволяет просто редактировать текст (реализуется текстовый подход), а стилизация отдельных или групп слов осуществляется средствами CSS (Cascading Style Sheets - Каскадные таблицы стилей) и реализуется документный подход. То есть CSS работают как шаблоны, освобождая автора от необходимости задумываться о вопросах форматирования (представления). Шаблон можно сделать потом, не отрываясь от основного мыслительного процесса.

В противовес обычной критике HTML за непоследовательное форматирование как раз выступает CSS, увеличивающий однородность дизайна. Кросс-платформенная совместимость HTML и тот факт, что HTML-файлы можно просмотреть в любом браузере (даже написанном с использованием консольной библиотеки curses) - и вот у вас мощный формат обмена документами. Теперь становится очевидно, что Composer следует развивать дальше, чтобы обеспечить пользователя возможностью выбора обеих концепций.

Scribus - реализация системы страничной разметки на основе XML

Отвлечемся от рассматриваемого HTML-редактора. Поглядим на одну свободную программу с функциями разметки, которых так не хватает в Composer. Эта программа страничной верстки называется Scribus. Есть версия и для OS X (Scribus/Aqua). Программа довольно легко устанавливается и мало зависит от других пакетов. Обучиться работе в ней несложно, хотя процесс обучения и отличается от обычных текстовых процессоров. Версия для OS X немного медлительная, а клавиатурные комбинации не всегда срабатывают, однако в ней можно работать. Эти проблемы относятся к самой OS X (ведь в GNU/Linux программа летает). Уверен, что в будущем версия стабилизируется.

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

Другие текстовые процессоры на основе HTML

Конечно, были и другие попытки создать HTML текстовый процессор. Типичные представители - FLWriter и EZ editor (последний может даже создавать формулы); GWP (GNOME Word Processor) также, видимо, задумывался как HTML текстовый процессор (однако сложно что-то про него сказать, ведь его веб-сайт обновлялся в последний раз в 1998 году!). Похоже, все эти проекты умерли, лишь FLWriter еще жив, да и тот в альфа-стадии.

С другой стороны, Composer - зрелый HTML-редактор, которому бы добавить средств разметки - и получился бы замечательный продукт, объединяющий текстовый и документных подходы. Ведь большая часть работы уже сделана...

Редакторы, родственные Composer

Другие редакторы

Оболочки LaTeX

Другие источники информации по LaTeX и его реализациям