No empty .Rs/.Re
[netbsd-mini2440.git] / usr.bin / mklocale / mklocale.1
blob726282c5d76216f38911bd579ba90cedeaa5166a
1 .\" $NetBSD: mklocale.1,v 1.13 2004/01/24 17:03:26 wiz Exp $
2 .\" FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.6 1999/09/20 09:15:21 phantom Exp
3 .\"
4 .\" Copyright (c) 1993, 1994
5 .\"     The Regents of the University of California.  All rights reserved.
6 .\"
7 .\" This code is derived from software contributed to Berkeley by
8 .\" Paul Borman at Krystal Technologies.
9 .\"
10 .\" Redistribution and use in source and binary forms, with or without
11 .\" modification, are permitted provided that the following conditions
12 .\" are met:
13 .\" 1. Redistributions of source code must retain the above copyright
14 .\"    notice, this list of conditions and the following disclaimer.
15 .\" 2. Redistributions in binary form must reproduce the above copyright
16 .\"    notice, this list of conditions and the following disclaimer in the
17 .\"    documentation and/or other materials provided with the distribution.
18 .\" 3. Neither the name of the University nor the names of its contributors
19 .\"    may be used to endorse or promote products derived from this software
20 .\"    without specific prior written permission.
21 .\"
22 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" SUCH DAMAGE.
33 .\"
34 .\"     @(#)mklocale.1  8.2 (Berkeley) 4/18/94
35 .\"
36 .Dd January 2, 2009
37 .Dt MKLOCALE 1
38 .Os
39 .Sh NAME
40 .Nm mklocale
41 .Nd make LC_CTYPE locale files
42 .Sh SYNOPSIS
43 .Nm mklocale
44 .Op Fl d
45 .Op Fl t Ar type
46 \*[Lt]
47 .Ar source
48 \*[Gt]
49 .Ar language/LC_CTYPE
50 .Nm mklocale
51 .Op Fl d
52 .Op Fl t Ar type
53 .Fl o
54 .Ar language/LC_CTYPE
55 .Ar source
56 .Sh DESCRIPTION
57 The
58 .Nm mklocale
59 utility reads an
60 .Dv LC_CTYPE
61 source file from standard input and produces an
62 .Dv LC_CTYPE
63 binary file on standard output suitable for placement in
64 .Pa /usr/share/locale/\*[Lt]language\*[Gt]/LC_CTYPE .
65 .Pp
66 The format of
67 .Ar source
68 is quite simple.
69 It consists of a series of lines which start with a keyword and have
70 associated data following.
71 C style comments are used
72 to place comments in the file.
73 .Pp
74 Following options are available:
75 .Bl -tag -width XXX
76 .It Fl d
77 Turns on debugging messages.
78 .It Fl o
79 Specify output file.
80 .It Fl t
81 Generate output in new-style LC_{MONETARY,NUMERIC,TIME,MESSAGES}
82 locale-db format.
83 .El
84 .Pp
85 Besides the keywords which will be listed below,
86 the following are valid tokens in
87 .Ar source :
88 .Bl -tag -width literal
89 .It Dv RUNE
91 .Dv RUNE
92 may be any of the following:
93 .Bl -tag -width 0x[0-9a-z]*
94 .It Ar 'x'
95 The ASCII character
96 .Ar x .
97 .It Ar '\ex'
98 The ANSI C character
99 .Ar \ex
100 where
101 .Ar \ex
102 is one of
103 .Dv \ea ,
104 .Dv \eb ,
105 .Dv \ef ,
106 .Dv \en ,
107 .Dv \er ,
108 .Dv \et ,
110 .Dv \ev .
111 .It Ar 0x[0-9a-z]*
112 A hexadecimal number representing a rune code.
113 .It Ar 0[0-7]*
114 An octal number representing a rune code.
115 .It Ar [1-9][0-9]*
116 A decimal number representing a rune code.
118 .It Dv STRING
119 A string enclosed in double quotes (").
120 .It Dv THRU
121 Either
122 .Dv ...
124 .Dv - .
125 Used to indicate ranges.
126 .It Ar literal
127 The follow characters are taken literally:
128 .Bl -tag -width "\*[Lt]\|\|(\|\|["
129 .It Dv "\*[Lt]\|(\|["
130 Used to start a mapping.
131 All are equivalent.
132 .It Dv "\*[Gt]\|\^)\|]"
133 Used to end a mapping.
134 All are equivalent.
135 .It Dv :
136 Used as a delimiter in mappings.
140 Key words which should only appear once are:
141 .Bl -tag -width PHONOGRAM
142 .It Dv ENCODING
143 Followed by a
144 .Dv STRING
145 which indicates the encoding mechanism to be used for this locale.
146 The current encodings are:
147 .Bl -tag -width NONE
148 .It Dv NONE
149 No translation and the default.
150 .It Dv UTF2
151 .Dv "Universal character set Transformation Format"
152 adopted from
153 .Nm "Plan 9 from Bell Labs" .
154 .It Dv EUC
155 .Dv EUC
156 encoding as used by several
157 vendors of
159 systems.
161 .It Dv VARIABLE
162 This keyword must be followed by a single tab or space character,
163 after which encoding specific data is placed.
164 Currently only the
165 .Dv "EUC"
166 encoding requires variable data.
167 .\" See
168 .\" .Xr euc 4
169 .\" for further details.
170 .It Dv INVALID
171 A single
172 .Dv RUNE
173 follows and is used as the invalid rune for this locale.
176 The following keywords may appear multiple times and have the following
177 format for data:
178 .in +.5i
179 .Bl -tag -width "XXRUNE1 THRU RUNEn : RUNE2XX"
180 .It Aq Dv RUNE1 RUNE2
181 .Dv RUNE1
182 is mapped to
183 .Dv RUNE2 .
184 .It Aq Dv RUNE1 THRU RUNEn : RUNE2
185 Runes
186 .Dv RUNE1
187 through
188 .Dv RUNEn
189 are mapped to
190 .Dv RUNE2
191 through
192 .Dv RUNE2
193 + n-1.
195 .in -.5i
196 .Bl -tag -width PHONOGRAM
197 .It Dv MAPLOWER
198 Defines the tolower mappings.
199 .Dv RUNE2
200 is the lower case representation of
201 .Dv RUNE1 .
202 .It Dv MAPUPPER
203 Defines the toupper mappings.
204 .Dv RUNE2
205 is the upper case representation of
206 .Dv RUNE1 .
207 .It Dv TODIGIT
208 Defines a map from runes to their digit value.
209 .Dv RUNE2
210 is the integer value represented by
211 .Dv RUNE1 .
212 For example, the ASCII character
213 .Sq 0
214 would map to the decimal value 0.
215 Only values up to 255 are allowed.
218 The following keywords may appear multiple times and have the following
219 format for data:
220 .Bl -tag -width "RUNE1 THRU RUNEn"
221 .It Dv RUNE
222 This rune has the property defined by the keyword.
223 .It Dv "RUNE1 THRU RUNEn"
224 All the runes between and including
225 .Dv RUNE1
227 .Dv RUNEn
228 have the property defined by the keyword.
230 .Bl -tag -width PHONOGRAM
231 .It Dv ALPHA
232 Defines runes which are alphabetic, printable, and graphic.
233 .It Dv CONTROL
234 Defines runes which are control characters.
235 .It Dv DIGIT
236 Defines runes which are decimal digits, printable, and graphic.
237 .It Dv GRAPH
238 Defines runes which are graphic and printable.
239 .It Dv LOWER
240 Defines runes which are lower case, printable, and graphic.
241 .It Dv PUNCT
242 Defines runes which are punctuation, printable, and graphic.
243 .It Dv SPACE
244 Defines runes which are spaces.
245 .It Dv UPPER
246 Defines runes which are upper case, printable, and graphic.
247 .It Dv XDIGIT
248 Defines runes which are hexadecimal digits, printable, and graphic.
249 .It Dv BLANK
250 Defines runes which are blank.
251 .It Dv PRINT
252 Defines runes which are printable.
253 .It Dv IDEOGRAM
254 Defines runes which are ideograms, printable, and graphic.
255 .It Dv SPECIAL
256 Defines runes which are special characters, printable, and graphic.
257 .It Dv PHONOGRAM
258 Defines runes which are phonograms, printable, and graphic.
259 .It Dv SWIDTHn
260 Defines runes with specific glyph width.
261 .Ar n
262 takes 0 to 3.
263 .It Dv CHARSET
264 Controls character set for subsequent runes.
265 .\" To support
266 .\" .Xr iso2022 4
267 .\" locale definitions.
269 .Sh SEE ALSO
270 .\"Xr colldef 1 ,
271 .Xr setlocale 3 ,
272 .\" .Xr euc 4 ,
273 .\" .Xr utf8 4
274 .Xr nls 7
275 .Sh HISTORY
277 .Nm mklocale
278 utility first appeared in
279 .Bx 4.4 .
280 .Sh BUGS
282 .Nm mklocale
283 utility is overly simplistic.
285 We should switch to
286 .Nm localedef
287 and its file format, which is more standard.