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

UnixForum






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

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

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

Редактирование многоязыковых документов в Yudit

Оригинал: Yudit: edit your multi-language text easily
Автор: Gianluca Pignalberi
Дата: 4 мая 2007
Перевод А.Тарасова, дата перевода: 3 июля 2007

В этой статье я покажу, как можно написать многоязыковый текст без использования громоздкого OpenOffice.org. В далеком 1999 году перед венгерским программистом Гаспаром Синаем (Gaspar Sinai) встала задача редактирования венгерских и японских текстов. Поэтому он решил написать редактор, который был бы совместим с Unicode. Когда он сделал основную часть работы, затем было достаточно просто добавить поддержку других языков. Так родился Yudit.

Программа Yudit изначально была написана для Unix, но Синай также сделал версию и для Windows.

В этой статье я расскажу, как можно составить многоязыковый документ с помощью Yudit. В данной статье под документом я буду понимать простой текстовый документ.

Стандарт Unicode

7-битовая ASCII-таблица содержит лишь символы латинского алфавита и немного других. Если мне нужно было бы составить текст на моем языке (итальянском), мне пришлось бы использовать специальную кодировку 8-битовой ASCII-таблицы.

Когда мне в первый раз пришлось составлять итальянский документ, который содержал русские слова, я сразу столкнулся с проблемой. Если расширенная ASCII-таблица предоставляет мне итальянские буквы, тогда откуда я возьму кириллицу? Тогда я понял, что существует множество расширений ASCII: коды ASCII от 0 до 127 соответствуют 7-битовой ASCII-таблице; коды 128-255 предоставляют различные символы, в соответствии с языком расширения.

Unicode был разработан для решения подобных задач, он является заменой для множества перекрывающихся расширений ASCII. Он сопоставляет каждой известной букве уникальный код, он совместим с 7-битовым ASCII, поэтому любой ASCII-документ является также и Unicode-документом, обратное неверно. Старшие биты первого байта определяют количество байт, занимаемых символом, а также группируют символы по языковым семьям, например, латиница или кириллица.

Познакомьтесь с (Y)Unicode eDITor

Yudit сохраняет тексты в Unicode. Поэтому вы можете использовать его для составления чего-то более сложного, чем программы. Например, я набирал эту статью в Yudit, а не в vi, как обычно.

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


Рисунок 1: (Y)Unicode eDITor, в котором была набрана эта статья

Рассмотрим структуру окна сверху вниз. В самом верху отображается название текущего файла и кодировка (обычно это utf-8); панель инструментов; окно редактора; строка данных, где отображается строка и столбец курсора, размер шрифта и код текущего символа в таблице Unicode. Внизу экрана расположена командная строка, ее функции схожи с функциями командной строки vi или Emacs. Командная строка хороша для быстрого ввода команд. Вводить команды можно либо нажав клавишу Escape, либо нажав на ней мышью.

Проделав те же действия, вернетесь в окно редактора. Будьте осторожны: когда вы введете правильную команду, вы уже не будете в командной строке, а вернетесь в редактор.

Первая особенность, которая обращает на себя внимание, это курсор, имеющий форму стрелки: она направлена в сторону ввода текста. Сейчас возможны два направления: слева направо (как в европейских языках) и справа налево (например, еврейский). При изменении направления текста меняется направление стрелки и цвет вводимого текста. Смена направления осуществляется комбинацией Ctrl+D, либо нажатием соответствующей кнопки на панели инструментов. На рисунке 2 показан многоязыковый документ, иллюстрирующий возможность смены направления. Unicode позволил смешать мне итальянский, французский, английский, испанский, исландский, русский, политонический греческий и еврейский языки в одном документе. Я набрал сам итальянский, английский и русский строки, остальные я скопировал и вставил из интернета.


Рисунок 2: Yudit с открытым многоязыковым (и двунаправленным) текстом

Предположим, что вы запустили Yudit в первый раз. Программа готова к набору текста слева направо. Теперь измените направление текста и попробуйте что-нибудь набрать.

Просто, не правда ли? Не забывайте, что при наборе текста справа налево функции клавиш Backspace и Delete меняются местами.

Так как Yudit — полностью многоязыковый, вы можете решить для себя, какой символ конца строки (EOL) использовать. Доступны варианты для DOS, Mac и Unix, а также Unicode-разделители строк и абзацев. Вы даже можете смешивать их, хотя это не рекомендуется.

Помощь можно получить у самого Yudit: просто наберите help в командной строке и будет загружен файл FAQ.

В Вавилон на автобусе

В Yudit возможно сменить шрифт и его размер. Это производится либо нажатием на кнопках на панели инструментов, либо комбинациями Ctrl+A (меньше) и Ctrl+Z (больше). Если вам кажется, что подборка шрифтов скудна, вы можете установить свои True Type шрифты; в последних версиях Yudit возможно установить шрифты Open Type. Однако нужно помнить, что не все шрифты содержат все Unicode-глифы (изображения букв). Даже если вы набрали текст, используя шрифт со всеми глифами, при смене шрифта некоторые символы могут оказаться нечитаемыми. Тогда они будут отображаться в виде их кода в Unicode-таблице.

Обратите внимание, что смена шрифта в Yudit происходит для всего документа сразу, а не для выделенного текста. Yudit является текстовым редактором, а не текстовым процессором.

Настало время поговорить о самой интересной функции: упрощенный ввод Unicode-символов. Существует множество способов ввода, все они связаны с клавиатурными раскладками.

Если вы начнете набирать в чистом английском, на кнопке раскладки будет написано "straight" ("прямая"). Это означает, что буквы будут вводиться как есть на клавиатуре, в нормальной раскладке.

Если вам нужны дополнительные буквы, вы можете изменить способ ввода с помощью клавиш F1—F12. Если нужно больше способов ввода, нажмите мышкой на кнопке раскладки на панели инструментов. Здесь вы также можете перераспределить раскладки на клавиши F1—F12.

На рисунке 3 показано окно настройки клавиатурных раскладок


Рисунок 3: окно клавиатурных раскладок

Чтобы сменить первоначальную привязку, выберите один из предлагаемых способов ввода (из списка слева), одну из функциональных клавиш (из списка в центре экрана), и нажмите на кнопку со стрелочкой между ними. В списке справа находятся ассоциации ввода и вывода.

Текст большинства языков можно вводить напрямую либо путем ввода последовательности латинских букв для каждого глифа. К примеру, чтобы ввести кириллическую "я", можно набрать латинскую "q", соответствующую ей в раскладке JAVERTY (ЯВЕРТЫ), либо "ja" в соответствии с раскладкой Russian-Translit. Как вы наверное поняли, каждая латинская строка воспроизводит (транслитерирует) оригинальный звук буквы.

Хорошо, теперь вы знаете почти все. Последнее, что осталось неясным, это как вводить символы, которых нет ни в одной раскладке.

Предположим, вам нужно напечатать длинное тире. Ассоциировать длинное тире со знаком дефиса на клавиатуре не является достойным решением. Лучшим решением будет просто набрать его Unicode-код (2014). Для этого переведите редактор в режим "unicode" и наберите строку "u2014". При наборе можно заметить, что "u" подчеркивается, так как является управляющим символов для этого способа ввода. Последующие корректные символы (шестнадцатеричные цифры, например, 0—9, a—f) будут также подчеркнуты. Как только вы введете корректную последовательность (4 шестнадцатеричные цифры), подчеркнутая строка превратится в соответствующий Unicode-символ. В моем примере это длинное тире.

Тони как-то говорил, что я гуру LaTeX, хотя на самом деле я продвинутый пользователь LaTeX. Поэтому не могу не упомянуть, что в Yudit есть способ ввода TeX, который заменяет команды TeX на соответствующие глифы (например, введя "\times", получим "×").

Заключение

Итак, мы познакомились с простым, но мощным, текстовым редактором, который дает возможность работать с многоязыковым текстом и сохранять его в Unicode-формате.

Он приходит мне на помощь, когда приходится писать статьи для итальянских и других зарубежных журналов. К сожалению, они часто принимают лишь RTF-документы или подобные, и в этих случаях Yudit не годится.

Если вам нужен текстовый редактор быстрый как vi, или мощный как Emacs, тогда, скорее всего, Yudit — не ваш выбор. Хотя, если вам придется набирать многоязыковые простые тексты, то Yudit — то, что нужно.

Ссылки

[1] Консорциум Unicode.

[2] The (Y)Unicode eDITor.

Лицензия

© Gianluca Pignalberi 2007

Эта статья опубликована под лицензией "Attribution-NonCommercial-Sharealike" Creative Commons License 2.5, доступной по адресу http://creativecommons.org/licenses/by-sa/2.5/