From: Ulrich Drepper Date: Fri, 7 Apr 2000 02:38:44 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.30~25897 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0dc52061fd8d47c37bbd363533ae0a4307e507c;p=external%2Fglibc.git Update. 2000-04-06 Ulrich Drepper * locale/programs/charmap.c (charmap_new_char): Add parameter step. Support ..(2).. ellipsis. (parse_charmap): Recognize ..(2).. etc and pass step down. Correctly generate names for UCS4 characters. * locale/programs/ld-ctype.c (struct translit_ignore_t): Add step. (ctype_finish): We know the wide character value for , don't search. (charclass_symbolic_ellipsis): Handle ..(2).. ellipsis. (charclass_ucs4_ellipsis): Likewise. (read_translit_ignore_entry): Store ellipsis step. (ctype_read): Recognize ..(2).. etc and pass step down. * locale/programs/linereader.c (lr_token): When seeing comment character ignore only rest of line in sources but stop at escaped newline. Recognize ..(2).. and ....(2)..... * locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2 and tok_ellipsis4_2. --- diff --git a/ChangeLog b/ChangeLog index e415b02..81a258d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2000-04-06 Ulrich Drepper + + * locale/programs/charmap.c (charmap_new_char): Add parameter step. + Support ..(2).. ellipsis. + (parse_charmap): Recognize ..(2).. etc and pass step down. + Correctly generate names for UCS4 characters. + + * locale/programs/ld-ctype.c (struct translit_ignore_t): Add step. + (ctype_finish): We know the wide character value for , + don't search. + (charclass_symbolic_ellipsis): Handle ..(2).. ellipsis. + (charclass_ucs4_ellipsis): Likewise. + (read_translit_ignore_entry): Store ellipsis step. + (ctype_read): Recognize ..(2).. etc and pass step down. + + * locale/programs/linereader.c (lr_token): When seeing comment + character ignore only rest of line in sources but stop at escaped + newline. + Recognize ..(2).. and ....(2)..... + + * locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2 + and tok_ellipsis4_2. + 2000-04-06 Andreas Jaeger * sysdeps/unix/sysv/linux/alpha/Dist: init-first.h has been diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 37047a0..3ccebca 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -53,7 +53,7 @@ static void new_width (struct linereader *cmfile, struct charmap_t *result, unsigned long int width); static void charmap_new_char (struct linereader *lr, struct charmap_t *cm, int nbytes, char *bytes, const char *from, - const char *to, int decimal_ellipsis); + const char *to, int decimal_ellipsis, int step); struct charmap_t * @@ -225,6 +225,7 @@ parse_charmap (struct linereader *cmfile) char *from_name = NULL; char *to_name = NULL; enum token_t ellipsis = 0; + int step = 1; /* We don't want symbolic names in string to be translated. */ cmfile->translate_strings = 0; @@ -461,7 +462,7 @@ character sets with locking states are not supported")); now->val.str.lenmb); else { - obstack_printf (&result->mem_pool, "<%08X>", + obstack_printf (&result->mem_pool, "U%08X", cmfile->token.val.ucs4); obstack_1grow (&result->mem_pool, '\0'); from_name = (char *) obstack_finish (&result->mem_pool); @@ -475,9 +476,20 @@ character sets with locking states are not supported")); /* We have two possibilities: We can see an ellipsis or an encoding value. */ if (nowtok == tok_ellipsis3 || nowtok == tok_ellipsis4 - || nowtok == tok_ellipsis2) + || nowtok == tok_ellipsis2 || nowtok == tok_ellipsis4_2 + || nowtok == tok_ellipsis2_2) { ellipsis = nowtok; + if (nowtok == tok_ellipsis4_2) + { + step = 2; + nowtok = tok_ellipsis4; + } + else if (nowtok == tok_ellipsis2_2) + { + step = 2; + nowtok = tok_ellipsis2; + } state = 4; continue; } @@ -502,13 +514,15 @@ character sets with locking states are not supported")); else charmap_new_char (cmfile, result, now->val.charcode.nbytes, now->val.charcode.bytes, from_name, to_name, - ellipsis != tok_ellipsis2); + ellipsis != tok_ellipsis2, step); /* Ignore trailing comment silently. */ lr_ignore_rest (cmfile, 0); from_name = NULL; to_name = NULL; + ellipsis = tok_none; + step = 1; state = 2; continue; @@ -531,7 +545,7 @@ character sets with locking states are not supported")); cmfile->token.val.str.lenmb); else { - obstack_printf (&result->mem_pool, "<%08X>", + obstack_printf (&result->mem_pool, "U%08X", cmfile->token.val.ucs4); obstack_1grow (&result->mem_pool, '\0'); to_name = (char *) obstack_finish (&result->mem_pool); @@ -814,7 +828,7 @@ charmap_find_value (const struct charmap_t *cm, const char *name, size_t len) static void charmap_new_char (struct linereader *lr, struct charmap_t *cm, int nbytes, char *bytes, const char *from, const char *to, - int decimal_ellipsis) + int decimal_ellipsis, int step) { hash_table *ht = &cm->char_table; hash_table *bt = &cm->byte_table; @@ -833,7 +847,7 @@ charmap_new_char (struct linereader *lr, struct charmap_t *cm, newp = (struct charseq *) obstack_alloc (ob, sizeof (*newp) + nbytes); newp->nbytes = nbytes; memcpy (newp->bytes, bytes, nbytes); - newp->name = obstack_copy (ob, from, len1 + 1); + newp->name = from; newp->ucs4 = UNINITIALIZED_CHAR_VALUE; if ((from[0] == 'U' || from[0] == 'P') && (len1 == 5 || len1 == 9)) @@ -852,7 +866,7 @@ charmap_new_char (struct linereader *lr, struct charmap_t *cm, char *endp; errno = 0; - newp->ucs4 = strtoul (from, &endp, 16); + newp->ucs4 = strtoul (from + 1, &endp, 16); if (endp - from != len1 || (newp->ucs4 == ULONG_MAX && errno == ERANGE) || newp->ucs4 >= 0x80000000) @@ -916,7 +930,7 @@ hexadecimal range format should use only capital characters")); return; } - for (cnt = from_nr; cnt <= to_nr; ++cnt) + for (cnt = from_nr; cnt <= to_nr; cnt += step) { char *name_end; obstack_printf (ob, decimal_ellipsis ? "%.*s%0*d" : "%.*s%0*X", diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index 23ca236..9cf4d2c 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -97,6 +97,7 @@ struct translit_ignore_t { uint32_t from; uint32_t to; + uint32_t step; const char *fname; size_t lineno; @@ -504,18 +505,13 @@ character '%s' in class `%s' must not be in class `%s'"), } /* ... and now test as a special case. */ - space_value = repertoire_find_value (ctype->repertoire, "SP", 2); - if (space_value == ILLEGAL_CHAR_VALUE) - { - if (!be_quiet) - error (0, 0, _("character not defined in character map")); - } - else if (((cnt = BITPOS (tok_space), - (ELEM (ctype, class_collection, , space_value) - & BITw (tok_space)) == 0) - || (cnt = BITPOS (tok_blank), - (ELEM (ctype, class_collection, , space_value) - & BITw (tok_blank)) == 0))) + space_value = 32; + if (((cnt = BITPOS (tok_space), + (ELEM (ctype, class_collection, , space_value) + & BITw (tok_space)) == 0) + || (cnt = BITPOS (tok_blank), + (ELEM (ctype, class_collection, , space_value) + & BITw (tok_blank)) == 0))) { if (!be_quiet) error (0, 0, _(" character not in class `%s'"), @@ -1236,7 +1232,8 @@ get_character (struct token *now, struct charmap_t *charmap, } -/* Ellipsis like in `..' or `....'. */ +/* Ellipsis like in `..' or `....' and + the .(2). counterparts. */ static void charclass_symbolic_ellipsis (struct linereader *ldfile, struct locale_ctype_t *ctype, @@ -1246,7 +1243,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile, const char *last_str, unsigned long int class256_bit, unsigned long int class_bit, int base, - int ignore_content, int handle_digits) + int ignore_content, int handle_digits, int step) { const char *nowstr = now->val.str.startmb; char tmp[now->val.str.lenmb + 1]; @@ -1288,7 +1285,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile, if (!ignore_content) { now->val.str.startmb = tmp; - while (++from <= to) + while ((from += step) <= to) { struct charseq *seq; uint32_t wch; @@ -1346,7 +1343,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile, } -/* Ellipsis like in `..'. */ +/* Ellipsis like in `..' or `..(2)..'. */ static void charclass_ucs4_ellipsis (struct linereader *ldfile, struct locale_ctype_t *ctype, @@ -1355,7 +1352,7 @@ charclass_ucs4_ellipsis (struct linereader *ldfile, struct token *now, uint32_t last_wch, unsigned long int class256_bit, unsigned long int class_bit, int ignore_content, - int handle_digits) + int handle_digits, int step) { if (last_wch > now->val.ucs4) { @@ -1367,7 +1364,7 @@ to-value of range is smaller than from-value "), } if (!ignore_content) - while (++last_wch <= now->val.ucs4) + while ((last_wch += step) <= now->val.ucs4) { /* We have to find out whether there is a byte sequence corresponding to this UCS4 value. */ @@ -1376,6 +1373,11 @@ to-value of range is smaller than from-value "), snprintf (utmp, sizeof (utmp), "U%08X", last_wch); seq = charmap_find_value (charmap, utmp, 9); + if (seq == NULL) + { + snprintf (utmp, sizeof (utmp), "U%04X", last_wch); + seq = charmap_find_value (charmap, utmp, 5); + } if (seq == NULL) /* Try looking in the repertoire map. */ @@ -1779,6 +1781,7 @@ read_translit_ignore_entry (struct linereader *ldfile, obstack_alloc (&ctype->mempool, sizeof (struct translit_ignore_t)); newp->from = from; newp->to = from; + newp->step = 1; newp->next = ctype->translit_ignore; ctype->translit_ignore = newp; @@ -1788,11 +1791,12 @@ read_translit_ignore_entry (struct linereader *ldfile, line. */ now = lr_token (ldfile, charmap, repertoire); - if (now->tok == tok_ellipsis2) + if (now->tok == tok_ellipsis2 || now->tok == tok_ellipsis2_2) { /* XXX Should we bother implementing `....'? `...' certainly will not be implemented. */ uint32_t to; + int step = now->tok == tok_ellipsis2_2 ? 2 : 1; now = lr_token (ldfile, charmap, repertoire); @@ -1823,7 +1827,10 @@ read_translit_ignore_entry (struct linereader *ldfile, { /* Make sure the `to'-value is larger. */ if (to >= from) - newp->to = to; + { + newp->to = to; + newp->step = step; + } else lr_error (ldfile, _("\ to-value of range is smaller than from-value "), @@ -1866,6 +1873,7 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result, uint32_t last_wch = 0; enum token_t last_token; enum token_t ellipsis_token; + int step; char last_charcode[16]; size_t last_charcode_len = 0; const char *last_str = NULL; @@ -2040,6 +2048,7 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result, ctype->class_done |= class_bit; last_token = tok_none; ellipsis_token = tok_none; + step = 1; now = lr_token (ldfile, charmap, NULL); while (now->tok != tok_eol && now->tok != tok_eof) { @@ -2140,7 +2149,7 @@ the absolute ellipsis `...' must not be used")); == tok_ellipsis4 ? 10 : 16), ignore_content, - handle_digits); + handle_digits, step); } else if (last_token == tok_ucs4) { @@ -2151,7 +2160,8 @@ with UCS range values one must use the hexadecimal symbolic ellipsis `..'")); charclass_ucs4_ellipsis (ldfile, ctype, charmap, repertoire, now, last_wch, class256_bit, class_bit, - ignore_content, handle_digits); + ignore_content, handle_digits, + step); } else { @@ -2180,9 +2190,21 @@ with character code range values one must use the absolute ellipsis `...'")); break; if (last_token != tok_none - && now->tok >= tok_ellipsis2 && now->tok <= tok_ellipsis4) + && now->tok >= tok_ellipsis2 && now->tok <= tok_ellipsis4_2) { + if (now->tok == tok_ellipsis2_2) + { + now->tok = tok_ellipsis2; + step = 2; + } + else if (now->tok == tok_ellipsis4_2) + { + now->tok = tok_ellipsis4; + step = 2; + } + ellipsis_token = now->tok; + now = lr_token (ldfile, charmap, NULL); continue; } @@ -2194,6 +2216,7 @@ with character code range values one must use the absolute ellipsis `...'")); now = lr_token (ldfile, charmap, NULL); ellipsis_token = tok_none; + step = 1; } break; diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c index f6532a4..36dd0cd 100644 --- a/locale/programs/linereader.c +++ b/locale/programs/linereader.c @@ -185,6 +185,16 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap, if (ch != lr->comment_char) break; + /* Is there an newline at the end of the buffer? */ + if (lr->buf[lr->bufact - 1] != '\n') + { + /* No. Some people want this to mean that only the line in + the file not the logical, concatenated line is ignored. + Let's try this. */ + lr->idx = lr->bufact; + continue; + } + /* Ignore rest of line. */ lr_ignore_rest (lr, 0); lr->token.tok = tok_eol; @@ -198,6 +208,14 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap, /* Match ellipsis. */ if (ch == '.') { + if (strncmp (&lr->buf[lr->idx], "...(2)....", 10) == 0) + { + int cnt; + for (cnt = 0; cnt < 10; ++cnt) + lr_getc (lr); + lr->token.tok = tok_ellipsis4_2; + return &lr->token; + } if (strncmp (&lr->buf[lr->idx], "...", 3) == 0) { lr_getc (lr); @@ -213,6 +231,14 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap, lr->token.tok = tok_ellipsis3; return &lr->token; } + if (strncmp (&lr->buf[lr->idx], ".(2)..", 6) == 0) + { + int cnt; + for (cnt = 0; cnt < 6; ++cnt) + lr_getc (lr); + lr->token.tok = tok_ellipsis2_2; + return &lr->token; + } if (lr->buf[lr->idx] == '.') { lr_getc (lr); diff --git a/locale/programs/locfile-token.h b/locale/programs/locfile-token.h index e1cd5f7..6eecc56 100644 --- a/locale/programs/locfile-token.h +++ b/locale/programs/locfile-token.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -31,6 +31,8 @@ enum token_t tok_ellipsis2, tok_ellipsis3, tok_ellipsis4, + tok_ellipsis2_2, + tok_ellipsis4_2, tok_semicolon, tok_comma, tok_open_brace, diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 5b4abcd..037091c 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,7 @@ +2000-04-06 Ulrich Drepper + + * locales/i18n: New file. + 2000-03-27 Ulrich Drepper * tst-fmon.data: Update test after last strfmon change. diff --git a/localedata/locales/i18n b/localedata/locales/i18n new file mode 100644 index 0000000..cd76ef7 --- /dev/null +++ b/localedata/locales/i18n @@ -0,0 +1,1117 @@ +escape_char / +comment_char % + +LC_IDENTIFICATION +% This is the ISO/IEC TR 14652 "i18n" definition for +% the LC_IDENTIFICATION category. +% +title "ISO/IEC TR 14652 i18n FDCC-set" +source "ISO/IEC Copyright Office" +address "Case postale 56, CH-1211 Geneve 20, Switzerland" +contact "" +email "" +tel "" +fax "" +language "" +territory "ISO" +revision "1.0" +date "2000-01-24" +% +category "i18n:2000";LC_IDENTIFICATION +category "i18n:2000";LC_CTYPE +category "i18n:2000";LC_COLLATE +category "i18n:2000";LC_TIME +category "i18n:2000";LC_NUMERIC +category "i18n:2000";LC_MONETARY +category "i18n:2000";LC_MESSAGES +category "i18n:2000";LC_PAPER +category "i18n:2000";LC_NAME +category "i18n:2000";LC_ADDRESS +category "i18n:2000";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +% The following is the 14652 i18n fdcc-set LC_CTYPE category. +% It covers ISO/IEC 10646-1 including Cor.1 and AMD 1 thru 9 +% The "upper" class reflects the uppercase characters of class "alpha" +upper / +% TABLE 1 BASIC LATIN/ + ..;/ +% TABLE 2 LATIN-1 SUPPLEMENT/ + ..;..;/ +% TABLE 3 LATIN EXTENDED-A/ + ..(2)..;/ + ..(2)..;/ + ..(2)..;/ + ..(2)..;/ +% TABLE 4 LATIN EXTENDED-B/ + ;..(2)..;;/ + ..;..;;;/ + ..;;;;/ + ..(2)..;/ + ;;;;;..;/ + ;;;;;;;;/ + ;;/ + ..(2)..;/ + ..(2)..;/ + ;;;..(2)..;/ +% TABLE 5 LATIN EXTENDED-B/ + ..(2)..;/ +% TABLE 6 IPA EXTENSIONS/ + ;;;;/ + ;;;;;;;/ +% TABLE 9 BASIC GREEK/ + ;..;;;;..;/ + ..;/ +% TABLE 10 GREEK SYMBOLS AND COPTIC/ + ..(2)..;/ +% TABLE 11 CYRILLIC/ + ..;..;..(2)..;/ +% TABLE 12 CYRILLIC/ + ;..(2)..;;;;;/ + ..(2)..;..(2)..;;/ +% TABLE 13 ARMENIAN/ + ..;/ +% TABLE 28 GEORGIAN/ + ..;/ +% TABLE 31 LATIN EXTENDED ADDITIONAL/ + ..(2)..;/ +% TABLE 32 LATIN EXTENDED ADDITIONAL/ + ..(2)..;/ + ..(2)..;/ +% TABLE 33 GREEK EXTENDED/ + ..;..;..;..;/ + ..;..(2)..;..;/ +% TABLE 34 GREEK EXTENDED/ + ..;..;..;..;/ + ..;..;..;.. +% TABLE 28 GEORGIAN is not addressed as the letters does not have +% a uppercase/lowercase relation +% +% The "lower" class reflects the lowercase characters of class "alpha" +lower / +% TABLE 1 BASIC LATIN/ + ..;/ +% TABLE 2 LATIN-1 SUPPLEMENT/ + ..;..;/ +% TABLE 3 LATIN EXTENDED-A/ + ..(2)..;..(2)..;/ + ..(2)..;..(2)..;;/ +% TABLE 4 LATIN EXTENDED-B/ + ;;;;;;;;/ + ..;;;;;;;;/ + ;;;;;;;;/ + ;;;..(2)..;/ + ..(2)..;;;;;;/ +% TABLE 5 LATIN EXTENDED-B/ + ..(2)..;/ +% TABLE 6 IPA EXTENSIONS/ + ..;..;..;/ +% TABLE 9 BASIC GREEK/ + ;..;/ +% TABLE 10 GREEK SYMBOLS AND COPTIC/ + ..(2)..;/ +% TABLE 11 CYRILLIC/ + ..;..;;;..(2)..;/ +% TABLE 12 CYRILLIC/ + ;..(2)..;;;;;/ + ..(2)..;..(2)..;;/ +% TABLE 13 ARMENIAN/ + ..;/ +% TABLE 28 GEORGIAN/ + ..;/ +% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/ + ..(2)..;..(2)..;/ +% TABLE 33 and 34 GREEK EXTENDED/ + ..;..;..;..;/ + ..;..(2)..;..;/ +% TABLE 34 GREEK EXTENDED/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;..;;;..;/ + ;;..;..;;;/ +% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/ + +% +% The "alpha" class of the "i18n" FDCC-set is reflecting +% the recommendations in TR 10176 annex A +alpha / +% TABLE 1 BASIC LATIN/ + ..;..;/ +% TABLE 2 LATIN-1 SUPPLEMENT/ + ;;..;..;..;/ +% TABLE 3 LATIN EXTENDED-A/ + ..;/ +% TABLE 4 and 5 LATIN EXTENDED-B/ + ..;..;/ +% TABLE 6 IPA EXTENSIONS/ + ..;/ +% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/ + ..;..;/ +% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/ + ;/ +% TABLE 9 BASIC GREEK/ + ;..;;..;..;/ +% TABLE 10 GREEK SYMBOLS AND COPTIC/ + ..;;;;;..;/ +% TABLE 33 and 34 GREEK EXTENDED/ + ..;..;..;..;/ + ..;;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;/ +% TABLE 11 and 12 CYRILLIC/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;/ +% TABLE 13 ARMENIAN/ + ..;..;/ +% TABLE 14 HEBREW/ + ..;..;;..;/ + ..;..;/ +% TABLE 15 and 16 ARABIC/ + ..;..;..;..;/ + ..;..;..;..;/ +% TABLE 17 DEVANAGARI/ + ..;..;..;..;/ + ..;/ +% TABLE 18 BENGALI/ + ..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;/ +% TABLE 19 GURMUKHI/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;/ +% TABLE 20 GUJARATI/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;;;/ +% TABLE 21 ORIYA/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +% TABLE 22 TAMIL/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;/ +% TABLE 23 TELUGU/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;/ +% TABLE 24 KANNADA/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;/ +% TABLE 25 MALAYALAM/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;/ +% TABLE 26 THAI/ + ..;..;/ +% TABLE 27 LAO/ + ..;;..;;;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;;..;..;/ +% TIBETAN Amendment 6/ + ;..;;;;..;/ + ..;/ + ..;..;..;;/ + ..;..;;/ +% TABLE 28 GEORGIAN/ + ..;..;/ +% TABLE 50 HIRAGANA/ + ..;..;/ +% TABLE 51 KATAKANA/ + ..;..;/ +% TABLE 52 BOPOMOFO/ + ..;/ +% CJK unified ideographs/ + ..;/ +% HANGUL amendment 5/ + ..;/ +% Miscellaneous/ + ;..;;..;/ + ..;..;;;;;/ + ;..;.. +% +% The "digit" class of the "i18n" FDCC-set is reflecting +% the recommendations in TR 10176 annex A +digit / +% TABLE 1 BASIC LATIN/ + ..;/ +% TABLE 15 and 16 ARABIC/ + ..;..;/ +% TABLE 17 DEVANAGARI/ + ..;/ +% TABLE 18 BENGALI/ + ..;/ +% TABLE 19 GURMUKHI/ + ..;/ +% TABLE 20 GUJARATI/ + ..;/ +% TABLE 21 ORIYA/ + ..;/ +% TABLE 22 TAMIL/ + <0>;..;/ +% TABLE 23 TELUGU/ + ..;/ +% TABLE 24 KANNADA/ + ..;/ +% TABLE 25 MALAYALAM/ + ..;/ +% TABLE 26 THAI/ + ..;/ +% TABLE 27 LAO/ + ..;/ +% TIBETAN Amendment 6/ + .. +% +outdigit .. +% +space / +% ISO/IEC 6429/ + ;..;/ +% TABLE 1 BASIC LATIN/ + ;/ +% TABLE 35 GENERAL PUNCTUATION/ + ..;..;/ +% TABLE 50 CJK SYMBOLS AND PUNCTUATION, HIRAGANA/ + +% +cntrl ..;.. +% +punct / + ..;..;..;..;/ + ..;..;..;..;/ + ;;/ + ;;..;;;;;/ + ;;;;;;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;;..;/ + ..;..;;;;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;..;;..;..;/ + ..;..;..;;..;/ + ..;..; +% +graph / + ..;..;..;/ + ..;..;..;..;/ + ;;;;;;..;;/ + ..;..;..;;;;/ + ;..;..;..;/ + ..;..;..;;;/ + ;;..;..;;;/ + ..;..;..;;/ + ..;..;..;/ + ..;..;..;;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;;..;;/ + ..;;;..;;;;/ + ..;..;;..;;;/ + ..;..;;;;;/ + ;;;..;;;..;/ + ..;;..;..;..;/ + ;..;..;..;/ + ;;..;..;..;/ + ..;;;..;..;/ + ..;;;..;..;/ + ;;..;..;;;/ + ..;;;;;..;/ + ..;;;..;..;/ + ..;;;;;;;;/ + ..;..;..;..;/ + ..;..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;;;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;;;;..;;;/ + ..;..;..;..;/ + ..;..;..;;;;/ + ..;..;..;;;;/ + ;;;;..;..;/ + ..;;;;;..;/ + ..;..;;..;..;/ + ;;/ + ..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;;/ + ..;;..;..;..;/ + ..;..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..; +% +% "print" is by default "graph", and the character +% +xdigit ..;..;.. +% +blank ;;..;..; +% +toupper / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,) +tolower / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);/ + (,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,) +% +% The "combining" class reflects ISO/IEC 10646-1 annex B.1 +% That is, all combining characters (level 2+3). +class "combining"; / + ..; ..; ..;/ + ..;..;..;/ + ..;;;;;..;;/ + ..;;;..;..;;/ + ..;..;;;..;;/ + ..;;;..;;;;/ + ;;..;;;..;/ + ;;..;;..;..;/ + ..;..;;..;;;/ + ..;;;;;..;/ + ..;..;;..;..;/ + ..;..;;;;;/ + ..;..;..;;;/ + ;;..;..;..;;/ + ;..;..;;..;/ + ;;..;;;;;;/ + ;;..;..;;..;/ + ;..;..;;..;/ + ;; +% +% The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2 +% That is, combining characters of level 3. +class "combining_level3"; / + ..;..;..;..;/ + ..;..;..;;/ + ;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;; +% + +END LC_CTYPE + +LC_COLLATE + +% Case collating symbols +collating-symbol +collating-symbol +collating-symbol % SMALL +collating-symbol % WIDE +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol % CAPITAL +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +% Arabic forms +collating-symbol +collating-symbol +collating-symbol +collating-symbol +% +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +% accents +collating-symbol % LOW LINE +collating-symbol % MACRON +collating-symbol % STROKE +collating-symbol % ACUTE ACCENT +collating-symbol % GRAVE ACCENT +collating-symbol % BREVE +collating-symbol % CIRCUMFLEX ACCENT +collating-symbol % CARON +collating-symbol % RING ABOVE +collating-symbol % DIAERESIS +collating-symbol <2AIGU> % DOUBLE ACUTE ACCENT +collating-symbol % TILDE +collating-symbol % DOT ABOVE +collating-symbol % CEDILLA +collating-symbol % OGONEK +collating-symbol % OVERLINE +collating-symbol % HOOK ABOVE +collating-symbol % VERTICAL LINE ABOVE +collating-symbol % DOUBLE VERTICAL LINE ABOVE +collating-symbol <2GRAV> % DOUBLE GRAVE ACCENT +collating-symbol % CANDRABINDU +collating-symbol % INVERTED BREVE +collating-symbol % TURNED COMMA ABOVE +collating-symbol % COMMA ABOVE +collating-symbol % REVERSED COMMA ABOVE +collating-symbol % COMMA ABOVE RIGHT +collating-symbol % GRAVE ACCENT BELOW +collating-symbol % ACUTE ACCENT BELOW +collating-symbol % LEFT TACK BELOW +collating-symbol % RIGHT TACK BELOW +collating-symbol % LEFT ANGLE ABOVE +collating-symbol % HORN +collating-symbol % LEFT HALF RING BELOW +collating-symbol % UP TACK BELOW +collating-symbol % DOWN TACK BELOW +collating-symbol % PLUS SIGN BELOW +collating-symbol % MINUS SIGN BELOW +collating-symbol % PALATALIZED HOOK BELOW +collating-symbol % RETROFLEX HOOK BELOW +collating-symbol % DOT BELOW +collating-symbol % DIAERESIS BELOW +collating-symbol % RING BELOW +collating-symbol % COMMA BELOW +collating-symbol % VERTICAL LINE BELOW +collating-symbol % BRIDGE BELOW +collating-symbol % INVERTED DOUBLE ARCH BELOW +collating-symbol % CARON BELOW +collating-symbol % CIRCUMFLEX ACCENT BELOW +collating-symbol % BREVE BELOW +collating-symbol % INVERTED BREVE BELOW +collating-symbol % TILDE BELOW +collating-symbol % MACRON BELOW +collating-symbol % DOUBLE LOW LINE +collating-symbol % TILDE OVERLAY +collating-symbol % SHORT STROKE OVERLAY +collating-symbol % LONG STROKE OVERLAY +collating-symbol % SHORT SOLIDUS OVERLAY +collating-symbol % RIGHT HALF RING BELOW +collating-symbol % INVERTED BRIDGE BELOW +collating-symbol % SQUARE BELOW +collating-symbol % SEAGULL BELOW +collating-symbol % X ABOVE +collating-symbol % VERTICAL TILDE +collating-symbol % DOUBLE OVERLINE +collating-symbol % GREEK PERISPOMENI +collating-symbol % GREEK YPOGEGRAMMENI +collating-symbol % DOUBLE TILDE +collating-symbol % DOUBLE INVERTED BREVE +collating-symbol % LIGATURE LEFT HALF +collating-symbol % LIGATURE RIGHT HALF +collating-symbol % DOUBLE TILDE LEFT HALF +collating-symbol % DOUBLE TILDE RIGHT HALF +collating-symbol % CYRILLIC TITLO +collating-symbol % CYRILLIC PALATALIZATION +collating-symbol % CYRILLIC DASIA PNEUMATA +collating-symbol % CYRILLIC PSILI PNEUMATA +collating-symbol % HEBREW POINT SHEVA +collating-symbol % HEBREW POINT HATAF SEGOL +collating-symbol % HEBREW POINT HATAF PATAH +collating-symbol % HEBREW POINT HATAF QAMATS +collating-symbol % HEBREW POINT HIRIQ +collating-symbol % HEBREW POINT TSERE +collating-symbol % HEBREW POINT SEGOL +collating-symbol % HEBREW POINT PATAH +collating-symbol % HEBREW POINT QAMATS +collating-symbol % HEBREW POINT HOLAM +collating-symbol % HEBREW POINT QUBUTS +collating-symbol % HEBREW POINT DAGESH OR MAPIQ +collating-symbol % HEBREW POINT RAFE +collating-symbol % HEBREW POINT SHIN DOT +collating-symbol % HEBREW POINT SIN DOT +collating-symbol % HEBREW POINT JUDEO-SPANISH VARIKA +collating-symbol % ARABIC FATHATAN +collating-symbol % ARABIC DAMMATAN +collating-symbol % ARABIC KASRATAN +collating-symbol % ARABIC FATHA +collating-symbol % ARABIC DAMMA +collating-symbol % ARABIC KASRA +collating-symbol % ARABIC SHADDA +collating-symbol % ARABIC SUKUN +collating-symbol % ARABIC LETTER SUPERSCRIPT ALEF +collating-symbol % ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA +collating-symbol % ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA +collating-symbol % ARABIC SMALL HIGH MEEM INITIAL FORM +collating-symbol % ARABIC SMALL HIGH LAM ALEF +collating-symbol % ARABIC SMALL HIGH JEEM +collating-symbol % ARABIC SMALL HIGH THREE DOTS +collating-symbol % ARABIC SMALL HIGH SEEN +collating-symbol % ARABIC SMALL HIGH DOTLESS HEAD OF KHAH +collating-symbol % ARABIC SMALL HIGH MEEM ISOLATED FORM +collating-symbol % ARABIC SMALL LOW SEEN +collating-symbol % ARABIC SMALL HIGH MADDA +collating-symbol % ARABIC SMALL HIGH YEH +collating-symbol % ARABIC SMALL HIGH NOON +collating-symbol % ARABIC SMALL LOW MEEM +collating-symbol % DEVANAGARI SIGN NUKTA +collating-symbol % DEVANAGARI STRESS SIGN UDATTA +collating-symbol % DEVANAGARI STRESS SIGN ANUDATTA +collating-symbol % DEVANAGARI GRAVE ACCENT +collating-symbol % DEVANAGARI ACUTE ACCENT +collating-symbol % BENGALI SIGN NUKTA +collating-symbol % GURMUKHI SIGN NUKTA +collating-symbol % GUJARATI SIGN NUKTA +collating-symbol % ORIYA SIGN NUKTA +collating-symbol % THAI CHARACTER MAI EK +collating-symbol % THAI CHARACTER MAI THO +collating-symbol % THAI CHARACTER MAI TRI +collating-symbol % THAI CHARACTER MAI CHATTAWA +collating-symbol % LAO TONE MAI EK +collating-symbol % LAO TONE MAI THO +collating-symbol % LAO TONE MAI TI +collating-symbol % LAO TONE MAI CATAWA +collating-symbol % TIBETAN MARK TSA -PHRU +collating-symbol % TIBETAN SIGN YAR TSHES +collating-symbol % TIBETAN SIGN MAR TSHES +collating-symbol % IDEOGRAPHIC LEVEL TONE MARK +collating-symbol % IDEOGRAPHIC RISING TONE MARK +collating-symbol % IDEOGRAPHIC DEPARTING TONE MARK +collating-symbol % IDEOGRAPHIC ENTERING TONE MARK +collating-symbol % HANGUL SINGLE DOT TONE MARK +collating-symbol % HANGUL DOUBLE DOT TONE MARK +collating-symbol % KATAKANA-HIRAGANA VOICED SOUND MARK +collating-symbol % KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +collating-symbol % LEFT HARPOON ABOVE +collating-symbol % RIGHT HARPOON ABOVE +collating-symbol % LONG VERTICAL LINE OVERLAY +collating-symbol % SHORT VERTICAL LINE OVERLAY +collating-symbol % ANTICLOCKWISE ARROW ABOVE +collating-symbol % CLOCKWISE ARROW ABOVE +collating-symbol % LEFT ARROW ABOVE +collating-symbol % RIGHT ARROW ABOVE +collating-symbol % RING OVERLAY +collating-symbol % CLOCKWISE RING OVERLAY +collating-symbol % ANTICLOCKWISE RING OVERLAY +collating-symbol % THREE DOTS ABOVE +collating-symbol % FOUR DOTS ABOVE +collating-symbol % ENCLOSING CIRCLE +collating-symbol % ENCLOSING SQUARE +collating-symbol % ENCLOSING DIAMOND +collating-symbol % ENCLOSING CIRCLE BACKSLASH +collating-symbol % LEFT RIGHT ARROW ABOVE +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol .. % 0x0200..0x1100 + +collating-symbol .. % Symbols for Han + +collating-symbol .. % Symbols for Hangul + +collating-symbol .. % Symbols for Compatibility Han + +% equivalences +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence +symbol-equivalence + +order_start forward;forward;forward;forward,position + +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" + +order_end + +END LC_COLLATE + +LC_MONETARY +% This is the 14652 i18n fdcc-set definition for +% the LC_MONETARY category. +% +int_curr_symbol "" +currency_symbol "" +mon_decimal_point "" +mon_thousands_sep "" +mon_grouping -1 +positive_sign "" +negative_sign "" +int_frac_digits -1 +frac_digits -1 +p_cs_precedes -1 +p_sep_by_space -1 +n_cs_precedes -1 +n_sep_by_space -1 +p_sign_posn -1 +n_sign_posn -1 +% +END LC_MONETARY + +LC_NUMERIC +% This is the 14652 i18n fdcc-set definition for +% the LC_NUMERIC category. +% +decimal_point "" +thousands_sep "" +grouping -1 +% +END LC_NUMERIC + +LC_TIME +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_TIME category. +% +% Weekday and week numbering according to ISO 8601 +abday "";"";"";"";"";"";"" +day "";"";"";"";"";"";"" +week 7;19971201;4 +abmon "";"";"";"";/ + "";"";"";"";/ + "";"";"";"" +mon "";"";"";"";/ + "";"";"";"";/ + "";"";"";"" +am_pm "";"" +% Date formats following ISO 8601 +% Appropriate date and time representation (%c) +% "%F %T" +d_t_fmt "" +% +% Appropriate date representation (%x) "%F" +d_fmt "" +% +% Appropriate time representation (%X) "%T" +t_fmt "" +t_fmt_ampm "" +% +END LC_TIME + +LC_MESSAGES +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_MESSAGES category. +% +yesexpr "" +noexpr "" +END LC_MESSAGES + +LC_PAPER +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_PAPER category. +% +height 297 +width 210 +END LC_PAPER + +LC_NAME +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_NAME category. +% +name_fmt "/ +" +END LC_NAME + + +LC_ADDRESS +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_ADDRESS category. +% +postal_fmt "/ +/ +/ +/ +" +END LC_ADDRESS + +LC_TELEPHONE +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_TELEPHONE category. +% +tel_int_fmt "/ +" +END LC_TELEPHONE + +LC_MEASUREMENT +% This is the ISO/IEC 14652 "i18n" definition for +% the LC_MEASUREMENT category. +% +measurement 1 +END LC_MEASUREMENT