Поддержка языков в Emacs
Здесь дается краткое описание поддержки различных языков в Emacs и приведены рекомендации по работе с многоязыковыми документами в Emacs (при использовании Emacs-Wiki mode).
Кодировки
Emacs хранит тексты в своем собственном представлении, однако при чтении файла и записи на диск нужно знать в какой кодировке файл. Есть, конечно, настройки по умолчанию, но иногда нужно работать с файлами в отличных от “умолчательной” кодировках.
Кодировку можно задать в начале файла, например, если первая строка содержит следующий текст:
-*- coding: koi8-r -*-
то редактор поймет, что текст в кодировке КОИ-8.
Другим способом является использование команды C-x RET с (universal-coding-system-argument) перед открытием файла, или C-x RET f (set-buffer-file-coding-system после открытия с последующей командой M-x revert-buffer.
Юникод (UTF-8)
Для многоязычных текстов лучше всего подходит Unicode (а точнее его разновидность UTF-8).
Чтобы редактор правильно работал с Юникодом, следует поставить пакет un-define.
Стало быть, для пущей надежности, следует в первой строке каждого файла писать
-*- coding: utf-8 -*-
Language Environment
Для каждого языка, известного Редактору, существует Языковое Окружение (Language Environment). Для переключения Language Environments служит комбинация C-x RET l, после нажатия которой Редактор запросит имя языка (Tab как всегда работает!). Однако, пока Language Environments плохо “понимают” тексты в UTF-8.
Input methods
Каждое языковое окружение имеет по крайней мере один метод ввода символов языка. Достоинство Emacs’а в том, что можно спокойно работать с языками, для которых нет поддержки в операционной системе (единственное — нужны шрифты).
Переключение метода ввода — клавиша C-\.
Использование более двух языков о одном тексте
Имеется в виду использование латиницы (английского) и русского в качестве основных языков и еще одного (корейского, транскрипции IPA или, скажем, санскрита).
Так как латиницу поддерживают все, а русский поддерживается на уровне операционной системы, нужно только выбирать языковое окружение и метод ввода для третьего языка (метод ввода будет корректно работать только когда системная раскладка — латинская, и наоборот).
Так как сам файл будет в Юникоде, то никаких проблем с наличием текста сразу на трех языках быть не должно.
Опять-таки, скорее всего придется поставить пакет un-define.
RSS