[sisyphus] Emacs and UTF-8 again
Alexander Kirey
=?iso-8859-1?q?kirey_=CE=C1_mmk=2Eru?=
Вт Окт 14 14:07:17 MSD 2003
Здравствуйте!
Анализируя список рассылки community и sisyphus,
ссылки в разных письмах по этой теме в названных maillists,
и google, я кажись запутался.
Просто я не следил за этой темой и поэтому сорри за "кашу"...
Как я понял, UTF-8 Emacs как бы и не UTF вовсе?
То есть это некая возможность содержать разнокодировочные
куски текста в одном файле?
Для теста я взял документ /usr/share/doc/emacs-mule-ucs-0.85rc1/type.txt
и документ /usr/share/yudit/doc/ru/FAQ.TXT.
Если просматривать просто по F3 в mc то они и выглядят то по
разному. И документ /usr/share/yudit/doc/ru/FAQ.TXT нормально
читается как и в самом yudit и gedit, чего не скажешь про Emacs.
Вот цитата из HOWTO Е.Балдина, которая подтверждает мои догадки:
>Идём в Mule, Set Language Environment, Cyrillic и устанавливаем один
>из 3-х вариантов. Какой -- по большому счету без разницы.
>Это будет влиять только на общение емакс'а с внешним миром -- если
>захотим Cyrillic-ISO, то текст будет сохраняться в ISO и в буфер
>обмена будет копироваться текст в кодировке ISO. То же самое с KOI8.
>Чтобы сделать изменение постоянным, запишите в ~/.emacs.
И как я понял, Emacs внутри себя "говорит" на iso-8859-5 относительно
русского текста?
Загружаю файл mule HELLO (Show multi-lingual text) C-h h, затем
навожу курсор на надпись "Russian (Русский) Здравствуйте!",
затем "C-u C-x =" и в окне Help:
character: З (07067, 3639, 0xe37)
charset: cyrillic-iso8859-5
(Right-Hand Part of Latin/Cyrillic Alphabet (ISO/IEC 8859-5): ISO-IR-144)
code point: 55
syntax: word
category: y:Cyrillic
buffer code: 0x8C 0xB7
file code: ESC 2C 4C 37 (encoded by coding system iso-2022-7bit-unix)
font: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-microsoft-cp1251
Вот нашёл такие ресурсы позднее:
http://www.win.tue.nl/~ocheong/Mule/, и цитирую:
>For historic reasons, Mule has defined its own character set and
>encoding (when Mule was designed, Unicode simply didn't exist).
>Sooner or later, Emacs will migrate to using Unicode internally,
>but in the meantime, we need to define an encoding that will
>convert between Unicode externally and Emacs' Mule encoding
>internally.
http://www.cl.cam.ac.uk/~mgk25/unicode.html
>Emacs 21.2 provides basic UTF-8 support in the form of a new coding
>system mule-utf-8. This is expected to improve significantly once
>ongoing work to change the internal encoding of Emacs/MULE entirely
>to UTF-8 is completed (this is planned to happen for Emacs 22).
Здесь, также имеется тестовый документ, gedit русскую составляющую
видит нормально ну и теперь очевидно, что Emacs нет.
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/quickbrown.txt
("В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!"
знакомый текст, однако :))
Немного о http://www.win.tue.nl/~ocheong/Mule/.
Как я понял, что эта штуковина переводит кодировку mule в
реальный utf-8, что позволяет читать потом документы другими
редакторами с поддержкой utf-8. Но почему то это только справедливо
для версии 20:
"The package described here is for GNU Emacs 20.
It does not work with GNU Emacs 21 or any version of XEmacs."
Ну вот теперь стало немного понятно...
Непонятно другое: что имели ввиду те подписчики community и sisyphus
когда говорили что они нормально читают документы на UTF в Emacs.
Я что-то не понял, или что-то не установил дополнительно?
Не получилось воспользоваться и советом Alex Ott:
>Для правильного отображения текстов необходимо установить для
>начертания default (это можно сделать с помощью команды M-x
>customize-face) шрифт, который содержит большой набор кодировок,
>включая кодировку для отображения utf-8 (например, misc-fixed).
>Такая настройка позволит, например, нормально работать с русскими
>и немецкими словарями в одном буфере Emacs.
Повторюсь, что в своём .emacs я ничего не добавлял, кроме
активизации speedbar.
Простите неофита за возможное непонимание, приведшее к неправильным
выводам...
--
Александр Кирей
Подробная информация о списке рассылки Sisyphus