From 4b10dd6c1959577f57850ca427a94fe22b9f3299 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 31 Aug 1999 07:04:41 +0000 Subject: Update. * locale/Makefile (distribute): Add iso-639.def and iso-3166.def. Change charset.h to charmap.h. (categories): Add new categories. Leave out collate for now. Update build rules. * locale/categories.def: Add definitions for new categories. * locale/langinfo.h: Likewise. * locale/locale.h: Likewise. * locale/C-address.c: New file. * locale/C-identification.c: New file. * locale/C-measurement.c: New file. * locale/C-name.c: New file. * locale/C-paper.c: New file. * locale/C-telephone.c: New file. * locale/lc-address.c: Likewise. * locale/lc-identification.c: Likewise. * locale/lc-measurement.c: Likewise. * locale/lc-name.c: Likewise. * locale/lc-paper.c: Likewise. * locale/lc-telephone.c: Likewise. * locale/C-ctype.c: Update for locale rewrite. * locale/C-messages.c: Likewise. * locale/C-monetary.c: Likewise. * locale/C-time.c: Likewise. * locale/lc-collate.c: Likewise. * locale/lc-ctype.c: Likewise. * locale/lc-monetary.c: Likewise. * locale/lc-time.c: Likewise. * locale/localeinfo.h: Likewise. * locale/newlocale.c: Likewise. * locale/setlocale.c: Likewise. * locale/weight.h: Likewise. * locale/findlocale.c: Unconditionally use mmap. Handle new categories. * locale/loadlocale.c: Likewise. * locale/iso-3166.def: New file. * locale/iso-639.def: New file. * locale/programs/charmap-kw.gperf: Add new keywords. * locale/programs/locfile-kw.gperf: Likewise. * locale/programs/locfile-token.h: Define new tokens. * locale/programs/charmap.c: Rewrite to handle multibyte charsets. * locale/programs/charmap.h: New file. * locale/programs/charset.h: Removed. * locale/programs/config.h: Add __LC_LAST. * locale/programs/lc-address.c: New file. * locale/programs/lc-identification.c: New file. * locale/programs/lc-measurement.c: New file. * locale/programs/lc-name.c: New file. * locale/programs/lc-paper.c: New file. * locale/programs/lc-telephone.c: New file. * locale/programs/lc-collate.c: Update for locale rewrite. * locale/programs/lc-ctype.c: Likewise. * locale/programs/lc-messages.c: Likewise. * locale/programs/lc-monetary.c: Likewise. * locale/programs/lc-numeric.c: Likewise. * locale/programs/lc-time.c: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/repertoire.c: Likewise. * locale/programs/repertoire.h: Likewise. * locale/programs/locfile.c: Update prototypes. Update handle_copy definition. * locale/programs/linereader.c: Add handling of wide char strings and new definition file syntax. * locale/programs/linereader.h (struct token): Add elements for wide character strings. * locale/programs/locale-spec.c: Disable handling of collation elements for now. * locale/programs/simple-hash.h: Cleanup. * locale/programs/stringtrans.h: Handle quite of end of line. * string/strcoll.c: Fall back on strcmp for now. * string/strxfrm.c: Fall back on strncpy/strlen for now. * time/strftime.c: Use new wide character data for wcsftime. * time/strptime.c: Remove _nl_C_LC_TIME declaration. * wctype/cname-lookup.h: Update for new LC_CTYPE data. --- ChangeLog | 76 + locale/C-address.c | 47 + locale/C-ctype.c | 291 ++-- locale/C-identification.c | 54 + locale/C-measurement.c | 36 + locale/C-messages.c | 6 +- locale/C-monetary.c | 37 +- locale/C-name.c | 41 + locale/C-paper.c | 39 + locale/C-telephone.c | 39 + locale/C-time.c | 116 +- locale/Makefile | 36 +- locale/categories.def | 277 +++- locale/findlocale.c | 47 +- locale/iso-3166.def | 245 +++ locale/iso-639.def | 133 ++ locale/langinfo.h | 371 ++++- locale/lc-address.c | 22 + locale/lc-collate.c | 18 +- locale/lc-ctype.c | 17 +- locale/lc-identification.c | 22 + locale/lc-measurement.c | 22 + locale/lc-monetary.c | 23 +- locale/lc-name.c | 22 + locale/lc-paper.c | 22 + locale/lc-telephone.c | 22 + locale/lc-time.c | 117 +- locale/loadlocale.c | 77 +- locale/locale.h | 20 +- locale/localeinfo.h | 59 +- locale/newlocale.c | 34 +- locale/programs/charmap-kw.gperf | 7 +- locale/programs/charmap-kw.h | 120 +- locale/programs/charmap.c | 284 +++- locale/programs/charmap.h | 78 + locale/programs/charset.h | 74 - locale/programs/config.h | 30 +- locale/programs/ld-address.c | 514 ++++++ locale/programs/ld-collate.c | 1819 +++++++++++++++++---- locale/programs/ld-ctype.c | 3044 +++++++++++++++++++++++++++-------- locale/programs/ld-identification.c | 376 +++++ locale/programs/ld-measurement.c | 206 +++ locale/programs/ld-messages.c | 252 +-- locale/programs/ld-monetary.c | 757 +++++++-- locale/programs/ld-name.c | 276 ++++ locale/programs/ld-numeric.c | 293 ++-- locale/programs/ld-paper.c | 235 +++ locale/programs/ld-telephone.c | 283 ++++ locale/programs/ld-time.c | 1155 ++++++++++--- locale/programs/linereader.c | 452 ++++-- locale/programs/linereader.h | 34 +- locale/programs/locale-spec.c | 2 +- locale/programs/locale.c | 8 +- locale/programs/localedef.c | 299 ++-- locale/programs/localedef.h | 131 ++ locale/programs/locfile-kw.gperf | 250 ++- locale/programs/locfile-kw.h | 482 ++++-- locale/programs/locfile-token.h | 111 +- locale/programs/locfile.c | 1088 ++----------- locale/programs/locfile.h | 264 ++- locale/programs/repertoire.c | 225 ++- locale/programs/repertoire.h | 31 +- locale/programs/simple-hash.h | 30 +- locale/programs/stringtrans.c | 10 +- locale/setlocale.c | 147 +- locale/weight.h | 54 +- string/strcoll.c | 20 +- string/strxfrm.c | 18 +- time/strftime.c | 36 +- time/strptime.c | 1 - wctype/cname-lookup.h | 32 +- 71 files changed, 12005 insertions(+), 3911 deletions(-) create mode 100644 locale/C-address.c create mode 100644 locale/C-identification.c create mode 100644 locale/C-measurement.c create mode 100644 locale/C-name.c create mode 100644 locale/C-paper.c create mode 100644 locale/C-telephone.c create mode 100644 locale/iso-3166.def create mode 100644 locale/iso-639.def create mode 100644 locale/lc-address.c create mode 100644 locale/lc-identification.c create mode 100644 locale/lc-measurement.c create mode 100644 locale/lc-name.c create mode 100644 locale/lc-paper.c create mode 100644 locale/lc-telephone.c create mode 100644 locale/programs/charmap.h delete mode 100644 locale/programs/charset.h create mode 100644 locale/programs/ld-address.c create mode 100644 locale/programs/ld-identification.c create mode 100644 locale/programs/ld-measurement.c create mode 100644 locale/programs/ld-name.c create mode 100644 locale/programs/ld-paper.c create mode 100644 locale/programs/ld-telephone.c create mode 100644 locale/programs/localedef.h diff --git a/ChangeLog b/ChangeLog index 1e39c44efd..69c03f7ae3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,81 @@ 1999-08-30 Ulrich Drepper + * locale/Makefile (distribute): Add iso-639.def and iso-3166.def. + Change charset.h to charmap.h. + (categories): Add new categories. Leave out collate for now. + Update build rules. + * locale/categories.def: Add definitions for new categories. + * locale/langinfo.h: Likewise. + * locale/locale.h: Likewise. + * locale/C-address.c: New file. + * locale/C-identification.c: New file. + * locale/C-measurement.c: New file. + * locale/C-name.c: New file. + * locale/C-paper.c: New file. + * locale/C-telephone.c: New file. + * locale/lc-address.c: Likewise. + * locale/lc-identification.c: Likewise. + * locale/lc-measurement.c: Likewise. + * locale/lc-name.c: Likewise. + * locale/lc-paper.c: Likewise. + * locale/lc-telephone.c: Likewise. + * locale/C-ctype.c: Update for locale rewrite. + * locale/C-messages.c: Likewise. + * locale/C-monetary.c: Likewise. + * locale/C-time.c: Likewise. + * locale/lc-collate.c: Likewise. + * locale/lc-ctype.c: Likewise. + * locale/lc-monetary.c: Likewise. + * locale/lc-time.c: Likewise. + * locale/localeinfo.h: Likewise. + * locale/newlocale.c: Likewise. + * locale/setlocale.c: Likewise. + * locale/weight.h: Likewise. + * locale/findlocale.c: Unconditionally use mmap. + Handle new categories. + * locale/loadlocale.c: Likewise. + * locale/iso-3166.def: New file. + * locale/iso-639.def: New file. + * locale/programs/charmap-kw.gperf: Add new keywords. + * locale/programs/locfile-kw.gperf: Likewise. + * locale/programs/locfile-token.h: Define new tokens. + * locale/programs/charmap.c: Rewrite to handle multibyte charsets. + * locale/programs/charmap.h: New file. + * locale/programs/charset.h: Removed. + * locale/programs/config.h: Add __LC_LAST. + * locale/programs/lc-address.c: New file. + * locale/programs/lc-identification.c: New file. + * locale/programs/lc-measurement.c: New file. + * locale/programs/lc-name.c: New file. + * locale/programs/lc-paper.c: New file. + * locale/programs/lc-telephone.c: New file. + * locale/programs/lc-collate.c: Update for locale rewrite. + * locale/programs/lc-ctype.c: Likewise. + * locale/programs/lc-messages.c: Likewise. + * locale/programs/lc-monetary.c: Likewise. + * locale/programs/lc-numeric.c: Likewise. + * locale/programs/lc-time.c: Likewise. + * locale/programs/locale.c: Likewise. + * locale/programs/localedef.c: Likewise. + * locale/programs/locfile.c: Likewise. + * locale/programs/repertoire.c: Likewise. + * locale/programs/repertoire.h: Likewise. + * locale/programs/locfile.c: Update prototypes. + Update handle_copy definition. + * locale/programs/linereader.c: Add handling of wide char strings and + new definition file syntax. + * locale/programs/linereader.h (struct token): Add elements for wide + character strings. + * locale/programs/locale-spec.c: Disable handling of collation + elements for now. + * locale/programs/simple-hash.h: Cleanup. + * locale/programs/stringtrans.h: Handle quite of end of line. + * string/strcoll.c: Fall back on strcmp for now. + * string/strxfrm.c: Fall back on strncpy/strlen for now. + * time/strftime.c: Use new wide character data for wcsftime. + * time/strptime.c: Remove _nl_C_LC_TIME declaration. + * wctype/cname-lookup.h: Update for new LC_CTYPE data. + * sysdeps/i386/Makefile [csu]: Define CFLAGS-initfini.s to force compiling for i386 to avoid i686-like GOT pointer computation. diff --git a/locale/C-address.c b/locale/C-address.c new file mode 100644 index 0000000000..8b37639d89 --- /dev/null +++ b/locale/C-address.c @@ -0,0 +1,47 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.10 "LC_ADDRESS". */ + +const struct locale_data _nl_C_LC_ADDRESS = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 12, + { + { string: "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" } + } +}; diff --git a/locale/C-ctype.c b/locale/C-ctype.c index 9dd122b3f6..77281b0095 100644 --- a/locale/C-ctype.c +++ b/locale/C-ctype.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1995. + Contributed by Ulrich Drepper , 1995. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -29,28 +29,28 @@ is set to always return 0 and the conversion arrays return EOF. */ const char _nl_C_LC_CTYPE_class[768] = - /* 0x80 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x86 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x8c */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x92 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x98 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x9e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xaa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xbc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xce */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xda */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xec */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xfe */ "\000\000" "\000\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x80 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x86 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x8c */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x92 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x98 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x9e */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xa4 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xaa */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xb0 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xb6 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xbc */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xc2 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xc8 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xce */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xd4 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xda */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xe0 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xe6 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xec */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xf2 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xf8 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xfe */ "\002\000" "\000\000" "\002\000" "\002\000" "\002\000" "\002\000" /* 0x04 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\003\040" /* 0x0a */ "\002\040" "\002\040" "\002\040" "\002\040" "\002\000" "\002\000" /* 0x10 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" @@ -71,28 +71,28 @@ const char _nl_C_LC_CTYPE_class[768] = /* 0x6a */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" /* 0x70 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" /* 0x76 */ "\010\306" "\010\306" "\010\306" "\010\306" "\010\306" "\004\300" - /* 0x7c */ "\004\300" "\004\300" "\004\300" "\002\000" "\000\000" "\000\000" - /* 0x82 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x88 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x8e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x94 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0x9a */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xa6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xac */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xb8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xbe */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xc4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xca */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xd6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xdc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xe8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xee */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xf4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" - /* 0xfa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" + /* 0x7c */ "\004\300" "\004\300" "\004\300" "\002\000" "\002\000" "\002\000" + /* 0x82 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x88 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x8e */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x94 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0x9a */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xa0 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xa6 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xac */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xb2 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xb8 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xbe */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xc4 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xca */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xd0 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xd6 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xdc */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xe2 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xe8 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xee */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xf4 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" + /* 0xfa */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" ; const char _nl_C_LC_CTYPE_class32[1024] = /* 0x00 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" @@ -137,50 +137,50 @@ const char _nl_C_LC_CTYPE_class32[1024] = /* 0x75 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306" /* 0x78 */ "\000\000\010\306" "\000\000\010\306" "\000\000\010\306" /* 0x7b */ "\000\000\004\300" "\000\000\004\300" "\000\000\004\300" - /* 0x7e */ "\000\000\004\300" "\000\000\002\000" "\000\000\000\000" - /* 0x81 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x84 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x87 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x8a */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x8d */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x90 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x93 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x96 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x99 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x9c */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0x9f */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xa2 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xa5 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xa8 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xab */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xae */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xb1 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xb4 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xb7 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xba */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xbd */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xc0 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xc3 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xc6 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xc9 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xcc */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xcf */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xd2 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xd5 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xd8 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xdb */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xde */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xe1 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xe4 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xe7 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xea */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xed */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xf0 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xf3 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xf6 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xf9 */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xfc */ "\000\000\000\000" "\000\000\000\000" "\000\000\000\000" - /* 0xff */ "\000\000\000\000" + /* 0x7e */ "\000\000\004\300" "\000\000\002\000" "\000\000\002\000" + /* 0x81 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x84 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x87 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x8a */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x8d */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x90 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x93 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x96 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x99 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x9c */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0x9f */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xa2 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xa5 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xa8 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xab */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xae */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xb1 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xb4 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xb7 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xba */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xbd */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xc0 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xc3 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xc6 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xc9 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xcc */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xcf */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xd2 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xd5 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xd8 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xdb */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xde */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xe1 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xe4 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xe7 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xea */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xed */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xf0 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xf3 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xf6 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xf9 */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xfc */ "\000\000\002\000" "\000\000\002\000" "\000\000\002\000" + /* 0xff */ "\000\000\002\000" ; const u_int32_t _nl_C_LC_CTYPE_toupper[384] = { @@ -364,10 +364,115 @@ const struct locale_data _nl_C_LC_CTYPE = #endif { word: 256 }, { word: 1 }, { string: "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0" - "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" }, - { string: "tolower\0" "toupper\0" }, + "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" + "left_to_right\0" "right_to_left\0" "num_terminator\0" + "num_separator\0" "segment_separator\0" "block_separator\0" + "direction_control\0" "sym_swap_layout\0" "char_shape_selector\0" + "num_share_selector\0" "non_spacing\0" "non_spacing_level3\0" + "r_connect\0" "no_connect\0" "no_connect-space\0" + "vowel_connect\0" }, + { string: "tolower\0" "toupper\0" "tosymmetric\0" }, { string: _nl_C_LC_CTYPE_width }, { word: 1 }, - { string: "ANSI_X3.4-1968" } + { string: "ANSI_X3.4-1968" }, + { word: 1 }, + { string: "0" }, + { string: "1" }, + { string: "2" }, + { string: "3" }, + { string: "4" }, + { string: "5" }, + { string: "6" }, + { string: "7" }, + { string: "8" }, + { string: "9" }, +#if BYTE_ORDER == LITTLE_ENDIAN + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, +#endif + { wstr: (uint32_t *) L"0" }, + { wstr: (uint32_t *) L"1" }, + { wstr: (uint32_t *) L"2" }, + { wstr: (uint32_t *) L"3" }, + { wstr: (uint32_t *) L"4" }, + { wstr: (uint32_t *) L"5" }, + { wstr: (uint32_t *) L"6" }, + { wstr: (uint32_t *) L"7" }, + { wstr: (uint32_t *) L"8" }, + { wstr: (uint32_t *) L"9" }, +#if BYTE_ORDER == BIG_ENDIAN + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, + { wstr: (uint32_t *) L"" }, +#endif + { string: "0" }, + { string: "1" }, + { string: "2" }, + { string: "3" }, + { string: "4" }, + { string: "5" }, + { string: "6" }, + { string: "7" }, + { string: "8" }, + { string: "9" }, +#if BYTE_ORDER == LITTLE_ENDIAN + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, +#endif + { word: L'0' }, + { word: L'1' }, + { word: L'2' }, + { word: L'3' }, + { word: L'4' }, + { word: L'5' }, + { word: L'6' }, + { word: L'7' }, + { word: L'8' }, + { word: L'9' }, +#if BYTE_ORDER == BIG_ENDIAN + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, + { word: L'\0' }, +#endif + { word: 0 }, + { word: 0 }, + { word: 0 }, + { word: 0 }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" } } }; diff --git a/locale/C-identification.c b/locale/C-identification.c new file mode 100644 index 0000000000..10d9ae9b8d --- /dev/null +++ b/locale/C-identification.c @@ -0,0 +1,54 @@ +/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.12 "LC_IDENTIFICATION". */ + +const struct locale_data _nl_C_LC_IDENTIFICATION = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 15, + { + { string: "ISO/IEC 14652 i18n FDCC-set" }, + { string: "ISO/IEC JTC1/SC22/WG20 - internationalization" }, + { string: "C/o Keld Simonsen, Skt. Jorgens Alle 8, DK-1615 Kobenhavn V" }, + { string: "Keld Simonsen" }, + { string: "keld@dkuug.dk" }, + { string: "+45 3122-6543" }, + { string: "+45 3325-6543" }, + { string: "" }, + { string: "ISO" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "1.0" }, + { string: "1997-12-20" }, + { string: "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" + "i18n:1999\0" "i18n:1999\0" "\0" "i18n:1999\0" + "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" + "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" "i18n:1999\0" + "i18n:1999" } + } +}; diff --git a/locale/C-measurement.c b/locale/C-measurement.c new file mode 100644 index 0000000000..37db30d939 --- /dev/null +++ b/locale/C-measurement.c @@ -0,0 +1,36 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.12 "LC_MEASUREMENT". */ + +const struct locale_data _nl_C_LC_MEASUREMENT = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 1, + { + { string: "\1" } + } +}; diff --git a/locale/C-messages.c b/locale/C-messages.c index 87e40e508f..0363020476 100644 --- a/locale/C-messages.c +++ b/locale/C-messages.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -33,7 +33,7 @@ const struct locale_data _nl_C_LC_MESSAGES = { { string: "^[yY]" }, { string: "^[nN]" }, - { string: "yes" }, - { string: "no" } + { string: "" }, + { string: "" } } }; diff --git a/locale/C-monetary.c b/locale/C-monetary.c index 0133319740..3cb1a57b4e 100644 --- a/locale/C-monetary.c +++ b/locale/C-monetary.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -20,7 +20,8 @@ #include "localeinfo.h" /* This table's entries are taken from POSIX.2 Table 2-9 - ``LC_MONETARY Category Definition in the POSIX Locale''. */ + ``LC_MONETARY Category Definition in the POSIX Locale'', + with additions from ISO 14652, section 4.4. */ #ifdef __CHAR_UNSIGNED__ static const char not_available[] = "\377"; #else @@ -32,7 +33,7 @@ const struct locale_data _nl_C_LC_MONETARY = _nl_C_name, NULL, 0, 0, /* no file mapped */ UNDELETABLE, - 15, + 49, { { string: "" }, { string: "" }, @@ -48,6 +49,34 @@ const struct locale_data _nl_C_LC_MONETARY = { string: not_available }, { string: not_available }, { string: not_available }, - { string: not_available } + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: "" }, + { string: "" }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { string: not_available }, + { word: 10101 }, + { word: 99991231 }, + { word: 10101 }, + { word: 99991231 }, + { word: 1 }, + { word: 1 } } }; diff --git a/locale/C-name.c b/locale/C-name.c new file mode 100644 index 0000000000..4b31370a8c --- /dev/null +++ b/locale/C-name.c @@ -0,0 +1,41 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.9 "LC_NAME". */ + +const struct locale_data _nl_C_LC_NAME = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 6, + { + { string: "%p%t%g%t%m%t%f" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" }, + { string: "" } + } +}; diff --git a/locale/C-paper.c b/locale/C-paper.c new file mode 100644 index 0000000000..9bd1cdcbdb --- /dev/null +++ b/locale/C-paper.c @@ -0,0 +1,39 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.8 "LC_PAPER". */ + +const struct locale_data _nl_C_LC_PAPER = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 4, + { + { word: 297 }, + { word: 297 }, + { word: 210 }, + { word: 210 } + } +}; diff --git a/locale/C-telephone.c b/locale/C-telephone.c new file mode 100644 index 0000000000..9647ac0da4 --- /dev/null +++ b/locale/C-telephone.c @@ -0,0 +1,39 @@ +/* Copyright (C) 1998 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include + +#include "localeinfo.h" + +/* This table's entries are taken from ISO 14652, the table in section + 4.11 "LC_TELEPHONE". */ + +const struct locale_data _nl_C_LC_TELEPHONE = +{ + _nl_C_name, + NULL, 0, 0, /* no file mapped */ + UNDELETABLE, + 4, + { + { string: "+%c %a %l" }, + { string: "" }, + { string: "" }, + { string: "" } + } +}; diff --git a/locale/C-time.c b/locale/C-time.c index 6a846e4cae..34ed40507f 100644 --- a/locale/C-time.c +++ b/locale/C-time.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -20,14 +20,15 @@ #include "localeinfo.h" /* This table's entries are taken from POSIX.2 Table 2-11 - ``LC_TIME Category Definition in the POSIX Locale''. */ + ``LC_TIME Category Definition in the POSIX Locale'', + with additions from ISO 14652, section 4.6. */ const struct locale_data _nl_C_LC_TIME = { _nl_C_name, NULL, 0, 0, /* no file mapped */ UNDELETABLE, - 104, + 62, { { string: "Sun" }, { string: "Mon" }, @@ -80,58 +81,65 @@ const struct locale_data _nl_C_LC_TIME = { string: "" }, { string: "" }, { word: 0 }, - { word: 0 }, - { string: "" }, - { string: "" }, - { wstr: L"Sun" }, - { wstr: L"Mon" }, - { wstr: L"Tue" }, - { wstr: L"Wed" }, - { wstr: L"Thu" }, - { wstr: L"Fri" }, - { wstr: L"Sat" }, - { wstr: L"Sunday" }, - { wstr: L"Monday" }, - { wstr: L"Tuesday" }, - { wstr: L"Wednesday" }, - { wstr: L"Thursday" }, - { wstr: L"Friday" }, - { wstr: L"Saturday" }, - { wstr: L"Jan" }, - { wstr: L"Feb" }, - { wstr: L"Mar" }, - { wstr: L"Apr" }, - { wstr: L"May" }, - { wstr: L"Jun" }, - { wstr: L"Jul" }, - { wstr: L"Aug" }, - { wstr: L"Sep" }, - { wstr: L"Oct" }, - { wstr: L"Nov" }, - { wstr: L"Dec" }, - { wstr: L"January" }, - { wstr: L"February" }, - { wstr: L"March" }, - { wstr: L"April" }, - { wstr: L"May" }, - { wstr: L"June" }, - { wstr: L"July" }, - { wstr: L"August" }, - { wstr: L"September" }, - { wstr: L"October" }, - { wstr: L"November" }, - { wstr: L"December" }, - { wstr: L"AM" }, - { wstr: L"PM" }, - { wstr: L"%a %b %e %H:%M:%S %Y" }, - { wstr: L"%m/%d/%y" }, - { wstr: L"%H:%M:%S" }, - { wstr: L"%I:%M:%S %p" }, - { string: NULL }, - { string: "" }, - { string: "" }, - { string: "" }, { string: "" }, { string: "" }, + { wstr: (const uint32_t *) L"Sun" }, + { wstr: (const uint32_t *) L"Mon" }, + { wstr: (const uint32_t *) L"Tue" }, + { wstr: (const uint32_t *) L"Wed" }, + { wstr: (const uint32_t *) L"Thu" }, + { wstr: (const uint32_t *) L"Fri" }, + { wstr: (const uint32_t *) L"Sat" }, + { wstr: (const uint32_t *) L"Sunday" }, + { wstr: (const uint32_t *) L"Monday" }, + { wstr: (const uint32_t *) L"Tuesday" }, + { wstr: (const uint32_t *) L"Wednesday" }, + { wstr: (const uint32_t *) L"Thursday" }, + { wstr: (const uint32_t *) L"Friday" }, + { wstr: (const uint32_t *) L"Saturday" }, + { wstr: (const uint32_t *) L"Jan" }, + { wstr: (const uint32_t *) L"Feb" }, + { wstr: (const uint32_t *) L"Mar" }, + { wstr: (const uint32_t *) L"Apr" }, + { wstr: (const uint32_t *) L"May" }, + { wstr: (const uint32_t *) L"Jun" }, + { wstr: (const uint32_t *) L"Jul" }, + { wstr: (const uint32_t *) L"Aug" }, + { wstr: (const uint32_t *) L"Sep" }, + { wstr: (const uint32_t *) L"Oct" }, + { wstr: (const uint32_t *) L"Nov" }, + { wstr: (const uint32_t *) L"Dec" }, + { wstr: (const uint32_t *) L"January" }, + { wstr: (const uint32_t *) L"February" }, + { wstr: (const uint32_t *) L"March" }, + { wstr: (const uint32_t *) L"April" }, + { wstr: (const uint32_t *) L"May" }, + { wstr: (const uint32_t *) L"June" }, + { wstr: (const uint32_t *) L"July" }, + { wstr: (const uint32_t *) L"August" }, + { wstr: (const uint32_t *) L"September" }, + { wstr: (const uint32_t *) L"October" }, + { wstr: (const uint32_t *) L"November" }, + { wstr: (const uint32_t *) L"December" }, + { wstr: (const uint32_t *) L"AM" }, + { wstr: (const uint32_t *) L"PM" }, + { wstr: (const uint32_t *) L"%a %b %e %H:%M:%S %Y" }, + { wstr: (const uint32_t *) L"%m/%d/%y" }, + { wstr: (const uint32_t *) L"%H:%M:%S" }, + { wstr: (const uint32_t *) L"%I:%M:%S %p" }, + { wstr: NULL }, + { wstr: (const uint32_t *) L"" }, + { wstr: (const uint32_t *) L"" }, + { wstr: (const uint32_t *) L"" }, + { wstr: (const uint32_t *) L"" }, + { wstr: (const uint32_t *) L"" }, + { string: "\7" }, + { word: 19971130 }, + { word: 19971130 }, + { string: "\7" }, + { string: "\1" }, + { string: "\7" }, + { string: "\1" }, + { string: "" } } }; diff --git a/locale/Makefile b/locale/Makefile index 0f97c0aa66..622d7f1873 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 95, 96, 97, 98, 99 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -22,22 +22,26 @@ subdir := locale headers = locale.h langinfo.h xlocale.h -distribute = localeinfo.h categories.def iso-4217.def weight.h \ - strlen-hash.h \ +distribute = localeinfo.h categories.def iso-639.def iso-3166.def \ + iso-4217.def weight.h strlen-hash.h \ $(addprefix programs/, \ locale.c localedef.c \ $(localedef-modules:=.c) $(locale-modules:=.c) \ $(lib-modules:=.c) config.h simple-hash.h \ charmap-kw.gperf charmap-kw.h locfile-token.h \ locfile-kw.gperf locfile-kw.h linereader.h \ - locales.h locfile.h stringtrans.h charset.h \ + locales.h locfile.h stringtrans.h charmap.h \ repertoire.h) routines = setlocale findlocale loadlocale localeconv nl_langinfo \ mb_cur_max codeset_name \ newlocale duplocale freelocale -categories = ctype messages monetary numeric time collate +#categories = ctype messages monetary numeric time collate paper name \ +# address telephone measurement versions +categories = ctype messages monetary numeric time paper name \ + address telephone measurement identification collate aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name -others = localedef locale +# XXX For testing this is now others-static instead of others. +others-static = localedef locale install-bin = localedef locale extra-objs = $(localedef-modules:=.o) $(locale-modules:=.o) \ $(lib-modules:=.o) @@ -52,14 +56,14 @@ vpath %.c programs vpath %.h programs vpath %.gperf programs -localedef-modules := $(categories:%=ld-%) charmap charset linereader \ - locfile stringtrans repertoire +localedef-modules := $(categories:%=ld-%) charmap linereader locfile \ + repertoire locale-modules := locale-spec lib-modules := simple-hash xmalloc xstrdup GPERF = gperf -GPERFFLAGS = -acCgopt -k1,2,5,$$ +GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C include ../Rules @@ -73,13 +77,13 @@ $(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o) localepath = "$(localedir):$(i18ndir)" -locale-CPPFLAGS := -DLOCALE_PATH='$(localepath)' \ - -DLOCALEDIR='"$(localedir)"' \ - -DLOCALE_ALIAS_PATH='"$(localedir):$(i18ndir)"' \ - -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \ - -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \ - -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \ - -Iprograms +CPPFLAGS := -DLOCALE_PATH='$(localepath)' \ + -DLOCALEDIR='"$(localedir)"' \ + -DLOCALE_ALIAS_PATH='"$(localedir):$(i18ndir)"' \ + -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \ + -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \ + -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \ + -Iprograms $(CPPFLAGS) CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts diff --git a/locale/categories.def b/locale/categories.def index 160331fb0d..36020cf1a6 100644 --- a/locale/categories.def +++ b/locale/categories.def @@ -1,5 +1,5 @@ /* Definition of all available locale categories and their items. -*- C -*- - Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -21,8 +21,7 @@ The general format of the descriptions is like this: - DEFINE_CATEGORY (ID, name, ( items ), setlocale-postload, - locale-input, locale-check, locale-output) + DEFINE_CATEGORY (ID, name, ( items ), setlocale-postload) where items itself is an array of entries in the form @@ -43,28 +42,28 @@ DEFINE_CATEGORY ( LC_COLLATE, "LC_COLLATE", ( - DEFINE_ELEMENT (_NL_COLLATE_NRULES, "collate-nrules", std, word) - DEFINE_ELEMENT (_NL_COLLATE_RULES, "collate-rules", std, string) - DEFINE_ELEMENT (_NL_COLLATE_HASH_SIZE, "collate-hash-size", std, word) + DEFINE_ELEMENT (_NL_COLLATE_NRULES, "collate-nrules", std, word) + DEFINE_ELEMENT (_NL_COLLATE_RULES, "collate-rules", std, string) + DEFINE_ELEMENT (_NL_COLLATE_HASH_SIZE, "collate-hash-size", std, word) DEFINE_ELEMENT (_NL_COLLATE_HASH_LAYERS, "collate-hash-layers", std, word) - DEFINE_ELEMENT (_NL_COLLATE_TABLE_EB, "collate-table-eb", std, string) - DEFINE_ELEMENT (_NL_COLLATE_TABLE_EL, "collate-table-el", std, string) - DEFINE_ELEMENT (_NL_COLLATE_UNDEFINED, "collate-undefined", std, word) - DEFINE_ELEMENT (_NL_COLLATE_EXTRA_EB, "collate-extra-eb", std, string) - DEFINE_ELEMENT (_NL_COLLATE_EXTRA_EL, "collate-extra-el", std, string) + DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EB, "collate-tablewc-eb", std, string) + DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EL, "collate-tablewc-el", std, string) + DEFINE_ELEMENT (_NL_COLLATE_UNDEFINED_WC, "collate-undefined-wc", std, word) + DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EB, "collate-extrawc-eb", std, string) + DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EL, "collate-extrawc-el", std, string) DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_SIZE, "collate-elem-hash-size", std, word) DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EB, "collate-elem-hash-eb", std, string) DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EL, "collate-elem-hash-el", std, string) DEFINE_ELEMENT (_NL_COLLATE_ELEM_STR_POOL, "collate-elem-str-pool", std, string) - DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EB, "collate-elem-val-eb", std, string) - DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EL, "collate-elem-val-el", std, string) + DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EB, "collate-elem-val-eb", std, string) + DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EL, "collate-elem-val-el", std, string) DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_SIZE, "collate-symb-hash-size", std, word) DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EB, "collate-symb-hash-eb", std, string) DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EL, "collate-symb-hash-el", std, string) DEFINE_ELEMENT (_NL_COLLATE_SYMB_STR_POOL, "collate-symb-str-pool", std, string) - DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASS_EB, "collate-symb-class-eb", std, string) - DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASS_EL, "collate-symb-class-el", std, string) - ), _nl_postload_collate, collate_input, NULL, NULL) + DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EB, "collate-symb-classwc-eb", std, string) + DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EL, "collate-symb-classwc-el", std, string) + ), _nl_postload_collate) /* The actual definition of ctype is meaningless here. It is hard coded in @@ -74,44 +73,79 @@ DEFINE_CATEGORY ( LC_CTYPE, "LC_CTYPE", ( - DEFINE_ELEMENT (_NL_CTYPE_CLASS, "ctype-class", std, string) - DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EB, "ctype-toupper-eb", std, string) - DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EB, "ctype-tolower-eb", std, string) - DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EL, "ctype-toupper-el", std, string) - DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EL, "ctype-tolower-el", std, string) - DEFINE_ELEMENT (_NL_CTYPE_CLASS32, "ctype-class32", std, string) - DEFINE_ELEMENT (_NL_CTYPE_NAMES_EB, "ctype-names-eb", std, string) - DEFINE_ELEMENT (_NL_CTYPE_NAMES_EL, "ctype-names-el", std, string) - DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE, "ctype-hash-size", std, word) - DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS, "ctype-hash-layers", std, word) - DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES, "ctype-class-names", std, stringlist) - DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES, "ctype-map-names", std, stringlist) - DEFINE_ELEMENT (_NL_CTYPE_WIDTH, "ctype-width", std, bytearray) - DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX, "ctype-mb-cur-max", std, word) - DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME, "charmap", std, string) - ), _nl_postload_ctype, ctype_input, ctype_check, ctype_output) + DEFINE_ELEMENT (_NL_CTYPE_CLASS, "ctype-class", std, string) + DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EB, "ctype-toupper-eb", std, string) + DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EB, "ctype-tolower-eb", std, string) + DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EL, "ctype-toupper-el", std, string) + DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EL, "ctype-tolower-el", std, string) + DEFINE_ELEMENT (_NL_CTYPE_CLASS32, "ctype-class32", std, string) + DEFINE_ELEMENT (_NL_CTYPE_NAMES_EB, "ctype-names-eb", std, string) + DEFINE_ELEMENT (_NL_CTYPE_NAMES_EL, "ctype-names-el", std, string) + DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EB, "ctype-hash-size-eb", std, word) + DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EL, "ctype-hash-size-el", std, word) + DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EB, "ctype-hash-layers-eb", std, word) + DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EL, "ctype-hash-layers-el", std, word) + DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES, "ctype-class-names", std, stringlist) + DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES, "ctype-map-names", std, stringlist) + DEFINE_ELEMENT (_NL_CTYPE_WIDTH, "ctype-width", std, bytearray) + DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX, "ctype-mb-cur-max", std, word) + DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME, "charmap", std, string) + ), _nl_postload_ctype) +#if __BYTE_ORDER == __BIG_ENDIAN +# define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EB +#else +# define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EL +#endif DEFINE_CATEGORY ( LC_MONETARY, "LC_MONETARY", ( - DEFINE_ELEMENT (INT_CURR_SYMBOL, "int_curr_symbol", std, string) - DEFINE_ELEMENT (CURRENCY_SYMBOL, "currency_symbol", std, string) - DEFINE_ELEMENT (MON_DECIMAL_POINT, "mon_decimal_point", std, string) - DEFINE_ELEMENT (MON_THOUSANDS_SEP, "mon_thousands_sep", std, string) - DEFINE_ELEMENT (MON_GROUPING, "mon_grouping", std, bytearray) - DEFINE_ELEMENT (POSITIVE_SIGN, "positive_sign", std, string) - DEFINE_ELEMENT (NEGATIVE_SIGN, "negative_sign", std, string) - DEFINE_ELEMENT (INT_FRAC_DIGITS, "int_frac_digits", std, byte) - DEFINE_ELEMENT (FRAC_DIGITS, "frac_digits", std, byte) - DEFINE_ELEMENT (P_CS_PRECEDES, "p_cs_precedes", std, byte, 0, 1) - DEFINE_ELEMENT (P_SEP_BY_SPACE, "p_sep_by_space", std, byte, 0, 2) - DEFINE_ELEMENT (N_CS_PRECEDES, "n_cs_precedes", std, byte, 0, 1) - DEFINE_ELEMENT (N_SEP_BY_SPACE, "n_sep_by_space", std, byte, 0, 2) - DEFINE_ELEMENT (P_SIGN_POSN, "p_sign_posn", std, byte, 0, 4) - DEFINE_ELEMENT (N_SIGN_POSN, "n_sign_posn", std, byte, 0, 4) - ), NO_POSTLOAD, NULL, monetary_check, NULL) + DEFINE_ELEMENT (INT_CURR_SYMBOL, "int_curr_symbol", std, string) + DEFINE_ELEMENT (CURRENCY_SYMBOL, "currency_symbol", std, string) + DEFINE_ELEMENT (MON_DECIMAL_POINT, "mon_decimal_point", std, string) + DEFINE_ELEMENT (MON_THOUSANDS_SEP, "mon_thousands_sep", std, string) + DEFINE_ELEMENT (MON_GROUPING, "mon_grouping", std, bytearray) + DEFINE_ELEMENT (POSITIVE_SIGN, "positive_sign", std, string) + DEFINE_ELEMENT (NEGATIVE_SIGN, "negative_sign", std, string) + DEFINE_ELEMENT (INT_FRAC_DIGITS, "int_frac_digits", std, byte) + DEFINE_ELEMENT (FRAC_DIGITS, "frac_digits", std, byte) + DEFINE_ELEMENT (P_CS_PRECEDES, "p_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (P_SEP_BY_SPACE, "p_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (N_CS_PRECEDES, "n_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (N_SEP_BY_SPACE, "n_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (P_SIGN_POSN, "p_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (N_SIGN_POSN, "n_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_INT_P_CS_PRECEDES, "int_p_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_INT_P_SEP_BY_SPACE, "int_p_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_INT_N_CS_PRECEDES, "int_n_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_INT_N_SEP_BY_SPACE, "int_n_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_INT_P_SIGN_POSN, "int_p_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_INT_N_SIGN_POSN, "int_n_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_CURR_SYMBOL, "duo_int_curr_symbol", std, string) + DEFINE_ELEMENT (_NL_MONETARY_DUO_CURRENCY_SYMBOL, "duo_currency_symbol", std, string) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_FRAC_DIGITS, "duo_int_frac_digits", std, byte) + DEFINE_ELEMENT (_NL_MONETARY_DUO_FRAC_DIGITS, "duo_frac_digits", std, byte) + DEFINE_ELEMENT (_NL_MONETARY_DUO_P_CS_PRECEDES, "duo_p_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SEP_BY_SPACE, "duo_p_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_DUO_N_CS_PRECEDES, "duo_n_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SEP_BY_SPACE, "duo_n_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_CS_PRECEDES, "duo_int_p_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, "duo_int_p_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_CS_PRECEDES, "duo_int_n_cs_precedes", std, byte, 0, 1) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, "duo_int_n_sep_by_space", std, byte, 0, 2) + DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SIGN_POSN, "duo_p_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SIGN_POSN, "duo_n_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SIGN_POSN, "duo_int_p_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SIGN_POSN, "duo_int_n_sign_posn", std, byte, 0, 4) + DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_FROM, "uno_valid_from", std, word) + DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_TO, "uno_valid_to", std, word) + DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_FROM, "duo_valid_from", std, word) + DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_TO, "duo_valid_to", std, word) + DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EB, "conversion_rate-eb", std, wordarray, 2, 2) + DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EL, "conversion_rate-el", std, wordarray, 2, 2) + ), NO_POSTLOAD) DEFINE_CATEGORY @@ -121,7 +155,7 @@ DEFINE_CATEGORY DEFINE_ELEMENT (DECIMAL_POINT, "decimal_point", std, string) DEFINE_ELEMENT (THOUSANDS_SEP, "thousands_sep", std, string) DEFINE_ELEMENT (GROUPING, "grouping", std, bytearray) - ), NO_POSTLOAD, NULL, numeric_check, NULL) + ), NO_POSTLOAD) DEFINE_CATEGORY @@ -143,34 +177,133 @@ DEFINE_CATEGORY DEFINE_ELEMENT (ALT_DIGITS, "alt_digits", opt, stringarray, 0, 100) DEFINE_ELEMENT (ERA_D_T_FMT, "era_d_t_fmt", opt, string) DEFINE_ELEMENT (ERA_T_FMT, "era_t_fmt", opt, string) - DEFINE_ELEMENT (_NL_TIME_NUM_ALT_DIGITS, "time-num-alt-digits", opt, word) - DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES, "time-era-num-entries", opt, word) + DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EB, "time-era-num-entries-eb", opt, word) + DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EL, "time-era-num-entries-el", opt, word) DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EB, "time-era-entries-eb", opt, string) DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EL, "time-era-entries-el", opt, string) - DEFINE_ELEMENT (_NL_WABDAY_1, "wide-abday", std, stringarray, 7, 7) - DEFINE_ELEMENT (_NL_WDAY_1, "wide-day", std, stringarray, 7, 7) - DEFINE_ELEMENT (_NL_WABMON_1, "wide-abmon", std, stringarray, 12, 12) - DEFINE_ELEMENT (_NL_WMON_1, "wide-mon", std, stringarray, 12, 12) - DEFINE_ELEMENT (_NL_WAM_STR, "wide-am_pm", std, stringarray, 2, 2) - DEFINE_ELEMENT (_NL_WD_T_FMT, "wide-d_t_fmt", std, string) - DEFINE_ELEMENT (_NL_WD_FMT, "wide-d_fmt", std, string) - DEFINE_ELEMENT (_NL_WT_FMT, "wide-t_fmt", std, string) - DEFINE_ELEMENT (_NL_WT_FMT_AMPM, "wide-t_fmt_ampm", std, string) - DEFINE_ELEMENT (_NL_WERA, "wide-era", opt, stringarray) - DEFINE_ELEMENT (_NL_WERA_YEAR, "wide-era_year", opt, string) - DEFINE_ELEMENT (_NL_WERA_D_FMT, "wide-era_d_fmt", opt, string) - DEFINE_ELEMENT (_NL_WALT_DIGITS, "wide-alt_digits", opt, stringarray, 0, 100) - DEFINE_ELEMENT (_NL_WERA_D_T_FMT, "wide-era_d_t_fmt", opt, string) - DEFINE_ELEMENT (_NL_WERA_T_FMT, "wide-era_t_fmt", opt, string) - ), _nl_postload_time, NULL, NULL, NULL) + DEFINE_ELEMENT (_NL_WABDAY_1_EB, "wide-abday-eb", std, stringarray, 7, 7) + DEFINE_ELEMENT (_NL_WABDAY_1_EL, "wide-abday-el", std, stringarray, 7, 7) + DEFINE_ELEMENT (_NL_WDAY_1_EB, "wide-day-eb", std, stringarray, 7, 7) + DEFINE_ELEMENT (_NL_WDAY_1_EL, "wide-day-el", std, stringarray, 7, 7) + DEFINE_ELEMENT (_NL_WABMON_1_EB, "wide-abmon-eb", std, stringarray, 12, 12) + DEFINE_ELEMENT (_NL_WABMON_1_EL, "wide-abmon-el", std, stringarray, 12, 12) + DEFINE_ELEMENT (_NL_WMON_1_EB, "wide-mon-eb", std, stringarray, 12, 12) + DEFINE_ELEMENT (_NL_WMON_1_EL, "wide-mon-el