THIS TEXT IS ON RUSSIAN LANGUAGE WITH KOI8-R encoding (as defined
in RFC-1489). See README.eng if you cannot read this.

ALL PROGRAMS AND DATA FILES IN THIS PACKAGE ARE PUBLIC DOMAIN.

If you are reading this file in desperate attempt to russify your Linux
console, do 

consolechars -f ./psf/UniCyr_8x16.psf -m ./acm/koi8-r.acm

Hopefully, then you'll continue read in Russian.

Этот пакет содержит кириллические консольные шрифты
и таблицы перекодировки для Linux, а также раскладки клавиатуры и прочие
полезные вещи.

ЭКРАННЫЕ ШРИФТЫ

Шрифты рассчитаны на использование утилиты consolechars
(пакет  console-tools из Debian), впрочем с последними kbd они тоже
будут работать.

Все шрифты сделаны на базе альтернативной кодировки (cp866). Почему?
Потому что использование любой другой кодировки русских букв в качестве
физической в текстовом режиме VGA приводит к тому, что горизонтальная
псевдографика получается с разрывами. Это аппаратное свойство VGA,
которое никак не лечится. Единственный выход - использовать шрифты, в
которых псевдографика расположена на тех же позициях, что и в cp437.

Поскольку шрифты этого пакета содержат в себе unicode mapping, сочетание
их с Application character map позволит добиться любой требуемой
кодировки на консоли. Например:

consolechars -f 866_8x16.psf -m koi8-r.acm 


В пакет входят четыре комплекта шрифтов (каталог psf):

UniCyr_8x*.psf - Шрифты, разработанные Вадимом Житниковым. В этих
          шрифтах есть все буквы, которые только бывают в стандартных
          кириллических кодировках: cp866, cp1251, iso8859-5, koi8-r,
	  koi8-u, и в дополнение к ним - все символы, включая
	  псевдографику и математические символы, которые бывают в
	  koi8-r. 

alt_8x*.psf - шрифты в альтернативной кодировке (сделаны из
                 alt-8x*  из комплекта свежей kbd)
              Набор символов в этих шрифтах в точности совпадает
	      с набором символов в кодировке koi8-r, поэтому рекомендуется
	      использовать именно их.		 

Cyr_a8x*.psf - шрифты Cyr_a8x* которые были в kbd с тех пор как я его
              впервые увидел (ядро тогда было 1.0.9)		 
              Недостаток этих шрифтов в том, что в них отсутствует
	      буква ё (CYRILLIC YO, на случай если в ваших текущих
	        ширифтах ее тоже нет). Таблица Cyr_a.sfm, встроенная
		в эти шрифты, заменяет ее на e (CYRILLIC IE),
		что делает тексты удобочитаемыми, но все же...

866_8x*.psf - Шрифты с кодовой страницей 866 (той, что используется
             в родной русификации MS-DOS и OS/2. В ней есть буква ё
	     но зато отсутствует ряд математических символов, 
	     которые есть в кодировке koi8-r. На эти шрифты стоит
	     обратить внимание украинцам и белорусам. Добавьте только
	      koi8-u.acm или acm для той кодировки которую вы используете.

UniCyrX - Еще одна попытка запихнуть как можно больше символов разных 
         алфавитов в один 256-символьный шрифт.
          Dmitry Yu. Bolkhovityanov" <D.Yu.Bolkhovityanov@inp.nsk.su>
Кроме того, присутствуют шрифты

  alt-antiq-8x16, разработанный Алексеем Макаренко
                  (прислан Евгением Осинцевым <osgene@omskelecom.ru>),
                  имеющий ту же кодировку, что и alt*, но отличающийся
		  по начертанию;
  alt-sans-8x16 и alt-lenta-8x16, разработанные Вадимом Житниковым
                                  и Евгением Осинцевым;
  alt-b-8x16 и alt-c-8x16 неизвестного происхождения.

Все шрифты содержат в себе таблицу отображения в unicode. В виде
отдельных файлов эти таблицы (alt.sfm и cp866.sfm) находятся в каталоге
sfm.
	    
Кроме того, в каталоге acm приведены таблицы перекодировки из
распространенных кодировок русского, белорусского, болгарского
и украинского языков  в unicode,
использование которых совместно с приведенными шрифтами позволяет 
настроить вашу консоль в любую требуемую кодировку кириллицы.


В каталоге acm вы найдете acm файлы для наиболее распространенных
кодировок русского языка. А также и кодировку koi8-u
(к сожалению я не смог достучаться до ее официального сайта www.ua.net,
поэтому взял определение с первого же попавшегося сайта, посвященного
кирилличиским кодировкам)

РАСКЛАДКИ КЛАВИАТУРЫ

В пакет включена комплект для генерации клавиатуры, основанный на идеях, 
предложенных Кириллом Злобиным
<slobin@ice.ru>. Он находится в каталоге keymaps. 

Раскладки клавиатуры получаются с помощью обработки препроцессором C
(/usr/bin/cpp) файла кодировки и собственно файла раскладки. При этом
используется еще и общий для всех раскладок файл macros.inc

Использование макросов для описаний клавиш позволяет существенно полнее
чем в большинстве распространенных раскладок определить комбинации
Alt-клавиша, Ctrl-клавиша и т.д., как в русском, так и в латинском
режимах.

Командой 
cpp cyr-russian.cpp |loadkeys

вы получите раскладку клавиатуры для кодировки koi8-r
Для работы с любой другой кодировкой требуется указать в командной
строке имя соответствующего .enc файла. Например,

cat cp866.enc cyr-russian.cpp|cpp | loadkeys


В этой раскладке переключателем кириллического/латинского режима по
умолчанию является правый Control. Правый Alt - временное (на время пока
удерживается клавиша) переключение.

На Windows клавиатурах для переключения можно также использовать как
переключатель клавишу системного меню. Клавиша Windows служит временным
переключателем.

Эти умолчания можно изменить определив символ ALTSWITCH или WINONLY при
генерации раскладки.

cpp -DALTSWITCH cyr-russian.cpp |loadkeys

Символ ALTSWITCH меняет местами функции правого Alt и правого Control.
Я предпочитаю этот вариант, так как у меня правый Alt используется также
и в X-ах.

Символ WINONLY делает правые Control и ALT эквивалентными левым Control
и Alt, оставляя для переключения только клавиши Windows.

По умолчанию клавиша BackSpace генерирует символ Delete (ASCII 127)
(потому что так принято в Debian Linux) 

Изменить это умолчание можно указав -DBACKSPACE

В комплект входят следующие раскладки клавиатур

Имя файла         	Язык  		Кодировка     	Автор 
                               		по умолчанию  

cyr-russian.cpp   	Русский     	koi8-r     	Кирил Злобин
cyr-russian-ms.cpp    	Русский 	koi8-r		Виктор Вагнер
                  (раскладка microsoft) 
cyr-belorussian.cpp   	Белорусский  	cp1251          Александр Микаэлян
cyr-bulgarian-bds.cpp   Болгарский      cp1251		Антон Зиновиев
cyr-bulgarian-phon.cpp  Болгарский	cp1251		Антон Зиновиев
                       (фонетическая)
cyr-serbian.cpp		Сербский	iso8859-5	Антон Зиновиев
cyr-ukrainian.cpp       Украинский      koi8-u          Виктор Вагнер
cyr-ukrainian1.cpp      Украинский      koi8-u          Игорь Власенко
cyr-ukrainian-ms.cpp    Украинский      koi8-u          Игорь Власенко
cyr-ukrainian-ms-like1  Украинский      koi8-u          Не помню кто
cyr-ukrainian-ms-like2  Украинский      koi8-u          Не помню кто

Внимание - раскладка cyr-ukrainian была в свое время сделана мной
"щобы було" и не тестировалась. Лучше пользуюйтесь раскладками Игоря
Власенко. 

Раскладки Игоря Власенко поддерживают дополнительные флаги
при препросессировании. См. комментарии в самой раскладке.

Указанная кодировка по умолчанию - та, которая будет использована, если
в командной строке CPP не указать файла .enc.

Поддерживаются следующие кодировки:

MacCyrillic bulgarian-mik cp1251 cp866 iso8859-5 koi8-r koi8-u utf-8



пользователей, при том условии, что эти добавления будут основаны на системе
макросов Злобина и будут позволять генерить раскладки для любых кодировок,
содержащих все требуемые буквы с использованием тех файлов .enc, которые
у меня уже имеются. 

РУСИФИКАЦИЯ DOSEMU

В каталоге x-window находится шрифт для X-window vga.bdf, который имеет
кодировку cp866 и позволяет работать с русским языком в xdos. Для
руссификации клавиатуры в DOSEMU рекомендую патч Юрия Каминского
<Yuriy_Kaminsky@p21.f517.n5020.z2.fidonet.org>, доступный по адресу
http://www.ice.ru/~vitus/misc/dosemu-0.98.5.my.ptch.gz 

СКРИПТЫ

В каталоге scripts находятся скрипты, использованные мной
для создания этих шрифтов и таблиц.

Скрипт raw2psf берет файл шрифта в формате raw и генерирует файл в
формате psf.  Вторым аргументом может быть указана таблица отображения
шрифта в unicode. Могут быть использованы либо таблицы в формате sfm
(текстовая разновидность) либо определения charset которые можно скачать
с ftp.unicode.org или взять из дистрибутива catdoc.

Скрипт makeacm генерирует из таблицы в одном из вышеприведенных форматов
файл acm. Для этого скрипта необходим модуль Unicode::String, который
можно взять со CPAN.

Скрипт dumppsf позволяет сконвертить psf-файл в некоторое текстовое
представление, позволяющее посмотреть на шрифт, не загружая его. 
Вот когда-нибудь напишу обратный конвертер и можно будет редактировать
консольные шрифты в vim...

Скрипт displafont, написанный Кириллом Злобиным, позволяет просмотреть
все символы текущего шрифта на экране. Не то чтобы я его реально
использовал, но раз уж автор предложил...

Скрипт mkvgafont это shell-овский скрипт, который делает из raw-шрифта
для консоли шрифт для X-Window, который можно использовать в DOSEMU
 
Документация на все перловые скрипты в формате pod встроена в сами скрипты.
Вы можете использовать команду perldoc script для ее просмотра или
pod2man script для создания полноценной man-страницы.





Сделано Виктором Вагнером <vitus@ice.ru> <vitus@wagner.rinet.ru>,
FIDO 2:5020/219.27 2:5020/358.5
Home page http://www.ice.ru/~vitus

