montbl(1M) DG/UX R4.11 montbl(1M)
NAME
montbl - create monetary database
SYNOPSIS
montbl [ -o outfile] infile
montbl -d [ file ]
DESCRIPTION
The montbl command takes as input a specification file, infile, that
describes the formatting conventions for monetary quantities for a
specific locale.
-o outfile Write the output on outfile; otherwise, write the output
on a file named LC_MONETARY.
-d [file] Dump to standard output a text version of the LC_MONETARY
table in file file. If no input file is specified, the
monetary table in use for the current locale is dumped.
You can modify the resulting text file, and use it as
input to montbl, to produce a modified LC_MONETARY
monetary table file. This file may be used to either
replace the existing LC_MONETARY file in an existing
locale, or to create a new locale. However, you must
never modify any of the files (including LC_MONETARY) in
/usr/lib/locale/C, the C locale.
The output of montbl (without -d) 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 a user with appropriate privilege 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 (or
LC_ALL) 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 */
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 formatted
monetary quantity to ITL. and 0, respectively.
Blank lines and lines starting with a # are taken to be comments 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
int_curr_symbol "ITL."
currency_symbol "L."
mon_decimal_point ""
mon_thousands_sep "."
mon_grouping "\3"
positive_sign ""
negative_sign "-"
int_frac_digits 0
frac_digits 0
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 1
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).
Licensed material--property of copyright holder(s)