United States-English |
|
|
HP-UX Reference > Ccharmap(4)HP-UX 11i Version 3: February 2007 |
|
NAMEcharmap — symbolic translation file for localedef scripts DESCRIPTIONInvoking the localedef command with the -f option causes symbolic names in the locale description file to be translated into the encodings given in the charmap file (see localedef(1M)). As a recommendation, a locale description file should be written completely with symbolic names. The charmap file has three sections: a declarations section, a character definition section, and an optional width specification section. Declarations SectionDeclarations can precede the character definitions. Each consists of the symbol (including the surrounding angle brackets), followed by one or more blanks (or tabs or space characters), followed by the value of the symbol. Certain declarations are required for multibyte character codesets. For single-byte codesets, all are optional. Following is a list of possible declarations: <code_set_name> value
<cswidth> value
<mb_cur_max> value
<mb_cur_min> value
<escape_char> value
<comment_char> value
Character Definition SectionThe character-set mapping definitions immediately follow an identifier line containing the string CHARMAP and precede a trailer line consisting of the string END CHARMAP. (Empty lines and lines beginning with the comment character are ignored.) The character definitions are of two forms. The first form defines a single character and its encoding:
A symbolic_name is one or more visible characters from the portable character set as specified by XPG, enclosed in angle brackets. Metacharacters such as angle brackets, escape characters, or comment characters must be escaped if they are used in the name. Two or more symbolic names can be given for the same encoding. The encoding is a character constant in one of four forms:
Multibyte characters are represented by the concatenation of character constants. All constants used in the encoding of a multibyte character must be of the same form. The second form defines a range of characters consisting of all characters from the first symbolic name to the second, inclusive:
The symbolic name must consist of one or more nonnumeric characters followed by an integer formed of one or more decimal digits. The integer part of the second symbolic name must be larger than that of the first. The range is then interpreted as a list of symbolic names consisting of the same character portion and successive integer values from the first through the last. These names are assigned successive encodings starting with the one given. For example, the character definition line <C4>...<C6> \d129 is equivalent to: <C4> \d129 <C5> \d130 <C6> \d131 Width SpecificationThe following declarations can follow the character set mapping definitions (after the END CHARMAP statement). Each consists of one of the keywords shown in the following list, starting in column 1, followed by the value(s) associated with the keyword, as defined below.
EXAMPLESFor examples, see any of the files under the /usr/lib/nls/loc/charmaps directory. After the END CHARMAP statement, a syntax for a width definition would be: WIDTH <A> 1 <B> 1 <C>...<Z> 1 ... <wc1>...<wcn> 2 END WIDTH In this example, the numerical code point values represented by the symbols <A> and <B> are assigned a width of 1. The code point values <C> to <Z> inclusive, that is, <C>, <D>, <E>, and so on, are also assigned a width of 1. Using <A>...<Z> would have required fewer lines, but the alternative was shown to demonstrate flexibility. The keyword WIDTH_DEFAULT could have been added as appropriate. |
Printable version | ||
|