четверг, 4 марта 2010 г.

Ubuntu 9.10 и русские шрифты в Emacs

Не перестаю удивляться, сколько проблем постоянно возникает с поддержкой русского языка. Вот и KUbuntu 9.10 (Karmic Koala) внес свои пять копеек. Стоило начать радоваться приятному внешнему виду и заметному прогрессу (это после Gentoo), как на глаза попался Emacs с пустыми квадратиками вместо русских букв.

Как выяснилось, в Ubuntu весьма специфическое понятие о нумерации версий Emacs. Потребовалось некоторое время, чтобы понять, что пакет emacs версии 23.1+1-4ubuntu2+22.2+0ubuntu6, это вовсе не Emacs 23.1, а Emacs 22.2. Версия 22.x не поддерживает работу с Xft и fontconfig, как следствие, вместо TrueType используются растровые шрифты, установленные по-умолчанию. Эти шрифты мало того, что выглядят так себе, так еще и русских букв не содержат.

Идея возиться со старой версией при том, что 23.1 уже более полугода считается стаблильной веткой, мне сазу не понравилась. Поиск свежей версии дал интересные результаты. По каким-то мне не понятным причинам Ubuntu Team не может включить текущую версию в main. Зато, в universe пакет таки emacs23 существует, но ставить его надо вручную. Не велика сложность, все ставится без особых сложностей. Надо просто удалить пакет emacs и установить вместо него emacs23.

Интересно, что после выбора emacs23 и пометки на удаление emacs, удаления старых пакетов emacs22-* не происходит, хотя, они и помечены флагом автоматического управления. Видимо, баг в aptitude. Руками эти пакеты удаляются на ура.

Удостовериться, что лишних пакетов не осталось, можно командой:

dpkg -l emacs22\* | grep ^i

В принципе, на этом с настройками можно закончить. Emacs автоматически подхватывает почти нужный шрифт. Почти — потому что тип шрифта верный (DejaVu Sans Mono), а вот размер вместо настроенных в KDE 10pt у меня оказался 12pt. Чтобы обеспечить единообразие, добавил строчку в ~/.Xresources, как написано в документации.

echo "Emacs.font: Monospace-10" >> ~/.Xresources

Проверить, что изменения сработали можно командой (придется перезапустить Emacs):

xrdb -merge ~/.Xresources

Вообще-то, править ~/.Xresources, тем более для каждого приложения, наверное, не правильно. По идее, настройки должны были бы подхватываться из настроек KDE. В крайнем случае выполняться на уровне fontconfig, где-нибудь в ~/.fonts.conf, но как это сделать я пока не понял.

Комментариев нет:

Отправить комментарий