Перевод Slackware на UTF-8

Перевод Slackware на UTF-8

описан в подробностях процесс русификации slackware 10, но может подойти и для других версий. В некоторых случаях unicode создаёт больше проблемм чем решает! Осторожно текст может содержать ошибки :) их быть они не может не есть.

  1. ядро

    ядро в slackware по умолчанию содержит поддерджку юникода; если нет нужно собрать:
    File Systems --> Native Language Support --> NLS UTF8
    File Systems --> Native Language Support --> (UTF8) Default NLS Option
  2. создание локали

    localedef -v --no-archive -c -i ru_RU -f UTF-8 ru_RU.UTF-8

    Обратите внимание на опцию --no-archive она указыавет на то, что локаль не надо упаковывать в архив. Если вы забудете указать эту опцию, то после обновления библиотеки glibc вам придётся повторить этот шаг снова.
  3. шрифты для консоли и вообще

    tar -zxvf terminus-font-4.09.tar.gz

    cd terminus-font-4.09

    ./configure --prefix=/usr --psfdir=/usr/share/kbd/consolefonts --acmdir=/usr/share/kbd/consoletrans --unidir=/usr/share/kbd/consoletrans --rawdir=/usr/share/misc/pcvtfonts --x11dir=/usr/X11R6/lib/X11/fonts/local
    file: Makefile
    найти "bdftopcf" и заменить на "/usr/X11R6/bin/bdftopcf"
    а также "mkfontdir" на "/usr/X11R6/bin/mkfontdir"

    make psf

    make install-psf

    make txt

    make install-acm

    make install-uni

    make install-ref

    make raw

    make install.raw

    make install-raw

    make pcf

    make install-pcf

    make fontdir

  4. стартовые скрипты

    file: "/etc/rc.d/rc.font"
    unicode_start ter-c14f
  5. волшебные цифирьки

    file: "/usr/bin/unicode_start"
    заменить "echo -n -e '33%G'" на

    for n in 1 2 3 4 5 6; do
    echo -n -e '33%G' > /dev/tty$n
    done
  6. раскладка клавиатуры:

    найти и скачать ru-utf.map.gz

    cp ru-utf.map.gz /usr/share/kbd/keymaps/i386/qwerty/

    file: "/etc/rc.d/rc.keymap"
    loadkeys ru-utf.map.gz
  7. установка локали

    file: "/etc/profile.d/lang.sh"
    export LC_ALL=
    export LANG=ru_RU.UTF-8
  8. locale.alias

    file: "/usr/share/locale/locale.alias" найти одну строчку russian... и заменить её на 3:
    russian ru
    ru ru_RU
    ru_RU ru_RU.UTF-8

    cp -R /usr/lib/locale/ru_RU.utf8 /usr/share/locale/ru_RU.UTF-8

    ln -s /usr/share/locale/ru_RU.UTF-8 /usr/share/locale/ru_RU.utf-8

  9. freetype

    freetype-2.1.2.90.tar.bz2

    installpkg freetype-2.1.2.90.tar.bz2

    или подлиннее и ручками:

    freetype-2.1.9.tar.bz2

    tar -jxvf freetype-2.1.9.tar.bz2

    file: "freetype-2.1.9/include/freetype/config/ftoption.h" по желанию
    /* #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
    заменить или раскомментировать чтобы получилось
    #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
    посмотреть куда был поставлен ратньше freetype

    freetype-config --prefix

    (вместо --prefix=/usr подставить то что получилось, например --prefix=/dir/subdir)

    ./configure --prefix=/usr

    make

    checkinstall

  10. XFT AA

    по желанию отключаем-0/включаем-1 AA через XFT
    file: "~/.bash_profile"
    export GDK_USE_XFT=0
    export QT_XFT=0

    KDE и QT (это тоже самое для всех потомучто иногда локальные настройки не работают)

    file: "/etc/profile.d/qt.sh"
    ...
    QT_XFT=0
    export QT_XFT

    Gtk-приложения (опять для всех по той же причине)

    file: "/etc/profile.d/gtk+.sh"
    #!/bin/sh
    GDK_USE_XFT=0
    export GDK_USE_XFT

     

    file: "~/.gtkrc"
    export GDK_USE_XFT=0

     

    file: "~/.Xresources"
    Xft.antialias: false

     

    file: "/etc/fonts/local.conf"
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <!-- /etc/fonts/local.conf file for local customizations -->
    <fontconfig>
    <dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
    <dir>/usr/X11R6/lib/X11/fonts/corefonts</dir>
    <dir>/usr/X11R6/lib/X11/fonts/artwiz</dir>
    <dir>/usr/X11R6/lib/X11/fonts/local</dir>
    <dir>/usr/X11R6/lib/X11/fonts/misc</dir>
    <dir>/usr/X11R6/lib/X11/fonts</dir>
    <dir>/usr/share/fonts</dir>
    <dir>/usr/local/share/fonts</dir>

    <match target="font">
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    <edit name="hinting" mode="assign">
    <bool>true</bool>
    </edit>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

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

    </fontconfig>

  11. AA для маленьких

    это позволит, избежать ненужного сглаживания, для шрифтов меньшего 14пт размера.
    file: "/etc/fonts/local.conf"
    <match target="font">
    <test name="size" compare="less">
    <double>14</double>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
  12. снова шрифты

    это для распаковки cab-архивов cabextract-0.6-i386-1dl.tgz
    installpkg cabextract-0.6-i386-1dl.tgz

    шрифты из win webfonts-1.0-i386-3dl.tgz
    installpkg webfonts-1.0-i386-3dl.tgz

    шрифты из ASPLinux (к примеру) fonts-ISO10646-1-0.4-0.3asp.noarch.rpm
    rpm2tgz fonts-ISO10646-1-0.4-0.3asp.noarch.rpm
    tar -zxvf fonts-ISO10646-1-0.4-0.3asp.noarch.tgz
    mv usr/share/fonts/ISO10646-1/75dpi/* /usr/X11R6/lib/X11/fonts/ISO10646-1

    aruniupd.exe, cyberbit.zip, code2000.zip, lsansuni.zip, palab.zip, xsuni.zip
    cabextract --lowercase aruniupd.exe
    unzip cyberbit.zip
    unzip lsansuni.zip
    unzip palab.zip
    unzip xsuni.zip
    mv *.ttf /usr/X11R6/lib/X11/fonts/ISO10646-1/
    mv *.TTF /usr/X11R6/lib/X11/fonts/ISO10646-1/

    Русские шрифты artwiz набор растровых шрифтов предназначенные для использования в меню разных програм: artwiz_ru.tar.bz2
    tar -jxvf artwiz_ru.tar.bz2
    mv fonts artwiz
    mv artwiz /usr/X11R6/lib/X11/fonts

    ucs-fonts.tar.gz
    tar -zxvf ucs-fonts.tar.gz
    cd submission/

    file: "Makefile"
    (найти  "bdftopcf" и заменить на "/usr/X11R6/bin/bdftopcf")
    встречается несколько раз!
    make
    mv -b *.pcf.gz /usr/lib/X11/fonts/misc/
    проверьте права доступа для файлов шрифтов из win и переименуйте их в нижний регистр
  13. Xorg

    file: "/etc/X11/xorg.conf"
      ...
    Section "Module"
    # This loads the Type1 and FreeType font modules
    #Load "type1" #отменяем загрузку модуля type1,потому что его функции теперь выполняет модуль freetype
    Load "speedo"
    Load "freetype"
    #Load "xtt" #и это закоментировать если хочется отключить AA
    Load "glx"
    EndSection
    ...
    Section "Files"
    RgbPath "/usr/X11R6/lib/X11/rgb"
    ModulePath "/usr/X11R6/lib/modules"
    FontPath "/usr/X11R6/lib/X11/fonts/ISO10646-1/"
    FontPath "/usr/X11R6/lib/X11/fonts/local/"
    FontPath "/usr/X11R6/lib/X11/fonts/artwiz/"
    FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"
    FontPath "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
    FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
    #ModulePath "/usr/X11R6/lib/modules"
    EndSection
    ...
    Section "InputDevice"
    Identifier "Keyboard1"
    Driver "Keyboard"
    Option "AutoRepeat" "500 30"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us,ru(winkeys)"
    Option "XkbOptions" "grp:lwin_toggle,grp:rwin_switch,grp_led:scroll"
    # переключение по LeftWinKey и непереключение по RightWinKey
    EndSection
  14. прописываем шрифты где только можно:

    file: "/etc/X11/fs/config"
    catalogue = [...],/usr/X11R6/lib/X11/fonts/100dpi/,/usr/X11R6/lib/X11/fonts/ISO10646-1/,/usr/X11R6/lib/X11/fonts/local/,/usr/X11R6/lib/X11/fonts/artwiz/,/usr/X11R6/lib/X11/fonts/cyrillic/,/usr/X11R6/lib/X11/fonts/TTF/

    cd /usr/X11R6/lib/X11/fonts/TTF

    /usr/X11R6/bin/mkfontscale

    /usr/X11R6/bin/mkfontdir

    /usr/X11R6/bin/mkfontdir -e /usr/X11R6/lib/X11/fonts/encodings

    эти 4 предыдущие строчки проделать во всех каталогах с новыми шрифтами (только заменять /TTF)


    file: "/etc/fonts/local.conf" в этом файле (хотя можно и в fonts.conf) добавить по аналогии новые каталоги
    <dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
    <dir>/usr/X11R6/lib/X11/fonts/ISO10646-1/75dpi</dir>
    и так далее ...

    /usr/X11R6/bin/fc-cache -v -f

    /usr/X11R6/bin/fc-list

    /usr/X11R6/bin/xset fp rehash

  15. GTK

    file: "/etc/gtk/gtkrc.ru"
    style "gtk-default-ru" {
    fontset = "-monotype-times new roman-medium-r-*-*-*-*-*-*-*-*-iso10646-1,
    -monotype-arial-medium-r-*-*-*-*-*-*-*-*-iso10646-1,
    -monotype-courier new-medium-r-*-*-*-*-*-*-*-*-iso10646-1,
    -*-terminus-medium-r-*-*-*-*-*-*-*-*-iso10646-1"
    }
    class "GtkWidget" style "gtk-default-ru"

    вот это наверное зря в каталоге /etc/gtk/:

    ln -s gtkrc.ru gtkrc.iso10646-1

    ln -s gtkrc.ru gtkrc.UTF8

    ln -s gtkrc.ru gtkrc.UTF-8

    ln -s gtkrc.ru gtkrc.iso-10646-1

    можно ещё в GNOME (gnome-font-properties) и KDE (kcontrol системное_администрирование - установка шрифтов) проверить (у меня после gnome-font-properties что-то со шрифтами происходит приходится чистить домашний каталог)
  16. fstab

    file: "/etc/fstab"
    /dev/hda3        /mnt/fat-c       vfat        iocharset=utf8,codepage=866,exec,user,rw      1   0
    /dev/cdrom /mnt/cdrom iso9660 iocharset=utf8,codepage=866,noauto,unhide,user,ro 0 0
    /dev/fd0 /mnt/floppy auto iocharset=utf8,codepage=866,sync,noauto,user 0 0
    /dev/sda /mnt/usb vfat rw,users,noauto,iocharset=utf8,codepage=866,sync,umask=0 0 0 0 0
  17. Emacs

    Emacs будет теперь переключаться по Сtrl- или Alt-Shift-9 Alt-Shift-0

    .emacs ненужное (на что ругаться будет) - закомментировать

    file: ~/.Xdefaults
    	emacs*font: -*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-1
  18. Vim

    Vim работает и так
  19. mc

    mc нормально без патчей работать не будет :(
    file: ".bash_profile"
    alias mc='LANG=ru_RU.KOI8-R; xterm -fb -*-terminus-medium-*-*-*-*-*-*-*-*-koi8-r -fn -*-terminus-medium-*-*-*-*-*-*-*-*-koi8-r -e mc; LANG=ru_RU.UTF-8'
    или
    alias mc='LANG=ru_RU.KOI8-R; mc'
  20. xterm

    aterm с юникодом не дружит
    file: ~/.Xdefaults
    XTerm*background: black
    XTerm*foreground: #A8A8A8
    XTerm*font: -*-terminus-medium-*-*-*-*-*-*-*-*-iso10646-1
    XTerm*boldFont: -*-terminus-medium-*-*-*-*-*-*-*-*-iso10646-1
    XTerm*saveLines: 3000
    XTerm*loginShell: true
  21. fluxbox

    file: ~/.fluxbox/styles/name_of_theme
    *font: snap:style=Regular
    file: ~/.fluxbox/init
    ...
    session.screen0.antialias: true
    ...
    или пипка fluxbox_menu>Configure>AntiAlias [x]

    а вот этот фокус не прошёл:

    mv /usr/X11R6/share/fluxbox/nls/ru_RU/fluxbox.cat /usr/X11R6/share/fluxbox/nls/ru_RU/fluxbox.cat.bak

    iconv -f KOI8-R -t UTF-8 /usr/X11R6/share/fluxbox/nls/ru_RU/fluxbox.cat.bak -o /usr/X11R6/share/fluxbox/nls/ru_RU/fluxbox.cat

  22. mplayer

    file: ~/.mplayer/config
    stop-xscreensaver=yes
    vo=xv
    ao=alsa
    #mc=0,0001
    mc=1
    #autosync=30
    autosync=1
    dr=yes
    cache=8192
    framedrop=yes
    fs=yes
    font=/usr/X11R6/lib/fonts/corefonts/arial.ttf
    subfont-encoding=cp1251
    #subcp=cp1251
    subfont-text-scale=4
    #noautosub=no
    #subfont-autoscale=0
    #subfont-osd-scale=24
    #subfont-outline=1
    #subfont-blur=1
    #-aop list=volume:volume=255

были использованы материалы из следующих источников:

http://linux.org.ru

http://dev.gentoo.org/~sergey/unicode-guide.html

http://www.opennet.ru /base/rus/slackware_91_rus.txt.html

http://sle.how-to.ru/

http://slackware.ru/

Точки Emacs и Emacs с удобствами

и других ...

всем спасибо :)

IP Rambler's Top100