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