[mdk-re] Russian in Mandrake 7.2 and Sound

Ivan Zakharyaschev =?iso-8859-1?q?vanyaz_=CE=C1_mccme=2Eru?=
Пт Дек 15 23:52:01 MSK 2000


	Hello, Igor!

On Fri, 15 Dec 2000, Igor Androsov wrote:

> Вот возникла проблема :
> Установил на машину Mandrake 7.2 в режиме эксперт
> Поставил в i18n
> SYSFONT=Cyr_a8x16
> SYSFONTACM=koi8u2ruscii.trans
> (На моем 7.1 такое нормально работает)

В принципе, должно работать.

> А там не грузит ни фонт ни транс
> Проверил скрипты если руками запускать setsysfont то все нормально
> устанавливается и транс и фонт

Про 7.2 точно не могу сказать, но в пакете console-tools в Cooker были
в последнее время экперименты с загрузочными скриптами, сейчас они уже все
закомментированы более консервативными участниками команды Mandrake.
Может, они сказались на загружаемости шрифтов при таких настройках.

> а при старте системы логе пишет что мол фонт загружен но ничего на
> самом деле не загружает
> и насколько понял setsysfont не стартует даже (Ну вставил я эхо в
> начале).

Вывод вызванных action команд при загрузке подавляется. Можете ппоробовать
поставить в /etc/sysconfig/init BOOT=verbose, чтобы увидеть свое
сообщение. Файловые системы в этот момент, наверное, read-only; еще можно
поставить в начало setsysfont вызов read, чтобы убедиться в его запуске.

> Убрал тогда в rc.sysinit перед /sbin/setsysfont вызов action, еще
> веселее setsysfont вызывается потом вызывается из него
> consolechars -f Cyr_a8x16.pcm.gz --acm koi8u2ruscii.trans и пишет
                         ^^^^^^^^
Опечатка? (Нужно: psf).

> что-то вроде findacm not found.
> Все эти фонты и трансы есть.

trans-файлы устарели, их можно использовать, но лучше вместо них брать
комбинацию ACM + SFM. Причем об SFM (System font map) обычно думать не
надо, это характеристика шрифта и о ней должен заботиться его создатель.

Про это можно прочитать в README.acm, входящем в состав документации
пакета console-tools-devel.

В Вашем случае можно было бы установки в /etc/sysconfig/i18n заменить на:

SYSFONT=Cyr_a8x16
SYSFONTACM=koi8u

и может быть добавить

UNIMAP=ruscii

Нужно в системных настройках поставить правильную карту ACM (Application
Character Map). Она описывает отображение символов, которые могут быть
выведены приложениями на консоль, в таблицу Unicode. Так как приложения
обычно учитывают locale, то выводят они текст в кодировке `locale
charmap`. Отсюда практическое правило для определения имени нужной ACM:
маленькими буквами повторить кодировку указанную в строке LANG=...
Это дублирование по сути дела одной и той же информации в нескольких
переменных можно будет избежать в будущих версиях console-tools (пока они
в стадии разработки).

Для полноты картины немного об SFM.

acm отображает кодировку в Unicode, но реально размер консольных шрифтов,
которые могут быть загружены, ограничен. Поэтому загрузить начертания всех
знаков из Unicode нельзя. SFMs описывают то, для показа каких символов из
набора Unicode может быть использован этот шрифт и как (на каких местах)
найти в нем изображение для этих символов. SFM обычно включаются в
psf-файл сразу при его создании, но есть и "недоделанные" psf -- тогда
нужно самому догружать такую таблицу (может быть указана в переменной
UNIMAP).

Ну а существование trans-файлов (в частности koi8u2ruscii) объясняется
тем, что когда-то не было промежуточного этапа перевода в Unicode и нужно
было указывать напрямую, как отображать напечатанные на консоли байты в
таблицу знаков шрифта. (Поэтому можно встретить такие названия: старые
trans-файлы -- 8-битные таблицы, а новые acm -- 16-битные.)

Такой логичной системы для управления кодирвками на другой стороне консоли
-- клавиатуре -- нет.

-- 
С наилучшими пожеланиями,
	Ivan Z.







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