HPUX buildlang[1m]






 buildlang(1M)                                                 buildlang(1M)





 NAME
      buildlang - generate and display locale.def file

 SYNOPSIS
      buildlang [-n] input_file
      buildlang -d [-f form] locale_name


      buildlang is provided for historical reasons only.  Use localedef
      instead (see localedef(1M)).

 DESCRIPTION
      Without the -d option, buildlang automatically sets up the language
      environment as specified by input_file.  buildlang reads a ``
      buildlang script'' (see description below) from input_file, creates a
      file called locale.def, and installs this file in the appropriate
      directory.  If the -n option is specified, buildlang creates the
      locale.def in the current directory.

      If the -d option is specified, buildlang displays the contents of the
      locale.def file associated with the locale_name in the format of a
      ``buildlang script'' so that the output can be modified and used as an
      input file to buildlang to generate a modified locale.def file.  If a
      character code is printable, as defined by the current setting of the
      LC_CTYPE environment variable in the user's environment, buildlang
      always outputs the character code in the ``character constant'' form.
      If a character code is not printable, the -f option specifies the form
      in which the character code will be displayed.  The -fc, -fd, -fo, and
      -fx options cause buildlang to output each non-printable character
      code in the ``character constant'', ``decimal constant'', ``octal
      constant'', and ``hexadecimal constant'' form, respectively (see
      Constants section below).  Without the -f option, buildlang display
      each printable character code in the ``character constant'' form and
      non-printable character code in the ``hexadecimal constant'' form.

      There are six categories of data in the locale.def file, recognized by
      setlocale(), which make up a language definition (see setlocale(3C)).
      They are:

           LC_COLLATE          Information in this category affects the
                               behavior of the regular expressions and the
                               NLS string collation functions.

           LC_CTYPE            Information in this category affects the
                               behavior of the character classification and
                               conversion functions.

           LC_MONETARY         Information in this category affects the
                               behavior of functions which handle monetary
                               values.




 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





           LC_NUMERIC          Information in this category affects the
                               handling of the radix character in the
                               formatted input/output functions and the
                               string conversion functions.

           LC_TIME             Information in this category affects the
                               behavior of the time conversion functions.

           LC_ALL              This category contains language-specific
                               information which does not belong to any of
                               the above categories.

      A buildlang script also consists of six categories.  The beginning of
      each category is identified by a ``category tag'' which has the form
      of LC_category where category is one of the following: ALL, COLLATE,
      CTYPE, MONETARY, NUMERIC, or TIME.  The end of each category is
      identified by a END_LC category tag.  The order of categories in the
      ``buildlang script'' is irrelevant.  All category specifications are
      optional.  If a category is not specified, setlocale() sets up the
      default ``C'' locale for that category (see setlocale(3C) and
      lang(5)).

      Each category is composed of one or more statements.  Each statement
      begins with a keyword followed by one or more expressions.  An
      expression is a set of well-formed metacharacters, strings, and
      constants.  buildlang also recognizes comments and separators.

      More than one definition can be specified for each category.  If a
      category contains more than one definition, each additional definition
      must be named via the modifier keyword described below.  The first set
      of specifications is the default definition which may or may not have
      a modifier name.

      The following is a list of category tags, keywords and subsequent
      expressions which are recognized by buildlang.  The order of keywords
      within a category is irrelevant with the exception of the modifier
      keyword.  All keyword specifications are optional with the exception
      of the langname and langid keywords.  (Note that, as a convention, the
      category tags are composed of uppercase characters, while the keywords
      are composed of lowercase characters).

    Category Tags and Keywords
      The following keywords do not belong to any category.

           langname       String identifying the name of the language.  It
                          follows the naming convention of the LANG
                          environment variable:

                               language[_territory][.codeset]





 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                          (see environ(5)).  This keyword is required by
                          buildlang.

           langid         Decimal number identifying the language id.  This
                          keyword is required by buildlang.  The language id
                          specified should be in the range of 1 to 999, and
                          any user-defined language should assign its
                          language id in the range of 901 to 999.

           revision       String identifying the revision number of the
                          locale.def file.  The string is restricted to
                          contain at most 6 characters, all digits and one
                          optional decimal point (.) character.

      The following keyword can be used in any category.  It must be used to
      name a definition when a category contains more than one definition.

           modifier       String identifying the name of the modifier (see
                          environ(5)).  Since this keyword is used to
                          associate a modifier with a set of specifications,
                          it must come before any keyword in that set of
                          specifications.

      LC_ALL:
      The following keywords belong to the LC_ALL category and should come
      between the category tag LC_ALL and END_LC:

           yesstr         String identifying the affirmative response for
                          yes/no questions (a langinfo(5) item).

           nostr          String identifying the negative response for
                          yes/no questions (a langinfo(5) item).

           direction      String indicating text direction (a langinfo(5)
                          item).

           context        String indicating character context analysis.
                          String ``null'' or ``0'' indicates no context
                          analysis is required.  String ``1'' indicates
                          Arabic context analysis required.

      LC_CTYPE:
      The following keywords belong to the LC_CTYPE category and should come
      between the category tag LC_CTYPE and END_LC:

           isupper        Character codes classified as uppercase letters.

           islower        Character codes classified as lowercase letters.

           isdigit        Character codes classified as numeric.




 Hewlett-Packard Company            - 3 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





           isspace        Character codes classified as spacing (delimiter)
                          characters.

           ispunct        Character codes classified as punctuation
                          characters.

           iscntrl        Character codes classified as control characters.

           isblank        Character codes for printable space characters.
                          These also must be defined in isspace.

           isxdigit       Character codes classified as hexadecimal digits.

           isfirst        Character codes classified as the first bytes of
                          two-byte characters.

           issecond       Character codes classified as the second bytes of
                          two-byte characters.

           ul             Relationships between uppercase and lowercase
                          characters.  Used for languages that have a one-
                          to-one relationship between lowercase and
                          uppercase characters.

           toupper        Lowercase to uppercase character relationships.

           tolower        Uppercase-to-lowercase character relationships.
                          Keywords toupper and tolower are used only for
                          languages that do not have a one-to-one
                          relationship between lowercase and uppercase
                          characters.

           bytes_char     String containing the maximum number of bytes per
                          character for the character set used for a
                          specified language (a langinfo(5) item).

           alt_punct      String mapped into the ASCII equivalent string
                          b!"#$%&'()*+,-./:;<=>?@[\]^_`{~, where b is a
                          blank (a langinfo(5) item).

           code_scheme    Specifies the multi-byte character encoding scheme
                          used.  The operand should be a string.  Currently,
                          ``HP15'' and ``EUC'' strings are recognized.  If
                          this keyword is not specified, or the operand is a
                          null string (f3""), the encoding scheme is
                          single-byte, or HP15 if bytes_char is 2.  See
                          Native Language Support User's Guide.

           cswidth        Defines the number of bytes contained in a
                          character, and the number of columns per character
                          displayed on output devices.  This keyword should



 Hewlett-Packard Company            - 4 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                          be specified if the encoding scheme is ``EUC''.
                          EUC can be divided into 4 Supplementary Code Sets.
                          The first SCS, Supplementary Code Set 0, contains
                          ASCII characters and is assumed to contain 1 byte
                          per character and require 1 column on the output
                          devices.  The operand is a string containing three
                          ordered pairs of digits delimited by colons and
                          commas.  The format is:

                          X:x,Y:y,Z:z

           center; lB lB cI l.  Field     Interpretation X    SCS 1, number
           of bytes x    SCS 1, output width Y    SCS 2, number of bytes,
           after SS2 y    SCS 2, output width Z    SCS 3, number of bytes,
           after SS3 z    SCS 3, output width

      LC_COLLATE:
      The following keywords belong to the LC_COLLATE category and should
      come between the category tag LC_COLLATE and END_LC:

           sequence       Sequence of character codes for collation.

      LC_MONETARY:
      The following keywords belong to the LC_MONETARY category and should
      come between the category tag LC_MONETARY and END_LC.  These keywords,
      except crncystr, are identical to the members in struct lconv defined
      in <locale.h> (see localeconv(3) ):

           int_curr_symbol
           currency_symbol
           mon_decimal_point
           mon_thousands_sep
           mon_grouping
           positive_sign
           negative_sign
           int_frac_digits
           frac_digits
           p_cs_precedes
           p_sep_by_space
           n_cs_precedes
           n_sep_by_space
           p_sign_posn
           n_sign_posn

           crncystr            String for specifying the currency (a
                               langinfo(5) item).

      LC_NUMERIC:
      The following keywords belong to the LC_NUMERIC category and should
      come between the category tag LC_NUMERIC and END_LC: These keywords,
      except alt_digits, are identical to the members in struct lconv



 Hewlett-Packard Company            - 5 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





      defined in <locale.h> (see localeconv(3C)).

           grouping

           decimal_point   (same as RADIXCHAR, a langinfo(5) item).

           thousands_sep   (same as THOUSEP, a langinfo(5) item).

           alt_digits      String mapped into the ASCII equivalent string
                           0123456789b+-.,eE, where b is a blank (a
                           langinfo(5) item).

      LC_TIME:
      The following keywords belong to the LC_TIME category and should come
      between the category tag LC_TIME and END_LC: These keywords, except
      era, are identical to their corresponding langinfo(5) items (see
      langinfo(5)).

           d_t_fmt
           d_fmt
           t_fmt
           day_1 to day_7
           abday_1 to abday_7
           mon_1 to mon_7
           abmon_1 to abmon_7
           am_str
           pm_str
           year_unit
           mon_unit
           day_unit
           hour_unit
           min_unit
           sec_unit
           era_fmt

           era                 Names and dates of eras or emperors.

    Expressions
      Expressions consist of character-code constants, strings, and
      metacharacters.  There are four types of legal expressions; ctype,
      shift, collate, and info:

      ctype     Ctype expressions follow the keywords isupper, islower,
                isdigit, isspace, ispunct, iscntrl, isblank, isxdigit,
                isfirst, and issecond and can include either a single
                character-code constant or a character-code range consisting
                of a constant followed by a dash followed by another
                constant.  At least one separator must appear between the
                constants and dash.  The constant preceding the dash must
                have a smaller code value than the constant following the
                dash.  A range represents a set of consecutive character



 Hewlett-Packard Company            - 6 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)




                codes.

      shift     Shift expressions follow keywords ul, toupper, and tolower,
                and must consist of two character-code constants enclosed by
                left and right angle brackets.  For ul and tolower, the
                first constant represents an uppercase character and the
                second the corresponding lowercase character.  For toupper,
                the first constant represents an lowercase character and the
                second the corresponding uppercase character.

      collate   Collate expressions that follow the keyword sequence
                represent a sequence of character codes that define a
                collation order.  Each character code in the series is
                assigned an ascending sequence number.  Collate expressions
                include single character-code constants, character-code
                ranges, character-code priority sets, two-to-one character-
                code pairs, one-to-two character-code pairs and character-
                code don't-care sets.

                A character-code priority set is a collection of one or more
                constants or other collate expressions enclosed by left and
                right parenthesis.  Constants or expressions within a
                priority set have the same collation sequence number but
                different priorities.  The priorities account for case and
                accent differences.

                A two-to-one character-code pair is represented by two
                character-code constants enclosed by left and right angle
                brackets.  Two-to-one characters are two adjacent characters
                that occupy one position in the collating sequence.  For
                example, the expression sequence ('C' 'c') ( <'C' 'h'> <'c'
                'h'>) ('D' 'd') instructs buildlang to treat the character
                combinations Ch and ch as single characters that collate
                between lowercase c and uppercase D.

                A one-to-two character code is represented by two
                character-code constants enclosed by left and right
                brackets.  One-to-two characters are single characters that
                occupy two adjacent positions in the collating sequence.
                For example, suppose the character 'X' represents a one-to-
                two character that collates as AE.  This information can be
                expressed as ('A' ['X' 'E'] 'a').  The character 'X' has the
                same primary sequence number as 'A' and 'a', a priority that
                lies between 'A' and 'a' and a secondary sequence number
                that is the same as 'E'.

                A character-code don't-care set is a collection of one or
                more constants or other collate expressions enclosed by left
                and right curly brackets.  Constants or expressions within a
                don't-care set are ignored in character comparisons.




 Hewlett-Packard Company            - 7 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





      info      Info expressions follow all langinfo-type, lconv-type and
                era keywords.  Each expression is a string (see Strings
                section below).

                The expressions following the langinfo-type keywords define
                the strings associated with items in langinfo(5).  Each
                expression consists of a string to be associated with the
                item identified by the keyword.

                The expressions following the lconv-type keywords define the
                strings associated with members of lconv struct in
                localeconv(3C).  Each expression consists of a string to be
                associated with the member identified by the keyword.

                Each expression following the keyword era defines how the
                years are counted and displayed for one era (or emperor's
                reign).  The expressions must be in the following format:

                     directionf3:offset:start_date:end_date:name:format

                where:

                   direction   Either a + or - character.  The + character
                               indicates the time axis should be such that
                               the years count in the positive direction
                               when moving from the starting date towards
                               the ending date.  The - character indicates
                               the time axis should be such that the years
                               count in the negative direction when moving
                               from the starting date towards the ending
                               date.

                   offset      A number in the range [SHRT_MIN,SHRT_MAX]
                               indicating the number of the first year of
                               the era.

                   start_date  A date in the form yyyy/mm/dd where yyyy, mm,
                               and dd are the year, month and day numbers,
                               respectively, of the start of the era.  Years
                               prior to the year 0 A.D. are represented as
                               negative numbers.  For example, an era
                               beginning March 5th in the year 100 B.C.
                               would be represented as -100/3/5.  Years in
                               the range [SHRT_MIN+1,SHRT_MAX-1] are
                               supported.

                   end_date    The ending date of the era in the same form
                               as the start_date above or one of the two
                               special values -* or +*.  A value of -*
                               indicates that the ending date of the era
                               extends to the beginning of time while +*



 Hewlett-Packard Company            - 8 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                               indicates it extends to the end of time.  The
                               ending date can be chronologically either
                               before or after the starting date of an era.
                               For example, the expressions for the
                               Christian eras A.D. and B.C.  would be:

                                    +:0:0000/01/01:+*:A.D.:%o %N
                                    +:1:-0001/12/31:-*:B.C.:%o %N

                   name        A string representing the name of the era
                               which is substituted for the %N directive of
                               date(1) and strftime(3C).

                   format      A string for formatting the %E directive of
                               date(1) and strftime(3C).  This string is
                               usually a function of the %o and %N
                               directives.  If format is not specified, the
                               string specified for the LC_TIME category
                               keyword era_fmt (see above) is used as a
                               default.

    Constants
      Constants represent character codes in the ctype, shift and collate
      expressions.  C programming language integer and character constants
      can be used as character codes, including:

           decimal constants     Sequence of digits not beginning with a 0
                                 (zero).

           octal constants       Sequence of digits beginning with a 0
                                 (zero).

           hexadecimal constants Sequence of digits preceded by 0x or 0X
                                 (zero followed by character x or X).
                                 Hexadecimal digits include a or A through f
                                 or F, with values 10 through 15.

           character constants   A single character written between single
                                 quotes, having the numerical value of the
                                 character in the machine's character set.

    Strings
      Strings are used in info expressions.  A string is a sequence of zero
      or more characters surrounded by double quotes (").  Within a string,
      the double-quote character must be preceded by a backslash (\).  The
      following escape sequences also can be used:

           \n      newline

           \t      horizontal tab




 Hewlett-Packard Company            - 9 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





           \b      backspace

           \r      carriage return

           \f      form feed

           \\      backslash

           \'      single quote

           \ddd    bit pattern

      The escape \ddd consists of the backslash followed by 1, 2, or 3 octal
      digits specifying the value of the desired character.  Also, a
      backslash (\) and an immediately-following newline are ignored.

    Metacharacters
      Metacharacters are characters having a special meaning to buildlang in
      ctype, shift, and collate expressions.  To escape the special meaning
      of these characters, surround them with single quotes.  buildlang
      meta-characters include:

           -       Represents a range of consecutive character codes.

           <       When used with the ul, toupper, and tolower keywords,
                   indicates the beginning of an uppercase-lowercase
                   character code relationship.  When used with the sequence
                   keyword, indicates the beginning of a two-to-one
                   character pair.

           >       When used with the ul, toupper, and tolower keywords,
                   indicates the end of an uppercase-lowercase character
                   code relationship.  When used with the sequence keyword,
                   indicates the end of a two-to-one character pair.

           [       Indicates the beginning of a one-to-two character pair.

           ]       Indicates the end of a one-to-two character pair.

           (       Indicates the beginning of a group of character code
                   constants or expressions having the same collation
                   sequence number, but different priorities.

           )       Indicates the end of a group of character code constants
                   or expressions having the same collation sequence number,
                   but different priorities.

           {       Indicates the beginning of a group of character code
                   constants or expressions belonging to the same set of
                   collation don't-care characters.




 Hewlett-Packard Company           - 10 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





           }       Indicates the end of a group of character code constants
                   or expressions belonging to the same set of collation
                   don't-care characters.

    Comments
      Comments are all characters between a pound sign (#) and a carriage
      return, except when used in the character code constants and strings.
      Comments and blank lines are ignored.

    Separators
      Separator characters include blanks and tabs.  Any number of
      separators can be used to delimit the keywords, metacharacters,
      constants and strings that comprise a buildlang script.

 EXTERNAL INFLUENCES
    Environment Variables
      LC_CTYPE determines the printable characters when the -d option is
      specified.

      If LC_CTYPE is not specified in the environment or is set to the empty
      string, a default of ``C'' (see lang(5)) is used instead of LC_CTYPE.

    International Code Set Support
      Single- and multi-byte character code sets are supported.

 EXAMPLES
      The following buildlang script creates the locale file for the
      american language using the ROMAN8 code set:

           # language: american # code set: ROMAN8

           langname        "american"
           langid  1
           revision        "1.1"

           ##################################################
           # Set up the LC_ALL category of the table

           LC_ALL
           yesstr  "yes"   # yes string
           nostr   "no"    # no string
           direction       ""      # left-to-right orientation
           context ""
           END_LC

           ##################################################
           # Set up the LC_CTYPE category of the table

           LC_CTYPE
           isupper 'A' - 'Z'               # true if an uppercase char
                   0xa1 - 0xa7     0xad  0xae      0xb1  0xb4  0xb6



 Hewlett-Packard Company           - 11 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                   0xd0  0xd2      0xd3  0xd8      0xda - 0xdc
                   0xde - 0xe1     0xe3    0xe5 - 0xe9
                   0xeb  0xed      0xee  0xf0
           islower 'a' - 'z'               # true if a lowercase char
                   0xb2  0xb5      0xb7    0xc0 - 0xcf  0xd1
                   0xd4 - 0xd7     0xd9  0xdd      0xde  0xe2
                   0xe4  0xea      0xec  0xef      0xf1
           isdigit '0' - '9'               # true if a digit
           isspace ' '     0x9 - 0xd       # true if a space
           ispunct '!' - '/'       ':' - '@'       # true if a punctuation char
                   '[' - '`'       '{' - '~'
                   168 - 172       175 176 179
                   184 - 191       242 - 254
           iscntrl 0x0 - 0x1f      0x7f    # true if a control char
                   128 - 160       255
           isblank ' '             # true if a blank char
           isxdigit        '0' - '9'       'a' - 'f'       # true if a hex digit
                           'A' - 'F'

           # isfirst and issecond are irrelevant here

           ul      < 'A' 'a' >     < 'B' 'b' >     # < upper  lower>
                   < 'C' 'c' >     < 'D' 'd' >
                   < 'E' 'e' >     < 'F' 'f' >
                   < 'G' 'g' >     < 'H' 'h' >
                   <0x49 0X69>     <0x4a 0X6a>     # hex constants allowed
                   <0113 0153>     <0114 0154>     # octal constants allowed
                   < 77  109 >     < 78  110 >     # decimal constants allowed
                   < 'O' 'o' >     < 'P' 'p' >     # literal constants allowed
                   < 'Q' 'q' >     < 'R' 'r' >
                   < 'S' 's' >     < 'T' 't' >
                   < 'U' 'u' >     < 'V' 'v' >
                   < 'W' 'w' >     < 'X' 'x' >
                   < 'Y' 'y' >     < 'Z' 'z' >
                   <0xa1 0xc8>     <0xa2 0xc0>
                   <0xa3 0xc9>     <0xa4 0xc1>
                   <0xa5 0xcd>     <0xa6 0xd1>
                   <0xa7 0xdd>     <0xad 0xcb>
                   <0xae 0xc3>     <0xb4 0xb5>
                   <0xb6 0xb7>     <0xd0 0xd4>
                   <0xd2 0xd6>     <0xd3 0xd7>
                   <0xd8 0xcc>     <0xda 0xce>
                   <0xdb 0xcf>     <0xdc 0xc5>
                   <0xdf 0xc2>     <0xe0 0xc4>
                   <0xe1 0xe2>     <0xe3 0xe4>
                   <0xe5 0xd5>     <0xe6 0xd9>
                   <0xe7 0xc6>     <0xe8 0xca>
                   <0xe9 0xea>     <0xeb 0xec>
                   <0xed 0xc7>     <0xee 0xef>
                   <0xf0 0xf1>
           bytes_char      "1"     # max number of bytes per char



 Hewlett-Packard Company           - 12 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





           alt_punct       ""      # no alternative punctuation
           code_scheme     ""      # encoding scheme is single-byte
           END_LC

           ##################################################
           # Set up the LC_COLLATE category of the table

           # dictionary collating sequence:
           # spaces, decimal digits,
           # alphabetic characters, punctuation,
           # control characters

           LC_COLLATE
           modifier        "nofold"
           sequence        ' ' 0xa0 '0' - '9'
                   ( 'A' [0xd3 'E'] 0xe0 0xa1 0xa2 0xd8 0xd0 0xe1 ) 'B'
                   ( 'C' 0xb4 ) ( 'D' 0xe3 ) ( 'E' 0xdc 0xa3 0xa4 0xa5 ) 'F'
                   'G' 'H' ( 'I' 0xe5 0xe6 0xa6 0xa7 ) 'J' 'K' 'L' 'M'
                   ( 'N' 0xb6 ) ( 'O' 0xe7 0xe8 0xdf 0xda 0xe9 0xd2 ) 'P' 'Q'
                   'R' ( 'S' 0xeb ) 'T' ( 'U' 0xed 0xad 0xae 0xdb )
                   'V' 'W' 'X' ( 'Y' 0xee ) 'Z' 0xf0
                   ( 'a' [0xd7 'e'] 0xc4 0xc8 0xc0 0xcc 0xd4 0xe2 ) 'b'
                   ( 'c' 0xb5 ) ( 'd' 0xe4 ) ( 'e' 0xc5 0xc9 0xc1 0xcd ) 'f'
                   'g' 'h' ( 'i' 0xd5 0xd9 0xd1 0xdd) 'j' 'k' 'l' 'm'
                   ( 'n' 0xb7 ) ( 'o' 0xc6 0xca 0xc2 0xce 0xea 0xd6 ) 'p' 'q'
                   'r' ( [0xde 's'] 's' 0xec ) 't' ( 'u' 0xc7 0xcb 0xc3 0xcf )
                   'v' 'w' 'x' ( 'y' 0xef ) 'z' 0xf1
                   0xb1  0xb2  0xf2 - 0xf5  '(' ')' '[' ']'
                   '{' '}'  0xfb  0xfd  '<' '>' '=' '+' '-'  0xfe  0xf7  0xf8
                   0xb3  '%' '*' '.' ',' ';' ':'  0xb9  '?'  0xb8  '!'
                   '/' '\\'  '|' '@' '&' '#'  0xbd  '$'  0xbf  0xbb  0xaf
                   0xbc  0xbe  0xba  '"' '`' ''' '^' '~'  0xa8 - 0xac  '_'
                   0xf6  0xb0  0xf9  0xfa  0xfc  0x0 - 0x1f  0x80 - 0x9f
                   0x7f  0xff

           modifier        "fold"
           sequence        ' ' 0xa0 '0' - '9'
                   ( 'A' [0xd3 'E'] 'a' [0xd7 'e'] 0xe0 0xc4 0xa1 0xc8 0xa2 0xc0
                     0xd8 0xcc 0xd0 0xd4 0xe1 0xe2 )
                   ( 'B' 'b' ) ( 'C' 'c' 0xb4 0xb5 ) ( 'D' 'd' 0xe3 0xe4 )
                   ( 'E' 'e' 0xdc 0xc5 0xa3 0xc9 0xa4 0xc1 0xa5 0xcd ) ( 'F' 'f' )
                   ( 'G' 'g' ) ( 'H' 'h' )
                   ( 'I' 'i' 0xe5 0xd5 0xe6 0xd9 0xa6 0xd1 0xa7 0xdd) ( 'J' 'j' )
                   ( 'K' 'k' ) ( 'L' 'l' ) ( 'M' 'm' ) ( 'N' 'n' 0xb6 0xb7 )
                   ( 'O' 'o' 0xe7 0xc6 0xe8 0xca 0xdf 0xc2 0xda 0xce 0xe9 0xea
                     0xd2 0xd6 ) ( 'P' 'p' ) ( 'Q' 'q' ) ( 'R' 'r' )
                   ( 'S' [0xde 's'] 's' 0xeb 0xec ) ( 'T' 't' )
                   ( 'U' 'u' 0xed 0xc7 0xad 0xcb 0xae 0xc3 0xdb 0xcf ) ( 'V' 'v' )
                   ( 'W' 'w' ) ( 'X' 'x' ) ( 'Y' 'y' 0xee 0xef ) ( 'Z' 'z' )
                   ( 0xf0 0xf1 ) 0xb1  0xb2  0xf2 - 0xf5  '(' ')' '[' ']'
                   '{' '}'  0xfb  0xfd  '<' '>' '=' '+' '-'  0xfe  0xf7  0xf8



 Hewlett-Packard Company           - 13 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                   0xb3  '%' '*' '.' ',' ';' ':'  0xb9  '?'  0xb8  '!'
                   '/' '\\'  '|' '@' '&' '#'  0xbd  '$'  0xbf  0xbb  0xaf
                   0xbc  0xbe  0xba  '"' '`' ''' '^' '~'  0xa8 - 0xac  '_'
                   0xf6  0xb0  0xf9  0xfa  0xfc  0x0 - 0x1f  0x80 - 0x9f
                   0x7f  0xff
           END_LC

           ##################################################
           # Set up the LC_MONETARY category of the table

           LC_MONETARY
           int_curr_symbol "USD "
           currency_symbol "$"
           mon_decimal_point       "."
           mon_thousands_sep       ","
           mon_grouping    "\\3"
           positive_sign   ""
           negative_sign   "-"
           int_frac_digits "2"
           frac_digits     "2"
           p_cs_precedes   "1"
           p_sep_by_space  "0"
           n_cs_precedes   "1"
           n_sep_by_space  "0"
           p_sign_posn     "1"
           n_sign_posn     "4"
           crncystr        "-US$"
           END_LC

           ##################################################
           # Set up the LC_NUMERIC category of the table

           LC_NUMERIC
           grouping        "\\3"
           thousands_sep   ","     # THOUSEP: thousands separator
           decimal_point   "."     # RADIXCHAR: radix character
           alt_digits      ""      # no alternative digits
           END_LC

           ##################################################
           # Set up the LC_TIME category of the table

           LC_TIME
           d_t_fmt "%a, %h %d, 19%y %r"    # date & time format string
           d_fmt   "%a, %h %d, 19%y"       # date format string
           t_fmt   "%r"    # time format string
           day_1   "Sunday"        # weekday names
           day_2   "Monday"
           day_3   "Tuesday"
           day_4   "Wednesday"
           day_5   "Thursday"



 Hewlett-Packard Company           - 14 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)




           day_6   "Friday"
           day_7   "Saturday"
           abday_1 "Sun"   # weekday abbreviations
           abday_2 "Mon"
           abday_3 "Tue"
           abday_4 "Wed"
           abday_5 "Thu"
           abday_6 "Fri"
           abday_7 "Sat"
           mon_1   "January"       # month names
           mon_2   "February"
           mon_3   "March"
           mon_4   "April"
           mon_5   "May"
           mon_6   "June"
           mon_7   "July"
           mon_8   "August"
           mon_9   "September"
           mon_10  "October"
           mon_11  "November"
           mon_12  "December"
           abmon_1 "Jan"   # month abbreviations
           abmon_2 "Feb"
           abmon_3 "Mar"
           abmon_4 "Apr"
           abmon_5 "May"
           abmon_6 "Jun"
           abmon_7 "Jul"
           abmon_8 "Aug"
           abmon_9 "Sep"
           abmon_10        "Oct"
           abmon_11        "Nov"
           abmon_12        "Dec"
           am_str  "AM"    # AM string
           pm_str  "PM"    # PM string
           year_unit       ""      # the unit of year
           mon_unit        ""      # the unit of month
           day_unit        ""      # the unit of day
           hour_unit       ""      # the unit of hour
           min_unit        ""      # the unit of minute
           sec_unit        ""      # the unit of second

           # There is no era or emperor year for the american language,
           # but here is an example of the japanese era_fmt and era specification:

           era_fmt "%N%onen"       # normal era format string
           era     "+:2:1990/01/01:+*:Heisei"
                   "+:1:1989/01/08:1989/12/31:Heisei:%Ngannen"     # special format for 1st year
                   "+:2:1927/01/01:1989/01/07:Shouwa"
                   "+:1:1926/12/25:1926/12/31:Shouwa:%Ngannen"     # special format for 1st year
                   "+:2:1913/01/01:1926/12/24:Taishou"



 Hewlett-Packard Company           - 15 -     HP-UX Release 9.0: August 1992






 buildlang(1M)                                                 buildlang(1M)





                   "+:1:1912/07/30:1912/12/31:Taishou:%Ngannen"    # special format for 1st year
                   "+:2:1869/01/01:1912/07/29:Meiji"
                   "+:1:1868/09/08:1868/12/31:Meiji:%Ngannen"      # special format for 1st year
                   "-:1868:1868/09/07:-*::%o"      # revert to regular year numbering for
                           # years prior to the supported eras
           END_LC

 ERRORS
      If buildlang detects any errors, it terminates with an error message
      and will not generate a locale.def file.

 WARNINGS
      To specify a 16-bit character, it is recommended to use two bit-
      pattern (\ddd) escape sequences.

 AUTHOR
      buildlang was developed by HP.

 FILES
      /usr/lib/nls/config
      /usr/lib/nls/language[/territory][/codeset]/locale.def

 SEE ALSO
      setlocale(3C), environ(5).






























 Hewlett-Packard Company           - 16 -     HP-UX Release 9.0: August 1992