Настройка русских шрифтов и кодировки в SciTE под Linux

Как однажды заметил ( http://daringfireball.net/2004/05/writing_for_google ) Джон Грубер, блоги — удобное место для того, чтобы оставлять в них всякие полезные советы, потому что потом людям проще их находить Google’ом, который традиционно дает блогам высокий приоритет в результатах поиска.

Эта заметка как раз из этой серии, о том, как настроить редактор SciTE ( http://www.scintilla.org/SciTE.html ) для удобной работы с русским языком в Линуксе.

Ссылка на SciTE с самого начала висит на главной странице моего блога, и там написано, что это удобнейший текстовый редактор для программиста. Писал я это по опыту пользования им в Windows. А вот в линуксовой версии SciTE обнаружились пренеприятные минусы:

  • шрифты не сглаживаются и выглядят кошмарно
  • текст по-русски читается, но его невозможно набрать с клавиатуры


Однако, это все исправляется.

Шрифты

Сначала считаю своим долгом любому программисту порекомендовать очень правильные шрифты: DejaVu ( http://dejavu.sourceforge.net/wiki/index.php/Main_Page ) (в частности моноширинной шрифт). Правильные они во-первых тем, что хорошо выглядят на довольно маленьких размерах (я пользуюсь восьмеркой), а во-вторых, там учтены важные для кода вещи: четкое различное начертание единицы, маленькой латинской “l” и большой латинской “I”, различное начертание цифры “0″ и буквы “O” и т.д.

Кстати, DejaVu основаны на шрифтах Bitstream Vera, которые и так есть в большинстве Линуксов по умолчанию, но беда в том, что в моей Ubuntu русская часть этих шрифтов - это вообще что-то другое. Просто совершенно другое начертание, кошмарно выглядит и невозможно читать.

Чтобы прописать их в SciTE, открываете файл настроек (Options, Open User Options File) и пишете туда:

Код .properties:
font.monospace=font:!DejaVu Sans Mono,size:8

Не забудьте восклицательный знак перед названием шрифта: он как раз и включает сглаживание шрифтов в SciTE.

Я еще также прописываю этот же шрифт для всех остальных режимов (не представляю, как можно программировать пропорциональными шрифтами):

Код .properties:
font.base=$(font.monospace)
font.small=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)

Русский язык

Единственный совет ( http://forum.ruteam.ru/index.php?action=vthread&forum=1&topic=20#41 ), который я нашел по поводу русского языка в SciTE мне не подошел. Из-за этой настройки у SciTE (у меня, по крайней мере) сбивается шрифт на мелкий курсив с засечками, игнорируя нормальные установки. И это ужасно… Но хуже то, что единственной доступной кодировкой в этом случае становится windows-1251. Я же все веду только в utf-8, чтобы не испытывать проблем с интернациональными алфавитами самому и не создавать этих проблем пользователям своих программ.

Чтобы включить SciTE на Линуксе в юникодный режим, надо прописать в файлике такие две магические строчки:

Код:
code.page=65001
LC_CTYPE=en_US.UTF-8

После этого все пишется и читается по-русски и по умолчанию работает в utf-8.

Автор заметки Иван Салагаев ( http://softwaremaniacs.org/ ).


Огигинал новости «Настройка русских шрифтов и кодировки в SciTE под Linux»   -
«SciTE - редактор кода для программистов»   -