README for Xrus 2.3				Serge Winitzki, September 1999

This is a collection of Russian koi8-r bitmapped fonts for the X window system.

The collection is provided in source format (BDF) and so needs
compiling and installing into a format appropriate for the X server
(e.g. .pcf.gz for the XFree86 servers). This is done automatically by
the Makefile.

Fonts include the Courier, Helvetica and Times typefaces in various
widths and styles, as well as some "Terminal" fixed width typefaces
suitable for xterm and compatible programs. The fonts are named
"-cronyx-{courier,helvetica,times,fixed}-*-" and aliases such as
"koi10x20" etc. are provided for the terminal fonts.

    Summary of changes for version 2.3

1) Updated character bitmaps.

After version xrus-2.2.0 released at the end of 1997, no changes seemed
to have been made until now (September 1999). I have attempted to
remove some residual ugliness out of the typefaces, significantly
changed koi10x20.bdf, and completely reworked the koi12x24.bdf to make
it look like the nice standard ISO8859-1 12x24 terminal font. These two
are the ones I use most since they give the most readable typeface on
my screens.

I also set the canonical character names in all fonts (see the file
"unicode.names").

2) Added more characters to all fonts.

All fonts now support the symbols "degree", "twosuperior" and "nbsp" at
correct positions per the koi8-r specification.

3) Added script `bdfrecode.pl'

I also changed the Makefile to invoke `perl' explicitly rather than to
rely on the correct `perl' path in the scripts `bdfslant.pl' and
`bdfbold.pl'.

	About `bdfrecode.pl'

I added a script `bdfrecode.pl' that can shuffle characters in
a BDF file according to a given translation table and thereby perform
an arbitrary re-encoding of a BDF font and/or select only a subset of
characters from a font. A sample translation table is given in the file
`full.table'. The format of that file is pairs of decimal numbers
between 0 and 255 on each line, e.g.

x1 y1
x2 y2
x3 y3

and so on; lines starting with whitespace and # are comments.  The
character encoded as x1 in the resulting font will be the same as the
character encoded as y1 in the original font etc. Only the characters
(y1, y2, ...) actually contained in the original font will be used, so
a "full table" of all codes does not result in a larger font file. The
script `bdfrecode.pl' is used as a filter, for example a command to
recode according to the table file `some_table' is

	perl bdfrecode.pl -table=some_table < font.bdf > new_font.bdf

The script will automatically adjust the field "_XFREE86_GLYPH_RANGES"
according to whatever subset of glyphs is selected by the table file.

The same script can also be used to rename characters according to a
name table file. To prepare a table file from a given font, use

	perl bdfrecode.pl -table=full.table -printnames=names.txt < font.bdf > /dev/null

and the names of all existing characters in the font will be printed to
the file "names.txt". Edit that file as necessary and apply to
another font by the command

	perl bdfrecode.pl -table=some_table -usenames=some_names.txt < font.bdf > new_font.bdf

Finally, it is possible to use bdfrecode.pl to manipulate the BDF font
preamble, add or replace comments, and change the font encoding
registry. The encoding is controlled by the option "-registry=XXX-X",
for example one can use the command line

	perl bdfrecode.pl -table=full.table -registry=KOI8-R < font.bdf > new_font.bdf

to set the registry of font.bdf to "KOI8-R". (Note the uppercase.)

I am grateful to Andrey Chernov for many suggestions for improvements
during this work.

-- Serge
