MKLOCALE(1)             System General Commands Manual             MKLOCALE(1)

NAME
     mklocale - make LC_CTYPE locale files

SYNOPSIS
     mklocale < src-file > language/LC_CTYPE

DESCRIPTION
     The mklocale utility reads a LC_CTYPE source file from standard input and
     produces a LC_CTYPE binary file on standard output suitable for placement
     in /usr/share/locale/language/LC_CTYPE.

     The format of src-file is quite simple.  It consists of a series of lines
     which start with a keyword and have associated data following.  C style
     comments are used to place comments in the file.

     Besides the keywords which will be listed below, the following are valid
     tokens in src-file:

     RUNE     A RUNE may be any of the following:

              'x'          The ascii character x.

              '\x'         The ANSI C character \x where \x is one of \a, \b,
                           \f, \n, \r, \t, or \v.

              0x[0-9a-z]*  A hexadecimal number representing a rune code.

              0[0-7]*      An octal number representing a rune code.

              [1-9][0-9]*  A decimal number representing a rune code.

     STRING   A string enclosed in double quotes (").

     THRU     Either ... or -.  Used to indicate ranges.

     literal  The follow characters are taken literally:

              <([  Used to start a mapping.  All are equivalent.

              >)]  Used to end a mapping.  All are equivalent.

              :    Used as a delimiter in mappings.

     Key words which should only appear once are:

     ENCODING   Followed by a STRING which indicates the encoding mechanism to
                be used for this locale.  The current encodings are:

                NONE  No translation and the default.

                UTF2  Universal character set Transformation Format adopted
                      from Plan 9 from Bell Labs.  This is the preferred
                      encoding.

                EUC   EUC encoding as used by several vendors of UNIX systems.

     VARIABLE   This keyword must be followed by a single tab or space charac-
                ter, after which encoding specific data is placed.  Currently
                only the EUC encoding requires variable data.  See euc(4) for
                further details.

     INVALID    A single RUNE follows and is used as the invalid rune for this
                locale.

     The following keywords may appear multiple times and have the following
     format for data:

          <RUNE1 RUNE2>               RUNE1 is mapped to RUNE2.

          <RUNE1 THRU RUNEn: RUNE2>   Runes RUNE1 through RUNEn are mapped to
                                      RUNE2 through RUNE2 + n-1.

     MAPLOWER   Defines the tolower mappings.  RUNE2 is the lower case repre-
                sentation of RUNE1.

     MAPUPPER   Defines the toupper mappings.  RUNE2 is the upper case repre-
                sentation of RUNE1.

     TODIGIT    Defines a map from runes to their digit value.  RUNE2 is the
                integer value represented  by RUNE1.  For example, the ascii
                character '0' would map to the decimal value 0.  Only values
                up to 255 are allowed.

     The following keywords may appear multiple times and have the following
     format for data:

          RUNE              This rune has the property defined by the keyword.

          RUNE1 THRU RUNEn  All the runes between and including RUNE1 and
                            RUNEn have the property defined by the keyword.

     ALPHA      Defines runes which are alphabetic, printable and graphic.

     CONTROL    Defines runes which are control characters.

     DIGIT      Defines runes which are decimal digits, printable and graphic.

     GRAPH      Defines runes which are graphic and printable.

     LOWER      Defines runes which are lower case, printable and graphic.

     PUNCT      Defines runes which are punctuation, printable and graphic.

     SPACE      Defines runes which are spaces.

     UPPER      Defines runes which are upper case, printable and graphic.

     XDIGIT     Defines runes which are hexadecimal digits, printable and
                graphic.

     BLANK      Defines runes which are blank.

     PRINT      Defines runes which are printable.

     IDEOGRAM   Defines runes which are ideograms, printable and graphic.

     SPECIAL    Defines runes which are special characters, printable and
                graphic.

     PHONOGRAM  Defines runes which are phonograms, printable and graphic.

SEE ALSO
     mbrune(3), rune(3), setlocale(3), euc(4), utf2(4)

BUGS
     The mklocale utility is overly simplistic.

HISTORY
     The mklocale utility first appeared in 4.4BSD.

BSD                             April 18, 1994                             BSD