В дополнение к заметке об украшении консоли я хочу рассказать о замечательном
пакете terminus-fonts, о котором узнал недавно благодаря Kot'у, за что ему
большое спасибо. Пакет этот болгарского происхождения и проживает на
http://www.is-vn.bg/ hamster/ jimmy-en.html в
виде архива tar.gz объемом около 100 Кбайт. Его можно найти также в портах
FreeBSD и в портежах Gentoo вероятно, и в других местах. Для FreeBSD, в частности,
он доступен и в качестве бинарного пакета.
Terminus - не просто шрифтовой набор, а универсальный инструмент для генерации
терминальных шрифтов любого назначения. Он включает в себя
- шрифтовые файлы базовой гарнитуры в формате BDF (Bitmap Distribution
Format) нормального и полужирного начертания, высотой от 14 до 24 пикселей,
в кодировке Unicode;
- набор скриптов для преобразования их в шрифтовые файлы различных используемых
Unix-консолями и X-терминалами форматов;
- make-файлы для соответствующих преобразований; необходимые дополнительные
данные, в частности, unimap-таблицы для преобразования 8-битных кодировок
в Unicode;
- файлы документации на английском и болгарском языках.
В README-файлах дается исчерпывающее описание того, как обращаться с пакетов.
И потому я лишь кратко опишу доступные возможности. И так, базовые bdf-шрифты
могут быть преобразованы в шрифтовые файлы следующих форматов:
- raw-формат, в котором шрифтовой файл содержит только бинарные данные;
этот формат используется для вывода в консольных драйверах BSD-семейства
(syscons FreeBSD, pcvt и wscons);
- psf-формат, включающий, кроме собственно шрифтовых данных, заголовок
и psf-сигнатуру с дополнительной информацией о шрифте; это - основной формат
вывода в Linux-консоли;
- pcf-формат для вывода на X-терминалах.
Генерация шрифтовых файлов осуществляется командой make с указанием соответствующей
цели, например,
make raw
для создания raw-файлов,
make psf
и
make pcf
для psf- и pcf-форматов, соответственно. Кроме того, командой
make txt
можно сгенерировать smf-таблицы для ряда кодировок. В чем, впрочем, необходимости
как будто нет, так как эти таблицы встраиваются, судя по README, в собственно
psf-файл.
Каждое шрифтоначертание автоматически генерируется в нескольких кодировках:
ISO8859-1/2/5/9/15/16, Windows-1250/1251/1252/1254, IBM-437/852/855/866,
KOI8-R/U/E/F, Bulgarian-MIK, Paratype-PT154/PT254 и Macintosh-Ukrainian.
Поскольку все шрифты - более чем 500-символьные, для Linux-консоли можно
подобрать любые сочетания кодировок ввода и вывода. Правда, для BSD-консоли
шрифты с традиционной для нее кодировкой вывода CP866 сами собой не образуются.
Качество консольных шрифтов исключительно высокое. При этом их внешний вид
и читабельность не ухудшаются при нестандартной плотности знаков. Правда,
их вариации для X-терминалов именно в терминале выглядят достаточно непривычно.
Однако для текстового режима - пожалуй, ничего лучше не придумаешь. Короче
говоря, очень рекомендую...
содержание назад