On Tue, Oct 28, 2014 at 3:23 PM, Michael Kerrisk (man-pages) <mtk.manpages@xxxxxxxxx> wrote: > On 10/20/2014 07:25 AM, Marko Myllynen wrote: >> Hi, >> >> locale(5) described what a locale should define but didn't spell out >> how (in what format). The patch below attempts to address this, it >> also has few trivial additional enhancements. >> >> --- >> >> Reference to locale(7) for category descriptions. >> >> Clarify first_workday in NOTES a bit. >> >> Add upstream BZ reference for two missing LC_ADDRESS fields. > > Thanks, Marko. Applied. Hmmm -- iconv tells me: iconv: illegal input sequence at position 2369 locale.5 is not UTF-8 !!!!!!!!! Could you take a look at the version in Git, please, Marko. Cheers, Michael >> --- >> man5/locale.5 | 73 ++++++++++++++++++++++++++++++++++++++++++--------------- >> 1 files changed, 54 insertions(+), 19 deletions(-) >> >> diff --git a/man5/locale.5 b/man5/locale.5 >> index 5bdb728..80e23ff 100644 >> --- a/man5/locale.5 >> +++ b/man5/locale.5 >> @@ -1,3 +1,4 @@ >> +'\" t -*- coding: UTF-8 -*- >> .\" Copyright (C) 1994 Jochen Hein (Hein@xxxxxxxxxxxxxxxxxxxxxxx) >> .\" Copyright (C) 2008 Petr Baudis (pasky@xxxxxxx) >> .\" Copyright (C) 2014 Michael Kerrisk <mtk@manpages@xxxxxxxxx> >> @@ -54,7 +55,22 @@ can be defined from scratch. >> If the category should be copied, >> the only valid keyword in the definition is >> .B copy >> -followed by the name of the locale which should be copied. >> +followed by the name of the locale in double quotes which should be >> +copied. >> +.PP >> +When defining a category from scratch, all field descriptors and strings >> +should be defined as Unicode code points in angle brackets, unless >> +otherwise stated below. >> +For example, "€" is to be presented as "<U20AC>", "%a" as >> +"<U0025><U0061>", and "Monday" as >> +"<U0053><U0075><U006E><U0064><U0061><U0079>". >> +Values defined as Unicode code points must be in double quotes, plain >> +number values are not quoted (but >> +.BR LC_CTYPE >> +and >> +.BR LC_COLLATE >> +follow special formatting, see system provided locale files for >> +examples). >> .SS Locale category sections >> The following category sections are defined by POSIX: >> .IP * 3 >> @@ -84,6 +100,11 @@ the GNU C library supports the following nonstandard categories: >> .B LC_PAPER >> .IP * >> .B LC_TELEPHONE >> +.PP >> +See >> +.BR locale (7) >> +for more detailed description of each category. >> + >> .SS LC_ADDRESS >> The definition starts with the string >> .B LC_ADDRESS >> @@ -106,6 +127,8 @@ The following field descriptors are recognized: >> .\" .B LC_NAME >> .\" .I name_fmt >> .\" keyword. >> +.\" >> +.\" https://sourceware.org/bugzilla/show_bug.cgi?id=16983 >> .TP >> %a >> Care of person, or organization. >> @@ -146,6 +169,8 @@ Country designation, from the <country_post> keyword. >> .\" BUG: %l escape sequence from ISO/IEC 14652:2002 is not >> .\" supported by glibc >> .\" Local township within town or city. >> +.\" >> +.\" https://sourceware.org/bugzilla/show_bug.cgi?id=16983 >> .TP >> %z >> Zip number, postal code. >> @@ -182,13 +207,13 @@ followed by the two-letter abbreviation of the country (ISO 3166). >> followed by the three-letter abbreviation of the country (ISO 3166). >> .TP >> .I country_num >> -followed by the numeric country code (ISO 3166). >> +followed by the numeric country code as plain numbers (ISO 3166). >> .TP >> .I country_car >> followed by the code for the country car number. >> .TP >> .I country_isbn >> -followed by the ISBN code (for books). >> +followed by the ISBN code as plain numbers (for books). >> .TP >> .I lang_name >> followed by the language name in the language of the current document. >> @@ -412,12 +437,7 @@ The >> definition ends with the string >> .IR "END LC_CTYPE" . >> .SS LC_COLLATE >> -.\" FIXME The description of LC_COLLATE lacks a lot of details >> -The >> -.B LC_COLLATE >> -category defines the rules for collating characters. >> -Due to >> -limitations of libc not all POSIX-options are implemented. >> +Due to limitations of glibc not all POSIX-options are implemented. >> >> The definition starts with the string >> .B LC_COLLATE >> @@ -458,12 +478,12 @@ The >> definition ends with the string >> .IR "END LC_COLLATE" . >> .SS LC_IDENTIFICATION >> -This category contains meta-information about the locale definition. >> - >> The definition starts with the string >> .B LC_IDENTIFICATION >> in the first column. >> >> +The values in this category are defined as plain strings. >> + >> The following keywords are allowed: >> .TP >> .I title >> @@ -586,6 +606,16 @@ The definition starts with the string >> .B LC_MONETARY >> in the first column. >> >> +Values for >> +.IR int_curr_symbol , >> +.IR currency_symbol , >> +.IR mon_decimal_point , >> +.IR mon_thousands_sep , >> +.IR positive_sign , >> +and >> +.IR negative_sign >> +are defined as Unicode code points, the others as plain numbers. >> + >> The following keywords are allowed: >> .TP >> .I int_curr_symbol >> @@ -877,8 +907,8 @@ followed by the string that will be used as a group separator >> when formatting numeric quantities. >> .TP >> .I grouping >> -followed by a sequence of integers separated by semicolons that >> -describe the formatting of numeric quantities. >> +followed by a sequence of integers as plain numbers separated by >> +semicolons that describe the formatting of numeric quantities. >> .IP >> Each integer specifies the number of digits in a group. >> The first integer defines the size of the group immediately >> @@ -898,6 +928,8 @@ The definition starts with the string >> .B LC_PAPER >> in the first column. >> >> +Values in this category are defined as plain numbers. >> + >> The following keywords are allowed: >> .TP >> .I height >> @@ -1020,7 +1052,7 @@ followed by the appropriate time format when using 12h clock format. >> This should be left empty for locales not using AM/PM convention. >> .TP >> .I week >> -followed by a list of three values: >> +followed by a list of three values as plain numbers: >> The number of days in a week (by default 7), >> a date of beginning of the week (by default corresponds to Sunday), >> and the minimal length of the first week in year (by default 4). >> @@ -1037,7 +1069,7 @@ followed by the number of the first day from the >> list to be shown in calendar applications. >> The default value of >> .B 1 >> -corresponds to either Sunday or Monday depending >> +(plain number) corresponds to either Sunday or Monday depending >> on the value of the second >> .I week >> list item. >> @@ -1048,12 +1080,13 @@ followed by the number of the first working day from the >> .I day >> list. >> The default value is >> -.BR 2 . >> +.BR 2 >> +(plain number). >> See NOTES. >> .TP >> .I cal_direction >> .\" from localedata/locales/uk_UA >> -followed by a value that indicates the direction for the >> +followed by a plain number value that indicates the direction for the >> display of calendar dates, as follows: >> .RS >> .TP >> @@ -1122,12 +1155,14 @@ and >> .I day >> lists appropriately, and set >> .I first_weekday >> +and >> +.I first_workday >> to >> .B 1 >> or >> .BR 2 , >> -depending on whether the week actually starts on Sunday or Monday >> -for the locale. >> +depending on whether the week and work week actually starts on Sunday or >> +Monday for the locale. >> .SH BUGS >> This manual page isn't complete. >> .\" .SH AUTHOR >> > > > -- > Michael Kerrisk > Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ > Linux/UNIX System Programming Training: http://man7.org/training/ -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html