Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎


     geniconvtbl - generate iconv code conversion tables

     geniconvtbl [-fnq] [-p preprocessor]  [-W arg]  [-Dname]  [-
     Dname=def] [-Idirectory] [-Uname] [infile...]

     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).

     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 messages.

     -W arg                  Passes  the  argument  arg  to   the
                             preprocessor.   If  this  option  is
                             specified more than once, all  argu-
                             ments  are  passed to the preproces-

     -Dname                  geniconvtbl recognizes these options
     -Dname=def              and  passes them and their arguments
     -Idirectory             to the preprocessor.

     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.

     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):


     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,

     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

     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

     example# mv convertA2B.bt \

     Example  5:  Providing  modified  ISO8859-1  to  UTF-8  code

     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

     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
     example% cp ISO8859-1_to_UTF-8.bt \

     After that, you  can  do  the  iconv  code  conversion.  For

     example% iconv -f my-iso-8859-1 -t utf-8 testfile.txt

     See environ(5) for descriptions of the following environment
     variables that affect the execution of geniconvtbl: LANG and

     The following exit values are returned:

     0        No errors occurred and the output files  were  suc-
              cessfully 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

     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.


         conversion binary tables


         conversion source files for user reference

     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWcsu                     |

     cpp(1),      iconv(1),      iconv(3C),      iconv_close(3C),
     iconv_open(3C),  geniconvtbl(4),  attributes(5), environ(5),

     Solaris Internationalization Guide for Developers

     The   generated   and   correctly   placed   output   files,
     /usr/lib/iconv/geniconvtbl/binarytables/*.bt,  are  used  in
     both 32-bit and 64-bit environments.

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.