Как да настроим ГНУ/Линукс системата си за да можем да четем и пишем на български език

кирилизиране, кирилизация, kirilica, kirilizacia, kirilizirane, linux

Версия 0.34
Последни промени: 28.06.2009г.
http://bg-howto.hit.bg/

Инициатива „Уикипедия 100 000“

 

 

Авторско право © 2009 Валентин Стойков

Този документ се разпространява под последната версия на лиценза за свободна документация на ГНУ, публикуван от Фондацията за свободен софтуер, без "Invariant Sections", "Front-Cover Texts" и "Back-Cover Texts". Копие от лиценза: fdl.txt, http://www.gnu.org/copyleft/fdl.html

Copyright © 2009 Valentin Stoykov

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

 

Съдържание

1. Локализиране

2. Настройка на текстовата конзола

3. Настройка на X.Org (XFree86)

3.1. Инсталиране на шрифтове

3.2. Настройка на клавиатурата

3.3. Настройка на KDE

3.4. Настройка на GNOME

4. Настройка на някои програми

4.1 Настройка на Midnight Commander

4.2 Настройка на Links

4.3 Настройка на xine

4.4 Настройка на MPlayer

4.4.1 Настройка на MPlayer чрез графичния интерфейс

4.4.2 Настройка на MPlayer без графичен интерфейс - първи метод

4.4.3 Настройка на MPlayer без графичен интерфейс - втори метод

4.5 Настройка на Licq

4.6 Настройка на GAIM

4.7 Настройка на Audacious

5. Други настройки

5.1 Настройка на FAT32 и NTFS дяловете

5.2 Отваряне на кирилизирани файлове

6. Особености на различните дистрибуции

6.1 Slackware (или базирани на Slackware)

6.1.1 Общи настройки

Пакети със шрифтове

6.1.2 Настройки за локал bg_BG

6.1.3 Настройки за локал bg_BG.UTF-8

6.2 Red Hat, Fedora

6.3 Mandriva (Mandrake)

6.4 Debian, Knoppix

 

1 Локализиране

За да локализирате системата, трябва променливата от обкръжението LANG да има стойност bg_BG. За да направите това използвайте командата:


$ export LANG=bg_BG

Ако не желаете интерфейса на програмите да бъде на български език, трябва на променливата LC_MESSAGES да се присвои стойност различна от bg - например en:


$ export LANG=bg_BG
$ export LC_MESSAGES=en

За да не се налага да въвеждате тези команди при всяко стартиране на машината, можете да вмъкнете тези команди във файла .bash_profile, намиращ се в потребителската директория. Този скрипт се изпълнява при влизането (логването) на потребителя. В някои дистрибуции за тази цел се ползва файлът .profile. По-нататък ще се говори за .bash_profile. Различните дистрибуции имат различно място, където се правят тези настройки (вж. раздел 6).

За да могат да работят на кирилица, някои стари програми (напр. Links, Midnight Commander) изискват кодирането по подразбиране да бъде cp1251. За целта променливата LANG трябва да има стройност bg_BG.CP1251 (в някои случаи bg_BG е същото като bg_BG.CP1251). За да проверите кодирането по подразбиране за bg_BG напишете:


$ export LANG=bg_BG
$ locale charmap

В отговор ще получите кодирането по подразбиране.

В текста по-долу, когато се каже bg_BG ще се има предвид локал, за който кодирането по подразбиране е CP1251 т.е. bg_BG.CP1251. Това може да бъде сменено в следващите версии на документа.

При някои дистрибуции кодирането по подразбиране е utf-8. При тях bg_BG е същото като bg_BG.UTF-8 и в отговор на командите:


$ export LANG=bg_BG
$ locale charmap

ще получите UTF-8. Това означава, че ако на променливата LANG установите стойност bg_BG все едно сте установили bg_BG.UTF-8 и старите програми няма да работят на кирилица.

При новите програми няма значение каква стойност зададем на променливата LANG - те вътрешно си използват кодиране utf-8.

Кодирането по подразбиране се използва за файловите имена. При създаването на ISO образи на дискове, файловите имена трябва да са с кодиране utf-8. Ако имате файлови имена на кирилица и те се кодират с cp1251, това ще доведе до невъзможност тези файлове да се четат от някои системи. Няма да има проблем при четенето на тези файлове от същата система.

Някои програми (главно програми от GNOME и програми ползващи GTK) показват правилно само файловите имена, които са кодирани с utf-8, но можем да ги накараме да се опитат да разпознаят грешно кодираните файлови имена, като установим стойност 1 на променливата от обкръжението G_BROKEN_FILENAMES така:


$ export G_BROKEN_FILENAMES=1

Извод: Ако не ползвате стари програми, изберете кодирането utf-8 т.е. установете на променливата LANG стойност bg_BG.UTF-8.

 


 

2 Настройка на текстовата конзола

2.1 Общи настройки

Ако дистрибуцията не включва български клавиатурни подредби за конзолата (или не сте доволни от тези, които са включени) можете да изтеглите такива от тук: http://www.ipss-ee.net/~pesho/index.php?dir=Console_Keymaps/. Версия с превключване на клавиатурната подредба с Ctrl+Shift можете да изтеглите от тук: bg-console_keymaps-1.1vs.tar.gz (md5).

При различните дистрибуции директорията, където са клавиатурните подредби е различна. Обикновено е /usr/share/kbd/keymaps/i386/qwerty/ или /lib/kbd/keymaps/i386/qwerty/.

По-долу е обяснено как се правят настройки за различните локали. Моля обърнете внимание, че трябва да изберете какъв локал ще ползвате и да следвате инструкциите за правене на настройки само за този локал.

2.2 Настройки за локал bg_BG

За всеки случай казваме на конзолата, че не и пращаме UTF-8 (обикновено няма нужда от това):


$ echo -n -e '\033%@'

Зареждаме шрифт с командата setfont:


$ setfont -m cp1251 -f Cyr_a8x16

При някои дистрибуции вместо командата setfont се ползва consolechars:


$ consolechars -m cp1251 -f Cyr_a8x16

Настройваме режимът на клавиатурата да бъде ASCII (XLATE). Това обикновено е настройката по подразбиране и в повечето случаи може и без нея.


$ kbd_mode -a

В зависимост от дистрибуцията, която ползвате, зареждането на клавиатурната подредба става с командата loadkeys или install-keymap.

Пример за зареждане на фонетична клавиатурна подредба с командата loadkeys:


$ loadkeys bg_pho-cp1251

Пример за зареждане на клавиатурна подредба БДС с командата loadkeys:


$ loadkeys bg_bds-cp1251

Пример за зареждане на фонетична клавиатурна подредба с командата install-keymap:


$ install-keymap bg_pho-cp1251

Пример за зареждане на клавиатурна подредба БДС с командата install-keymap:


$ install-keymap bg_bds-cp1251

За да може програмата less да визуализира правилно текст на кирилица (тази програма се използва от програмата man и затова е особено важна):


$ export LESSCHARSET=latin1

2.3 Настройки за локал bg_BG.UTF-8

Казваме на конзолата, че пристигащите към нея данни са UTF-8 мултибайтови последователности:


# echo -n -e '\033%G'

Зареждаме шрифт с командата setfont:


$ setfont Cyr_a8x16

При някои дистрибуции вместо командата setfont се ползва consolechars:


$ consolechars Cyr_a8x16

Настройваме режимът на клавиатурата да бъде UTF-8 (UNICODE).


$ kbd_mode -u

В зависимост от дистрибуцията, която ползвате, зареждането на клавиатурната подредба става с командата loadkeys или install-keymap.

Пример за зареждане на фонетична клавиатурна подредба с командата loadkeys:


$ loadkeys bg_pho-utf8

Пример за зареждане на клавиатурна подредба БДС с командата loadkeys:


$ loadkeys bg_bds-utf8

Пример за зареждане на фонетична клавиатурна подредба с командата install-keymap:


$ install-keymap bg_pho-utf8

Пример за зареждане на клавиатурна подредба БДС с командата install-keymap:


$ install-keymap bg_bds-utf8

За да може програмата less да визуализира правилно текст на кирилица (тази програма се използва от програмата man и затова е особено важна):


$ export LESSCHARSET=utf-8

 


 

3 Настройка на X.Org (XFree86)

3.1 Инсталиране на шрифтове

Векторни шрифтове и растерния шрифт Терминус (за конзола и за X.Org) можете да намерите тук: fonts_vs-01092007.tar.gz (md5 сума)

Ако дистрибуцията ползва пакетната система на Slackware, по-добре инсталирайте пакетите със шрифтове, които са правени за дистрибуцията Васт ГНУ/Линукс - те съдържат всички шрифтове от архива fonts_vs. За подробности - раздел 6.1.

За инсталирането на шрифтове можете да ползвате Контролния център на КДЕ (Администрация -> Шрифтове). Всички действия по инсталирането на шрифтове, посочени по-долу са излишни, ако използвате Контролния център на КДЕ.

За да инсталирате шрифтовете по класическия начин, влезте като root и ги копирайте в някоя директория - например /usr/share/fonts/local/. Влезте в директорията и изпълнете командите mkfontscale, mkfontdir и fc-cache:


# cd /usr/share/fonts/local/
# mkfontscale
# mkfontdir -e /usr/share/fonts/encodings
# fc-cache -f

Ако желаете по-старите програми да ползват шрифтовете (напр. xterm), отворете файла /etc/X11/xorg.conf (или /etc/X11/XF86Config-4 или /etc/X11/XF86Config) и проверете дали в секцията Section "Files" е описан пътя до шрифтовете. Пример:

Section "Files"

# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.

    RgbPath     "/usr/share/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
#
    
    FontPath   "/usr/share/fonts/local/" # това е редът, който трябва да добавите
    FontPath   "/usr/share/fonts/misc/"
    FontPath   "/usr/share/fonts/Type1/"
    FontPath   "/usr/share/fonts/CID/"
    FontPath   "/usr/share/fonts/Speedo/"
    FontPath   "/usr/share/fonts/75dpi/"
    FontPath   "/usr/share/fonts/100dpi/"
    FontPath   "/usr/share/fonts/cyrillic/"

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

#    ModulePath "/usr/lib/xorg/modules"

EndSection

Символът "#" означава започването на коментар (пояснителен текст) и настройките на същия ред след този символ се игнорират.

Намерете секцията Section "Module" и проверете дали се зареждат модулите freetype и type1:

Section "Module"

# This loads the DBE extension module.

    Load        "dbe"  	# Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection

# This loads the font modules
    Load        "type1"    # зарежда се type1
    Load        "freetype" # зарежда се freetype
    Load        "speedo"

# This loads the GLX module
    Load       "glx"

EndSection

Проверете дали във файловете /etc/fonts/fonts.conf или /etc/fonts/local.conf е описана директорията, в която копирахте шрифтовете. Може да е описана директория, която съдържа директорията със шрифтовете. Ако я няма, редактирайте файла /etc/fonts/local.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig>

	<dir>/usr/share/fonts/local</dir>
	<dir>~/.fonts</dir>


(не е показан целия файл)

Можете да зададете шрифтове по подразбиране за serif, sans-serif и monospace:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig>

        <!--  Enable sub-pixel rendering
        <match target="font">
                <test qual="all" name="rgba">
                        <const>unknown</const>

                </test>
                <edit name="rgba" mode="assign"><const>rgb</const></edit>
        </match>
         -->

	<dir>/usr/share/fonts/local</dir>
	<dir>~/.fonts</dir>

        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Free Helvetian</family>
                </prefer>
        </alias>

        <alias>
                <family>serif</family>
                <prefer>
                        <family>Free Schoolbook</family>
                </prefer>
        </alias>

        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Free Courier</family>
                </prefer>
        </alias>
</fontconfig>

3.2 Настройка на клавиатурата

Отворете файла /etc/X11/xorg.conf и намерете секцията Section "InputDevice" където е описана конфигурацията на клавиатурата. Намерете редовете започващи с Option "XkbLayout" и Option "XkbOptions", и ги редактирайте. В следващия пример тези редове са маркирани с жълто:

Section "InputDevice"

    Identifier	"Keyboard1"
    Driver	"kbd"

# Ако желаете да пишете по БДС заменете bg(phonetic) с bg
    Option     "XkbLayout" "us,bg(phonetic)"

# Смяната на клавиатурната подредба става с едновременното натискане на Ctrl и Shift
# При българска клавиатурна подредба ще свети светодиода Scroll Lock на клавиатурата
    Option     "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"


EndSection

Ако желаете да превключвате между qwerty, фонетична и БДС, настройките са тези:

Section "InputDevice"

    Identifier	"Keyboard1"
    Driver	"kbd"

    Option     "XkbLayout" "us,bg(phonetic),bg(bds)"

# Смяната на клавиатурната подредба става с едновременното натискане на Ctrl и Shift
# Внимание: използва се Ctrl+Десен_Shift за превключване към следващата подредба и
# Ctrl+Ляв_Shift за превключване към предишната (това означава, че няма да можете
# да превключвате, ако не използвате десния Shift).

# При българска клавиатурна подредба ще свети светодиода Scroll Lock на клавиатурата
    Option     "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"


EndSection

Вместо да редактирате /etc/X11/xorg.conf можете да настроите клавиатурната подредба с командите:

За фонетична подредба:


$ setxkbmap -model pc104 -layout us,bg -variant ,phonetic
$ setxkbmap -option grp:ctrl_shift_toggle
$ setxkbmap -option grp_led:scroll

За подредба БДС:


$ setxkbmap -model pc104 -layout us,bg
$ setxkbmap -option grp:ctrl_shift_toggle
$ setxkbmap -option grp_led:scroll

За фонетична и БДС:


$ setxkbmap -model pc104 -layout us,bg,bg -variant ,phonetic,bds
$ setxkbmap -option grp:ctrl_shift_toggle
$ setxkbmap -option grp_led:scroll

За да не пишете тези команди при всяко стартиране на графичната среда, можете да ги включите в някой скрипт, който се изпълнява при стартиране (например .xinitrc).

3.3 Настройка на KDE

Езикът на интерфейса на програмите от KDE се настройва от Control Center -> Regional & Accessibility -> Country/Region & Language

КДЕ

Ако дистрибуцията, която ползвате е Slackware и българският език го няма в менюто с езиците "Add Language", инсталирайте пакетите kde-i18n-bg-*.tgz и koffice-l10n-bg-*.tgz от втория диск:


# mount /mnt/cdrom
# cd /mnt/cdrom/slackware/kdei/
# installpkg kde-i18n-bg-*.tgz
# installpkg koffice-l10n-bg-*.tgz

КДЕ

Ако сте настроили клавиатурната подредба от /etc/X11/xorg.conf не я настройвайте от Control Center. Препоръчвам ви да си настройвате клавиатурната подредба само от /etc/X11/xorg.conf.

Ако държите да имате индикатор на клавиатурната подредба, и този от КДЕ не работи както желаете, може да пробвате програмата xxkb и/или програмата KKBSwitch.

КДЕ

За да изглежда кирилицата както трябва, изберете от Control Center -> Apperance & Themes -> Fonts UNICODE True Type шрифтове:

КДЕ

3.4 Настройка на GNOME

Езика на интерфейса на програмите от средата GNOME се определя от променливата LC_MESSAGES. Описал съм как се променя тази стойност тук.

Ако желаете GNOME да се опитва да покаже "грешно" кодираните имена на файлове (за единствено правилно кодиране се счита utf-8) установете стойност 1 на променливата от обкръжението G_BROKEN_FILENAMES така:


$ export G_BROKEN_FILENAMES=1

 


 

4 Настройка на някои програми

4.1 Настройка на Midnight Commander

Моля обърнете внимание на това, че официалната версия на тази програма работи правилно на кирилица само при локал bg_BG. Съществуват кръпки, които позволяват да работи с UTF-8. За подробности: тази тема от форума на Линукс за българи. Пакети за Slackware може да намерите на този адрес.

Езика на интерфейса на Midnight Commander се определя от от променливата LC_MESSAGES. Описал съм как става промяната на стойността на тази променлива тук. За да можете да пишете на кирилица, изберете Options -> Display bits и направете следните настройки:

+-------------- Display bits --------------+
|                                          |
|  Input / display codepage:               |
|  Windows 1251               [ Select ]   |
|                                          |
|  [x] Full 8 bits input                   |
|                                          |
|     [ OK ]             [ Cancel ]        |
+------------------------------------------+

Не забравяйте да запазите промените: Options -> Save setup ;-)

Някои по-стари версии на Midnight Commander (напр. тази от RedHat 7.2) се настройват така:

+---------- Display bits -----------+
|                                   |
| (*) Full 8 bits output [< Ok >]   |
| ( ) ISO 8859-1         [ Cancel ] |
| ( ) 7 bits                        |
|                                   |
| [x] Full 8 bits input             |
|                                   |
+-----------------------------------+

 

4.2 Настройка на Links

Моля обърнете внимание на това, че тази програма работи правилно на кирилица само при локал bg_BG.

    File    View    Link    Downloads    Setup    Help   +---------------------+
                                       +-----------------| 7-bit ASCII         |
                                       | Language        | ISO 8859-1          |
                                       | Character set   | ISO 8859-2          |
                                       | Terminal options| ISO 8859-3          |
                                       | Network options | ISO 8859-4          |
                                       | Javascript optio| ISO 8859-5          |
                                       | Miscellaneous op| ISO 8859-6          |
                                       | Cache           | ISO 8859-7          |
                                       | Mail and telnet | ISO 8859-8          |
                                       | Associations    | ISO 8859-9          |
                                       | File extensions | ISO 8859-10         |
                                       |-----------------| ISO 8859-13         |
                                       | Save options    | ISO 8859-14         |
                                       +-----------------| ISO 8859-15         |
                                                         | ISO 8859-16         |
                                                         | Window$ 1250        |
                                                         | Window$ 1251        |
                                                         | Window$ 1252        |
                                                         | Window$ 1256        |
                                                         | Window$ 1257        |
                                                         | CP 437              |
                                                         | CP 737              |
                                                         +---------------------+

 

4.3 Настройка на xine

За да виждате субтитри на кирилица, инсталирайте пакета font_arhangai_for_xine-noarch-vslive2.tgz (md5 сума: font_arhangai_for_xine-noarch-vslive2.tgz.md5).

За да укажете на xine да използва шрифта arhangai, редактирайте ~/.xine/config, като модифицирате следните опции:


misc.spu_font:arhangai
misc.spu_src_encoding:cp1251

4.4 Настройка на MPlayer

Моля обърнете внимание на това, че графичния интерфейс на MPlayer (gmplayer) работи правилно на кирилица само при локал bg_BG. Това не е вярно за новите версии на MPlayer.

За да бъде MPlayer с интерфейс на български език е необходимо да го компилираме с параметър --language=bg.

4.4.1 Настройка на MPlayer чрез графичния интерфейс

Ако стартирате MPlayer с графичния интерфейс (с командата gmplayer) е най-лесно да нагласите шрифта и размера му по следния начин: позиционирайте показалеца на мишката върху MPlayer и натиснете десния бутон на мишката. От менюто изберете Настройки (на англ. Preferences):

Позиционирайте показалеца на мишката върху MPlayer, натиснете десния бутон и от менюто изберете Настройки/Preferences

От прозореца, който ще се отвори, изберете страницата Субтитри & OSD (на англ. Subtitle & OSD). Изберете за кодировка на субтитрите CP1251. Примерни настройки:

Настройка на шрифт, размер на шрифта, кодиране и др.

Изберете страницата Шрифт (на англ. Font). Изберете кодировка на шрифта. Например за съвременните шрифтове, които поддържат стандарта Unicode, изберете Unicode. Примерни настройки:

Настройка на шрифт, размер на шрифта, кодиране и др.

Допускаме, че сме компилирали MPlayer с параметри --prefix=/usr. Това означава, че ако сме го компилирали примерно с параметри --prefix=/usr/local, трябва да променим /usr на /usr/local в посочените по-долу пътища.

Ако сте инсталирали MPlayer чрез компилиране от изходен код или автора на пакета е забравил да създаде файл /usr/etc/mplayer/mplayer.conf, създайте този файл:

zoom=1
subfont-autoscale=1
subfont-text-scale=6
subcp=cp1251
framedrop=yes
slang=bg
alang=bg

Можете да запишете тези настройки и във файла ~/.mplayer/config.

4.4.2 Настройка на MPlayer без графичен интерфейс - първи метод

Ако желаете да ползвате MPlayer без графичния интерфейс (това става с командата mplayer) трябва да зададете TrueType шрифт (или да инсталирате шрифтове във формат специално създаден за MPlayer както е посочено по-долу). Това може да стане, като направите символна връзка /usr/share/mplayer/subfont.ttf, сочеща към някой TrueType шрифт:


# cd /usr/share/mplayer/
# ln -s /usr/share/fonts/TTF/arhangai.ttf subfont.ttf

Ако стартирате MPlayer с командата mplayer т.е. без графичния интерфейс (който се появява ако използвате командата gmplayer) размерът на шрифта може да се зададе с параметри -subfont-text-scale процент, където процент е коефициент, който показва отношението между размера на субтитрите и размера на картината. За подробности относно размера на шрифта вижте какво пише в справочната страница (man page) относно опциите -subfont-text-scale и -subfont-autoscale.

Вместо да се прави символна връзка към желания шрифт може да се направят настройки чрез конфигурационния файл (/usr/etc/mplayer/mplayer.conf или ~/.mplayer/config):

zoom=1
subfont-autoscale=1
subfont-text-scale=6
subcp=cp1251
subfont-encoding=unicode
font=/usr/share/fonts/TTF/arhangai.ttf
framedrop=yes
slang=bg
alang=bg

4.4.3 Настройка на MPlayer без графичен интерфейс - втори метод

Този метод не е за препоръчване при новите версии на MPlayer, защото ползването на шрифтове TTF е по-удобно.

Пакет със шрифт, позволяващ четене на субтитрите на кирилица: font_arhangai_for_mplayer-1.1-noarch-vs1.tgz (md5 сума).

Този пакет съдържа шрифтове, които се записват в поддиректории на директорията /usr/share/mplayer. (Допускаме, че MPlayer е компилиран с параметри --prefix=/usr. Ако е компилиран с параметри --prefix=/usr/local, директориите със шрифтове трябва да се преместят от директорията /usr/share/mplayer в директорята /usr/local/share/mplayer.) При инсталирането на пакета се създава символна връзка /usr/share/mplayer/font, която сочи към някоя от директориите със шрифтове. Чрез промяна на тази символна връзка може да се променя размера на шрифта.

При създаването на пакета е ползван този скрипт:

#!/bin/bash

font="arhangai"
fontfile="${font}.ttf"
encoding="windows-1251"

if [ ! -x ./subfont ]
then
	echo "subfont executable must be in the current directory."
	exit
fi

function doit() {
	rm -rf ${font}-${fontsize} 2>/dev/null
	mkdir ${font}-${fontsize} 2>/dev/null
	./subfont --outdir "${font}-${fontsize}" --blur $blur --outline $outline "$encoding" $fontsize "$fontfile" || exit
	./subfont --outdir ${font}-${fontsize} --append encodings/osd-mplayer $symbolssize osd/osd.pfb || exit
}

fontsize="14"
symbolssize="22"
blur="1.5"
outline="1"
doit

fontsize="18"
symbolssize="28"
blur="1.5"
outline="1.5"
doit

fontsize="24"
symbolssize="35"
blur="2"
outline="1.5"
doit

fontsize="28"
symbolssize="40"
blur="2"
outline="2"
doit

Скриптът ползва програмата subfont-c, която се разпространява с MPlayer. Скриптът създава четири директории, съдържащи шрифта Arhangai с размери 14, 18, 24 и 28.

 

4.5 Настройка на Licq

Настройката на Licq се състои в избор на кодиране:

Избор на кодиране в Licq

 

4.6 Настройка на GAIM

По подразбиране GAIM е настроен да праща с кодиране iso-8859-1. Когато пишем символи, които не могат да се кодират с iso-8859-1 се ползва utf-16. Това създава проблеми с ICQ клиенти, които не разбират това кодиране (например Licq версия 1.2.7). За да се реши този проблем можем да зададем кодирането по подразбиране да бъде CP1251 (известно още и като windows-1251, cp-1251):

Gaim Gaim Gaim Gaim

 

4.7 Настройка на Audacious

За да се показват имената на песните на кирилица в списъка за просвирване (плейлистата), които са кодиране CP1251, трябва да настроите Audacious по следния начин - натиснете Ctrl+P (на латиница) когато програмата е на фокус (или щракнете с десен бутон върху програмата и от контекстното меню изберете Preferences), изберете Playlist и въведете в полето Fallback character encoding стойност CP1251 (без тире!):

Аudacious

За да работят тези настройки е необходимо Audacious и приставките за него да са компилирани с --enable-chardet.

 


 

5 Други настройки

5.1 Настройка на FAT32 и NTFS дяловете

Ако имате Windows с FAT32 файлова система на същия компютър е добре да редактирате файла /etc/fstab като добавите iocharset=cp1251,codepage=855 (за локал bg_BG) или iocharset=utf8,codepage=855 (за локал bg_BG.UTF-8). При файлова система NTFS добавяме nls=cp1251 (за локал bg_BG) или nls=utf8 (за локал bg_BG.UTF-8).

Примерни настройки при локал bg_BG:

/dev/hda1   /mnt/win_c  ntfs      nls=cp1251,ro,umask=0222 0 0
/dev/hda9   /mnt/win_d  vfat      iocharset=cp1251,codepage=855,fmask=111,dmask=000   1   0

Примерни настройки при локал bg_BG.UTF-8:

/dev/hda1   /mnt/win_c  ntfs      nls=utf8,ro,umask=0222 0 0
/dev/hda9   /mnt/win_d  vfat      iocharset=utf8,codepage=855,fmask=111,dmask=000   1   0

FIXME: Не са ли по-добри тези настройки:

/dev/hda1   /mnt/win_c  ntfs      utf8,ro,umask=0222 0 0
/dev/hda9   /mnt/win_d  vfat      utf8,codepage=855,fmask=111,dmask=000   1   0

В резултат на тези настройки, имената на файловете и директориите ще изглеждат кодирани с посоченото кодиране (CP1251 или UTF-8).

При програмите от GNOME и програмите, ползващи GTK (напр. AbiWord) се използва UTF-8 за имената на файловете (това може да се коригира с променливата от обркъжението G_BROKEN_FILENAMES както е описано по-горе.

При КДЕ кодирането на имената на файловете не е твърдо UTF-8, а се определя от локала.

Не винаги codepage=855 е правилната настройка. Понякога е правилно да се напише codepage=866. За подробности: тук и тук.

Нещо важно: не си инсталирайте кирилизатор на Windows-а! За да разберете защо, вижте сайта на Инжинера - тук или тук.

 

5.2 Отваряне на кирилизирани файлове

В близкото минало са използвали програми, наречени кирилизатори. Те инсталираха кирилизирани шрифтове и клавиатурни подредби на операционните системи, които не поддържаха кирилица.

Съвременните операционни системи поддържат кирилицата без да се налага ползването на кирилизатори. Въпреки това много потребители се оказват в една особена ситуация - имат съвременна операционна система, но имат и инсталиран кирилизатор. Повече по този въпрос можете да прочетете на сайта на Инжинера.

Последствието от ползването на кирилизатори е, че файловете с текст (напр. във формат .RTF и .DOC) са кирилизирани т.е. кодирани са по такъв начин, че могат да се четат след инсталиране на кирилизирани шрифтове, но не могат да се четат със шрифтове, които поддръжат кирилицата по стандартен начин. От тук следва, че тези файлове не могат да се отварят (без допълнителна обработка) със съвременен софтуер, който поддържа кирилица по стандартния начин.

Както вероятно вече сте прочели от сайта на Инжинера, ползването на кирилизация в съвременните операционни системи е нежелателно (те поддържат кирилица (и даже могат да бъдат с български интерфейс) без да се налага инсталирането на кирилизатор (кирилизирани шрифтове)).

За щастие съществуват инструменти, които ремонтират кирилизирани файлове. Такива има в пакета CyrTools за OpenOffice.org, който може да се свали от този адрес:
http://openoffice.vspu.ac.ru/cyrtools1.3.uno.zip

Инсталирането на пакета CyrTools става по описания по-долу начин (допускаме, че имате инсталиран OpenOffice.org).

Ръководство за плзване на програмата (на руски език):
http://openoffice.vspu.ac.ru/doc/

Намираме директорията, където се намира програмата за управление на пакети unopkg. Например чрез командата readlink -f `which soffice` разбираме къде се намира файла soffice (а в директорията, в която се намира този файл, се намира и програмата unopkg):


$ readlink -f `which soffice`
/opt/openoffice.org2.0/program/soffice
$

Взимаме резултата от тази команда и го преписваме като команда, но вместо soffice пишем unopkg gui:


$ /opt/openoffice.org2.0/program/unopkg gui

В новите дистрибуции би трябвало да има връзка /usr/bin/unopkg, която да сочи към програмата unopkg (ако пакетирате OpenOffice.org не забравяйте да проверите дали тази връзка съществува). В такъв случай търсенето отпада и просто пишем:


$ unopkg gui

В резултат на това се стартира графичния интерфейс на програмата unopkg:

Unopkg

След стартиране на графичния интерфейс, показан по-горе, натискаме бутона "Добавяне". Появява се следния диалог:

Избираме файла cyrtools1.3.uno.zip и натискаме бутона "Отваряне".

Пакетът вече е инсталиран и можем да затворим графичния интерфейс на unopkg, да стартираме OpenOffice.org и да отворим повредения файл:

OpenOffice.org

От менюто "Cyrillic Document" избираме "Recode Document -> Latin-1 to Cyrillic":

OpenOffice.org

Малко след като сме извършили гореописаното действие, текста вече се чете:

OpenOffice.org

 


 

6. Особености на различните дистрибуции

6.1 Slackware (или базирани на Slackware)

6.1.1 Общи настройки

Тъй като клавиатурните подредби, които са в Slackware са стари версии (и имат бъгове) е добре да инсталирате най-новите версии. Директорията в която се копират е /usr/share/kbd/keymaps/i386/qwerty/. Примерните настройки по-долу са валидни при версия 1.1vs на клавиатурните подредби (в раздел 2.1 има връзки към тези клавиатурните подредби).

Скриптовете в Slackware за задаване на локал, шрифт и клавиатурна подредба са:

Тези скриптове задават глобалните настройки (настройките за всички потребители).

Ако желаете да зададете настройки само за определен потребител, без да променяте глобалните настройки, ползвайте файла .bash_profile, намиращ се в потребителската директория. Добре е да направите връзки .profile, .bashrc и .bash_login, които да сочат към .bash_profile:


$ cd
$ ln -s .bash_profile .profile
$ ln -s .bash_profile .bashrc
$ ln -s .bash_profile .bash_login

В някои случаи се налага във виртуален терминал (текстова конзола) да се показва текст на кирилица преди потребителя да е въвел потребителското име и паролата си (напр. при показване на файла /etc/issue). В примерите по-долу тези настройки са направени във файла rc.local, който се изпълнява при началното зареждане.

В дистрибуцията Slackware няма почти никакви векторни шрифтове, които да имат кирилица. Добра идея е да не инсталирате пакета x11-fonts-scale (или да го деинсталирате, ако е инсталиран по невнимание), защото той съдържа векторни шрифтове, които не поддръжат кирилица (когато някоя програма реши да ползва такъв шрифт, показва празни правоъгълници или правоъгълници с числа). Деинсталирането става с командата removepkg:


# removepkg x11-fonts-scale

Пакети за Slackware със шрифтове можете да изтеглите от тук:

За да инсталирате пакетите под Slackware, влезте като root и напишете:


# installpkg t1_cyrillic-4.0-noarch-vs1.tgz
# installpkg t1_oldslavic-4.10.0.1-noarch-vs1.tgz
# installpkg t1_teams-4.10.0.1-noarch-vs1.tgz
# installpkg terminus_font-4.20-noarch-7vs.tgz
# installpkg ttf_arhangai-4.10.0.1-noarch-vs1.tgz
# installpkg ttf_freefont-20060501.cvs.12-noarch-vs1.tgz
# installpkg ttf_thryomanes-4.10.0.1-noarch-vs1.tgz

Ако ползвате друга дистрибуция, можете да инсталирате шрифтовете от пакетите като ги разархивирате и копирате в директорията, която сте избрали:


# mkdir tmp
# tar -zxmf t1_cyrillic-4.0-noarch-vs1.tgz -C ./tmp
# tar -zxmf t1_oldslavic-4.10.0.1-noarch-vs1.tgz -C ./tmp
# tar -zxmf t1_teams-4.10.0.1-noarch-vs1.tgz -C ./tmp
# tar -zxmf terminus_font-4.20-noarch-7vs.tgz -C ./tmp
# tar -zxmf ttf_arhangai-4.10.0.1-noarch-vs1.tgz -C ./tmp
# tar -zxmf ttf_freefont-20060501.cvs.12-noarch-vs1.tgz -C ./tmp
# tar -zxmf ttf_thryomanes-4.10.0.1-noarch-vs1.tgz -C ./tmp
# mkdir -p /usr/share/fonts/local # ако случайно директорията не съществува
# cp ./tmp/usr/share/fonts/TTF/* /usr/share/fonts/local
# cp ./tmp/usr/share/fonts/Type1/* /usr/share/fonts/local
# cp ./tmp/usr/share/fonts/misc/* /usr/share/fonts/local
# cp ./tmp/usr/share/kbd/consolefonts/* /директорията-consolefonts-на-Вашата-дистрибуция/
# cp ./tmp/usr/share/kbd/consoletrans/* /директорията-consoletrans-на-Вашата-дистрибуция/
# cd /usr/share/fonts/local
# mkfontscale .
# mkfontdir .
# fc-cache -f

За редактирането на xorg.conf и local.conf вижте раздел 3.1

По-долу е обяснено как се правят настройки за различните локали. Моля обърнете внимание, че трябва да изберете какъв локал ще ползвате и да следвате инструкциите за правене на настройки само за този локал.

6.1.2 Настройки за локал bg_BG

Примерно съдържание на файла /etc/rc.d/rc.font:

#!/bin/sh
#
# Този скрипт зарежда шрифт за виртуален терминал (текстова конзола).
# Достъпните шрифтове се намират в директорията
# /usr/share/kbd/consolefonts.
#

echo -n -e '\033%@'
setfont -m cp1251 -f Cyr_a8x16

Примерно съдържание на файла /etc/rc.d/rc.keymap:

#!/bin/sh
#
# Този скрипт зарежда клавиатурната подредба (keymap).
# Директорията на клавиатурните продредби е
# /usr/share/kbd/keymaps/i386/qwerty/
#

# Подредби по БДС:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_bds-cp1251_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_bds-cp1251_ctrl_shift
# превключване Alt+Shift и Menu:             bg_bds-cp1251

# Фонетични подредби:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_pho-cp1251_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_pho-cp1251_ctrl_shift
# превключване Alt+Shift и Menu:             bg_pho-cp1251

kbd_mode -a # режим ASCII
loadkeys bg_pho-cp1251_alt_ctrl_shift

Примерно съдържание на файла /etc/profile.d/lang.sh:

#!/bin/sh

export LANG=bg_BG

# Променливата LC_MESSAGES указва какъв да бъде езика на интерфейса на програмите.
# Ако желаете интерфейса на програмите да бъде
# на английски вместо на български, махнете # в началото на следващия ред
#export LC_MESSAGES=en

# тази команда решава някои проблеми свързани с man
export LESSCHARSET=latin1

# за да могат да се четат грешно кодирани файлови имена в GTK програмите
export G_BROKEN_FILENAMES=1

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

# повторно зареждане на шрифт и клавиатурна подредба (за всеки случай)
. /etc/rc.d/rc.keymap 2>/dev/null
. /etc/rc.d/rc.font

;;
esac

Примерно съдържание на файла /etc/rc.d/rc.local:

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local setup commands in here:

# настройки за виртуален терминал от 1 до 6:
for i in 1 2 3 4 5 6
do
    echo -n -e '\033%@' > /dev/tty$i
done

Примерно съдържание на файла ~/.bash_profile:

#!/bin/sh
# Примерно съдържание на файла ~/.bash_profile
# Това е конфигурационен файл, който задава настройките на един потребител
# За глобални настройки (настройки за всички потребители) редактирайте
# файловете lang.sh, rc.keymap и rc.font.

export LANG=bg_BG

# Променливата LC_MESSAGES указва какъв да бъде езика на интерфейса на програмите.
# Ако желаете интерфейса на програмите да бъде
# на английски вместо на български, махнете # в началото на следващия ред
#export LC_MESSAGES=en

# тази команда решава някои проблеми свързани с man
export LESSCHARSET=latin1

# за да могат да се четат грешно кодирани файлови имена в GTK програмите
export G_BROKEN_FILENAMES=1

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

echo -n -e '\033%@'
setfont -m cp1251 -f Cyr_a8x16
kbd_mode -a # режим ASCII
loadkeys bg_pho-cp1251_alt_ctrl_shift

;;
esac

6.1.3 Настройки за локал bg_BG.UTF-8

Примерно съдържание на файла /etc/rc.d/rc.font:

#!/bin/sh
#
# Този скрипт зарежда шрифт за виртуален терминал (текстова конзола).
# Достъпните шрифтове се намират в директорията
# /usr/share/kbd/consolefonts.
#

echo -n -e '\033%G' # кодиране UTF-8
setfont Cyr_a8x16

Примерно съдържание на файла /etc/rc.d/rc.keymap:

#!/bin/sh
#
# Този скрипт зарежда клавиатурната подредба (keymap).
# Директорията на клавиатурните продредби е
# /usr/share/kbd/keymaps/i386/qwerty/
#

# Подредби по БДС:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_bds-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_bds-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_bds-utf8

# Фонетични подредби:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_pho-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_pho-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_pho-utf8

kbd_mode -u # режим UTF-8
loadkeys bg_pho-utf8_alt_ctrl_shift

Примерно съдържание на файла /etc/profile.d/lang.sh:

#!/bin/sh

export LANG="bg_BG.UTF-8"

# Променливата LC_MESSAGES указва какъв да бъде езика на интерфейса на програмите.
# Ако желаете интерфейса на програмите да бъде
# на английски вместо на български, махнете # в началото на следващия ред
#export LC_MESSAGES=en

# тази команда решава някои проблеми свързани с man
export LESSCHARSET=utf-8

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

# повторно зареждане на шрифт и клавиатурна подредба (за всеки случай)
. /etc/rc.d/rc.keymap 2>/dev/null
. /etc/rc.d/rc.font

;;
esac

Примерно съдържание на файла /etc/rc.d/rc.local:

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local setup commands in here:

# настройки за виртуален терминал от 1 до 6:
for i in 1 2 3 4 5 6
do
    echo -n -e '\033%G' > /dev/tty$i
done

Примерно съдържание на файла ~/.bash_profile:

#!/bin/sh
# Примерно съдържание на файла ~/.bash_profile
# Това е конфигурационен файл, който задава настройките на един потребител
# За глобални настройки (настройки за всички потребители) редактирайте
# файловете lang.sh, rc.keymap и rc.font.

export LANG="bg_BG.UTF-8"

# Променливата LC_MESSAGES указва какъв да бъде езика на интерфейса на програмите.
# Ако желаете интерфейса на програмите да бъде
# на английски вместо на български, махнете # в началото на следващия ред
#export LC_MESSAGES=en

# тази команда решава някои проблеми свързани с man
export LESSCHARSET=utf-8

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

  echo -n -e '\033%G' # кодиране UTF-8
  setfont -m cp1251 -f Cyr_a8x16

# Подредби по БДС:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_bds-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_bds-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_bds-utf8

# Фонетични подредби:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_pho-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_pho-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_pho-utf8

  kbd_mode -u # режим на клавиатурата UTF-8
  loadkeys bg_pho-utf8_alt_ctrl_shift # вж. по-горе за наличните подредби

;;
esac

Текстът в тази рамка се отнася само за локал bg_BG и трябва бъде пренаписан/допълнен.

6.2 Red Hat, Fedora

В Red Hat, за настройка на шрифта и променливата LANG, е предвиден файла /etc/sysconfig/i18n,

# Примерно съдържание на файла /etc/sysconfig/i18n
# Тествано с Red Hat 7.2
LANG="bg_BG"
SUPPORTED="en_US:en:ru_RU.koi8r:ru_RU:ru:ru_UA:ru:sr_YU@cyrillic:sr_YU:sr:sk_SK:sk:sl_SI:sl:uk_UA:uk:uz_UZ:uz"
SYSFONT="UniCyr_8x16" # това е шрифта, който ще се зарежда
SYSFONTACM="cp1251"   # това е кодирането

а за клавиатурната подредба - файла /etc/sysconfig/keyboard.

# Примерно съдържание на файла /etc/sysconfig/keyboard
# Тествано с Red Hat 7.2
KEYTABLE="bg_pho-cp1251"

Клавиатурната подредба, която ще ползвате, копирайте в директорията /lib/kbd/keymaps/i386/qwerty (става въпрос за Red Hat Linux 7.2; за други версии мястото на клавиатурните подредби може да е друго).


# cp bg_bds-cp1251.map.gz /lib/kbd/keymaps/i386/qwerty/
# cp bg_pho-cp1251.map.gz /lib/kbd/keymaps/i386/qwerty/

6.3 Mandriva (Mandrake)

За да кирилизирате конзолата в Mandrake вмъкнете във файла ~/.bash_profile следните редове:

#
# Примерно съдържание на файла ~/.bash_profile
# Тестван е с Mandrake 9 (при инсталацията беше зададен български език!)
#

if [ "`/sbin/consoletype`" == "vt" ]; then
# следващите команди ще се изпълнят само, ако терминала е виртуален

consolechars -m cp1251 -f UniCyr_8x16
loadkeys bg_pho-cp1251

fi

6.4 Debian, Knoppix

За Knoppix може да се ползва следния скрипт:

#!/bin/bash
#
# Този скрипт служи за настройка на кирилицата в текстов режим
# Тествано с Knoppix v3.2
#

consolechars -m cp1251 -f Cyr_a8x16
install-keymap bg_pho-cp1251.map.gz

 


Връзки

Стари връзки (възможно е да намерите подвеждаща информация, защото става въпрос за стари програми)

 

Jabber: valentin@jabber.org
Е-поща: vstoykov@users.sourceforge.net
valentin_stoykov@mail.bg
valentin.stoykov@gmail.com
ICQ: 269776004 icq
Лична страница: http://vstoykov.hit.bg/
 



„Не е важно да знаеш всичко, важното е да знаеш къде да го намериш.“ — Алберт Айнщайн



Valid XHTML 1.1 Valid CSS!