[Comm] [LINUX] В Emacs не хочет устанавливаться шрифт cronyx-courier по умолчанию

Alexej Kryukov =?iso-8859-1?q?anagnost_=CE=C1_yandex=2Eru?=
Вс Апр 2 22:20:18 MSD 2006


On Sunday 02 April 2006 21:33, Eugine V. Kosenko wrote:
>
> А где шаманить? В коде или в настройках? Не хотелось бы разводить
> зоопарк шрифтов...

В коде. Идея вот в чем: emacs использует некую внутреннюю кодировку,
которая в числе прочего предусматривает соответствия для символов
iso-8859-5 и символов UTF-8. Поддержка всех прочих кодировок кириллицы
традиционно обеспечивается переводом в ISO. Так вот вместо ISO можно 
использовать и Юникод. Но для этого весь код, отвечающий за поддержку
кириллицы, нужно переписывать заново: переводить на новую базу таблицы
перекодировки, языковые окружения, методы ввода.

В свое время я еще для emacs20 написал пакет, где вся эта работа была
проделана. Только там из 8-битных кодировок поддерживалась одна лишь
cp1251, ибо koi я не использую. С тех пор emacs'ом практически не
пользовался, но сейчас проверил -- вроде работает и в новом Компакте.
Если хотите, можете с ним поэкспериментировать.

> Однако, если быть дотошным, то даже установка cyr-rfx не помогает --
> она содержит семейство "rfx-courier", а emacs упорно не хочет
> замечать производителя -- заменяет rfx на adobe и все равно не видит
> курьера в соответствующей кодировке :-(.

Ну, что заменяет -- это само по себе не страшно: у этих -rfx-*
обязательно должны быть алиасы на -adobe-*. Другое дело, если
еще и кодировку не ту выбирает...

В общем, я эту задачу привык решать прописыванием fontset'ов. Это
выглядит примерно так (шрифты заменить нужными):

(create-fontset-from-fontset-spec
 "-*-Courier New-medium-r-*-*-16-*-*-*-m-*-fontset-courier16,
 latin-iso8859-2:-*-Courier New-medium-r-*-*-16-*-*-*-m-*-iso8859-2,
 cyrillic-iso8859-5:-*-Courier New-medium-r-*-*-16-*-*-*-m-*-iso8859-5,
 greek-iso8859-7:-*-Courier New-medium-r-*-*-16-*-*-*-m-*-iso8859-7,
 mule-unicode-0100-24ff:-*-Courier 
New-medium-r-*-*-16-*-*-*-m-*-iso10646-1" t)

(setq default-frame-alist
     (append
     '((font . "fontset-courier16"))
     default-frame-alist))

Если шрифты доступны и прописаны правильно -- всё будет работать.

P.S. Про Xemacs ничего не скажу, т. к. все мои эксперименты в свое
время убедили меня, что механизм mule там неработоспособен. Как люди
умудряются с ним работать, я не знаю.

-- 
Regards,
Alexey Kryukov <anagnost {at} yandex {dot} ru>

Moscow State University
Historical Faculty



Подробная информация о списке рассылки community