mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-13 08:53:20 +00:00
ICU-1278 upgrade to Unicode 3.1.1 SpecialCasing.txt
X-SVN-Rev: 6269
This commit is contained in:
parent
f07ba50f9d
commit
5cc655d4a8
2 changed files with 162 additions and 80 deletions
|
@ -1,4 +1,4 @@
|
|||
# SpecialCasing-2.txt
|
||||
# SpecialCasing-5.txt
|
||||
#
|
||||
# Special Casing Properties
|
||||
#
|
||||
|
@ -6,46 +6,53 @@
|
|||
# It contains additional information about the casing of Unicode characters.
|
||||
# (For compatibility, the UnicodeData.txt file only contains case mappings for
|
||||
# characters where they are 1-1, and does not have locale-specific mappings.)
|
||||
# These are informative character properties.
|
||||
#
|
||||
# Send comments to mark@unicode.org
|
||||
# For more information, see
|
||||
# UTR #21 Case Mappings, at http://www.unicode.org/unicode/reports/tr21/
|
||||
#
|
||||
# ================================================================================
|
||||
# Format
|
||||
# ================================================================================
|
||||
# The entries in this file are in the following machine-readable format:
|
||||
#
|
||||
# <entry> := <case_mapping> <condition_list>? (<s>* "#" <comment>)?
|
||||
# <code>; <lower> ; <title> ; <upper> ; (<condition_list> ;)? # <comment>
|
||||
#
|
||||
# <case_mapping> := <source> <sep> <lower> <sep> <title> <sep> <upper> <sep>
|
||||
# <code>, <lower>, <title>, and <upper> provide character values in hex. If there is more than
|
||||
# one character, they are separated by spaces.
|
||||
#
|
||||
# <source> := <code_point>
|
||||
# <sep> := <s>* ";" <s>*
|
||||
# <lower> := <code_point_list>
|
||||
# <title> := <code_point_list>
|
||||
# <upper> := <code_point_list>
|
||||
# <code_point_list> := <code_point> (<s>+ <code_point>)*
|
||||
# <code_point> := <hex><hex><hex><hex>
|
||||
# <hex> := [0-1A-Fa-f]
|
||||
# <s> := <space>
|
||||
# The <condition_list> is optional. Where present, it consists of one or more locales or contexts,
|
||||
# separated by spaces. In these conditions:
|
||||
# - A condition list overrides the normal behavior if all of the listed conditions are true.
|
||||
# - Case distinctions in the condition list are not significant.
|
||||
# - Conditions preceded by "NOT_" represent the negation of the condition.
|
||||
# - A cased letter is any character with general category = Ll or Lo or Lt
|
||||
# - An ignorable sequence is a sequence of *zero* or more characters from
|
||||
# the set {HYPHEN, SOFT HYPHEN, general category = Mn}.
|
||||
#
|
||||
# <condition_list> := <locale>? (<s>+ <context>)*
|
||||
# <locale> := <ISO_3166_code> ( "_" <ISO_639_code> )? ( "_" <variant> )?
|
||||
# <ISO_3166_code> := 2-letter country code,
|
||||
# as in http://www.unicode.org/unicode/onlinedat/countries.html
|
||||
# <ISO_639_code> := 2-letter code,
|
||||
# as in http://www.unicode.org/unicode/onlinedat/languages.html
|
||||
# <context> := "FINAL" | "NON_FINAL" | "MODERN" | "NON_MODERN"
|
||||
# A locale is defined as:
|
||||
# <locale> := <ISO_639_code> ( "_" <ISO_3166_code> ( "_" <variant> )? )?
|
||||
# <ISO_3166_code> := 2-letter ISO country code,
|
||||
# <ISO_639_code> := 2-letter ISO language code
|
||||
#
|
||||
# A condition list overrides the normal behavior if any of the listed conditions is true.
|
||||
# FINAL: The letter is not followed by a letter of category L* (e.g. Ll, Lt, Lu, Lm, or Lo).
|
||||
# MODERN: The mapping is only used for modern text.
|
||||
# Conditions preceded by "NON_" represent the negation of the condition
|
||||
# A context is a locale or one of the following choices:
|
||||
# CFINAL: The character is not followed by a sequence consisting of
|
||||
# an ignorable sequence and then a cased letter.
|
||||
# CINITIAL: The character is not preceded by a sequence consisting of
|
||||
# a cased letter and an ignorable sequence.
|
||||
# FINAL_SIGMA: CFINAL and NOT_CINITIAL
|
||||
# TYPE_i: The character is "i" (0069), "j" (006A),
|
||||
# or has a canonical decomposition that begins with an "i" or "j"
|
||||
# but has no combining characters above (i.e., i-ogonek (012F),
|
||||
# i-tilde-below (1E2D), or i-dot-below (1ECB)).
|
||||
# AFTER_i: The last preceding base character was TYPE_i, and
|
||||
# no combining character class 230 (above) has intervened.
|
||||
# MORE_ABOVE: The character is followed by one or more characters of
|
||||
# combining class 230 (ABOVE) in the combining character sequence
|
||||
#
|
||||
# New contexts may be added in the future.
|
||||
# Parsers of this file must be prepared to deal with that situation.
|
||||
# Additional whitespace around elements is optional. Blank lines are ignored in parsing.
|
||||
# On any line, all text following "#" is a comment, and are ignored in parsing.
|
||||
# Other than as used to separate elements, spaces are to be ignored.
|
||||
#
|
||||
# Parsers of this file must be prepared to deal future additions to this format:
|
||||
# * Additional contexts
|
||||
# * Additional fields
|
||||
# ================================================================================
|
||||
|
||||
# ================================================================================
|
||||
|
@ -76,7 +83,7 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
|
||||
# No corresponding uppercase precomposed character
|
||||
|
||||
0149; 0149; 02BC 006E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
0149; 0149; 02BC 004E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
0390; 0390; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||||
03B0; 03B0; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
|
||||
01F0; 01F0; 004A 030C; 004A 030C; # LATIN SMALL LETTER J WITH CARON
|
||||
|
@ -191,7 +198,7 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
|
||||
# Special case for final form of sigma
|
||||
|
||||
03A3; 03C2; 03A3; 03A3; FINAL; # GREEK CAPITAL LETTER SIGMA
|
||||
03A3; 03C2; 03A3; 03A3; FINAL_SIGMA; # GREEK CAPITAL LETTER SIGMA
|
||||
|
||||
# Note: the following cases for non-final are already in the UnicodeData file.
|
||||
|
||||
|
@ -199,21 +206,55 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
# 03C3; 03C3; 03A3; 03A3; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C2; 03A3; 03A3; # GREEK SMALL LETTER FINAL SIGMA
|
||||
|
||||
# Note: the following cases are not included, since they would normalize in lowercasing
|
||||
# Note: the following cases are not included, since they would case-fold in lowercasing
|
||||
|
||||
# 03C3; 03C2; 03A3; 03A3; FINAL; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C3; 03A3; 03A3; NON_FINAL; # GREEK SMALL LETTER FINAL SIGMA
|
||||
# 03C3; 03C2; 03A3; 03A3; FINAL_SIGMA; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C3; 03A3; 03A3; NOT_FINAL_SIGMA; # GREEK SMALL LETTER FINAL SIGMA
|
||||
|
||||
# ================================================================================
|
||||
# Locale-sensitive mappings
|
||||
# ================================================================================
|
||||
|
||||
# Turkish
|
||||
# Lithuanian
|
||||
|
||||
0049; 0131; 0049; 0049; TR; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; TR; # LATIN SMALL LETTER I
|
||||
# Lithuanian retains the dot in a lowercase i when followed by accents.
|
||||
|
||||
# Remove DOT ABOVE after "i" with upper or titlecase
|
||||
|
||||
0307; 0307; ; ; lt AFTER_i # COMBINING DOT ABOVE
|
||||
|
||||
# Introduce an explicit dot above when lowercasing capital I's and J's
|
||||
# whenever there are more accents above
|
||||
# (of the accents used in Lithuanian: grave, acute, tilde above, and ogonek)
|
||||
|
||||
0049; 0069 0307; 0049; 0049; lt MORE_ABOVE # LATIN CAPITAL LETTER I
|
||||
004A; 006A 0307; 004A; 004A; lt MORE_ABOVE # LATIN CAPITAL LETTER J
|
||||
012E; 012F 0307; 012E; 012E; lt MORE_ABOVE # LATIN CAPITAL LETTER I WITH OGONEK
|
||||
00CC; 0069 0307 0300; 00CC; 00CC; lt # LATIN CAPITAL LETTER I WITH GRAVE
|
||||
00CD; 0069 0307 0301; 00CD; 00CD; lt # LATIN CAPITAL LETTER I WITH ACUTE
|
||||
0128; 0069 0307 0303; 0128; 0128; lt # LATIN CAPITAL LETTER I WITH TILDE
|
||||
|
||||
# ================================================================================
|
||||
|
||||
# Turkish and Azeri
|
||||
|
||||
# I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
|
||||
# The following rules handle those cases.
|
||||
|
||||
# Remove spurious dot above small i's when lowercasing, if there are no more accents above:
|
||||
|
||||
0307; ; 0307; 0307; tr AFTER_i NOT_MORE_ABOVE # COMBINING DOT ABOVE
|
||||
0307; ; 0307; 0307; az AFTER_i NOT_MORE_ABOVE # COMBINING DOT ABOVE
|
||||
|
||||
# Fix case pairs
|
||||
|
||||
0049; 0131; 0049; 0049; tr; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; tr; # LATIN SMALL LETTER I
|
||||
|
||||
0049; 0131; 0049; 0049; az; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; az; # LATIN SMALL LETTER I
|
||||
|
||||
# Note: the following cases are already in the UnicodeData file.
|
||||
|
||||
# 0131; 0131; 0049; 0049; TR; # LATIN SMALL LETTER DOTLESS I
|
||||
# 0130; 0069; 0130; 0130; TR; # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
# 0131; 0131; 0049; 0049; tr; # LATIN SMALL LETTER DOTLESS I
|
||||
# 0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# SpecialCasing-2.txt
|
||||
# SpecialCasing-5.txt
|
||||
#
|
||||
# Special Casing Properties
|
||||
#
|
||||
|
@ -6,46 +6,53 @@
|
|||
# It contains additional information about the casing of Unicode characters.
|
||||
# (For compatibility, the UnicodeData.txt file only contains case mappings for
|
||||
# characters where they are 1-1, and does not have locale-specific mappings.)
|
||||
# These are informative character properties.
|
||||
#
|
||||
# Send comments to mark@unicode.org
|
||||
# For more information, see
|
||||
# UTR #21 Case Mappings, at http://www.unicode.org/unicode/reports/tr21/
|
||||
#
|
||||
# ================================================================================
|
||||
# Format
|
||||
# ================================================================================
|
||||
# The entries in this file are in the following machine-readable format:
|
||||
#
|
||||
# <entry> := <case_mapping> <condition_list>? (<s>* "#" <comment>)?
|
||||
# <code>; <lower> ; <title> ; <upper> ; (<condition_list> ;)? # <comment>
|
||||
#
|
||||
# <case_mapping> := <source> <sep> <lower> <sep> <title> <sep> <upper> <sep>
|
||||
# <code>, <lower>, <title>, and <upper> provide character values in hex. If there is more than
|
||||
# one character, they are separated by spaces.
|
||||
#
|
||||
# <source> := <code_point>
|
||||
# <sep> := <s>* ";" <s>*
|
||||
# <lower> := <code_point_list>
|
||||
# <title> := <code_point_list>
|
||||
# <upper> := <code_point_list>
|
||||
# <code_point_list> := <code_point> (<s>+ <code_point>)*
|
||||
# <code_point> := <hex><hex><hex><hex>
|
||||
# <hex> := [0-1A-Fa-f]
|
||||
# <s> := <space>
|
||||
# The <condition_list> is optional. Where present, it consists of one or more locales or contexts,
|
||||
# separated by spaces. In these conditions:
|
||||
# - A condition list overrides the normal behavior if all of the listed conditions are true.
|
||||
# - Case distinctions in the condition list are not significant.
|
||||
# - Conditions preceded by "NOT_" represent the negation of the condition.
|
||||
# - A cased letter is any character with general category = Ll or Lo or Lt
|
||||
# - An ignorable sequence is a sequence of *zero* or more characters from
|
||||
# the set {HYPHEN, SOFT HYPHEN, general category = Mn}.
|
||||
#
|
||||
# <condition_list> := <locale>? (<s>+ <context>)*
|
||||
# <locale> := <ISO_3166_code> ( "_" <ISO_639_code> )? ( "_" <variant> )?
|
||||
# <ISO_3166_code> := 2-letter country code,
|
||||
# as in http://www.unicode.org/unicode/onlinedat/countries.html
|
||||
# <ISO_639_code> := 2-letter code,
|
||||
# as in http://www.unicode.org/unicode/onlinedat/languages.html
|
||||
# <context> := "FINAL" | "NON_FINAL" | "MODERN" | "NON_MODERN"
|
||||
# A locale is defined as:
|
||||
# <locale> := <ISO_639_code> ( "_" <ISO_3166_code> ( "_" <variant> )? )?
|
||||
# <ISO_3166_code> := 2-letter ISO country code,
|
||||
# <ISO_639_code> := 2-letter ISO language code
|
||||
#
|
||||
# A condition list overrides the normal behavior if any of the listed conditions is true.
|
||||
# FINAL: The letter is not followed by a letter of category L* (e.g. Ll, Lt, Lu, Lm, or Lo).
|
||||
# MODERN: The mapping is only used for modern text.
|
||||
# Conditions preceded by "NON_" represent the negation of the condition
|
||||
# A context is a locale or one of the following choices:
|
||||
# CFINAL: The character is not followed by a sequence consisting of
|
||||
# an ignorable sequence and then a cased letter.
|
||||
# CINITIAL: The character is not preceded by a sequence consisting of
|
||||
# a cased letter and an ignorable sequence.
|
||||
# FINAL_SIGMA: CFINAL and NOT_CINITIAL
|
||||
# TYPE_i: The character is "i" (0069), "j" (006A),
|
||||
# or has a canonical decomposition that begins with an "i" or "j"
|
||||
# but has no combining characters above (i.e., i-ogonek (012F),
|
||||
# i-tilde-below (1E2D), or i-dot-below (1ECB)).
|
||||
# AFTER_i: The last preceding base character was TYPE_i, and
|
||||
# no combining character class 230 (above) has intervened.
|
||||
# MORE_ABOVE: The character is followed by one or more characters of
|
||||
# combining class 230 (ABOVE) in the combining character sequence
|
||||
#
|
||||
# New contexts may be added in the future.
|
||||
# Parsers of this file must be prepared to deal with that situation.
|
||||
# Additional whitespace around elements is optional. Blank lines are ignored in parsing.
|
||||
# On any line, all text following "#" is a comment, and are ignored in parsing.
|
||||
# Other than as used to separate elements, spaces are to be ignored.
|
||||
#
|
||||
# Parsers of this file must be prepared to deal future additions to this format:
|
||||
# * Additional contexts
|
||||
# * Additional fields
|
||||
# ================================================================================
|
||||
|
||||
# ================================================================================
|
||||
|
@ -76,7 +83,7 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
|
||||
# No corresponding uppercase precomposed character
|
||||
|
||||
0149; 0149; 02BC 006E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
0149; 0149; 02BC 004E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||||
0390; 0390; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
|
||||
03B0; 03B0; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
|
||||
01F0; 01F0; 004A 030C; 004A 030C; # LATIN SMALL LETTER J WITH CARON
|
||||
|
@ -191,7 +198,7 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
|
||||
# Special case for final form of sigma
|
||||
|
||||
03A3; 03C2; 03A3; 03A3; FINAL; # GREEK CAPITAL LETTER SIGMA
|
||||
03A3; 03C2; 03A3; 03A3; FINAL_SIGMA; # GREEK CAPITAL LETTER SIGMA
|
||||
|
||||
# Note: the following cases for non-final are already in the UnicodeData file.
|
||||
|
||||
|
@ -199,21 +206,55 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
|
|||
# 03C3; 03C3; 03A3; 03A3; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C2; 03A3; 03A3; # GREEK SMALL LETTER FINAL SIGMA
|
||||
|
||||
# Note: the following cases are not included, since they would normalize in lowercasing
|
||||
# Note: the following cases are not included, since they would case-fold in lowercasing
|
||||
|
||||
# 03C3; 03C2; 03A3; 03A3; FINAL; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C3; 03A3; 03A3; NON_FINAL; # GREEK SMALL LETTER FINAL SIGMA
|
||||
# 03C3; 03C2; 03A3; 03A3; FINAL_SIGMA; # GREEK SMALL LETTER SIGMA
|
||||
# 03C2; 03C3; 03A3; 03A3; NOT_FINAL_SIGMA; # GREEK SMALL LETTER FINAL SIGMA
|
||||
|
||||
# ================================================================================
|
||||
# Locale-sensitive mappings
|
||||
# ================================================================================
|
||||
|
||||
# Turkish
|
||||
# Lithuanian
|
||||
|
||||
0049; 0131; 0049; 0049; TR; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; TR; # LATIN SMALL LETTER I
|
||||
# Lithuanian retains the dot in a lowercase i when followed by accents.
|
||||
|
||||
# Remove DOT ABOVE after "i" with upper or titlecase
|
||||
|
||||
0307; 0307; ; ; lt AFTER_i # COMBINING DOT ABOVE
|
||||
|
||||
# Introduce an explicit dot above when lowercasing capital I's and J's
|
||||
# whenever there are more accents above
|
||||
# (of the accents used in Lithuanian: grave, acute, tilde above, and ogonek)
|
||||
|
||||
0049; 0069 0307; 0049; 0049; lt MORE_ABOVE # LATIN CAPITAL LETTER I
|
||||
004A; 006A 0307; 004A; 004A; lt MORE_ABOVE # LATIN CAPITAL LETTER J
|
||||
012E; 012F 0307; 012E; 012E; lt MORE_ABOVE # LATIN CAPITAL LETTER I WITH OGONEK
|
||||
00CC; 0069 0307 0300; 00CC; 00CC; lt # LATIN CAPITAL LETTER I WITH GRAVE
|
||||
00CD; 0069 0307 0301; 00CD; 00CD; lt # LATIN CAPITAL LETTER I WITH ACUTE
|
||||
0128; 0069 0307 0303; 0128; 0128; lt # LATIN CAPITAL LETTER I WITH TILDE
|
||||
|
||||
# ================================================================================
|
||||
|
||||
# Turkish and Azeri
|
||||
|
||||
# I and i-dotless; I-dot and i are case pairs in Turkish and Azeri
|
||||
# The following rules handle those cases.
|
||||
|
||||
# Remove spurious dot above small i's when lowercasing, if there are no more accents above:
|
||||
|
||||
0307; ; 0307; 0307; tr AFTER_i NOT_MORE_ABOVE # COMBINING DOT ABOVE
|
||||
0307; ; 0307; 0307; az AFTER_i NOT_MORE_ABOVE # COMBINING DOT ABOVE
|
||||
|
||||
# Fix case pairs
|
||||
|
||||
0049; 0131; 0049; 0049; tr; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; tr; # LATIN SMALL LETTER I
|
||||
|
||||
0049; 0131; 0049; 0049; az; # LATIN CAPITAL LETTER I
|
||||
0069; 0069; 0130; 0130; az; # LATIN SMALL LETTER I
|
||||
|
||||
# Note: the following cases are already in the UnicodeData file.
|
||||
|
||||
# 0131; 0131; 0049; 0049; TR; # LATIN SMALL LETTER DOTLESS I
|
||||
# 0130; 0069; 0130; 0130; TR; # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
# 0131; 0131; 0049; 0049; tr; # LATIN SMALL LETTER DOTLESS I
|
||||
# 0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
|
|
Loading…
Add table
Reference in a new issue