geniconvtbl(1)
NAME
geniconvtbl - generate iconv code conversion tables
SYNOPSIS
geniconvtbl [-fnq] [-p preprocessor] [-W arg] [-Dname] [-
Dname=def] [-Idirectory] [-Uname] [infile...]
DESCRIPTION
The geniconvtbl utility accepts code conversion rules
defined in flat text file(s) and writes code conversion
binary table file(s) that can be used to support user-
defined iconv code conversions (see iconv(1) and iconv(3C)
for more detail on the iconv code conversion).
OPTIONS
The following options are supported:
-f Overwrites output file if the output file exists.
-n Does not generate an output file. This is useful to
check the contents of the input file.
-p preprocessor
Uses specified preprocessor instead of the default
preprocessor, /usr/lib/cpp.
-q Quiet option. It suppresses warning and error mes-
sages.
-W arg
Passes the argument arg to the preprocessor. If this
option is specified more than once, all arguments are
passed to the preprocessor.
-Dname
-Dname=def
-Idirectory
-Uname
geniconvtbl recognizes these options and passes them
and their arguments to the preprocessor.
OPERANDS
The following operand is supported:
infile
A path name of an input file. If no input file is
specified, geniconvtbl reads from the standard input
stream. The user can specify more than one input file
if necessary.
OUTPUT
If input is from the standard input stream, geniconvtbl
writes output to the standard output stream. If one or more
input files are specified, geniconvtbl reads from each input
file and writes to a corresponding output file. Each of the
output file names will be the same as the corresponding
input file with .bt appended.
The generated output files must be moved to the following
directory prior to using the code conversions at iconv(1)
and iconv(3C):
/usr/lib/iconv/geniconvtbl/binarytables/
The output file name should start with one or more printable
ASCII characters as the 'fromcode' name followed by a per-
centage character (%), followed by one or more printable
ASCII characters as the 'tocode' name, followed by the suf-
fix '.bt'. The 'fromcode' and 'tocode' names are used to
identify the iconv code conversion at iconv(1) and
iconv_open(3C)). The properly named output file should be
placed in the directory,
/usr/lib/iconv/geniconvtbl/binarytables/.
EXAMPLES
Example 1: Generating an iconv code conversion binary table
The following example generates a code conversion binary
table with output file name convertA2B.bt:
example% geniconvtbl convertA2B
Example 2: Generating multiple iconv code conversion binary
tables
The following example generates two code conversion binary
tables with output files test1.bt and test2.bt:
example% geniconvtbl test1 test2
Example 3: Using another preprocessor
The following example generates a code conversion binary
table once the specified preprocessor has processed the
input file:
example% geniconvtbl -p /opt/SUNWspro/bin/cc -W -E convertB2A
Example 4: Placing a binary table
To use the binary table created in the first example above
as the engine of the conversion 'fromcode' ABC to 'tocode'
DEF, become super-user and then rename it and place it like
this:
example# mv convertA2B.bt \
/usr/lib/iconv/geniconvtbl/binarytables/ABC%DEF.bt
Example 5: Providing modified ISO8859-1 to UTF-8 code
conversion
Write a geniconvtbl source file that defines the code
conversion. For instance, you can copy over
/usr/lib/iconv/geniconvtbl/srcs/ISO8859-1_to_UTF-8.src into
your directory and make necessary changes at the source
file. Once the modifications are done, generate the binary
table:
example% geniconvtbl ISO8859-1_to_UTF-8.src
As super-user, place the generated binary table with a
unique name at the system directory where iconv_open(3C) can
find the binary table:
example su
Password:
example% cp ISO8859-1_to_UTF-8.bt \
/usr/lib/iconv/geniconvtbl/binarytables/my-iso-8859-1%utf-8.bt
After that, you can do the iconv code conversion. For
instance:
example% iconv -f my-iso-8859-1 -t utf-8 testfile.txt
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of geniconvtbl: LANG and
LC_CTYPE.
EXIT STATUS
The following exit values are returned:
0 No errors occurred and the output files were success-
fully created.
1 Command line options are not correctly used or an
unknown command line option was specified.
2 Invalid input or output file was specified.
3 Conversion rules in input files are not correctly
defined.
4 Conversion rule limit of input files has been reached.
See NOTES section of geniconvtbl(4).
5 No more system resource error.
6 Internal error.
FILES
/usr/lib/iconv/geniconvtbl/binarytables/*.bt
conversion binary tables
/usr/lib/iconv/geniconvtbl/srcs/*
conversion source files for user reference
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
SEE ALSO
cpp(1), iconv(1), iconv(3C), iconv_close(3C),
iconv_open(3C), geniconvtbl(4), attributes(5), environ(5),
iconv(5)
Solaris Internationalization Guide for Developers
NOTES
The generated and correctly placed output files,
/usr/lib/iconv/geniconvtbl/binarytables/*.bt, are used in
both 32-bit and 64-bit environments.
Man(1) output converted with
man2html