Текстовые файлы -- наиболее распространенный тип данных в компьютерном мире. Существуют несколько проблем, связанных с текстовыми файлами. Первая -- чрезвычайно большое количество символов, требующихся для поддержки различных языков. Американские программисты для работы со 128 символами используют набор символов US ASCII (американский стандартный код для обмена информацией). Для поддержки других языков зачастую не хватает и 256 символов, поэтому сейчас осуществляется постепенный переход к кодировке Unicode, в которой для хранения одного символа отводится уже два байта (т. е. имеется возможность закодировать 65 536 различных символов).
Вторая проблема заключается в том, что люди хотят, чтобы распечатываемые документы содержали графики, диаграммы, примечания, заголовки и чтобы при этом использовались различные шрифты. Документы, распространяемые в Интернет (онлайновые документы), могут содержать мультипликацию, ссылки на различные сетевые ресурсы и звуковое сопровождение.
Многие текстовые файлы передаются в виде простого текста (plain text). Простой текст сложно сделать привлекательным и легко читаемым, так как в нем нет шрифтов различных начертаний, графики, заголовков, подзаголовков и т. д. Эти дополнительные особенности носят название разметки текста (markup).
Говоря о разметке текста, выделяют понятия физической и логической разметки. При использовании физической разметки текста указывается точный вид каждого фрагмента. Например, "центрированный текст, 14-м кеглем, жирный, гарнитура Times". При логической разметке указывается логическое значение данного фрагмента, например, "это заголовок главы". Эти два способа разметки предназначаются, как правило, для использования в разных ситуациях. Для того чтобы распечатать текст на принтере, необходимо использовать физическую разметку. Должны быть приняты решения о размере полей и абзацных отступах. Ранние версии текстовых процессоров использовали только физический тип разметки. При этом для каждого фрагмента указывался шрифт, размер и стиль.
При обмене информацией с другими людьми физическое оформление текста накладывает ряд ограничений, особенно для онлайновых документов. Размер экрана, разрешение, шрифты различны для различных систем. По этим причинам все чаще используется логическое оформление текста. В некоторых случаях логическое оформление практически необходимо: при создании электронных документов типа страниц WWW или при создании и публикации объемных трудов, таких как книги.
Для сохранения разметки документов при передаче текстовой информации от машины к машине применяют разные способы. Текстовые процессоры и издательские системы используют специально разработанные форматы файлов, содержащие не только текст, но и информацию о том, как он должен быть оформлен. Основная проблема здесь в несовместимости таких форматов, хотя наиболее сложные программы обычно могут читать файлы в форматах программ-конкурентов. Примерами такого подхода являются текстовые процессоры Word и StarWriter.
При другом подходе непосредственно в текст документа вставляются специальные команды разметки. Даже если у вас нет программного обеспечения, поддерживающего такой формат, вы все же сумеете в нем разобраться. Существует немало способов подобного представления разметки текста, в том числе:
- HyperText Markup Language (HTML), использующийся в World Wide Web;
- TeX и LaTeX, пользующиеся популярностью у многих академических изданий, а также у математиков, физиков, химиков и даже музыкантов.
Файлы, созданные разными редакторами, зачастую имеют уникальные расширения, позволяющие, не заглядывая внутрь документа, догадаться о способах разметки текста. Так файлы, созданные редакторами подготовки plain-текста, часто имеют расширение .txt, а подготовленные в редакторе Lyx -- .lyx. Текстовый процессор Word по умолчанию создает файлы в формате MS Word (расширение .doc), но поддерживает и другие форматы, например RTF (расширение .rtf). Документы, содержащие команды разметки языка HTML, имеют расширение .html или .htm.
Очевидно, что невозможно перечислить все текстовые редакторы. Многие из них "заточены" под ту или иную специфическую деятельность. В списке, рассмотренном ниже, представлена лишь небольшая часть текстовых редакторов.
Редакторы неформатированных текстов
- NotePad
- встроен в операционную систему Windows, понятен и прост и использовании;
- McEdit
- имеет сходство с редактором Edit из MS DOS, компонента файлового менеджера mc (Midnight Commander) ОС Linux;
- KEdit
- простейший текстовый редактор, входит в состав KDE Linux;
- KWrite
- текстовый редактор, имеющий ряд дополнительных настроек по сравнению с другими простейшими текстовыми редакторами;
- Emacs
- совмещает в себе функции файлового менеджера и текстового редактора; одной из отличительных черт является возможность создание макрокоманд (макросов); имеется во всех клонах Unix, в том числе и Linux; Emacs можно использовать и в MS Windows.
Редакторы, создающие текст с элементами разметки
- Word
- служит для создания разнообразных печатных документов, является компонентом офисных приложений в MS Windows;
- StarWriter
- входит в состав программы StarOffice, внешним видом и функциональностью он похож на Word, одинаково хорошо работает как в MS Windows, так и в ОС Linux;
- LyX (KLyX в KDE)
- современный текстовый редактор, предназначенный для людей, которые хотят получить документ, выглядящий профессионально, но затратить на его создание минимум времени; редактор вставляет в текст команды разметки TeX и LaTeX;
- Netscape Composer
- вставляет в текст команды разметки языка HTML, существуют версии как для ОС Linux, так и для MS Windows.