[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Belarusian-mini-HOWTO
There were a lot of discussions over the Russian-speaking
Internet about the old Cyrillic-HOWTO that should be moved
to the unmaintained area and Evgenij Baldin even started
a new version which includes a lot of info from various
sources <http://www.inp.nsk.su/~baldin>.
However the old Cyrillic-HOWTO from Alexander L. Belikoff
and the new one from Evgenij Baldin are actually aimed at
Russian-speaking users and do not give a hint for Ukrainians,
Belarusian, Bulgarians, etc.,
I have had a Belarusian-mini-HOWTO for about 1 year
but I never tried to submit it to the LDP for various
reasons, mainly because there were very few Linux users
that were interested in Belarusian language. But as I
receive more and more letters about Belarusian in Linux
now, I decided to present the Belarusian-mini-HOWTO to the
LDP list.
Unfortunately the HOWTO is still in the old linuxdoc format.
--
Alexander Mikhailian
<!doctype linuxdoc system>
<article>
<title>Linux Belarusian mini-HOWTO <author>Alexander Mikhailian,
mikhailian@altern.org <date>v.0.1.4, 25 June 2000
<abstract>
Short guide in setting up Belarusian language support in Linux
console, X Window System, web-browsers, text editors, etc. Charsets
described are windows-1251, iso-8859-5 and koi8-ru. Belarusian
characters can also be found in koi8-ub, koi8-c and of course,
Unicode. Although this HOWTO is Linux-specific, many advices are
applicable to other UNIX-like systems.
</abstract>
<toc>
<sect>Introduction
<sect1> History
<p>
This document was started in September 15, 1999 by Alexander Mikhailian
<sect1>Comments
<p>
Comments on this HOWTO may be directed to the author <htmlurl
url="mailto:mikhailian@altern.org" name="mikhailian@altern.org">.
<sect1>New Versions
<p>
The newest version can always be found on <htmlurl
url="http://www.bellinux.f2s.com/" name="http://www.bellinux.f2s.com">
<sect1>Copyright
<p>
This manual may be reproduced in whole or in part without restrictions.
<sect1>Acknowledgements and Thanks
<p>
Thanks to everyone that gave comments as I was writing this.
<sect>System-wide setup
<sect1>Choosing Charset
<p>
As for now, the best choice seems to be windows-1251. It gives the
user compatibility with MS Windows which is a must-have for many
of us. If you do not care about compatibility, iso-8859-5 is the best
supported and easiest to set up.
<p>
Note that Belarusian support package from <htmlurl
url="http://www.bellinux.f2s.com/" name="http://www.bellinux.f2s.com">
contains all the files mentioned in the present HOWTO unless otherwise
stated in the text.
<sect1>Windows-1251 in the kernel
<p>
Windows-1251 support in the kernel is needed mostly to visualize MS
Windows filenames in Cyrillic with the console and X Window system
localized in windows-1251. As latest FAT file systems store filenames
in Unicode, we have to define the output charset of the Virtual
File System layer. To apply the windows-1251 patch to the kernel:
<itemize>
<item>
<tscreen>
<verb>
cd /path_to_your_kernel_source_tree
</verb>
</tscreen>
<item>
<tscreen>
<verb>
patch -p0 < your_patch.patch
</verb>
</tscreen>
<item>
Recompile and reinstall the kernel. Refer to <em/Kernel-HOWTO/ about the details.
<item>
Add `codepage=866,iocharset=microsoft-cp1251' to your mount options in
order to get the filenames in windows-1251.
</itemize>
<sect1>Setting locale
<p>
<itemize>
<item>Do
<tscreen>
<verb>
localedef -f CP1251 -i be_BY be_BY
</verb>
</tscreen>
or
<tscreen>
<verb>
localedef -f ISO8899-5 -i be_BY be_BY
</verb>
</tscreen>
to compile the locale in windows-1251 encoding or iso-8859-5 encoding.
<item> Check how it works by setting LANG=be_BY and running a
locale-aware program like <em/date/ or <em/cal/.
</itemize>
<sect1>Belarusian in console<label id="Console">
<sect2>Setting Belarusian with iso-8859-5
<p>
There are two ways to set up Belarusian with iso-8859-5
<itemize>
<item> Load iso-8859-5 font <item> Load <em/by2.kmap/ keymap or
<em/by.kmap/ </itemize> Look at the scripts by.iso and by2.iso for an
example. This method has one serious drawback - you will loose all
pseudographic characters and, say, you Midnight Commander will look
somewhat naked. The second method described below preserves all
pseudographic characters:
<itemize>
<item>Load UniCyr font <item>Load <em/by2.kmap/ keymap or <em/by.kmap/
<item>Load Application-Charset Map <em/iso05.acm/
</itemize>
Look at the scripts by.iso2 and by2.iso2 for an example. Also beware
that different Linux distributions have different console-related
packages - <em/console-tools/ or <em/kbd/. Abovementioned scripts are
meant to work with <em/console-tools/ which is by far more popular.
<sect2>Setting Belarusian with windows-1251
<p>
There is no windows-1251 console fonts and the only way to get it work
is
<itemize>
<item> Load UniCyr font <item> Load <em/by2.kmap/ keymap or
<em/by.kmap/ <item> Load Application-Charset Map <em/cp1251.acm/
</itemize>
Look at the script by2.win for an example.
<sect2>Setting Belarusian with koi8-ru
<p>
There is no koi8-ru console fonts and the only way to get it work
is
<itemize>
<item> Load UniCyr font
<item> Load <em/by-stb.koi.kmap/ keymap or <em/byru-stb.koi.kmap/
<item> Load Application-Charset Map <em/koi8-ru.acm/
</itemize>
Look at the scripts by-stb.koi and byru-stb.koi for an example.
<sect1>Belarusian in X Window System<label id="X Window">
<p>
Dirty hack:
<itemize>
<item> Install Cyrillic fonts for X Windows. You can only use
iso-8859-5, koi8-ru and microsoft-1251. BTW, there is a big difference
between koi8-ru and koi8-r. The latest does not have CYRILLIC LETTER
BYELORUSSIAN-UKRAINIAN I and CYRILLIC LETTER SHORT U. <item> Make and
install xruskb package which can be downloaded from <htmlurl
url="http://www.bellinux.f2s.com" name="http://www.bellinux.f2s.com">
<item> Replace .xmm files in your xruskb directory by those found in
the folder modified_keymaps of belarusian-0.1.tar.gz distribution.
<item> Add the following lines in your ~/.Xdefaults file
<tscreen>
<verb> xrus*modeButton1.labelString: BEL xrus*modeButton1.label: BEL
</verb>
</tscreen>
<item>Run
<tscreen>
<verb>xrus jcuken-cp1251</verb>
</tscreen>
or
<tscreen>
<verb>xrus jcuken-iso5</verb>
</tscreen>
to start keyboard switcher.
</itemize>
<p>
Right solution:
A patch to XFree 3.3.5 and 4.0 from Aleksey Novodvorsky that allows
the use of windows-1251 with XKB. The original location is at <htmlurl
url=" ftp.logic.ru/pub/logic/linux/be-locale" name="
ftp.logic.ru/pub/logic/linux/be-locale"> but it is also available in
Belarusian support package from <htmlurl url="http://www.bellinux.f2s.com/"
name="http://www.bellinux.f2s.com">. Lucky users of Linux-Mandrake RE
get a patched XFree86 out of box.
<sect> Editing texts
<sect1> Emacs <label id="Emacs">
<p>
For most Linux distributions, emacs is able to display Belarusian
characters out of box. However, the following conditions should
satisfy:
<itemize>
<item>
Cyrillic iso-8859-5 fonts should be properly installed.
<item>
Emacs-mule package should be installed.
</itemize>
<p>
The user may want to change the default keyboard layout ("input
method" in emacs slang) to jcuken. This feature is provided by
<em/belarusian.el/ along with some other goodies. Read the comments
in the beginning of <em/belarusian.el/ for details.
<sect1>Spell-checking<label id="Spell-checking"> <p>
<itemize>
<item> If you do not have ispell 3.1.20, install it from any Linux
distribution CD. <item> Download the package belspell.tar.gz.
Unpack it and run
<tscreen>
<verb>
buildhash belarusian.sml belarusian.aff belarusian.hash
</verb>
</tscreen>
<item> Copy belarusian.hash to /usr/lib/ispell or wherever your ispell
hash tables are. <item> in order to spell-check a file, type
<tscreen>
<verb>
ispell -d belarusian yourfile.txt
</verb>
</tscreen>
</itemize>
<p>
Getting belarusian ispell dictionary working with emacs is a bit
tricky.
<itemize>
<item> Copy <em/ispell.el/ and <em/ispell.elc/ into your
`$EMACSBIN/../lisp' directory. <item> Copy temporarily
`$EMACSBIN/../lisp/loaddefs.el' to
`/usr/src/emacs-XX.X/lisp/loaddefs.el' where XX.X stand for emacs
version number.<item> Do `M-x
update-file-autoloads RET' and enter the path to the ispell.el.
<item> Copy back <em/loaddefs.el/ <item> Restart emacs
</itemize>
<sect1> TeX
<p>
from Aleksey Novodvorsky:
<p>
You need TeX + babel + T2, e.g. teTeX >= 1.0. in order to get partial
support for Belarusian,
<itemize>
<item>put <em/babel.sty/, <em/belarusianb.ldf/ and
<em/belarusianb.sty/ into
"/usr/share/texmf/tex/generic/babel" <item> run
"texhash" <item> To use Belarusian in LaTeX: add the
following lines in the preamble:
<tscreen>
<verb>
\documentclass[belarusian]{article} \usepackage[cp1251]{inputenc}
\usepackage{babel}
</verb>
</tscreen>
or
<tscreen>
<verb>
\documentclass[belarusian]{article} \usepackage[iso88595]{inputenc}
\usepackage{babel}
</verb>
</tscreen>
</itemize>
<sect>Browsers
<sect1>Netscape
<p>
It is often a problem to correctly visualize Belarusian-specific
characters with Netscape. This is due to that last versions of
Netscape look for <em/any/ koi8-r font and, if they find one, they
refuse to use other fonts for displaying Cyrillic pages.
The problem is solved by removing koi8-r fonts from everywhere - X
Window System font path and font server path.Then install koi8-ru,
iso-8859-5 or windows-1251 and run
<tscreen>
<verb>
xset fp rehash
</verb>
</tscreen>
or restart X server. You will probably have to delete <em/preferences/
and <em/preferences.js/ from the Netscape home directory
<em/.netscape/ and even then you are not guaranteed to have Netscape
work right. Netscape's handling of fonts has always been an obscure
issue.
Links to koi8-ru, iso-8859-5 and windows-1251 cyrillic fonts for X
Window System can be found at
<htmlurl url="http://www.bellinux.f2s.com"
name="http://www.bellinux.f2s.com">
<sect1>Lynx
<p>
In order to view Belarusian sites, you have to set up you console to
handle the encoding you need. See section <ref id="Console"> for more
details.
<p>
Add the following lines to your <em/.linxrc/ file.
<tscreen>
<verb>
character_set=Cyrillic (windows-1251) preferred_language=be
preferred_charset=windows-1251
</verb>
</tscreen>
or
<tscreen>
<verb>
character_set=Cyrillic (ISO-8859-5) preferred_language=be
preferred_charset=iso-8859-5
</verb>
</tscreen>
<p>
If the page you are browsing does not have an explicit charset
declaration, press "o" and set the document charset
manually.
<sect> Mailers
<sect1> Netscape Messenger
<p>
Netscape Messenger can not handle belarusian texts properly. The same
applies to Mozilla.
<sect1> Mutt
<p>
Mutt handles a multitude of charsets and encodings with ease. If your
console has windows-1251 support, add the following lines to your
<em/.muttrc/:
<tscreen>
<verb>
charset-hook "windows-1251" "cp1251" set
charset="windows-1251"
</verb>
</tscreen>
<p>
Mutt automatically converts all incoming messages for the screen
output. It can also convert outgoing messages basing itself on a
versatile pattern matching mechanism, e.g. the following line in
<em/.muttrc/ will force mutt to convert all messages sent to
be-locale@iatp.unibel.by to <em/koi8-r/.
<tscreen>
<verb>
send-hook '~t ^be-locale@iatp\.unibel\.by$' 'set
send_charset="koi8-r"'
</verb>
</tscreen>
<sect> Further support
<p>
A mailing list devoted entirely to Belarusian language support is
available at <htmlurl url="mailto:be-locale@iatp.unibel.by"
name="be-locale@iatp.unibel.by">. To subscribe, send a message to
<htmlurl url="mailto:majordomo@iatp.unibel.by"
name="majordomo@iatp.unibel.by"> with the string "subscribe
be-locale youremailaddress" in the body of the message
<p>
Another mailing list that treats mostly linguistic issues is available
at <htmlurl url="mailto:movaznaustva@egroups.com"
name="movaznaustva@egroups.com">. To subscribe to it, send a message
with empty body to <htmlurl
url="mailto:movaznaustva-subscribe@egroups.com"
name="movaznaustva-subscribe@egroups.com">.
</article>