codesio(1M) codesio(1M)
NAME
codesio - code set mapping table compiler
SYNOPSIS
codesio [-s ] -f filename -c codeset -l language -t terminal
DESCRIPTION
codesio takes an internal-external code set mapping source table and
generates an object file suitable for loading into the gls STREAMS
mapping module.
-s Suppress all warning and error messages.
-f filename
Use filename as the input source table.
-c codeset
Generate the object file from the code set codeset within the
file filename.
-l language
Set the language name within the object file to language.
-t terminal
Name the output object file terminal, and set the terminal name
within the object file to terminal.
The input file filename is a specification for any input and/or
output mapping to be performed on a tty line between the internal
code set ISO 8859/1 and a particular terminal. The mapping is
performed by a STREAMS module in the tty stream. The object file
should be installed as /usr/lib/codeset/language/terminal.
The codeset object files may have more than one link (for example,
linking /usr/lib/codeset/american/vt100 to
/usr/lib/codeset/english/vt100) despite the fact that a language and
terminal name are stored in the object file.
Within the input file, empty or blank lines are ignored. Other lines
may be any of the following:
# comment
A comment line, with the # symbol as the first character is
ignored by codesio.
codeset [comment]
A code set mapping header line. On startup, codesio searches
for the header line in the code set source file you specified
(using the -c option) to start reading a mapping entry. The
end of a code set entry is marked by either another header line
or the end of file. If codesio finds an include line within a
7/91 Page 1
codesio(1M) codesio(1M)
code set that it is reading, such as include "codeset"
[comment] codesio progresses on to the codeset named in the
include statement. An included code set may exist anywhere
within the input file being processed.
value input-string output-string
This line lists the data, input and output mappings. The line
consists of three fields separated by tabs, with at least one
tab preceeding the first field.
value is the representation
of an internal character from the ISO 8859/1 set and may be
expressed in decimal, octal or hexadecimal. (Octal values
should begin with 0 and hexadecimal values with 0x .) In
addition, C character representation is understood, thus
represents the value of the character x and represents the
octal value
nnn .
input-string
is the string of characters that will be translated to value on
input from the terminal.
output-string
that will be output instead of value on output to the terminal.
The strings may be surrounded in double quotes to show leading or
trailing spaces explicitly. Standard C backslash escape sequences may
be used. Tabs must be represented by \t, and double quotes within the
string by \". Null characters, represented by \0, may be inserted
into the string.
The special value of XX means that the character sequence in
input_string will be ignored by the mapping module. In this case
output-string will be ignored by codesio.
A null input-string is ignored by codesio.
A missing output-string means that value is unmapped on output.
A null output-string, "", means that value is deleted on output.
Any value not mentioned in the table is passed through the module
unmapped.
EXAMPLE
FILE LAYOUT
Page 2 7/91
codesio(1M) codesio(1M)
# Example vt999 mappings
GERMAN-MAIN
# a,e,o and u with umlauts
0xCC "\033[@a" "\033ua"
0xCD "\033[@e" "\033ue"
0xCE "\033[@o" "\033uo"
0xCF "\033[@u" "\033uu"
# A,E,O and U with umlauts
0xD8 "\033[@A" "\033uA"
0xA5 "\033[@E" "\033uE"
0xDB "\033[@O" "\033uO"
0xDC "\033[@U" "\033uU"
# S-set character (beta)
0xDE "\033[2" "\033e2"
USAGE
To generate an object file suitable for installation, such as
/usr/lib/codeset/german/vt999, from the above example file,
vt999_mappings, you would type
codesio -f vt999_mappings -c GERMAN-MAIN -l german -t vt999
SEE ALSO
gls (7).
WARNINGS
Mapping of output characters that may be used in terminal control
sequences, e.g., cursor movement, will have unexpected effects on
screen displays.
7/91 Page 3