MONTBL(1M) RISC/os Reference Manual MONTBL(1M)
NAME
montbl - create monetary database
SYNOPSIS
montbl [ -o outfile] infile
DESCRIPTION
The montbl command takes as input a specification file,
infile, that describes the formatting conventions for mone-
tary quantities for a specific locale.
-o outfile Write the output on outfile; otherwise, write
the output on a file named LC_MONETARY.
The output of montbl is suitable for use by the localeconv()
function (see localeconv(3C)). Before outfile can be used
by localeconv(), it must be installed in the
/usr/lib/locale/<locale> directory with the name LC_MONETARY
by someone who is super-user or a member of group bin.
locale is the locale whose monetary formatting conventions
are described in infile. This file must be readable by
user, group, and other; no other permissions should be set.
To use formatting conventions for monetary quantities
described in this file, use setlocale(3C) to change the
locale for category LC_MONETARY to locale [see
setlocale(3C)].
Once installed, this file will be used by the localeconv()
function to initialize the monetary-specific fields of a
structure of type struct lconv. For a description of each
field in this structure, see localeconv(3C).
struct lconv {
char *decimal_point;/* "." */
char *thousands_sep;/* "" (zero length string) */
char *grouping;/* "" */
char *int_curr_symbol;/* "" */
char *currency_symbol;/* "" */
char *mon_decimal_point;/* "" */
char *mon_thousands_sep;/* "" */
char *mon_grouping;/* "" */
char *positive_sign;/* "" */
char *negative_sign;/* "" */
char int_frac_digits;/* CHAR_MAX */
char frac_digits;/* CHAR_MAX */
char p_cs_precedes;/* CHAR_MAX */
char p_sep_by_space;/* CHAR_MAX */
char n_cs_precedes;/* CHAR_MAX */
char n_sep_by_space;/* CHAR_MAX */
char p_sign_posn;/* CHAR_MAX */
Printed 11/19/92 Page 1
MONTBL(1M) RISC/os Reference Manual MONTBL(1M)
char n_sign_posn;/* CHAR_MAX */
};
The specification file specifies the value of each struct
lconv member, except for the first three members,
decimal_point, thousands_sep, and grouping which are set by
the LC_NUMERIC category of setlocale(3C). Each member's
value is given on a line with the following format:
keyword <white space> value
where keyword is identical to the struct lconv field name
and value is a quoted string for those fields that are a
char * and an integer for those fields that are an int. For
example,
int_curr_symbol "ITL."
int_frac_digits 0
will set the international currency symbol and the number of
fractional digits to be displayed in an internationally for-
matted monetary quantity to ITL. and 0, respectively.
Blank lines and lines starting with a # are taken to be com-
ments and are ignored. A character in a string may be in
octal or hex representation. For example, \141 or \x61
could be used to represent the letter 'a'. If there is no
specification line for a given structure member, then the
default 'C' locale value for that member is used (see the
values in comments in the struct lconv definition above).
Given below is an example of what the specification file for
Italy would look like:
# Italy
"ITL."
"L."
""
"."
"\3"
""
"-"
0
0
1
0
1
0
1
1
Page 2 Printed 11/19/92
MONTBL(1M) RISC/os Reference Manual MONTBL(1M)
FILES
/usr/lib/locale/<locale>/LC_MONETARY
LC_MONETARY database for <locale>
/usr/lib/locale/C/montbl_C
input file used to construct LC_MONETARY in
the default locale.
SEE ALSO
localeconv(3C), setlocale(3C) in the Programmer's Reference
Manual.
Printed 11/19/92 Page 3