[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help:



Alex Kanavin wrote:

> On Mon, 24 Jan 2000, Aleksey Novodvorsky wrote:
>
> > Вы поняли неправильно. Особенно про GNU emacs. Он работает с шрифтами koi8-r.
> > И со всеми русскими кодировками, включая cp1251
>
> Гм. Может, мы о разных версиях говорим? Берем emacs 20.4 (из RedHat 6.1).
> Выбираем: Mule->Set Language Environment->Cyrillic->Cyrillic-KOI8 (причем
> никакой cp1251 здесь нет, есть еще ALT и ISO). Жмем на Ctrl-\, чему
> соответствует переход на Input Method cyrillic-jcuken.
> Пытаемся что-нибудь набрать - получаем iso8859-5, натурально. Это если
> шрифт fixed. А если какой-нибудь другой - так и вовсе квадратики.

Фокус в том, что надо указать шрифт с последними двумя позициями в кодировке koi8-r. В
этом и только в этом случае emacs узнает, что он имеет именно эту кодировку. Из моего
.Xdefaults
emacs*font: -cronyx-courier-medium-r-*-*-12-*-*-*-*-*-koi8-r

> Это и
> неудивительно, если посмотреть описания русских Language Environment -
> всем трем соответствует charset cyrillic-iso8859-5.

Это не имеет отношения к шрифту.

> А тому в свою очередь
> - единственный шрифт fixed, ибо шрифтов с -iso8859-5 у меня нет. Это
> узнается из Show All of Mule Status. Оттуда же можно узнать, что никаких
> других русских чарсетов, кроме cyrillic-iso8859-5 (charset-id 140) не
> имеется. А теперь главный сюрприз - если все это сохранить, то оно
> перекодируется в кои8. И это по Вашему работа "со всеми кодировками и
> шрифтами koi8-r" ?

Да, именно так. Вы можете определить кодировку буфера, а дальше сохранение идет в этой
кодировке. Перекодируется у Вас в koi8-r потому, что Вы сами это попросили, установив
Cyrillic-KOI8. Для работы в cp1251 надо не лазить по меню (они здесь совершенно ни при
чем), а M-x  codepage-setup <Enter> 1251 , а затем можно задавать кодировку буфера.
Попробуйте.
Вообще, меню в emacs -- очень небольшая часть его возможностей.

>
>
> > Что касается xemacs, то он работает толкьо со шрифтами 8859-5 (что не страшно, так
> > как  это только шрифт) , но с кодировкой KOI8-R рабоает прекрасно. а вот cp1251 не
> > знает. С xkb напрямую он не работает, только через mule, но и это не страшно, так
> > как в mule (а работать надо _только_ с mule!) предусмотрен другой механизм
> > переключения -- C-\ .Впорочем, любители xemacs могут привить к нему все улучшения
> > GNU emacs, благо большинство из них на lisp.
>
> В XEmacs (21.1 из powertools 6.1)

А после .1 -- что? Нормальная версия -- 21.1.8.

> та же фигня, за тем исключением, что
> Input Method по Ctrl-\ не активизируется, ибо его вовсе нет!

А может у Вас xemacs-el не установлен?

> А есть -
> только японские. Впрочем, даже если бы и был - не помогло бы, по той же
> причине - charset cyrillic-iso8859-5. А вовсе не шрифты.

А Вы поставьте шрифты 8859-5 и все получится. xemacs не поймет шрифты koi8-r. А вот тот
charset, который указан в качестве основы, Вас совершенно не должен волновать! Через
него только определяются другие charset, больше ничего. Это плохо для украинцев, так
как в 8859-5 нет ghe_with_upturn. Если  она Вам не нужна --  все в порядке.
Вот все кириллизирующие строчки из моего .emacs:

;; Russification
(XEmacs
    (set-language-environment "Cyrillic-KOI8")
    (select-input-method "cyrillic-jcuken")
)
(GNUEmacs
    (set-language-environment "Cyrillic-KOI8-R")
    (set-terminal-coding-system 'koi8-r)
)
А сверху было, конечно:
(defmacro GNUEmacs (&rest x)
  (list 'if (string-match "GNU Emacs 20" (version)) (cons 'progn x)))
(defmacro XEmacs (&rest x)
  (list 'if (string-match "XEmacs 21" (version)) (cons 'progn x)))
Это (вкупе со строчкой из .Xdefaults -- все!

>
>
>

Кстати, обо всем этом написано в документации, есть даже свежий перевод Олега Тихонова.
Есть, кстати, украинизация и белорусизация (на базе cp1251) выполненные им же.
Rgrds, AEN.