Reference

cstocs(1)

reencoding utility

NAME

cstocs - reencoding utility

FORMAT

cstocs [ options ] src_encoding dst_encoding [ file ... ]

DESCRIPTION

Cstocs is a simple utility to change encoding of given text. It takes files [ file ... ] (if none is specified, then it uses standard input), assuming that they are encoded in src_encoding, and tries to reencode it into dst_encoding. Result is written to standard output. I.e., semantics of [ file ... ] is the same as in cat(1).

There are two versions of cstocs in cstocs 3.0 package: cstocs.pl written in Perl 5, and cstocs.awk writen in GNU awk. The install script will link cstocs.pl as csttocs, if perl is present, and cstocs.awk as cstocs otherwise. The cstocs.awk is mostly the same program as cstocs 2.2. See also the BUGS section.

Characters, that are not defined in src_encoding, are passed to standard output unchanged.

If source text contains character, that is defined in src_encoding but not in dst_encoding, it can be handled several ways. For example, character "e with caron" (symbol ecaron), and "d with caron" (symbol dcaron) are included in iso-8859-2 encoding, but not in iso-8859-1. If you will do reencoding of 8859-2 text to 8859-1, you may want to do one of the following actions:

1)

Do not produce any output instead of "ecaron" symbol.

2)

Substitute some string (possibly a space) instead of both ecaron and dcaron.

3)

Substitute a letter "d" instead of dcaron, and "e" instead of ecaron. It is even possible to substitute string instead of symbol, so you can replace the "AE" Latin character with string "AE" (letter "A", and letter "E"). Or you can replace a "plusminus sign" with a string "+/-". These substitutions are described in accent file.

OPTIONS

--dir directory

Encoding files are taken from directory instead of default /usr/local/lib/cstocs. If CSTOCSDIR environment variable is set, it is used instead. The highest priority has --dir option, next is CSTOCSDIR and if none of the above two is used, cstocs uses the default directory /usr/local/lib/cstocs.

--fillstring string

If source text contains character, that is defined in src_encoding but not in dst_encoding nor in accent file, it is replaced by string. Default action is to replace such a character with space.

--null

Completely equivalent to --fillstring "".

--nochange

Do not look to accent file. If you use both --null and --nochange, cstocs will work after the 1) scheme. Using --null and --fillstring makes csotcs working after 2) scheme.

--onebyone

Use only these rules from accent file, which rewrite symbol to exactly one character. If this option is specified, character "ecaron" will be rewritten to "e", but "AE" character will not be rewritten to "AE" string. This is the default option.

--onebymore

Use all rules from accent file.

AVAILABLE ENCODINGS

ascii

This is 7-bit ASCII encoding. Can be used to strip diacritic from characters.

il1

ISO-8859-1 (West European languages)

il2

ISO-8859-2 (East European languages)

cork

Cork (T1) encoding used by TeX's DC fonts and by LaTeX 2e.

kam

Kamenicky encoding (it was one of the most popuar encodings in Czech/Slovak language space).

koi

It is KOI8-cs encoding (very old).

vga

Encoding used by standard IBM PC vga cards.

pc2

PC-Latin2 encoding, supported by M$-DOS.

1250

Encoding used by czech M$-Windows.

1252

Encoding used by M$-Windows (aka MS-Windows Latin 1).

mac

Macintosh Roman encoding.

macce

Macintosh Central European encoding.

THE NAME OF THE GAME

Name cstocs is an acronym of `czech+slovak to czech+slovak'. This name is stolen from cstocs.exe utility, which was used for similar purposes under M$-DOS.

EXAMPLES

cstocs il2 ascii myfile.8859-2 | lpr -Pmatrix

Sends iso-8859-2 encoded text to a ASCII matrix printer.

cstocs kam il2 <mytext.kam >mytext.8859-2

Translate old text into a "standard" iso-8859-2 encoding.

cstocs --null --nochange koi8 ascii file1 file2 >ascii.file

Takes a koi8-encoded files and deletes are characters which are in koi8-cs but not in 7-bit ASCII.

FILES

/usr/lib/cstocs/accent

/usr/lib/cstocs/*.enc

ENVIRONMENT

CSTOCSDIR

SEE ALSO

gawk(1), ascii(7), cat(1)

ftp://toy.zcu.cz/pub/kiv-local/luki/published/cs-encodings-faq

FILE.FORMAT in cstocs distribution

AUTHORS

Jan "Yenya" Kasprzak <[email protected]>

Some tables were contributed an corrected by Jan Pazdziora <[email protected]>

The mac, macce and 1252 tables, as well as some bug fixes were contributed by Jiri Kvarda <[email protected]>

Many people on the Net sends me fixes for the encoding tables.

BUGS

cstocs.awk is written in gawk(1). It was developed using GNU gawk 2.15. I am not sure, if it uses any gawk-specific stuff. If you see the "syntax error" message from awk, you should get and use GNU awk or nawk.

cstocs.awk appends newline at the end of output file, even if the input

file's last line does not end with a newline.

cstocs.awk is a terribly slow. This is probably because gawk uses

FP arithmetic even for integers. On my machine the Perl version was 45-times faster than the AWK version in the default case and more than 2-times faster in --onebymore case.

Man page an option names can be confusing :-(

BUG REPORTS

If you will have any problem with this software, do:

1) RTFM,
2) if this does not help you, feel free to send me mail to <[email protected]>

COPYRIGHT

Copyright (C) 1994-1996 Jan "Yenya" Kasprzak <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.