Следните текстове могат да ви помогнат ако искате да разберете повече за разширението XKB на X:
При инсталирането на пакета xserver-xfree86 трябва да отговорите на следните въпроси:
Въпрос | Опция | Отговори за българска среда |
---|---|---|
Please select your keyboard layout | XkbLayout |
|
Please select your keyboard variant | XkbVariant |
|
Please select your keyboard options | XkbOptions |
|
Списък на всички опции, задавани чрез Option, може да се намери в /etc/X11/xkb/rules/xfree86.lst.
Редактирайте файла /etc/X11/XF86Config-4, като копирате секцията InputDevice за клавиатурата преди реда
### BEGIN DEBCONF SECTION
ако го има. След това в копието се добавят или променят следните настройки:
Section "InputDevice" .. .. Option "XkbLayout" "bg" Option "XkbVariant" "phonetic" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" EndSection
Различните възможности за стойностите на опциите могат да се видят от предишната секция.
Ако ползвате XFree86 версия 4.3 или по-голяма, трябва да употребите малко по-друг синтаксис, който позволява повече от две подреждания (layouts). Примерите по-долу засягат само XkbLayout и XkbVariant, защото останалите неща са същите.
# едновременно фонетична и БДС наредба Option "XkbLayout" "us,bg,bg" Option "XkbVariant" ",phonetic,bds" # или само фонетична Option "XkbLayout" "us,bg" Option "XkbVariant" ",phonetic"
Командата setxkbmap(1) позволява конфигуриране на клавиатурата от команден ред или скрипт. Например:
За фонетична подредба с превключване на кирилица/латиница с десен Alt:
# setxkbmap bg phonetic_enhanced grp:toggle,grp_led:scroll
За БДС подредба подредба с превключване на кирилица/латиница с десен Alt:
# setxkbmap bg bds_enhanced grp:toggle,grp_led:scroll
(Не забравяйте, че от XFree86 4.3 нататък има малко по-друг синтаксис, както е показано по-горе.)
Такъв скрипт може да се използва при начално зареждане на потребителска X сесия, променяйки глобалните настройки за подредба на клавиатурата. Файлът ~/.xsession (в Дебиан вместо ~/.xinitrc трябва да се използва ~/.xsession) е подходящ за тази цел. Забележете, че този файл може и да не се изпълни от display manager-и, различни от xdm, като kdm или gdm например. Използвайки горните променливи, командата изглежда по следния начин (в квадратни скоби се отбелязват части, които могат да се пропуснат):
# setxkbmap [ -layout XkbLayout ] [ -variant XkbVariant ] [ -option XkbOptions ] [ -compat XkbCompat ]
Като графични превключватели на подредбата на клавиатурата може да ползвате kxkb, xxkbd и др.
Проверете дали имате този файл, и ако не то непременно трябва да изпълните командата:
# touch /usr/lib/X11/locale/microsoft-cp1251/Compose
понеже някои програми не могат да тръгнат, ако този файл не съществува.
Ако искате да разберете повече за шрифтовете в X, следните текстове може да ви помогнат:
Имайте впредвид, че в X кодирането на знаците на нашата кирилица се именува microsoft-cp1251, по специално в имената на шрифтовете, и windows-1251 на всички други места, като поща например. Последното име е и официалното на това кодиране.
В X широко се използват някои предефинирани имена на шрифтове, като fixed или 10x20 например. Версиите на тези шрифтове с кодировка windows-1251 са с префикс w-, като w-fixed и w-10x20 например. Префиксът c- се използва за шрифтове с Уникод кодиране, което в X се именува iso10646-1. Всички такива кратки имена (alias-и, псевдоними) могат да се видят с командата xlsfonts:
$ xlsfonts | grep ^w-
Пълен списък на всички псевдоними се намира във файловете *.alias от поддиректориите на /etc/X11/fonts. За да видите образите на знаците на някой шрифт, използвайте командата xfd от вида:
$ xfd -fn w-10x20
За търсене и разглеждане на шрифт използвайте xfontsel. Една комбинация от двете команди, която използвам за Уникод шрифтове (в X ги именуват с кодиране iso10646-1), е
$ xfd -fn "`xfontsel -print`"
(FIXME: Тази част още не е прехвърлена.)
Ето списък на най-често използваните пакети с кирилски шрифтове:
Забележка Ако не знаете точното предназначение на кривите скоби, използвани тук, моля прочетете частта Brace Expansion от секцията Basic Shell Features в ръководството на Bash. Тук те няма да се обясняват, защото и без друго това е една от ценните възможности на Bash, която си струва да се знае.
Има два основни начина, с които една програма може да използва шрифтове. Първият е класическият: дават се команди на X сървъра да изобрази определени знаци от определен шрифт. Наричаме този начин използване на X шрифтовете (X core fonts). Вторият начин е самата програма да направи изображение на знаците, които иска да покаже, и да прати тези готови образи на X сървъра чрез разширението RENDER на XFree86. За тази цел се използва библиотеката FreeType. Самата библиотека не прави повече от построяване на образи на знаци. Задачата да се прехвърлят тези образи в X сървъра се изпълнява от библиотеката Xft, последната версия 2 на която е част от по-общата система FontConfig за използване на шрифтове. Този начин наричаме използване на Xft шрифтовете. (В бъдеще по-добре е да се наричат FontConfig шрифтове, но в Дебиан 3.0 това няма да е адекватно, защото там има само Xft1.) От потребителска гледна точка вторият начин има няколко предимства: способността да се изглаждат знаците на шрифтовете (anti-aliasing, X шрифтовете нямат тази способност), много по-разбираемото именуване на шрифтовете (сравнете Lucida Sans 14 с -b&h-lucida-medium-r-normal-sans-14-100-100-100-p-80-iso10646-1) и способността за фино конфигуриране на Xft. Вторият начин е по-нов и само по-новите програми (например тези на KDE2 и GNOME2) са способни да го използват.
И по двата начина могат да се използват TrueType шрифтове. Като X шрифтове те се изобразяват чрез вариант на FreeType, или чрез друга библиотека за изобразяване на знаци -- XTT, но това е само за съвместимост с по-старите програми.
Понякога се разпространяват TrueType шрифтове за определено кодиране, например windows-1251. Много вероятно е да имате проблеми с тях, защото те ще се възприемат като с кодиране iso8859-1. Използвайте Уникод шрифтове.
$ ttmkfdir -о име.scaleкъдето име е специфично за тази група шрифтове име.
# update-fonts-scale TrueType # update-fonts-dir TrueType
Ако използвате шрифтовия сървър xfs, трябва да добавите директорията /usr/lib/X11/fonts/TrueType към параметъра catalogue във файла /etc/X11/fs/config. В шрифтовия сървър xfs-xtt това е файлът /etc/X11/fs-xtt/config. За да видите резултат веднага след като инсталирате шрифтовете, изпълнете командата
# /etc/init.d/xfs reload
или ако използвате xfs-xtt:
# /etc/init.d/xfs-xtt reload
Ако не използвате шрифтов сървър, копирайте цялата секция Files на /etc/X11/XF86Config-4 в края на файла, задължително след реда (ако го има):
### END DEBCONF SECTION
Добавете /usr/lib/X11/fonts/TrueType в началото на списъка с директориите.
Не е нужно да правите каквото и да е -- директорията на шрифтовете е част от подразбиращата се конфигурация. Между другото във FontConfig, която система не е част от Дебиан 3.0, инсталирането на TrueType шрифтове се свежда до копиране на *.ttf файловете в директорията ~/.fonts.
Възможно е обаче да искате да конфигурирате Xft. Подробности могат да се намерят в XFree86 Font De-uglification HOWTO. Обикновено най-желаната конфигурация се свежда до добавяне на следните редове към /etc/X11/XftConfig:
match any size > 8 any size < 15 edit antialias = false;
Това забранява изглаждането на шрифтове с големина между 8 и 15 пункта.
Инсталирането на шрифтов сървър, като например xfs или xfs-xtt, е препоръчително. Изпoлзвайте xfs. За да получите по-добри резултати, в края на файла /etc/X11/XF86Config-4, задължително след реда (ако го има)
### END DEBCONF SECTION
вмъкнете следното:
Section "Files" FontPath "unix:/7100" # xfs port EndSection "Files"