diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 73d9e10a5c..8c5a9d1b7c 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,15 @@ +2015-12-11 Joseph Myers + + [BZ #18491] + * unicode-gen/unicode_utils.py (to_upper_turkish): New function. + (to_lower_turkish): Likewise. + * unicode-gen/gen_unicode_ctype.py (output_tables): Support + producing output with Turkish case conversions. + (--turkish): New command-line option. + * unicode-gen/Makefile (GENERATED): Add tr_TR. + (tr_TR): New rule. + * locales/tr_TR: Regenerate LC_CTYPE. + 2015-12-09 Mike FABIAN [BZ 18568] diff --git a/localedata/locales/tr_TR b/localedata/locales/tr_TR index 34f6021d16..00a18a154b 100644 --- a/localedata/locales/tr_TR +++ b/localedata/locales/tr_TR @@ -39,7 +39,7 @@ fax "" language "Turkish" territory "Turkey" revision "1.0" -date "2000-06-29" +date "2015-12-10" audience "" application "" abbreviation "" @@ -2125,362 +2125,401 @@ order_end END LC_COLLATE LC_CTYPE -% This is a copy of the "i18n" LC_CTYPE with the following modifications: -% - Map toupper: (,) changed to (,). -% - Map tolower: (,) changed to (,). - -% BEGIN modified i18n LC_CTYPE +% The following is the 14652 i18n fdcc-set LC_CTYPE category. +% It covers Unicode version 8.0.0. +% The character classes and mapping tables were automatically +% generated using the gen_unicode_ctype.py program. % 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/ - ;..;;;;..;/ - ..;..(2)..;/ -% TABLE 10 GREEK SYMBOLS AND COPTIC/ - ..(2)..;;/ -% TABLE 11 CYRILLIC/ - ..;..(2)..;/ -% TABLE 12 CYRILLIC/ - ;..(2)..;..(2)..;/ - ..(2)..;;..(2)..;/ -% TABLE 13 ARMENIAN/ - ..;/ -% TABLE 28 GEORGIAN/ -% is not addressed as the letters does not have a uppercase/lowercase relation/ -% TABLE 31 LATIN EXTENDED ADDITIONAL/ - ..(2)..;/ -% TABLE 32 LATIN EXTENDED ADDITIONAL/ - ..(2)..;/ - ..(2)..;/ -% TABLE 33 GREEK EXTENDED/ + ..;..;..;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;;;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;;..;;;/ + ..;..;;..;;/ + ..;..;..;;;/ + ;;;;;;;;;/ + ;;;;;;..;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;..;/ + ;..;;;;;;;/ + ;;;..;;..;/ + ..;..;;..;;/ + ;;;;;;;;;/ + ;;;;..;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;..;;;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ ..;..;..;..;/ - ..;..(2)..;..;/ -% TABLE 34 GREEK EXTENDED/ + ..;;;;;..;/ ..;..;..;..;/ ..;..;..;..;/ -% LETTERLIKE SYMBOLS/ - ;..;/ -% NUMBER FORMS/ - ..;/ -% ENCLOSED ALPHANUMERICS/ - ..;/ -% HALFWIDTH AND FULLWIDTH FORMS/ - ..;/ -% DESERET/ - .. + ;;..;..;;/ + ..;;;;..;/ + ..;..;;..;;/ + ..;..;;..;;/ + ;;..;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;;;;;/ + ;;;;;;;;;/ + ;;;;;..;/ + ..;;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;.. % 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)..;;;;..(2)..;/ -% TABLE 5 LATIN EXTENDED-B/ - ..(2)..;..(2)..;/ -% TABLE 6 IPA EXTENSIONS/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;/ -% COMBINING DIACRITICAL MARKS/ - ;/ -% TABLE 9 BASIC GREEK/ - ..;..;/ -% TABLE 10 GREEK SYMBOLS AND COPTIC/ - ;;;;..(2)..;..;/ - ;/ -% TABLE 11 CYRILLIC/ - ..;..(2)..;/ -% TABLE 12 CYRILLIC/ - ;..(2)..;..(2)..;/ - ..(2)..;;..(2)..;/ -% TABLE 13 ARMENIAN/ - ..;/ -% TABLE 28 GEORGIAN/ -% is not addressed as the letters does not have a uppercase/lowercase relation/ -% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/ - ..(2)..;;..(2)..;/ -% TABLE 33 GREEK EXTENDED/ - ..;..;..;..;/ - ..;..(2)..;..;..;/ -% TABLE 34 GREEK EXTENDED/ - ..;..;..;;;/ - ;;;;;;;;/ - ;/ -% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/ -% NUMBER FORMS/ - ..;/ -% ENCLOSED ALPHANUMERICS/ - ..;/ -% HALFWIDTH AND FULLWIDTH FORMS/ - ..;/ -% DESERET/ - .. + ..;;;;..;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;;;;;;/ + ;;..;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;;;;/ + ..;;;..;;;/ + ;;;..;;;;;/ + ..;..;..;..;/ + ..;;;;;;;;/ + ..;;;;;;;;/ + ;..;..;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ..;;..;;;;/ + ;;..;..;..;/ + ..;;;;;..;/ + ;..;..;..;;/ + ;;;;;;;;;/ + ;..;;;..;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;..;..;/ + ..;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;..;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;;..;;/ + ..;;;;;..;/ + ..;;..;;..;/ + ..;;..;;;;/ + ;..;..;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;..;;;;..;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;;;;;;/ + ;..;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;..;;/ + ;;;;;;;;;/ + ..;;;;;;;;/ + ;;;;;..;/ + ..;..;..;..;/ + ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..; % 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/ - ..;/ -% SPACING MODIFIER LETTERS/ - ..;..;;;..;/ - ;/ -% COMBINING DIACRITICAL MARKS/ - ;/ -% TABLE 9 BASIC GREEK/ - ;;..;;..;/ - ..;/ -% TABLE 10 GREEK SYMBOLS AND COPTIC/ - ..;/ -% TABLE 11 and 12 CYRILLIC/ - ..;..;/ - ..;..;..;/ -% TABLE 13 ARMENIAN/ - ..;;..;/ -% TABLE 14 HEBREW/ - ..;..;/ -% TABLE 15 and 16 ARABIC/ - ..;..;..;..;/ - ;..;..;/ -% SYRIAC/ - ;..;/ -% THAANA/ - ..;;/ -% 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/ - ..;..;..;..;/ - ..;/ -% SINHALA/ - ..;..;..;;/ - ..;/ -% TABLE 26 THAI/ - ..;..;..;..;/ -% TABLE 27 LAO/ - ..;;..;;;/ - ..;..;..;;;/ - ..;..;..;;/ - ..;;..;/ -% TIBETAN/ - ;..;..;..;/ -% MYANMAR/ - ..;..;;;..;/ -% TABLE 28 GEORGIAN/ - ..;..;/ -% HANGUL JAMO/ - ..;..;..;/ -% ETHIOPIC/ - ..;..;;..;/ - ..;;..;..;;/ - ..;..;;..;/ - ..;;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ -% CHEROKEE/ - ..;/ -% UNIFIED CANADIAN ABORIGINAL SYLLABICS/ - ..;..;/ -% OGHAM/ - ..;/ -% RUNIC/ - ..;..;/ -% TAGALOG/ - ..;..;/ -% HANUNOO/ - ..;/ -% BUHID/ - ..;/ -% TAGBANWA/ - ..;..;/ -% KHMER/ - ..;;;/ -% MONGOLIAN/ - ..;..;/ -% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/ - ..;..;/ -% TABLE 33 and 34 GREEK EXTENDED/ - ..;..;..;..;/ + ..;..;;;;/ + ..;..;..;..;/ + ..;;;;..;/ + ..;..;;;..;/ + ;..;..;..;/ + ..;..;;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;;..;;/ + ;..;..;..;;/ + ;..;..;..;/ + ..;;;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;;..;..;/ + ..;;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ ..;;;;..;/ ..;..;;..;/ ..;..;..;..;/ - ..;..;/ -% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/ - ;;/ -% LETTERLIKE SYMBOLS/ + ..;..;;;..;/ ;;..;;..;;/ - ;..;..;..;/ - ..;..;/ -% NUMBER FORMS/ - ..;/ -% ENCLOSED ALPHANUMERICS/ - ..;/ -% CJK SYMBOLS AND PUNCTUATION/ + ;;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ ..;..;..;..;/ -% TABLE 50 HIRAGANA/ - ..;..;/ -% TABLE 51 KATAKANA/ - ..;..;/ -% TABLE 52 BOPOMOFO/ - ..;/ -% HANGUL COMPATIBILITY JAMO/ - ..;/ -% BOPOMOFO EXTENDED/ - ..;/ -% KATAKANA PHONETIC EXTENSIONS/ - ..;/ -% CJK UNIFIED IDEOGRAPHS EXTENSION/ - ..;/ -% CJK UNIFIED IDEOGRAPHS/ - ..;/ -% YI SYLLABLES/ - ..;/ -% HANGUL SYLLABLES/ - ..;/ -% CJK COMPATIBILITY IDEOGRAPHS/ - ..;..;/ -% ALPHABETIC PRESENTATION FORMS/ - ..;..;;..;/ - ..;..;;;;;/ - ;..;/ -% ARABIC PRESENTATION FORMS/ - ..;..;..;..;/ - ..;/ -% ARABIC PRESENTATION FORMS/ - ..;..;/ -% HALFWIDTH AND FULLWIDTH FORMS/ - ..;..;..;..;/ - ..;..;..;/ -% OLD ITALIC/ - ..;/ -% GOTHIC/ - ..;/ -% DESERET/ - ..;..;/ -% MATHEMATICAL ALPHANUMERIC SYMBOLS/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ ..;..;/ ..;;..;/ ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;/ -% CJK UNIFIED IDEOGRAPHS EXTENSION/ - ..;/ -% CJK COMPATIBILITY IDEOGRAPHS SUPPLEMENT/ - ..;/ -% The non-ASCII number characters are included here because ISO C 99 / -% forbids us to classify them as digits; however, they behave more like / -% alphanumeric than like punctuation. / -% 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/ - ..;/ -% MYANMAR/ - ..;/ -% ETHIOPIC/ - <0>;..;/ -% KHMER/ - ..;/ -% MONGOLIAN/ - ..;/ -% HALFWIDTH AND FULLWIDTH FORMS/ - .. + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ;;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;.. % The "digit" class must only contain the BASIC LATIN digits, says ISO C 99 % (sections 7.25.2.1.5 and 5.2.1). @@ -2489,300 +2528,537 @@ digit / % The "outdigit" information is by default "0" to "9". We don't have to % provide it here since localedef will fill in the bits and it would -% prevent locales copy-ing this file define their own values. -% outdigit .. +% prevent locales copying this file define their own values. +% outdigit / +% .. space / -% ISO/IEC 6429/ - ..;/ -% TABLE 1 BASIC LATIN/ - ;/ -% OGHAM/ - ;/ -% TABLE 35 GENERAL PUNCTUATION/ - ..;..;;;;/ -% TABLE 50 CJK SYMBOLS AND PUNCTUATION, HIRAGANA/ - + ..;;;..;..;/ + ..;; cntrl / - ..;..;/ -% Treat the Line/Paragraph Separators as control characters, like Line Feed./ - ; + ..;..;.. punct / ..;..;..;..;/ ..;..;..;..;/ - ;;..;..;..;/ - ..;..;..;..;/ - ..;;..;;;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;;;/ - ..;..;..;..;/ - ;;..;..;..;/ - ;..;..;..;;/ - ..;;..;..;/ - ..;;..;..;;/ - ;..;..;..;/ - ..;..;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;;..;/ - ;..;..;;;;/ - ;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;;;..;..;/ - ..;..;..;;/ - ..;..;;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;;;;;/ - ;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ + ;;..;..;..;/ + ;..;..;;;/ + ..;;;..;..;/ + ..;..;..;;;/ + ;;..;..;..;/ + ..;;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ;..;..;;..;/ + ;;..;..;;;/ + ;..;;;;;/ + ..;;;;..;;/ + ..;;..;;;;/ + ..;;;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;;..;..;/ + ..;..;;..;/ + ..;..;;..;;/ + ..;..;;..;;/ + ..;..;..;;;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;;..;;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;;;;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ ..;..;..;..;/ ..;..;..;..;/ - ;;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;;;..;;/ - ..;..;/ - ..;..;..;..;/ + ;;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;;..;..;/ + ..;;..;..;/ + ..;;..;;;;/ + ..;..;;..;/ + ..;..;;;..;/ + ..;;;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ ;..;..;..;/ - ..;..;..;/ - ..;..;..;/ - ..;..;;/ - ;;;;;/ - ;;;;;/ - ..;..;/ - .. + ..;..;..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;;/ + ;;..;/ + ..;..;/ + ..;..;;/ + ;..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ;;..;/ + ..;..;;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ;;;;;;/ + ;;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;.. graph / - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;;..;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ ..;..;..;;/ ..;;..;;..;/ - ..;..;..;..;/ - ;..;;;..;/ - ..;..;;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ;..;..;;..;/ - ..;;..;..;;/ + ..;..;..;..;/ + ..;;..;;;/ + ..;..;..;;;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;;/ + ..;..;..;..;/ ..;..;;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;/ - ..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;;;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ ..;..;/ ..;;..;/ ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;;/ + ;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ ..;.. print / - ..;..;..;..;/ - ..;..;..;..;/ - ;;..;;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;;..;..;/ - ..;;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ + ..;..;..;..;/ ..;..;..;;/ ..;;..;;..;/ - ..;..;..;..;/ - ;..;;;..;/ - ..;..;;;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;..;/ - ..;..;..;..;/ - ..;..;;..;/ - ..;..;..;..;/ - ;..;..;;..;/ - ..;;..;..;;/ + ..;..;..;..;/ + ..;;..;;;/ + ..;..;..;;;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;;/ + ..;..;..;..;/ ..;..;;..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ ..;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;;..;;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ - ..;/ - ..;..;..;..;/ - ;..;..;..;/ - ..;..;..;..;/ - ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;..;..;..;/ ..;..;..;..;/ ;..;..;..;/ ..;..;..;..;/ - ..;..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ + ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ ..;..;/ ..;;..;/ ..;..;;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ - ..;..;/ - ..;..;/ - ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;;/ + ;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ ..;.. % The "xdigit" class must only contain the BASIC LATIN digits and A-F, a-f, @@ -2791,8 +3067,10 @@ xdigit / ..;..;.. blank / - ;;;..;..;; + ;;;..;..;;/ + +% The case conversions reflect Turkish conventions. toupper / (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -2824,63 +3102,70 @@ toupper / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -2888,14 +3173,19 @@ toupper / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -2905,7 +3195,9 @@ toupper / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -2935,67 +3227,192 @@ toupper / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,) + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,) tolower / (,);(,);(,);(,);/ @@ -3049,154 +3466,294 @@ tolower / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,) + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,) map "totitle"; / (,);(,);(,);(,);/ @@ -3229,63 +3786,70 @@ map "totitle"; / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -3293,14 +3857,19 @@ map "totitle"; / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -3310,7 +3879,9 @@ map "totitle"; / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ @@ -3340,129 +3911,320 @@ map "totitle"; / (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,);/ - (,);(,) + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,) % 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 modified i18n LC_CTYPE + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ + ..;;..;..;;/ + ;;..;..;..;/ + ..;..;..;..;/ + ;..;;..;..;/ + ..;..;..;..;/ + ;..;..;/ + ..;;;;;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ + ..;..;;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ + ..;..;/ + .. translit_start include "translit_combining";"" diff --git a/localedata/unicode-gen/Makefile b/localedata/unicode-gen/Makefile index 5b7305d54e..4cb1fabc77 100644 --- a/localedata/unicode-gen/Makefile +++ b/localedata/unicode-gen/Makefile @@ -41,7 +41,7 @@ PYTHON3 = python3 WGET = wget DOWNLOADS = UnicodeData.txt DerivedCoreProperties.txt EastAsianWidth.txt -GENERATED = i18n UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction +GENERATED = i18n tr_TR UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction REPORTS = i18n-report UTF-8-report all: $(GENERATED) @@ -50,6 +50,7 @@ check: check-i18n check-UTF-8 install: cp -p i18n ../locales/i18n + cp -p tr_TR ../locales/tr_TR cp -p UTF-8 ../charmaps/UTF-8 cp -p translit_combining ../locales/translit_combining cp -p translit_compat ../locales/translit_compat @@ -82,6 +83,13 @@ check-i18n: i18n-report i18n-report; \ then echo manual verification required; false; else true; fi +tr_TR: UnicodeData.txt DerivedCoreProperties.txt +tr_TR: ../locales/tr_TR # Preserve non-ctype information. +tr_TR: gen_unicode_ctype.py + $(PYTHON3) gen_unicode_ctype.py -u UnicodeData.txt \ + -d DerivedCoreProperties.txt -i ../locales/tr_TR -o $@ \ + --unicode_version $(UNICODE_VERSION) --turkish + UTF-8: UnicodeData.txt EastAsianWidth.txt UTF-8: utf8_gen.py $(PYTHON3) utf8_gen.py UnicodeData.txt EastAsianWidth.txt diff --git a/localedata/unicode-gen/gen_unicode_ctype.py b/localedata/unicode-gen/gen_unicode_ctype.py index 0f064f5ba5..bcb50bf9a5 100755 --- a/localedata/unicode-gen/gen_unicode_ctype.py +++ b/localedata/unicode-gen/gen_unicode_ctype.py @@ -196,7 +196,7 @@ def output_tail(i18n_file, tail=''): else: i18n_file.write('END LC_CTYPE\n') -def output_tables(i18n_file, unicode_version): +def output_tables(i18n_file, unicode_version, turkish): '''Write the new LC_CTYPE character classes to the output file''' i18n_file.write('% The following is the 14652 i18n fdcc-set ' + 'LC_CTYPE category.\n') @@ -240,8 +240,14 @@ def output_tables(i18n_file, unicode_version): + '(sections 7.25.2.1.12 and 6.4.4.1).\n') output_charclass(i18n_file, 'xdigit', unicode_utils.is_xdigit) output_charclass(i18n_file, 'blank', unicode_utils.is_blank) - output_charmap(i18n_file, 'toupper', unicode_utils.to_upper) - output_charmap(i18n_file, 'tolower', unicode_utils.to_lower) + if turkish: + i18n_file.write('% The case conversions reflect ' + + 'Turkish conventions.\n') + output_charmap(i18n_file, 'toupper', unicode_utils.to_upper_turkish) + output_charmap(i18n_file, 'tolower', unicode_utils.to_lower_turkish) + else: + output_charmap(i18n_file, 'toupper', unicode_utils.to_upper) + output_charmap(i18n_file, 'tolower', unicode_utils.to_lower) output_charmap(i18n_file, 'map "totitle";', unicode_utils.to_title) i18n_file.write('% The "combining" class reflects ISO/IEC 10646-1 ' + 'annex B.1\n') @@ -298,6 +304,10 @@ if __name__ == "__main__": required=True, type=str, help='The Unicode version of the input files used.') + PARSER.add_argument( + '--turkish', + action='store_true', + help='Use Turkish case conversions.') ARGS = PARSER.parse_args() unicode_utils.fill_attributes( @@ -310,5 +320,5 @@ if __name__ == "__main__": (HEAD, TAIL) = read_input_file(ARGS.input_file) with open(ARGS.output_file, mode='w') as I18N_FILE: output_head(I18N_FILE, ARGS.unicode_version, head=HEAD) - output_tables(I18N_FILE, ARGS.unicode_version) + output_tables(I18N_FILE, ARGS.unicode_version, ARGS.turkish) output_tail(I18N_FILE, tail=TAIL) diff --git a/localedata/unicode-gen/unicode_utils.py b/localedata/unicode-gen/unicode_utils.py index ee91582823..26a57ef293 100644 --- a/localedata/unicode-gen/unicode_utils.py +++ b/localedata/unicode-gen/unicode_utils.py @@ -220,6 +220,20 @@ def to_lower(code_point): else: return code_point +def to_upper_turkish(code_point): + '''Returns the code point of the Turkish uppercase version + of the given code point''' + if code_point == 0x0069: + return 0x0130 + return to_upper(code_point) + +def to_lower_turkish(code_point): + '''Returns the code point of the Turkish lowercase version + of the given code point''' + if code_point == 0x0049: + return 0x0131 + return to_lower(code_point) + def to_title(code_point): '''Returns the code point of the titlecase version of the given code point'''