MKLOCALE(1) MachTen Reference 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 , , , or
0

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 encod-
ing.

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.