            Collection of Russian hyphenation patterns

                    Version 1.0 (1998-Sep-30)


This package contains hyphenation patterns for the Russian language,
which can be used for various Cyrillic font encodings. It contains
all Russian hyphenation patterns we know of (currently, these are
five different patterns, --- see below), so you can choose your
favorite pattern. :-)

To install, copy all *.tex files to your texmf tree. For example,
create a directory $TEXMF/tex/generic/ruhyphen/ and put all *.tex
files there.

Before creating a format file, edit the file ruhyphen.tex and select
the pattern and font encoding to use (see below for the list of
patterns and supported font encodings).

Usually, hyphenation setup is based on file `hyphen.cfg' which loads
hyphenation patterns in proper encodings for languages which you will
use. It is highly recommended to install BABEL package which provides
a unified mechanisms for hyphenation configurations, and comes with
it's own `hyphen.cfg'.  This is recommended not only to LaTeX users,
but also if you will use a `cyrplain' bundle of the T2 package to
`russify' plain TeX-based formats.

If you will use only Russian and English languages in your documents,
you have two options: either use patterns for different languages in a
separate TeX \language, or use one `combined' Russian-English
language. In the latter case, there will be no need to switch between
languages to get proper hyphenation.

In case of using BABEL's mechanism of hyphenation setup, edit the file
language.dat (either the one which comes with BABEL, or the one which
comes with ruhyphen package) and put it to your TEXMF tree. Put there
either ruhyphen.tex as the Russian hyphenation file, or ruenhyph.tex
for combined Russian-English patterns.

If you refuse to install BABEL, you can create your own `hyphen.cfg'
file containing e.g. the following lines:

----------------------------------------------------------------------
%\language=0 % English
%\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks
\input hyphen
%\language=1 % Russian
\lefthyphenmin=2 \righthyphenmin=2 % disallow x- or -x breaks; -xx OK
\input ruhyphen
%\def\English{\language0 }
%\def\Russian{\language1 }
%\language=0 % English
----------------------------------------------------------------------

or simply

----------------------------------------------------------------------
\input ruenhyph
----------------------------------------------------------------------

Basically, if you need to typeset multilingual documents, --- you
should use LaTeX and T2 Cyrillic encodings. :-)

Note that, when running the file ruhyphen.tex (or ruenhyph.tex)
through TeX, the only global effect is execution of \patterns (and
\hyphenation for exceptions) for the current language, and also
setting the \lefthyphenmin and \righthyphenmin to 2. In particular,
no global changes of \lccode, \uccode, \catcode, etc. values are
made. So, to activate hyphenation, you have to set (at least) the
\lccode values for lowercase and uppercase Russian letters globally in
your TeX file to match the font encoding (and maybe also make other
settings, like \uccode and \sfcode). This is usually done in separate
packages (where those font encodings are defined).


Descriptions of files:

1) main hyphenation files

These are Russian hyphenation patterns created by different people.
Some patterns were generated with `patgen', some were created
manually. The quality of all patterns is comparable. The patterns are
stored in koi8-r Cyrillic encoding (in a form both compact and
convenient for reading and editing by humans), but we provide a means
for re-encoding of patterns (using some TeX hackery) to any desired
font encoding (see below), so there is no need to modify these main
files. All patterns were (re)named according to the standard scheme
ruhyph*.tex, where `*' denotes the origin of patterns. The following
files are included into this collection (in alphabetical order):

ruhyphas.tex
  v1.0b4a 23-Jul-98 of `ashyphen' created by Andrey Slepuhin
  <pooh@msu.ru>, ftp://forest.nmd.msu.ru/pub/tex/hyphenation/
ruhyphct.tex
  31-Dec-89 is a version found in a CyrTUG TeX distribution
ruhyphdv.tex
  The original patterns created by Dimitri Vulis <dlv@bwalk.dm.com>,
  formerly available at CTAN:language/hyphenation/suhyph.tex.
  Re-encoded to koi8-r.
ruhyphvl.tex
  24-Feb-96 Dimitri Vulis' patterns extended by M. Vorontsova and
  S. Lvovski <serge@ium.ips.ras.ru>
ruhyphzn.tex
  v2.0beta of `znhyphen' created by Sergei V. Znamenskii
  <znamensk@ipsun.ras.ru>,
  ftp://ftp.botik.ru/rented/znamensk/tex_dists/03_97/rusifika.zip

All patterns are freely distributable. However, some patterns have
restrictions on commercial usage. See the above files for more
information.


2) additional patterns for the Cyrillic letter `yo'

Generated from the base files using `mkcyryo' script, these files
provide patterns for the `cyryo' letter to make its behavior with
respect to hyphenation identical to `cyre'. This can be done by
making cyryo's \lccode equal to the code of `cyre' -- this is not the
best solution because it will lead to incorrect work of \lowercase,
and, moreover, in LaTeX it is forbidden to change \lccode values.
These files should be used with the corresponding main hyphenation
files.

cyryoas.tex
  generated from ruhyphas.tex
cyryoct.tex
  generated from ruhyphct.tex
cyryodv.tex
  generated from ruhyphdv.tex
cyryovl.tex
  generated from ruhyphvl.tex
cyryozn.tex
  generated from ruhyphzn.tex

mkcyryo
  shell script used for generation of `cyryo*.tex' files
Makefile
  rules for generation of `cyryo*.tex' files. Run `make distclean'
  to remove all `cyryo*.tex' files; run `make' to regenerate them.


3) TeX files for re-encoding of patterns from koi8-r to various TeX
   font encodings

koi2t2.tex
  koi8-r to T2 (X2, T2A, T2B, T2C) encodings (close to cp1251). This
  is the main font encoding to be used for typesetting Cyrillic with
  TeX.
koi2ucy.tex
  koi8-r to UCY (Omega Unicode Cyrillic) encoding.
koi2lcy.tex
  koi8-r to LCY (close to cp866) encoding used e.g. in `old' LH
  fonts.
koi2ot2.tex
  koi8-r to OT2 7-bit Cyrillic TeX encoding used e.g. in
  AMS Washington Cyrillic fonts (wncy*) and LH fonts (wn*).
koi2koi.tex
  koi8-r to koi8-r setup (needed anyway to setup \lccode values).

catkoi.tex
  Set the \catcode values of the lowercase Russian letters in the
  koi8-r encoding to 12. The purpose of this file is similar to
  cathyph.tex: avoid strange effects in case of unusual catcodes
  (e.g. active) for the letters used in hyphenation files.


4) files to be used by users

ruhyphen.tex
  main `head' file which inputs the specified patterns and re-encodes
  them to the specified font encoding. Users can edit this file,
  selecting the patterns and font encodings.
ruenhyph.tex
  alternative `head' file which inputs combined Russian-English
  patterns.  Do not mix patterns for 7-bit Cyrillic font encodings
  (OT2) with English patterns! This can be used only for 8-bit
  Cyrillic font encodings (and, of course, for UCY).

language.dat
  sample file for BABEL. Edit this file and select needed languages.


5) other files

README
  this file
enrhm2.tex
  Avoid -xx breaks for English when \righthyphenmin=2. Used by
  ruenhyph.tex.
ot2ligs.tex
  additional patterns for the OT2 Cyrillic encoding to avoid
  breaking ligatures (avoiding ugly results). Used by koi2ot2.tex.

sortkoi8
  shell script; simple wrapper for `sort' to sort Russian texts
  in koi8-r encoding alphabetically.
sorthyph
  Perl script for sorting hyphenation files (Latin or Cyrillic in
  koi8-r encoding).
trans
  shell script for re-encoding between cp1251, koi8-r, cp866,
  iso-8859-5 Cyrillic charsets (not used here).


Happy TeXing!


Mail your comments, questions, and Russian hyphenation patterns which
are absent in this collection to:

    Werner Lemberg <wl@gnu.org>
    Vladimir Volovich <TeX@vvv.vsu.ru>
