svcadm(1M)을 검색하려면 섹션에서 1M 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
geniconvtbl(1)
geniconvtbl(1) User Commands geniconvtbl(1)
NAME
geniconvtbl - generate code conversion tables
SYNOPSIS
geniconvtbl [-fnq] [-p preprocessor] [-W arg] [-Dname]
[-Dname=def] [-Idirectory] [-Uname] [infile]...
geniconvtbl [-fnq] -c -F [infile]...
geniconvtbl [-fnq] -c -T [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 conversion, cconv code con‐
version, or both (see iconv(1), iconv(3C), and cconv(3C) for more
detail on the iconv code conversions).
The input and output files can be of two different formats:
When the -c option is provided, the geniconvtbl will accept one or more
of infile or standard input stream in the format described in genicon‐
vtbl-cconv(5) and will generate cconv binary table file(s) for cconv
and iconv code conversions.
Unlike the iconv binary tables which is basically for buffer-based
iconv code conversions only, the cconv binary tables are per-character
sequence based and for both iconv and cconv code conversions.
OPTIONS
The following options are supported:
-c Generates cconv code conversion table.
-f Overwrites output file if the output file exists.
-F Together with the -c option, indicates that the con‐
version direction is from UTF-32 to a codeset. With‐
out the -c option, this option is ignored with a
warning message.
-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.
-T Together with the -c option, indicates that the con‐
version direction is from a codeset to UTF-32. With‐
out the -c option, this option is ignored with a
warning message.
-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 geniconvtbl recognizes these options and passes them
-Dname=def and their arguments to the preprocessor.
-Idirectory
-Uname
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 speci‐
fied, geniconvtbl reads from each input file and writes to a corre‐
sponding output file. Each of the output file names will be the same as
the corresponding input file with either .bt appended or the suffix
starting with . character replaced with .bt.
In order to use the iconv binary table files generated without using
the -c option as code conversion modules for iconv(1) and iconv(3C),
they must be moved to the following directory:
/usr/lib/iconv/geniconvtbl/binarytables/
The file names in that directory must start with one or more printable
ASCII characters as the fromcode name followed by a percentage charac‐
ter (%), followed by one or more printable ASCII characters as the
tocode name, followed by the suffix .bt. The fromcode and tocode names
are used to identify the iconv code conversion at iconv(1) and
iconv_open(3C).
In order to use the cconv binary table files generated by using the -c
option, they must be moved to the following directory:
/usr/lib/iconv/
The cconv binary table files should come in a pair, providing a conver‐
sion from UTF-32 to a codeset generated by using '-c -F' options with
the following naming convention:
UTF-32+<codeset>.bt
and the other conversion from a codeset to UTF-32 generated by using
'-c -T' options with the following naming convention:
<codeset>+UTF-32.bt
where the <codeset> should be one or more of printable ASCII characters
denoting the codeset name.
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 for iconv
To use the binary table created in the first example above as the
engine of the conversion 'fromcode' ABC to 'tocode' DEF, install it as:
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/genicon‐
vtbl/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
With appropriate privileges, place the generated binary table with a
unique name at the system directory where iconv_open(3C) can find the
binary table:
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
Example 6 Generating cconv code conversion binary tables
The following example generates code conversion binary table with out‐
put file name UTF-32+my8859-11.bt:
example% geniconvtbl -c -F UTF-32+my8859-11.TXT
The following example generates code conversion binary table with out‐
put file name my8859-11+UTF-32.bt:
example% geniconvtbl -c -T my8859-11+UTF-32.TXT
Example 7 Placing the binary tables for cconv
To use the cconv binary tables created in the Example 6 for cconv and
iconv code conversions, place the files under /usr/lib/iconv:
example# mv my8859-11+UTF-32.bt UTF-32+my8859-11.bt \
/usr/lib/iconv/
After that, you can do iconv and cconv code conversions not only
between UTF-32 and my8859-11, but also between my8859-11 and any other
codeset names that have corresponding cconv binary table files
installed in the system.
ENVIRONMENT VARIABLES
See environ(7) 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 successfully 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(5).
5 No more system resource error.
6 Internal error.
FILES
/usr/lib/iconv/*.bt
cconv code conversion binary table files for iconv(1), cconv(3C),
and iconv(3C)
/usr/lib/iconv/geniconvtbl/binarytables/*.bt
iconv code conversion binary table files for iconv(1) and iconv(3C)
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/core-os
SEE ALSO
cpp(1), iconv(1), localedef(1), cconv(3C), cconv_close(3C),
cconv_open(3C), cconvctl(3C), iconv(3C), iconv_close(3C),
iconv_open(3C), iconvctl(3C), geniconvtbl(5), geniconvtbl-cconv(5),
attributes(7), environ(7)
International Language Environments Guide for Developers
NOTES
The generated and correctly placed output files, /usr/lib/iconv/*.bt
and /usr/lib/iconv/geniconvtbl/binarytables/*.bt, are used in both
32-bit and 64-bit environments.
If you overwrite files in the /usr/lib/iconv directory that were deliv‐
ered as a part of the Solaris installation, your modules will be over‐
written during a system update.
Oracle Solaris 11.4 3 Nov 2021 geniconvtbl(1)