Panda3D
|
00001 // Filename: unicodeLatinMap.cxx 00002 // Created by: drose (01Feb03) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #include "unicodeLatinMap.h" 00016 00017 bool UnicodeLatinMap::_initialized = false; 00018 UnicodeLatinMap::ByCharacter *UnicodeLatinMap::_by_character; 00019 const UnicodeLatinMap::Entry *UnicodeLatinMap::_direct_chars[UnicodeLatinMap::max_direct_chars]; 00020 00021 static const UnicodeLatinMap::Entry latin_map[] = { 00022 { 0x00a1, UnicodeLatinMap::CT_punct, '!', 0, 0x00a1, 0x00a1, 00023 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00024 { 0x00bf, UnicodeLatinMap::CT_punct, '?', 0, 0x00bf, 0x00bf, 00025 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00026 { 0x0061, UnicodeLatinMap::CT_lower, 'a', 0, 0x0061, 0x0041, 00027 UnicodeLatinMap::AT_none, 0 }, 00028 { 0x0041, UnicodeLatinMap::CT_upper, 'A', 0, 0x0061, 0x0041, 00029 UnicodeLatinMap::AT_none, 0 }, 00030 { 0x00e1, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e1, 0x00c1, 00031 UnicodeLatinMap::AT_acute, 0 }, 00032 { 0x00c1, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e1, 0x00c1, 00033 UnicodeLatinMap::AT_acute, 0 }, 00034 { 0x00e0, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e0, 0x00c0, 00035 UnicodeLatinMap::AT_grave, 0 }, 00036 { 0x00c0, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e0, 0x00c0, 00037 UnicodeLatinMap::AT_grave, 0 }, 00038 { 0x0103, UnicodeLatinMap::CT_lower, 'a', 0, 0x0103, 0x0102, 00039 UnicodeLatinMap::AT_breve, 0 }, 00040 { 0x0102, UnicodeLatinMap::CT_upper, 'A', 0, 0x0103, 0x0102, 00041 UnicodeLatinMap::AT_breve, 0 }, 00042 { 0x1eaf, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eaf, 0x1eae, 00043 UnicodeLatinMap::AT_breve_and_acute, 0 }, 00044 { 0x1eae, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eaf, 0x1eae, 00045 UnicodeLatinMap::AT_breve_and_acute, 0 }, 00046 { 0x1eb1, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eb1, 0x1eb0, 00047 UnicodeLatinMap::AT_breve_and_grave, 0 }, 00048 { 0x1eb0, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eb1, 0x1eb0, 00049 UnicodeLatinMap::AT_breve_and_grave, 0 }, 00050 { 0x1eb5, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eb5, 0x1eb4, 00051 UnicodeLatinMap::AT_breve_and_tilde, 0 }, 00052 { 0x1eb4, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eb5, 0x1eb4, 00053 UnicodeLatinMap::AT_breve_and_tilde, 0 }, 00054 { 0x1eb3, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eb3, 0x1eb2, 00055 UnicodeLatinMap::AT_breve_and_hook_above, 0 }, 00056 { 0x1eb2, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eb3, 0x1eb2, 00057 UnicodeLatinMap::AT_breve_and_hook_above, 0 }, 00058 { 0x00e2, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e2, 0x00c2, 00059 UnicodeLatinMap::AT_circumflex, 0 }, 00060 { 0x00c2, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e2, 0x00c2, 00061 UnicodeLatinMap::AT_circumflex, 0 }, 00062 { 0x1ea5, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ea5, 0x1ea4, 00063 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00064 { 0x1ea4, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ea5, 0x1ea4, 00065 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00066 { 0x1ea7, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ea7, 0x1ea6, 00067 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00068 { 0x1ea6, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ea7, 0x1ea6, 00069 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00070 { 0x1eab, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eab, 0x1eaa, 00071 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00072 { 0x1eaa, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eab, 0x1eaa, 00073 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00074 { 0x1ea9, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ea9, 0x1ea8, 00075 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00076 { 0x1ea8, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ea9, 0x1ea8, 00077 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00078 { 0x01ce, UnicodeLatinMap::CT_lower, 'a', 0, 0x01ce, 0x01cd, 00079 UnicodeLatinMap::AT_caron, 0 }, 00080 { 0x01cd, UnicodeLatinMap::CT_upper, 'A', 0, 0x01ce, 0x01cd, 00081 UnicodeLatinMap::AT_caron, 0 }, 00082 { 0x00e5, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e5, 0x00c5, 00083 UnicodeLatinMap::AT_ring_above, 0 }, 00084 { 0x00c5, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e5, 0x00c5, 00085 UnicodeLatinMap::AT_ring_above, 0 }, 00086 { 0x01fb, UnicodeLatinMap::CT_lower, 'a', 0, 0x01fb, 0x01fa, 00087 UnicodeLatinMap::AT_ring_above_and_acute, 0 }, 00088 { 0x01fa, UnicodeLatinMap::CT_upper, 'A', 0, 0x01fb, 0x01fa, 00089 UnicodeLatinMap::AT_ring_above_and_acute, 0 }, 00090 { 0x00e4, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e4, 0x00c4, 00091 UnicodeLatinMap::AT_diaeresis, 0 }, 00092 { 0x00c4, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e4, 0x00c4, 00093 UnicodeLatinMap::AT_diaeresis, 0 }, 00094 { 0x01df, UnicodeLatinMap::CT_lower, 'a', 0, 0x01df, 0x01de, 00095 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 00096 { 0x01de, UnicodeLatinMap::CT_upper, 'A', 0, 0x01df, 0x01de, 00097 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 00098 { 0x00e3, UnicodeLatinMap::CT_lower, 'a', 0, 0x00e3, 0x00c3, 00099 UnicodeLatinMap::AT_tilde, 0 }, 00100 { 0x00c3, UnicodeLatinMap::CT_upper, 'A', 0, 0x00e3, 0x00c3, 00101 UnicodeLatinMap::AT_tilde, 0 }, 00102 { 0x0227, UnicodeLatinMap::CT_lower, 'a', 0, 0x0227, 0x0226, 00103 UnicodeLatinMap::AT_dot_above, 0 }, 00104 { 0x0226, UnicodeLatinMap::CT_upper, 'A', 0, 0x0227, 0x0226, 00105 UnicodeLatinMap::AT_dot_above, 0 }, 00106 { 0x01e1, UnicodeLatinMap::CT_lower, 'a', 0, 0x01e1, 0x01e0, 00107 UnicodeLatinMap::AT_dot_above_and_macron, 0 }, 00108 { 0x01e0, UnicodeLatinMap::CT_upper, 'A', 0, 0x01e1, 0x01e0, 00109 UnicodeLatinMap::AT_dot_above_and_macron, 0 }, 00110 { 0x0105, UnicodeLatinMap::CT_lower, 'a', 0, 0x0105, 0x0104, 00111 UnicodeLatinMap::AT_ogonek, 0 }, 00112 { 0x0104, UnicodeLatinMap::CT_upper, 'A', 0, 0x0105, 0x0104, 00113 UnicodeLatinMap::AT_ogonek, 0 }, 00114 { 0x0101, UnicodeLatinMap::CT_lower, 'a', 0, 0x0101, 0x0100, 00115 UnicodeLatinMap::AT_macron, 0 }, 00116 { 0x0100, UnicodeLatinMap::CT_upper, 'A', 0, 0x0101, 0x0100, 00117 UnicodeLatinMap::AT_macron, 0 }, 00118 { 0x1ea3, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ea3, 0x1ea2, 00119 UnicodeLatinMap::AT_hook_above, 0 }, 00120 { 0x1ea2, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ea3, 0x1ea2, 00121 UnicodeLatinMap::AT_hook_above, 0 }, 00122 { 0x0201, UnicodeLatinMap::CT_lower, 'a', 0, 0x0201, 0x0200, 00123 UnicodeLatinMap::AT_double_grave, 0 }, 00124 { 0x0200, UnicodeLatinMap::CT_upper, 'A', 0, 0x0201, 0x0200, 00125 UnicodeLatinMap::AT_double_grave, 0 }, 00126 { 0x0203, UnicodeLatinMap::CT_lower, 'a', 0, 0x0203, 0x0202, 00127 UnicodeLatinMap::AT_inverted_breve, 0 }, 00128 { 0x0202, UnicodeLatinMap::CT_upper, 'A', 0, 0x0203, 0x0202, 00129 UnicodeLatinMap::AT_inverted_breve, 0 }, 00130 { 0x1ea1, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ea1, 0x1ea0, 00131 UnicodeLatinMap::AT_dot_below, 0 }, 00132 { 0x1ea0, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ea1, 0x1ea0, 00133 UnicodeLatinMap::AT_dot_below, 0 }, 00134 { 0x1eb7, UnicodeLatinMap::CT_lower, 'a', 0, 0x1eb7, 0x1eb6, 00135 UnicodeLatinMap::AT_breve_and_dot_below, 0 }, 00136 { 0x1eb6, UnicodeLatinMap::CT_upper, 'A', 0, 0x1eb7, 0x1eb6, 00137 UnicodeLatinMap::AT_breve_and_dot_below, 0 }, 00138 { 0x1ead, UnicodeLatinMap::CT_lower, 'a', 0, 0x1ead, 0x1eac, 00139 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00140 { 0x1eac, UnicodeLatinMap::CT_upper, 'A', 0, 0x1ead, 0x1eac, 00141 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00142 { 0x1e01, UnicodeLatinMap::CT_lower, 'a', 0, 0x1e01, 0x1e00, 00143 UnicodeLatinMap::AT_ring_below, 0 }, 00144 { 0x1e00, UnicodeLatinMap::CT_upper, 'A', 0, 0x1e01, 0x1e00, 00145 UnicodeLatinMap::AT_ring_below, 0 }, 00146 { 0x00e6, UnicodeLatinMap::CT_lower, 'a', 'e', 0x00e6, 0x00c6, 00147 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00148 { 0x00c6, UnicodeLatinMap::CT_upper, 'A', 'E', 0x00e6, 0x00c6, 00149 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00150 { 0x01fd, UnicodeLatinMap::CT_lower, 'a', 'e', 0x01fd, 0x01fc, 00151 UnicodeLatinMap::AT_acute, UnicodeLatinMap::AF_ligature }, 00152 { 0x01fc, UnicodeLatinMap::CT_upper, 'A', 'E', 0x01fd, 0x01fc, 00153 UnicodeLatinMap::AT_acute, UnicodeLatinMap::AF_ligature }, 00154 { 0x01e3, UnicodeLatinMap::CT_lower, 'a', 'e', 0x01e3, 0x01e2, 00155 UnicodeLatinMap::AT_macron, UnicodeLatinMap::AF_ligature }, 00156 { 0x01e2, UnicodeLatinMap::CT_upper, 'A', 'E', 0x01e3, 0x01e2, 00157 UnicodeLatinMap::AT_macron, UnicodeLatinMap::AF_ligature }, 00158 { 0x0250, UnicodeLatinMap::CT_lower, 'a', 0, 0x0250, 0x0041, 00159 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00160 { 0x0062, UnicodeLatinMap::CT_lower, 'b', 0, 0x0062, 0x0042, 00161 UnicodeLatinMap::AT_none, 0 }, 00162 { 0x0042, UnicodeLatinMap::CT_upper, 'B', 0, 0x0062, 0x0042, 00163 UnicodeLatinMap::AT_none, 0 }, 00164 { 0x1e03, UnicodeLatinMap::CT_lower, 'b', 0, 0x1e03, 0x1e02, 00165 UnicodeLatinMap::AT_dot_above, 0 }, 00166 { 0x1e02, UnicodeLatinMap::CT_upper, 'B', 0, 0x1e03, 0x1e02, 00167 UnicodeLatinMap::AT_dot_above, 0 }, 00168 { 0x1e05, UnicodeLatinMap::CT_lower, 'b', 0, 0x1e05, 0x1e04, 00169 UnicodeLatinMap::AT_dot_below, 0 }, 00170 { 0x1e04, UnicodeLatinMap::CT_upper, 'B', 0, 0x1e05, 0x1e04, 00171 UnicodeLatinMap::AT_dot_below, 0 }, 00172 { 0x1e07, UnicodeLatinMap::CT_lower, 'b', 0, 0x1e07, 0x1e06, 00173 UnicodeLatinMap::AT_line_below, 0 }, 00174 { 0x1e06, UnicodeLatinMap::CT_upper, 'B', 0, 0x1e07, 0x1e06, 00175 UnicodeLatinMap::AT_line_below, 0 }, 00176 { 0x0299, UnicodeLatinMap::CT_upper, 'B', 0, 0x0062, 0x0299, 00177 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00178 { 0x0180, UnicodeLatinMap::CT_lower, 'b', 0, 0x0180, 0x0042, 00179 UnicodeLatinMap::AT_stroke, 0 }, 00180 { 0x0253, UnicodeLatinMap::CT_lower, 'b', 0, 0x0253, 0x0181, 00181 UnicodeLatinMap::AT_hook, 0 }, 00182 { 0x0181, UnicodeLatinMap::CT_upper, 'B', 0, 0x0253, 0x0181, 00183 UnicodeLatinMap::AT_hook, 0 }, 00184 { 0x0183, UnicodeLatinMap::CT_lower, 'b', 0, 0x0183, 0x0182, 00185 UnicodeLatinMap::AT_topbar, 0 }, 00186 { 0x0182, UnicodeLatinMap::CT_upper, 'B', 0, 0x0183, 0x0182, 00187 UnicodeLatinMap::AT_topbar, 0 }, 00188 { 0x0063, UnicodeLatinMap::CT_lower, 'c', 0, 0x0063, 0x0043, 00189 UnicodeLatinMap::AT_none, 0 }, 00190 { 0x0043, UnicodeLatinMap::CT_upper, 'C', 0, 0x0063, 0x0043, 00191 UnicodeLatinMap::AT_none, 0 }, 00192 { 0x0107, UnicodeLatinMap::CT_lower, 'c', 0, 0x0107, 0x0106, 00193 UnicodeLatinMap::AT_acute, 0 }, 00194 { 0x0106, UnicodeLatinMap::CT_upper, 'C', 0, 0x0107, 0x0106, 00195 UnicodeLatinMap::AT_acute, 0 }, 00196 { 0x0109, UnicodeLatinMap::CT_lower, 'c', 0, 0x0109, 0x0108, 00197 UnicodeLatinMap::AT_circumflex, 0 }, 00198 { 0x0108, UnicodeLatinMap::CT_upper, 'C', 0, 0x0109, 0x0108, 00199 UnicodeLatinMap::AT_circumflex, 0 }, 00200 { 0x010d, UnicodeLatinMap::CT_lower, 'c', 0, 0x010d, 0x010c, 00201 UnicodeLatinMap::AT_caron, 0 }, 00202 { 0x010c, UnicodeLatinMap::CT_upper, 'C', 0, 0x010d, 0x010c, 00203 UnicodeLatinMap::AT_caron, 0 }, 00204 { 0x010b, UnicodeLatinMap::CT_lower, 'c', 0, 0x010b, 0x010a, 00205 UnicodeLatinMap::AT_dot_above, 0 }, 00206 { 0x010a, UnicodeLatinMap::CT_upper, 'C', 0, 0x010b, 0x010a, 00207 UnicodeLatinMap::AT_dot_above, 0 }, 00208 { 0x00e7, UnicodeLatinMap::CT_lower, 'c', 0, 0x00e7, 0x00c7, 00209 UnicodeLatinMap::AT_cedilla, 0 }, 00210 { 0x00c7, UnicodeLatinMap::CT_upper, 'C', 0, 0x00e7, 0x00c7, 00211 UnicodeLatinMap::AT_cedilla, 0 }, 00212 { 0x1e09, UnicodeLatinMap::CT_lower, 'c', 0, 0x1e09, 0x1e08, 00213 UnicodeLatinMap::AT_cedilla_and_acute, 0 }, 00214 { 0x1e08, UnicodeLatinMap::CT_upper, 'C', 0, 0x1e09, 0x1e08, 00215 UnicodeLatinMap::AT_cedilla_and_acute, 0 }, 00216 { 0x0188, UnicodeLatinMap::CT_lower, 'c', 0, 0x0188, 0x0187, 00217 UnicodeLatinMap::AT_hook, 0 }, 00218 { 0x0187, UnicodeLatinMap::CT_upper, 'C', 0, 0x0188, 0x0187, 00219 UnicodeLatinMap::AT_hook, 0 }, 00220 { 0x0255, UnicodeLatinMap::CT_lower, 'c', 0, 0x0255, 0x0043, 00221 UnicodeLatinMap::AT_curl, 0 }, 00222 { 0x0064, UnicodeLatinMap::CT_lower, 'd', 0, 0x0064, 0x0044, 00223 UnicodeLatinMap::AT_none, 0 }, 00224 { 0x0044, UnicodeLatinMap::CT_upper, 'D', 0, 0x0064, 0x0044, 00225 UnicodeLatinMap::AT_none, 0 }, 00226 { 0x010f, UnicodeLatinMap::CT_lower, 'd', 0, 0x010f, 0x010e, 00227 UnicodeLatinMap::AT_caron, 0 }, 00228 { 0x010e, UnicodeLatinMap::CT_upper, 'D', 0, 0x010f, 0x010e, 00229 UnicodeLatinMap::AT_caron, 0 }, 00230 { 0x1e0b, UnicodeLatinMap::CT_lower, 'd', 0, 0x1e0b, 0x1e0a, 00231 UnicodeLatinMap::AT_dot_above, 0 }, 00232 { 0x1e0a, UnicodeLatinMap::CT_upper, 'D', 0, 0x1e0b, 0x1e0a, 00233 UnicodeLatinMap::AT_dot_above, 0 }, 00234 { 0x1e11, UnicodeLatinMap::CT_lower, 'd', 0, 0x1e11, 0x1e10, 00235 UnicodeLatinMap::AT_cedilla, 0 }, 00236 { 0x1e10, UnicodeLatinMap::CT_upper, 'D', 0, 0x1e11, 0x1e10, 00237 UnicodeLatinMap::AT_cedilla, 0 }, 00238 { 0x1e0d, UnicodeLatinMap::CT_lower, 'd', 0, 0x1e0d, 0x1e0c, 00239 UnicodeLatinMap::AT_dot_below, 0 }, 00240 { 0x1e0c, UnicodeLatinMap::CT_upper, 'D', 0, 0x1e0d, 0x1e0c, 00241 UnicodeLatinMap::AT_dot_below, 0 }, 00242 { 0x1e13, UnicodeLatinMap::CT_lower, 'd', 0, 0x1e13, 0x1e12, 00243 UnicodeLatinMap::AT_circumflex_below, 0 }, 00244 { 0x1e12, UnicodeLatinMap::CT_upper, 'D', 0, 0x1e13, 0x1e12, 00245 UnicodeLatinMap::AT_circumflex_below, 0 }, 00246 { 0x1e0f, UnicodeLatinMap::CT_lower, 'd', 0, 0x1e0f, 0x1e0e, 00247 UnicodeLatinMap::AT_line_below, 0 }, 00248 { 0x1e0e, UnicodeLatinMap::CT_upper, 'D', 0, 0x1e0f, 0x1e0e, 00249 UnicodeLatinMap::AT_line_below, 0 }, 00250 { 0x0111, UnicodeLatinMap::CT_lower, 'd', 0, 0x0111, 0x0110, 00251 UnicodeLatinMap::AT_stroke, 0 }, 00252 { 0x0110, UnicodeLatinMap::CT_upper, 'D', 0, 0x0111, 0x0110, 00253 UnicodeLatinMap::AT_stroke, 0 }, 00254 { 0x0257, UnicodeLatinMap::CT_lower, 'd', 0, 0x0257, 0x018a, 00255 UnicodeLatinMap::AT_hook, 0 }, 00256 { 0x018a, UnicodeLatinMap::CT_upper, 'D', 0, 0x0257, 0x018a, 00257 UnicodeLatinMap::AT_hook, 0 }, 00258 { 0x018c, UnicodeLatinMap::CT_lower, 'd', 0, 0x018c, 0x018b, 00259 UnicodeLatinMap::AT_topbar, 0 }, 00260 { 0x018b, UnicodeLatinMap::CT_upper, 'D', 0, 0x018c, 0x018b, 00261 UnicodeLatinMap::AT_topbar, 0 }, 00262 { 0x0065, UnicodeLatinMap::CT_lower, 'e', 0, 0x0065, 0x0045, 00263 UnicodeLatinMap::AT_none, 0 }, 00264 { 0x0045, UnicodeLatinMap::CT_upper, 'E', 0, 0x0065, 0x0045, 00265 UnicodeLatinMap::AT_none, 0 }, 00266 { 0x00e9, UnicodeLatinMap::CT_lower, 'e', 0, 0x00e9, 0x00c9, 00267 UnicodeLatinMap::AT_acute, 0 }, 00268 { 0x00c9, UnicodeLatinMap::CT_upper, 'E', 0, 0x00e9, 0x00c9, 00269 UnicodeLatinMap::AT_acute, 0 }, 00270 { 0x00e8, UnicodeLatinMap::CT_lower, 'e', 0, 0x00e8, 0x00c8, 00271 UnicodeLatinMap::AT_grave, 0 }, 00272 { 0x00c8, UnicodeLatinMap::CT_upper, 'E', 0, 0x00e8, 0x00c8, 00273 UnicodeLatinMap::AT_grave, 0 }, 00274 { 0x0115, UnicodeLatinMap::CT_lower, 'e', 0, 0x0115, 0x0114, 00275 UnicodeLatinMap::AT_breve, 0 }, 00276 { 0x0114, UnicodeLatinMap::CT_upper, 'E', 0, 0x0115, 0x0114, 00277 UnicodeLatinMap::AT_breve, 0 }, 00278 { 0x00ea, UnicodeLatinMap::CT_lower, 'e', 0, 0x00ea, 0x00ca, 00279 UnicodeLatinMap::AT_circumflex, 0 }, 00280 { 0x00ca, UnicodeLatinMap::CT_upper, 'E', 0, 0x00ea, 0x00ca, 00281 UnicodeLatinMap::AT_circumflex, 0 }, 00282 { 0x1ebf, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ebf, 0x1ebe, 00283 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00284 { 0x1ebe, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ebf, 0x1ebe, 00285 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00286 { 0x1ec1, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ec1, 0x1ec0, 00287 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00288 { 0x1ec0, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ec1, 0x1ec0, 00289 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00290 { 0x1ec5, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ec5, 0x1ec4, 00291 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00292 { 0x1ec4, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ec5, 0x1ec4, 00293 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00294 { 0x1ec3, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ec3, 0x1ec2, 00295 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00296 { 0x1ec2, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ec3, 0x1ec2, 00297 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00298 { 0x011b, UnicodeLatinMap::CT_lower, 'e', 0, 0x011b, 0x011a, 00299 UnicodeLatinMap::AT_caron, 0 }, 00300 { 0x011a, UnicodeLatinMap::CT_upper, 'E', 0, 0x011b, 0x011a, 00301 UnicodeLatinMap::AT_caron, 0 }, 00302 { 0x00eb, UnicodeLatinMap::CT_lower, 'e', 0, 0x00eb, 0x00cb, 00303 UnicodeLatinMap::AT_diaeresis, 0 }, 00304 { 0x00cb, UnicodeLatinMap::CT_upper, 'E', 0, 0x00eb, 0x00cb, 00305 UnicodeLatinMap::AT_diaeresis, 0 }, 00306 { 0x1ebd, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ebd, 0x1ebc, 00307 UnicodeLatinMap::AT_tilde, 0 }, 00308 { 0x1ebc, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ebd, 0x1ebc, 00309 UnicodeLatinMap::AT_tilde, 0 }, 00310 { 0x0117, UnicodeLatinMap::CT_lower, 'e', 0, 0x0117, 0x0116, 00311 UnicodeLatinMap::AT_dot_above, 0 }, 00312 { 0x0116, UnicodeLatinMap::CT_upper, 'E', 0, 0x0117, 0x0116, 00313 UnicodeLatinMap::AT_dot_above, 0 }, 00314 { 0x0229, UnicodeLatinMap::CT_lower, 'e', 0, 0x0229, 0x0228, 00315 UnicodeLatinMap::AT_cedilla, 0 }, 00316 { 0x0228, UnicodeLatinMap::CT_upper, 'E', 0, 0x0229, 0x0228, 00317 UnicodeLatinMap::AT_cedilla, 0 }, 00318 { 0x1e1d, UnicodeLatinMap::CT_lower, 'e', 0, 0x1e1d, 0x1e1c, 00319 UnicodeLatinMap::AT_cedilla_and_breve, 0 }, 00320 { 0x1e1c, UnicodeLatinMap::CT_upper, 'E', 0, 0x1e1d, 0x1e1c, 00321 UnicodeLatinMap::AT_cedilla_and_breve, 0 }, 00322 { 0x0119, UnicodeLatinMap::CT_lower, 'e', 0, 0x0119, 0x0118, 00323 UnicodeLatinMap::AT_ogonek, 0 }, 00324 { 0x0118, UnicodeLatinMap::CT_upper, 'E', 0, 0x0119, 0x0118, 00325 UnicodeLatinMap::AT_ogonek, 0 }, 00326 { 0x0113, UnicodeLatinMap::CT_lower, 'e', 0, 0x0113, 0x0112, 00327 UnicodeLatinMap::AT_macron, 0 }, 00328 { 0x0112, UnicodeLatinMap::CT_upper, 'E', 0, 0x0113, 0x0112, 00329 UnicodeLatinMap::AT_macron, 0 }, 00330 { 0x1e17, UnicodeLatinMap::CT_lower, 'e', 0, 0x1e17, 0x1e16, 00331 UnicodeLatinMap::AT_macron_and_acute, 0 }, 00332 { 0x1e16, UnicodeLatinMap::CT_upper, 'E', 0, 0x1e17, 0x1e16, 00333 UnicodeLatinMap::AT_macron_and_acute, 0 }, 00334 { 0x1e15, UnicodeLatinMap::CT_lower, 'e', 0, 0x1e15, 0x1e14, 00335 UnicodeLatinMap::AT_macron_and_grave, 0 }, 00336 { 0x1e14, UnicodeLatinMap::CT_upper, 'E', 0, 0x1e15, 0x1e14, 00337 UnicodeLatinMap::AT_macron_and_grave, 0 }, 00338 { 0x1ebb, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ebb, 0x1eba, 00339 UnicodeLatinMap::AT_hook_above, 0 }, 00340 { 0x1eba, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ebb, 0x1eba, 00341 UnicodeLatinMap::AT_hook_above, 0 }, 00342 { 0x0205, UnicodeLatinMap::CT_lower, 'e', 0, 0x0205, 0x0204, 00343 UnicodeLatinMap::AT_double_grave, 0 }, 00344 { 0x0204, UnicodeLatinMap::CT_upper, 'E', 0, 0x0205, 0x0204, 00345 UnicodeLatinMap::AT_double_grave, 0 }, 00346 { 0x0207, UnicodeLatinMap::CT_lower, 'e', 0, 0x0207, 0x0206, 00347 UnicodeLatinMap::AT_inverted_breve, 0 }, 00348 { 0x0206, UnicodeLatinMap::CT_upper, 'E', 0, 0x0207, 0x0206, 00349 UnicodeLatinMap::AT_inverted_breve, 0 }, 00350 { 0x1eb9, UnicodeLatinMap::CT_lower, 'e', 0, 0x1eb9, 0x1eb8, 00351 UnicodeLatinMap::AT_dot_below, 0 }, 00352 { 0x1eb8, UnicodeLatinMap::CT_upper, 'E', 0, 0x1eb9, 0x1eb8, 00353 UnicodeLatinMap::AT_dot_below, 0 }, 00354 { 0x1ec7, UnicodeLatinMap::CT_lower, 'e', 0, 0x1ec7, 0x1ec6, 00355 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00356 { 0x1ec6, UnicodeLatinMap::CT_upper, 'E', 0, 0x1ec7, 0x1ec6, 00357 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00358 { 0x1e19, UnicodeLatinMap::CT_lower, 'e', 0, 0x1e19, 0x1e18, 00359 UnicodeLatinMap::AT_circumflex_below, 0 }, 00360 { 0x1e18, UnicodeLatinMap::CT_upper, 'E', 0, 0x1e19, 0x1e18, 00361 UnicodeLatinMap::AT_circumflex_below, 0 }, 00362 { 0x1e1b, UnicodeLatinMap::CT_lower, 'e', 0, 0x1e1b, 0x1e1a, 00363 UnicodeLatinMap::AT_tilde_below, 0 }, 00364 { 0x1e1a, UnicodeLatinMap::CT_upper, 'E', 0, 0x1e1b, 0x1e1a, 00365 UnicodeLatinMap::AT_tilde_below, 0 }, 00366 { 0x01dd, UnicodeLatinMap::CT_lower, 'e', 0, 0x01dd, 0x0045, 00367 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00368 { 0x018e, UnicodeLatinMap::CT_upper, 'E', 0, 0x0258, 0x018e, 00369 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_reversed }, 00370 { 0x0258, UnicodeLatinMap::CT_lower, 'e', 0, 0x0258, 0x018e, 00371 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_reversed }, 00372 { 0x0066, UnicodeLatinMap::CT_lower, 'f', 0, 0x0066, 0x0046, 00373 UnicodeLatinMap::AT_none, 0 }, 00374 { 0x0046, UnicodeLatinMap::CT_upper, 'F', 0, 0x0066, 0x0046, 00375 UnicodeLatinMap::AT_none, 0 }, 00376 { 0x1e1f, UnicodeLatinMap::CT_lower, 'f', 0, 0x1e1f, 0x1e1e, 00377 UnicodeLatinMap::AT_dot_above, 0 }, 00378 { 0x1e1e, UnicodeLatinMap::CT_upper, 'F', 0, 0x1e1f, 0x1e1e, 00379 UnicodeLatinMap::AT_dot_above, 0 }, 00380 { 0x0192, UnicodeLatinMap::CT_lower, 'f', 0, 0x0192, 0x0191, 00381 UnicodeLatinMap::AT_hook, 0 }, 00382 { 0x0191, UnicodeLatinMap::CT_upper, 'F', 0, 0x0192, 0x0191, 00383 UnicodeLatinMap::AT_hook, 0 }, 00384 { 0x0067, UnicodeLatinMap::CT_lower, 'g', 0, 0x0067, 0x0047, 00385 UnicodeLatinMap::AT_none, 0 }, 00386 { 0x0047, UnicodeLatinMap::CT_upper, 'G', 0, 0x0067, 0x0047, 00387 UnicodeLatinMap::AT_none, 0 }, 00388 { 0x01f5, UnicodeLatinMap::CT_lower, 'g', 0, 0x01f5, 0x01f4, 00389 UnicodeLatinMap::AT_acute, 0 }, 00390 { 0x01f4, UnicodeLatinMap::CT_upper, 'G', 0, 0x01f5, 0x01f4, 00391 UnicodeLatinMap::AT_acute, 0 }, 00392 { 0x011f, UnicodeLatinMap::CT_lower, 'g', 0, 0x011f, 0x011e, 00393 UnicodeLatinMap::AT_breve, 0 }, 00394 { 0x011e, UnicodeLatinMap::CT_upper, 'G', 0, 0x011f, 0x011e, 00395 UnicodeLatinMap::AT_breve, 0 }, 00396 { 0x011d, UnicodeLatinMap::CT_lower, 'g', 0, 0x011d, 0x011c, 00397 UnicodeLatinMap::AT_circumflex, 0 }, 00398 { 0x011c, UnicodeLatinMap::CT_upper, 'G', 0, 0x011d, 0x011c, 00399 UnicodeLatinMap::AT_circumflex, 0 }, 00400 { 0x01e7, UnicodeLatinMap::CT_lower, 'g', 0, 0x01e7, 0x01e6, 00401 UnicodeLatinMap::AT_caron, 0 }, 00402 { 0x01e6, UnicodeLatinMap::CT_upper, 'G', 0, 0x01e7, 0x01e6, 00403 UnicodeLatinMap::AT_caron, 0 }, 00404 { 0x0121, UnicodeLatinMap::CT_lower, 'g', 0, 0x0121, 0x0120, 00405 UnicodeLatinMap::AT_dot_above, 0 }, 00406 { 0x0120, UnicodeLatinMap::CT_upper, 'G', 0, 0x0121, 0x0120, 00407 UnicodeLatinMap::AT_dot_above, 0 }, 00408 { 0x0123, UnicodeLatinMap::CT_lower, 'g', 0, 0x0123, 0x0122, 00409 UnicodeLatinMap::AT_cedilla, 0 }, 00410 { 0x0122, UnicodeLatinMap::CT_upper, 'G', 0, 0x0123, 0x0122, 00411 UnicodeLatinMap::AT_cedilla, 0 }, 00412 { 0x1e21, UnicodeLatinMap::CT_lower, 'g', 0, 0x1e21, 0x1e20, 00413 UnicodeLatinMap::AT_macron, 0 }, 00414 { 0x1e20, UnicodeLatinMap::CT_upper, 'G', 0, 0x1e21, 0x1e20, 00415 UnicodeLatinMap::AT_macron, 0 }, 00416 { 0x0262, UnicodeLatinMap::CT_upper, 'G', 0, 0x0067, 0x0262, 00417 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00418 { 0x01e5, UnicodeLatinMap::CT_lower, 'g', 0, 0x01e5, 0x01e4, 00419 UnicodeLatinMap::AT_stroke, 0 }, 00420 { 0x01e4, UnicodeLatinMap::CT_upper, 'G', 0, 0x01e5, 0x01e4, 00421 UnicodeLatinMap::AT_stroke, 0 }, 00422 { 0x0260, UnicodeLatinMap::CT_lower, 'g', 0, 0x0260, 0x0193, 00423 UnicodeLatinMap::AT_hook, 0 }, 00424 { 0x0193, UnicodeLatinMap::CT_upper, 'G', 0, 0x0260, 0x0193, 00425 UnicodeLatinMap::AT_hook, 0 }, 00426 { 0x029b, UnicodeLatinMap::CT_upper, 'G', 0, 0x0067, 0x029b, 00427 UnicodeLatinMap::AT_hook, UnicodeLatinMap::AF_smallcap }, 00428 { 0x01a3, UnicodeLatinMap::CT_lower, 'o', 'i', 0x01a3, 0x01a2, 00429 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00430 { 0x01a2, UnicodeLatinMap::CT_upper, 'O', 'I', 0x01a3, 0x01a2, 00431 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00432 { 0x0068, UnicodeLatinMap::CT_lower, 'h', 0, 0x0068, 0x0048, 00433 UnicodeLatinMap::AT_none, 0 }, 00434 { 0x0048, UnicodeLatinMap::CT_upper, 'H', 0, 0x0068, 0x0048, 00435 UnicodeLatinMap::AT_none, 0 }, 00436 { 0x0125, UnicodeLatinMap::CT_lower, 'h', 0, 0x0125, 0x0124, 00437 UnicodeLatinMap::AT_circumflex, 0 }, 00438 { 0x0124, UnicodeLatinMap::CT_upper, 'H', 0, 0x0125, 0x0124, 00439 UnicodeLatinMap::AT_circumflex, 0 }, 00440 { 0x021f, UnicodeLatinMap::CT_lower, 'h', 0, 0x021f, 0x021e, 00441 UnicodeLatinMap::AT_caron, 0 }, 00442 { 0x021e, UnicodeLatinMap::CT_upper, 'H', 0, 0x021f, 0x021e, 00443 UnicodeLatinMap::AT_caron, 0 }, 00444 { 0x1e27, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e27, 0x1e26, 00445 UnicodeLatinMap::AT_diaeresis, 0 }, 00446 { 0x1e26, UnicodeLatinMap::CT_upper, 'H', 0, 0x1e27, 0x1e26, 00447 UnicodeLatinMap::AT_diaeresis, 0 }, 00448 { 0x1e23, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e23, 0x1e22, 00449 UnicodeLatinMap::AT_dot_above, 0 }, 00450 { 0x1e22, UnicodeLatinMap::CT_upper, 'H', 0, 0x1e23, 0x1e22, 00451 UnicodeLatinMap::AT_dot_above, 0 }, 00452 { 0x1e29, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e29, 0x1e28, 00453 UnicodeLatinMap::AT_cedilla, 0 }, 00454 { 0x1e28, UnicodeLatinMap::CT_upper, 'H', 0, 0x1e29, 0x1e28, 00455 UnicodeLatinMap::AT_cedilla, 0 }, 00456 { 0x1e25, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e25, 0x1e24, 00457 UnicodeLatinMap::AT_dot_below, 0 }, 00458 { 0x1e24, UnicodeLatinMap::CT_upper, 'H', 0, 0x1e25, 0x1e24, 00459 UnicodeLatinMap::AT_dot_below, 0 }, 00460 { 0x1e2b, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e2b, 0x1e2a, 00461 UnicodeLatinMap::AT_breve_below, 0 }, 00462 { 0x1e2a, UnicodeLatinMap::CT_upper, 'H', 0, 0x1e2b, 0x1e2a, 00463 UnicodeLatinMap::AT_breve_below, 0 }, 00464 { 0x1e96, UnicodeLatinMap::CT_lower, 'h', 0, 0x1e96, 0x0048, 00465 UnicodeLatinMap::AT_line_below, 0 }, 00466 { 0x029c, UnicodeLatinMap::CT_upper, 'H', 0, 0x0068, 0x029c, 00467 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00468 { 0x0195, UnicodeLatinMap::CT_lower, 'h', 'v', 0x0195, 0x195, 00469 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00470 { 0x0127, UnicodeLatinMap::CT_lower, 'h', 0, 0x0127, 0x0126, 00471 UnicodeLatinMap::AT_stroke, 0 }, 00472 { 0x0126, UnicodeLatinMap::CT_upper, 'H', 0, 0x0127, 0x0126, 00473 UnicodeLatinMap::AT_stroke, 0 }, 00474 { 0x0266, UnicodeLatinMap::CT_lower, 'h', 0, 0x0266, 0x0048, 00475 UnicodeLatinMap::AT_hook, 0 }, 00476 { 0x0069, UnicodeLatinMap::CT_lower, 'i', 0, 0x0069, 0x0049, 00477 UnicodeLatinMap::AT_none, 0 }, 00478 { 0x0049, UnicodeLatinMap::CT_upper, 'I', 0, 0x0069, 0x0049, 00479 UnicodeLatinMap::AT_none, 0 }, 00480 { 0x00ed, UnicodeLatinMap::CT_lower, 'i', 0, 0x00ed, 0x00cd, 00481 UnicodeLatinMap::AT_acute, 0 }, 00482 { 0x00cd, UnicodeLatinMap::CT_upper, 'I', 0, 0x00ed, 0x00cd, 00483 UnicodeLatinMap::AT_acute, 0 }, 00484 { 0x00ec, UnicodeLatinMap::CT_lower, 'i', 0, 0x00ec, 0x00cc, 00485 UnicodeLatinMap::AT_grave, 0 }, 00486 { 0x00cc, UnicodeLatinMap::CT_upper, 'I', 0, 0x00ec, 0x00cc, 00487 UnicodeLatinMap::AT_grave, 0 }, 00488 { 0x012d, UnicodeLatinMap::CT_lower, 'i', 0, 0x012d, 0x012c, 00489 UnicodeLatinMap::AT_breve, 0 }, 00490 { 0x012c, UnicodeLatinMap::CT_upper, 'I', 0, 0x012d, 0x012c, 00491 UnicodeLatinMap::AT_breve, 0 }, 00492 { 0x00ee, UnicodeLatinMap::CT_lower, 'i', 0, 0x00ee, 0x00ce, 00493 UnicodeLatinMap::AT_circumflex, 0 }, 00494 { 0x00ce, UnicodeLatinMap::CT_upper, 'I', 0, 0x00ee, 0x00ce, 00495 UnicodeLatinMap::AT_circumflex, 0 }, 00496 { 0x01d0, UnicodeLatinMap::CT_lower, 'i', 0, 0x01d0, 0x01cf, 00497 UnicodeLatinMap::AT_caron, 0 }, 00498 { 0x01cf, UnicodeLatinMap::CT_upper, 'I', 0, 0x01d0, 0x01cf, 00499 UnicodeLatinMap::AT_caron, 0 }, 00500 { 0x00ef, UnicodeLatinMap::CT_lower, 'i', 0, 0x00ef, 0x00cf, 00501 UnicodeLatinMap::AT_diaeresis, 0 }, 00502 { 0x00cf, UnicodeLatinMap::CT_upper, 'I', 0, 0x00ef, 0x00cf, 00503 UnicodeLatinMap::AT_diaeresis, 0 }, 00504 { 0x1e2f, UnicodeLatinMap::CT_lower, 'i', 0, 0x1e2f, 0x1e2e, 00505 UnicodeLatinMap::AT_diaeresis_and_acute, 0 }, 00506 { 0x1e2e, UnicodeLatinMap::CT_upper, 'I', 0, 0x1e2f, 0x1e2e, 00507 UnicodeLatinMap::AT_diaeresis_and_acute, 0 }, 00508 { 0x0129, UnicodeLatinMap::CT_lower, 'i', 0, 0x0129, 0x0128, 00509 UnicodeLatinMap::AT_tilde, 0 }, 00510 { 0x0128, UnicodeLatinMap::CT_upper, 'I', 0, 0x0129, 0x0128, 00511 UnicodeLatinMap::AT_tilde, 0 }, 00512 { 0x0130, UnicodeLatinMap::CT_upper, 'I', 0, 0x0069, 0x0130, 00513 UnicodeLatinMap::AT_dot_above, 0 }, 00514 { 0x012f, UnicodeLatinMap::CT_lower, 'i', 0, 0x012f, 0x012e, 00515 UnicodeLatinMap::AT_ogonek, 0 }, 00516 { 0x012e, UnicodeLatinMap::CT_upper, 'I', 0, 0x012f, 0x012e, 00517 UnicodeLatinMap::AT_ogonek, 0 }, 00518 { 0x012b, UnicodeLatinMap::CT_lower, 'i', 0, 0x012b, 0x012a, 00519 UnicodeLatinMap::AT_macron, 0 }, 00520 { 0x012a, UnicodeLatinMap::CT_upper, 'I', 0, 0x012b, 0x012a, 00521 UnicodeLatinMap::AT_macron, 0 }, 00522 { 0x1ec9, UnicodeLatinMap::CT_lower, 'i', 0, 0x1ec9, 0x1ec8, 00523 UnicodeLatinMap::AT_hook_above, 0 }, 00524 { 0x1ec8, UnicodeLatinMap::CT_upper, 'I', 0, 0x1ec9, 0x1ec8, 00525 UnicodeLatinMap::AT_hook_above, 0 }, 00526 { 0x0209, UnicodeLatinMap::CT_lower, 'i', 0, 0x0209, 0x0208, 00527 UnicodeLatinMap::AT_double_grave, 0 }, 00528 { 0x0208, UnicodeLatinMap::CT_upper, 'I', 0, 0x0209, 0x0208, 00529 UnicodeLatinMap::AT_double_grave, 0 }, 00530 { 0x020b, UnicodeLatinMap::CT_lower, 'i', 0, 0x020b, 0x020a, 00531 UnicodeLatinMap::AT_inverted_breve, 0 }, 00532 { 0x020a, UnicodeLatinMap::CT_upper, 'I', 0, 0x020b, 0x020a, 00533 UnicodeLatinMap::AT_inverted_breve, 0 }, 00534 { 0x1ecb, UnicodeLatinMap::CT_lower, 'i', 0, 0x1ecb, 0x1eca, 00535 UnicodeLatinMap::AT_dot_below, 0 }, 00536 { 0x1eca, UnicodeLatinMap::CT_upper, 'I', 0, 0x1ecb, 0x1eca, 00537 UnicodeLatinMap::AT_dot_below, 0 }, 00538 { 0x1e2d, UnicodeLatinMap::CT_lower, 'i', 0, 0x1e2d, 0x1e2c, 00539 UnicodeLatinMap::AT_tilde_below, 0 }, 00540 { 0x1e2c, UnicodeLatinMap::CT_upper, 'I', 0, 0x1e2d, 0x1e2c, 00541 UnicodeLatinMap::AT_tilde_below, 0 }, 00542 { 0x0131, UnicodeLatinMap::CT_lower, 'i', 0, 0x0131, 0x0049, 00543 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_dotless }, 00544 { 0x026a, UnicodeLatinMap::CT_upper, 'I', 0, 0x0069, 0x026a, 00545 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00546 { 0x0268, UnicodeLatinMap::CT_lower, 'i', 0, 0x0268, 0x0197, 00547 UnicodeLatinMap::AT_stroke, 0 }, 00548 { 0x0197, UnicodeLatinMap::CT_upper, 'I', 0, 0x0268, 0x0197, 00549 UnicodeLatinMap::AT_stroke, 0 }, 00550 { 0x006a, UnicodeLatinMap::CT_lower, 'j', 0, 0x006a, 0x004a, 00551 UnicodeLatinMap::AT_none, 0 }, 00552 { 0x004a, UnicodeLatinMap::CT_upper, 'J', 0, 0x006a, 0x004a, 00553 UnicodeLatinMap::AT_none, 0 }, 00554 { 0x0135, UnicodeLatinMap::CT_lower, 'j', 0, 0x0135, 0x0134, 00555 UnicodeLatinMap::AT_circumflex, 0 }, 00556 { 0x0134, UnicodeLatinMap::CT_upper, 'J', 0, 0x0135, 0x0134, 00557 UnicodeLatinMap::AT_circumflex, 0 }, 00558 { 0x01f0, UnicodeLatinMap::CT_lower, 'j', 0, 0x01f0, 0x004a, 00559 UnicodeLatinMap::AT_caron, 0 }, 00560 { 0x025f, UnicodeLatinMap::CT_lower, 'j', 0, 0x025f, 0x004a, 00561 UnicodeLatinMap::AT_stroke, UnicodeLatinMap::AF_dotless }, 00562 { 0x0284, UnicodeLatinMap::CT_lower, 'j', 0, 0x0284, 0x004a, 00563 UnicodeLatinMap::AT_stroke_and_hook, UnicodeLatinMap::AF_dotless }, 00564 { 0x006b, UnicodeLatinMap::CT_lower, 'k', 0, 0x006b, 0x004b, 00565 UnicodeLatinMap::AT_none, 0 }, 00566 { 0x004b, UnicodeLatinMap::CT_upper, 'K', 0, 0x006b, 0x004b, 00567 UnicodeLatinMap::AT_none, 0 }, 00568 { 0x1e31, UnicodeLatinMap::CT_lower, 'k', 0, 0x1e31, 0x1e30, 00569 UnicodeLatinMap::AT_acute, 0 }, 00570 { 0x1e30, UnicodeLatinMap::CT_upper, 'K', 0, 0x1e31, 0x1e30, 00571 UnicodeLatinMap::AT_acute, 0 }, 00572 { 0x01e9, UnicodeLatinMap::CT_lower, 'k', 0, 0x01e9, 0x01e8, 00573 UnicodeLatinMap::AT_caron, 0 }, 00574 { 0x01e8, UnicodeLatinMap::CT_upper, 'K', 0, 0x01e9, 0x01e8, 00575 UnicodeLatinMap::AT_caron, 0 }, 00576 { 0x0137, UnicodeLatinMap::CT_lower, 'k', 0, 0x0137, 0x0136, 00577 UnicodeLatinMap::AT_cedilla, 0 }, 00578 { 0x0136, UnicodeLatinMap::CT_upper, 'K', 0, 0x0137, 0x0136, 00579 UnicodeLatinMap::AT_cedilla, 0 }, 00580 { 0x1e33, UnicodeLatinMap::CT_lower, 'k', 0, 0x1e33, 0x1e32, 00581 UnicodeLatinMap::AT_dot_below, 0 }, 00582 { 0x1e32, UnicodeLatinMap::CT_upper, 'K', 0, 0x1e33, 0x1e32, 00583 UnicodeLatinMap::AT_dot_below, 0 }, 00584 { 0x1e35, UnicodeLatinMap::CT_lower, 'k', 0, 0x1e35, 0x1e34, 00585 UnicodeLatinMap::AT_line_below, 0 }, 00586 { 0x1e34, UnicodeLatinMap::CT_upper, 'K', 0, 0x1e35, 0x1e34, 00587 UnicodeLatinMap::AT_line_below, 0 }, 00588 { 0x0199, UnicodeLatinMap::CT_lower, 'k', 0, 0x0199, 0x0198, 00589 UnicodeLatinMap::AT_hook, 0 }, 00590 { 0x0198, UnicodeLatinMap::CT_upper, 'K', 0, 0x0199, 0x0198, 00591 UnicodeLatinMap::AT_hook, 0 }, 00592 { 0x029e, UnicodeLatinMap::CT_lower, 'k', 0, 0x029e, 0x004b, 00593 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00594 { 0x006c, UnicodeLatinMap::CT_lower, 'l', 0, 0x006c, 0x004c, 00595 UnicodeLatinMap::AT_none, 0 }, 00596 { 0x004c, UnicodeLatinMap::CT_upper, 'L', 0, 0x006c, 0x004c, 00597 UnicodeLatinMap::AT_none, 0 }, 00598 { 0x013a, UnicodeLatinMap::CT_lower, 'l', 0, 0x013a, 0x0139, 00599 UnicodeLatinMap::AT_acute, 0 }, 00600 { 0x0139, UnicodeLatinMap::CT_upper, 'L', 0, 0x013a, 0x0139, 00601 UnicodeLatinMap::AT_acute, 0 }, 00602 { 0x013e, UnicodeLatinMap::CT_lower, 'l', 0, 0x013e, 0x013d, 00603 UnicodeLatinMap::AT_caron, 0 }, 00604 { 0x013d, UnicodeLatinMap::CT_upper, 'L', 0, 0x013e, 0x013d, 00605 UnicodeLatinMap::AT_caron, 0 }, 00606 { 0x013c, UnicodeLatinMap::CT_lower, 'l', 0, 0x013c, 0x013b, 00607 UnicodeLatinMap::AT_cedilla, 0 }, 00608 { 0x013b, UnicodeLatinMap::CT_upper, 'L', 0, 0x013c, 0x013b, 00609 UnicodeLatinMap::AT_cedilla, 0 }, 00610 { 0x1e37, UnicodeLatinMap::CT_lower, 'l', 0, 0x1e37, 0x1e36, 00611 UnicodeLatinMap::AT_dot_below, 0 }, 00612 { 0x1e36, UnicodeLatinMap::CT_upper, 'L', 0, 0x1e37, 0x1e36, 00613 UnicodeLatinMap::AT_dot_below, 0 }, 00614 { 0x1e39, UnicodeLatinMap::CT_lower, 'l', 0, 0x1e39, 0x1e38, 00615 UnicodeLatinMap::AT_dot_below_and_macron, 0 }, 00616 { 0x1e38, UnicodeLatinMap::CT_upper, 'L', 0, 0x1e39, 0x1e38, 00617 UnicodeLatinMap::AT_dot_below_and_macron, 0 }, 00618 { 0x1e3d, UnicodeLatinMap::CT_lower, 'l', 0, 0x1e3d, 0x1e3c, 00619 UnicodeLatinMap::AT_circumflex_below, 0 }, 00620 { 0x1e3c, UnicodeLatinMap::CT_upper, 'L', 0, 0x1e3d, 0x1e3c, 00621 UnicodeLatinMap::AT_circumflex_below, 0 }, 00622 { 0x1e3b, UnicodeLatinMap::CT_lower, 'l', 0, 0x1e3b, 0x1e3a, 00623 UnicodeLatinMap::AT_line_below, 0 }, 00624 { 0x1e3a, UnicodeLatinMap::CT_upper, 'L', 0, 0x1e3b, 0x1e3a, 00625 UnicodeLatinMap::AT_line_below, 0 }, 00626 { 0x01c9, UnicodeLatinMap::CT_lower, 'l', 'j', 0x01c9, 0x01c7, 00627 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00628 { 0x01c8, UnicodeLatinMap::CT_upper, 'L', 'j', 0x01c9, 0x01c7, 00629 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00630 { 0x01c7, UnicodeLatinMap::CT_upper, 'L', 'J', 0x01c9, 0x01c7, 00631 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00632 { 0x029f, UnicodeLatinMap::CT_upper, 'L', 0, 0x006c, 0x029f, 00633 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00634 { 0x0142, UnicodeLatinMap::CT_lower, 'l', 0, 0x0142, 0x0141, 00635 UnicodeLatinMap::AT_stroke, 0 }, 00636 { 0x0141, UnicodeLatinMap::CT_upper, 'L', 0, 0x0142, 0x0141, 00637 UnicodeLatinMap::AT_stroke, 0 }, 00638 { 0x028e, UnicodeLatinMap::CT_lower, 'y', 0, 0x028e, 0x0059, 00639 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00640 { 0x006d, UnicodeLatinMap::CT_lower, 'm', 0, 0x006d, 0x004d, 00641 UnicodeLatinMap::AT_none, 0 }, 00642 { 0x004d, UnicodeLatinMap::CT_upper, 'M', 0, 0x006d, 0x004d, 00643 UnicodeLatinMap::AT_none, 0 }, 00644 { 0x1e3f, UnicodeLatinMap::CT_lower, 'm', 0, 0x1e3f, 0x1e3e, 00645 UnicodeLatinMap::AT_acute, 0 }, 00646 { 0x1e3e, UnicodeLatinMap::CT_upper, 'M', 0, 0x1e3f, 0x1e3e, 00647 UnicodeLatinMap::AT_acute, 0 }, 00648 { 0x1e41, UnicodeLatinMap::CT_lower, 'm', 0, 0x1e41, 0x1e40, 00649 UnicodeLatinMap::AT_dot_above, 0 }, 00650 { 0x1e40, UnicodeLatinMap::CT_upper, 'M', 0, 0x1e41, 0x1e40, 00651 UnicodeLatinMap::AT_dot_above, 0 }, 00652 { 0x1e43, UnicodeLatinMap::CT_lower, 'm', 0, 0x1e43, 0x1e42, 00653 UnicodeLatinMap::AT_dot_below, 0 }, 00654 { 0x1e42, UnicodeLatinMap::CT_upper, 'M', 0, 0x1e43, 0x1e42, 00655 UnicodeLatinMap::AT_dot_below, 0 }, 00656 { 0x0271, UnicodeLatinMap::CT_lower, 'm', 0, 0x0271, 0x004d, 00657 UnicodeLatinMap::AT_hook, 0 }, 00658 { 0x006e, UnicodeLatinMap::CT_lower, 'n', 0, 0x006e, 0x004e, 00659 UnicodeLatinMap::AT_none, 0 }, 00660 { 0x004e, UnicodeLatinMap::CT_upper, 'N', 0, 0x006e, 0x004e, 00661 UnicodeLatinMap::AT_none, 0 }, 00662 { 0x0144, UnicodeLatinMap::CT_lower, 'n', 0, 0x0144, 0x0143, 00663 UnicodeLatinMap::AT_acute, 0 }, 00664 { 0x0143, UnicodeLatinMap::CT_upper, 'N', 0, 0x0144, 0x0143, 00665 UnicodeLatinMap::AT_acute, 0 }, 00666 { 0x01f9, UnicodeLatinMap::CT_lower, 'n', 0, 0x01f9, 0x01f8, 00667 UnicodeLatinMap::AT_grave, 0 }, 00668 { 0x01f8, UnicodeLatinMap::CT_upper, 'N', 0, 0x01f9, 0x01f8, 00669 UnicodeLatinMap::AT_grave, 0 }, 00670 { 0x0148, UnicodeLatinMap::CT_lower, 'n', 0, 0x0148, 0x0147, 00671 UnicodeLatinMap::AT_caron, 0 }, 00672 { 0x0147, UnicodeLatinMap::CT_upper, 'N', 0, 0x0148, 0x0147, 00673 UnicodeLatinMap::AT_caron, 0 }, 00674 { 0x00f1, UnicodeLatinMap::CT_lower, 'n', 0, 0x00f1, 0x00d1, 00675 UnicodeLatinMap::AT_tilde, 0 }, 00676 { 0x00d1, UnicodeLatinMap::CT_upper, 'N', 0, 0x00f1, 0x00d1, 00677 UnicodeLatinMap::AT_tilde, 0 }, 00678 { 0x1e45, UnicodeLatinMap::CT_lower, 'n', 0, 0x1e45, 0x1e44, 00679 UnicodeLatinMap::AT_dot_above, 0 }, 00680 { 0x1e44, UnicodeLatinMap::CT_upper, 'N', 0, 0x1e45, 0x1e44, 00681 UnicodeLatinMap::AT_dot_above, 0 }, 00682 { 0x0146, UnicodeLatinMap::CT_lower, 'n', 0, 0x0146, 0x0145, 00683 UnicodeLatinMap::AT_cedilla, 0 }, 00684 { 0x0145, UnicodeLatinMap::CT_upper, 'N', 0, 0x0146, 0x0145, 00685 UnicodeLatinMap::AT_cedilla, 0 }, 00686 { 0x1e47, UnicodeLatinMap::CT_lower, 'n', 0, 0x1e47, 0x1e46, 00687 UnicodeLatinMap::AT_dot_below, 0 }, 00688 { 0x1e46, UnicodeLatinMap::CT_upper, 'N', 0, 0x1e47, 0x1e46, 00689 UnicodeLatinMap::AT_dot_below, 0 }, 00690 { 0x1e4b, UnicodeLatinMap::CT_lower, 'n', 0, 0x1e4b, 0x1e4a, 00691 UnicodeLatinMap::AT_circumflex_below, 0 }, 00692 { 0x1e4a, UnicodeLatinMap::CT_upper, 'N', 0, 0x1e4b, 0x1e4a, 00693 UnicodeLatinMap::AT_circumflex_below, 0 }, 00694 { 0x1e49, UnicodeLatinMap::CT_lower, 'n', 0, 0x1e49, 0x1e48, 00695 UnicodeLatinMap::AT_line_below, 0 }, 00696 { 0x1e48, UnicodeLatinMap::CT_upper, 'N', 0, 0x1e49, 0x1e48, 00697 UnicodeLatinMap::AT_line_below, 0 }, 00698 { 0x01cc, UnicodeLatinMap::CT_lower, 'n', 'j', 0x01cc, 0x01ca, 00699 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00700 { 0x01cb, UnicodeLatinMap::CT_upper, 'N', 'j', 0x01cc, 0x01ca, 00701 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00702 { 0x01ca, UnicodeLatinMap::CT_upper, 'N', 'J', 0x01cc, 0x01ca, 00703 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00704 { 0x0274, UnicodeLatinMap::CT_upper, 'N', 0, 0x006e, 0x0274, 00705 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00706 { 0x006f, UnicodeLatinMap::CT_lower, 'o', 0, 0x006f, 0x004f, 00707 UnicodeLatinMap::AT_none, 0 }, 00708 { 0x004f, UnicodeLatinMap::CT_upper, 'O', 0, 0x006f, 0x004f, 00709 UnicodeLatinMap::AT_none, 0 }, 00710 { 0x00f3, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f3, 0x00d3, 00711 UnicodeLatinMap::AT_acute, 0 }, 00712 { 0x00d3, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f3, 0x00d3, 00713 UnicodeLatinMap::AT_acute, 0 }, 00714 { 0x00f2, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f2, 0x00d2, 00715 UnicodeLatinMap::AT_grave, 0 }, 00716 { 0x00d2, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f2, 0x00d2, 00717 UnicodeLatinMap::AT_grave, 0 }, 00718 { 0x014f, UnicodeLatinMap::CT_lower, 'o', 0, 0x014f, 0x014e, 00719 UnicodeLatinMap::AT_breve, 0 }, 00720 { 0x014e, UnicodeLatinMap::CT_upper, 'O', 0, 0x014f, 0x014e, 00721 UnicodeLatinMap::AT_breve, 0 }, 00722 { 0x00f4, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f4, 0x00d4, 00723 UnicodeLatinMap::AT_circumflex, 0 }, 00724 { 0x00d4, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f4, 0x00d4, 00725 UnicodeLatinMap::AT_circumflex, 0 }, 00726 { 0x1ed1, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ed1, 0x1ed0, 00727 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00728 { 0x1ed0, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ed1, 0x1ed0, 00729 UnicodeLatinMap::AT_circumflex_and_acute, 0 }, 00730 { 0x1ed3, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ed3, 0x1ed2, 00731 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00732 { 0x1ed2, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ed3, 0x1ed2, 00733 UnicodeLatinMap::AT_circumflex_and_grave, 0 }, 00734 { 0x1ed7, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ed7, 0x1ed6, 00735 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00736 { 0x1ed6, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ed7, 0x1ed6, 00737 UnicodeLatinMap::AT_circumflex_and_tilde, 0 }, 00738 { 0x1ed5, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ed5, 0x1ed4, 00739 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00740 { 0x1ed4, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ed5, 0x1ed4, 00741 UnicodeLatinMap::AT_circumflex_and_hook_above, 0 }, 00742 { 0x01d2, UnicodeLatinMap::CT_lower, 'o', 0, 0x01d2, 0x01d1, 00743 UnicodeLatinMap::AT_caron, 0 }, 00744 { 0x01d1, UnicodeLatinMap::CT_upper, 'O', 0, 0x01d2, 0x01d1, 00745 UnicodeLatinMap::AT_caron, 0 }, 00746 { 0x00f6, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f6, 0x00d6, 00747 UnicodeLatinMap::AT_diaeresis, 0 }, 00748 { 0x00d6, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f6, 0x00d6, 00749 UnicodeLatinMap::AT_diaeresis, 0 }, 00750 { 0x022b, UnicodeLatinMap::CT_lower, 'o', 0, 0x022b, 0x022a, 00751 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 00752 { 0x022a, UnicodeLatinMap::CT_upper, 'O', 0, 0x022b, 0x022a, 00753 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 00754 { 0x0151, UnicodeLatinMap::CT_lower, 'o', 0, 0x0151, 0x0150, 00755 UnicodeLatinMap::AT_double_acute, 0 }, 00756 { 0x0150, UnicodeLatinMap::CT_upper, 'O', 0, 0x0151, 0x0150, 00757 UnicodeLatinMap::AT_double_acute, 0 }, 00758 { 0x00f5, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f5, 0x00d5, 00759 UnicodeLatinMap::AT_tilde, 0 }, 00760 { 0x00d5, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f5, 0x00d5, 00761 UnicodeLatinMap::AT_tilde, 0 }, 00762 { 0x1e4d, UnicodeLatinMap::CT_lower, 'o', 0, 0x1e4d, 0x1e4c, 00763 UnicodeLatinMap::AT_tilde_and_acute, 0 }, 00764 { 0x1e4c, UnicodeLatinMap::CT_upper, 'O', 0, 0x1e4d, 0x1e4c, 00765 UnicodeLatinMap::AT_tilde_and_acute, 0 }, 00766 { 0x1e4f, UnicodeLatinMap::CT_lower, 'o', 0, 0x1e4f, 0x1e4e, 00767 UnicodeLatinMap::AT_tilde_and_diaeresis, 0 }, 00768 { 0x1e4e, UnicodeLatinMap::CT_upper, 'O', 0, 0x1e4f, 0x1e4e, 00769 UnicodeLatinMap::AT_tilde_and_diaeresis, 0 }, 00770 { 0x022d, UnicodeLatinMap::CT_lower, 'o', 0, 0x022d, 0x022c, 00771 UnicodeLatinMap::AT_tilde_and_macron, 0 }, 00772 { 0x022c, UnicodeLatinMap::CT_upper, 'O', 0, 0x022d, 0x022c, 00773 UnicodeLatinMap::AT_tilde_and_macron, 0 }, 00774 { 0x022f, UnicodeLatinMap::CT_lower, 'o', 0, 0x022f, 0x022e, 00775 UnicodeLatinMap::AT_dot_above, 0 }, 00776 { 0x022e, UnicodeLatinMap::CT_upper, 'O', 0, 0x022f, 0x022e, 00777 UnicodeLatinMap::AT_dot_above, 0 }, 00778 { 0x0231, UnicodeLatinMap::CT_lower, 'o', 0, 0x0231, 0x0230, 00779 UnicodeLatinMap::AT_dot_above_and_macron, 0 }, 00780 { 0x0230, UnicodeLatinMap::CT_upper, 'O', 0, 0x0231, 0x0230, 00781 UnicodeLatinMap::AT_dot_above_and_macron, 0 }, 00782 { 0x01eb, UnicodeLatinMap::CT_lower, 'o', 0, 0x01eb, 0x01ea, 00783 UnicodeLatinMap::AT_ogonek, 0 }, 00784 { 0x01ea, UnicodeLatinMap::CT_upper, 'O', 0, 0x01eb, 0x01ea, 00785 UnicodeLatinMap::AT_ogonek, 0 }, 00786 { 0x01ed, UnicodeLatinMap::CT_lower, 'o', 0, 0x01ed, 0x01ec, 00787 UnicodeLatinMap::AT_ogonek_and_macron, 0 }, 00788 { 0x01ec, UnicodeLatinMap::CT_upper, 'O', 0, 0x01ed, 0x01ec, 00789 UnicodeLatinMap::AT_ogonek_and_macron, 0 }, 00790 { 0x014d, UnicodeLatinMap::CT_lower, 'o', 0, 0x014d, 0x014c, 00791 UnicodeLatinMap::AT_macron, 0 }, 00792 { 0x014c, UnicodeLatinMap::CT_upper, 'O', 0, 0x014d, 0x014c, 00793 UnicodeLatinMap::AT_macron, 0 }, 00794 { 0x1e53, UnicodeLatinMap::CT_lower, 'o', 0, 0x1e53, 0x1e52, 00795 UnicodeLatinMap::AT_macron_and_acute, 0 }, 00796 { 0x1e52, UnicodeLatinMap::CT_upper, 'O', 0, 0x1e53, 0x1e52, 00797 UnicodeLatinMap::AT_macron_and_acute, 0 }, 00798 { 0x1e51, UnicodeLatinMap::CT_lower, 'o', 0, 0x1e51, 0x1e50, 00799 UnicodeLatinMap::AT_macron_and_grave, 0 }, 00800 { 0x1e50, UnicodeLatinMap::CT_upper, 'O', 0, 0x1e51, 0x1e50, 00801 UnicodeLatinMap::AT_macron_and_grave, 0 }, 00802 { 0x1ecf, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ecf, 0x1ece, 00803 UnicodeLatinMap::AT_hook_above, 0 }, 00804 { 0x1ece, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ecf, 0x1ece, 00805 UnicodeLatinMap::AT_hook_above, 0 }, 00806 { 0x020d, UnicodeLatinMap::CT_lower, 'o', 0, 0x020d, 0x020c, 00807 UnicodeLatinMap::AT_double_grave, 0 }, 00808 { 0x020c, UnicodeLatinMap::CT_upper, 'O', 0, 0x020d, 0x020c, 00809 UnicodeLatinMap::AT_double_grave, 0 }, 00810 { 0x020f, UnicodeLatinMap::CT_lower, 'o', 0, 0x020f, 0x020e, 00811 UnicodeLatinMap::AT_inverted_breve, 0 }, 00812 { 0x020e, UnicodeLatinMap::CT_upper, 'O', 0, 0x020f, 0x020e, 00813 UnicodeLatinMap::AT_inverted_breve, 0 }, 00814 { 0x01a1, UnicodeLatinMap::CT_lower, 'o', 0, 0x01a1, 0x01a0, 00815 UnicodeLatinMap::AT_horn, 0 }, 00816 { 0x01a0, UnicodeLatinMap::CT_upper, 'O', 0, 0x01a1, 0x01a0, 00817 UnicodeLatinMap::AT_horn, 0 }, 00818 { 0x1edb, UnicodeLatinMap::CT_lower, 'o', 0, 0x1edb, 0x1eda, 00819 UnicodeLatinMap::AT_horn_and_acute, 0 }, 00820 { 0x1eda, UnicodeLatinMap::CT_upper, 'O', 0, 0x1edb, 0x1eda, 00821 UnicodeLatinMap::AT_horn_and_acute, 0 }, 00822 { 0x1edd, UnicodeLatinMap::CT_lower, 'o', 0, 0x1edd, 0x1edc, 00823 UnicodeLatinMap::AT_horn_and_grave, 0 }, 00824 { 0x1edc, UnicodeLatinMap::CT_upper, 'O', 0, 0x1edd, 0x1edc, 00825 UnicodeLatinMap::AT_horn_and_grave, 0 }, 00826 { 0x1ee1, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ee1, 0x1ee0, 00827 UnicodeLatinMap::AT_horn_and_tilde, 0 }, 00828 { 0x1ee0, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ee1, 0x1ee0, 00829 UnicodeLatinMap::AT_horn_and_tilde, 0 }, 00830 { 0x1edf, UnicodeLatinMap::CT_lower, 'o', 0, 0x1edf, 0x1ede, 00831 UnicodeLatinMap::AT_horn_and_hook_above, 0 }, 00832 { 0x1ede, UnicodeLatinMap::CT_upper, 'O', 0, 0x1edf, 0x1ede, 00833 UnicodeLatinMap::AT_horn_and_hook_above, 0 }, 00834 { 0x1ee3, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ee3, 0x1ee2, 00835 UnicodeLatinMap::AT_horn_and_dot_below, 0 }, 00836 { 0x1ee2, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ee3, 0x1ee2, 00837 UnicodeLatinMap::AT_horn_and_dot_below, 0 }, 00838 { 0x1ecd, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ecd, 0x1ecc, 00839 UnicodeLatinMap::AT_dot_below, 0 }, 00840 { 0x1ecc, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ecd, 0x1ecc, 00841 UnicodeLatinMap::AT_dot_below, 0 }, 00842 { 0x1ed9, UnicodeLatinMap::CT_lower, 'o', 0, 0x1ed9, 0x1ed8, 00843 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00844 { 0x1ed8, UnicodeLatinMap::CT_upper, 'O', 0, 0x1ed9, 0x1ed8, 00845 UnicodeLatinMap::AT_circumflex_and_dot_below, 0 }, 00846 { 0x0153, UnicodeLatinMap::CT_lower, 'o', 'e', 0x0153, 0x0152, 00847 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00848 { 0x0152, UnicodeLatinMap::CT_upper, 'O', 'E', 0x0153, 0x0152, 00849 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_ligature }, 00850 { 0x0276, UnicodeLatinMap::CT_upper, 'O', 'E', 0x0153, 0x0276, 00851 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap | UnicodeLatinMap::AF_ligature }, 00852 { 0x00f8, UnicodeLatinMap::CT_lower, 'o', 0, 0x00f8, 0x00d8, 00853 UnicodeLatinMap::AT_stroke, 0 }, 00854 { 0x00d8, UnicodeLatinMap::CT_upper, 'O', 0, 0x00f8, 0x00d8, 00855 UnicodeLatinMap::AT_stroke, 0 }, 00856 { 0x01ff, UnicodeLatinMap::CT_lower, 'o', 0, 0x01ff, 0x01fe, 00857 UnicodeLatinMap::AT_stroke_and_acute, 0 }, 00858 { 0x01fe, UnicodeLatinMap::CT_upper, 'O', 0, 0x01ff, 0x01fe, 00859 UnicodeLatinMap::AT_stroke_and_acute, 0 }, 00860 { 0x0070, UnicodeLatinMap::CT_lower, 'p', 0, 0x0070, 0x0050, 00861 UnicodeLatinMap::AT_none, 0 }, 00862 { 0x0050, UnicodeLatinMap::CT_upper, 'P', 0, 0x0070, 0x0050, 00863 UnicodeLatinMap::AT_none, 0 }, 00864 { 0x1e55, UnicodeLatinMap::CT_lower, 'p', 0, 0x1e55, 0x1e54, 00865 UnicodeLatinMap::AT_acute, 0 }, 00866 { 0x1e54, UnicodeLatinMap::CT_upper, 'P', 0, 0x1e55, 0x1e54, 00867 UnicodeLatinMap::AT_acute, 0 }, 00868 { 0x1e57, UnicodeLatinMap::CT_lower, 'p', 0, 0x1e57, 0x1e56, 00869 UnicodeLatinMap::AT_dot_above, 0 }, 00870 { 0x1e56, UnicodeLatinMap::CT_upper, 'P', 0, 0x1e57, 0x1e56, 00871 UnicodeLatinMap::AT_dot_above, 0 }, 00872 { 0x01a5, UnicodeLatinMap::CT_lower, 'p', 0, 0x01a5, 0x01a4, 00873 UnicodeLatinMap::AT_hook, 0 }, 00874 { 0x01a4, UnicodeLatinMap::CT_upper, 'P', 0, 0x01a5, 0x01a4, 00875 UnicodeLatinMap::AT_hook, 0 }, 00876 { 0x0071, UnicodeLatinMap::CT_lower, 'q', 0, 0x0071, 0x0051, 00877 UnicodeLatinMap::AT_none, 0 }, 00878 { 0x0051, UnicodeLatinMap::CT_upper, 'Q', 0, 0x0071, 0x0051, 00879 UnicodeLatinMap::AT_none, 0 }, 00880 { 0x02a0, UnicodeLatinMap::CT_lower, 'q', 0, 0x02a0, 0x0051, 00881 UnicodeLatinMap::AT_hook, 0 }, 00882 { 0x0072, UnicodeLatinMap::CT_lower, 'r', 0, 0x0072, 0x0052, 00883 UnicodeLatinMap::AT_none, 0 }, 00884 { 0x0052, UnicodeLatinMap::CT_upper, 'R', 0, 0x0072, 0x0052, 00885 UnicodeLatinMap::AT_none, 0 }, 00886 { 0x0155, UnicodeLatinMap::CT_lower, 'r', 0, 0x0155, 0x0154, 00887 UnicodeLatinMap::AT_acute, 0 }, 00888 { 0x0154, UnicodeLatinMap::CT_upper, 'R', 0, 0x0155, 0x0154, 00889 UnicodeLatinMap::AT_acute, 0 }, 00890 { 0x0159, UnicodeLatinMap::CT_lower, 'r', 0, 0x0159, 0x0158, 00891 UnicodeLatinMap::AT_caron, 0 }, 00892 { 0x0158, UnicodeLatinMap::CT_upper, 'R', 0, 0x0159, 0x0158, 00893 UnicodeLatinMap::AT_caron, 0 }, 00894 { 0x1e59, UnicodeLatinMap::CT_lower, 'r', 0, 0x1e59, 0x1e58, 00895 UnicodeLatinMap::AT_dot_above, 0 }, 00896 { 0x1e58, UnicodeLatinMap::CT_upper, 'R', 0, 0x1e59, 0x1e58, 00897 UnicodeLatinMap::AT_dot_above, 0 }, 00898 { 0x0157, UnicodeLatinMap::CT_lower, 'r', 0, 0x0157, 0x0156, 00899 UnicodeLatinMap::AT_cedilla, 0 }, 00900 { 0x0156, UnicodeLatinMap::CT_upper, 'R', 0, 0x0157, 0x0156, 00901 UnicodeLatinMap::AT_cedilla, 0 }, 00902 { 0x0211, UnicodeLatinMap::CT_lower, 'r', 0, 0x0211, 0x0210, 00903 UnicodeLatinMap::AT_double_grave, 0 }, 00904 { 0x0210, UnicodeLatinMap::CT_upper, 'R', 0, 0x0211, 0x0210, 00905 UnicodeLatinMap::AT_double_grave, 0 }, 00906 { 0x0213, UnicodeLatinMap::CT_lower, 'r', 0, 0x0213, 0x0212, 00907 UnicodeLatinMap::AT_inverted_breve, 0 }, 00908 { 0x0212, UnicodeLatinMap::CT_upper, 'R', 0, 0x0213, 0x0212, 00909 UnicodeLatinMap::AT_inverted_breve, 0 }, 00910 { 0x1e5b, UnicodeLatinMap::CT_lower, 'r', 0, 0x1e5b, 0x1e5a, 00911 UnicodeLatinMap::AT_dot_below, 0 }, 00912 { 0x1e5a, UnicodeLatinMap::CT_upper, 'R', 0, 0x1e5b, 0x1e5a, 00913 UnicodeLatinMap::AT_dot_below, 0 }, 00914 { 0x1e5d, UnicodeLatinMap::CT_lower, 'r', 0, 0x1e5d, 0x1e5c, 00915 UnicodeLatinMap::AT_dot_below_and_macron, 0 }, 00916 { 0x1e5c, UnicodeLatinMap::CT_upper, 'R', 0, 0x1e5d, 0x1e5c, 00917 UnicodeLatinMap::AT_dot_below_and_macron, 0 }, 00918 { 0x1e5f, UnicodeLatinMap::CT_lower, 'r', 0, 0x1e5f, 0x1e5e, 00919 UnicodeLatinMap::AT_line_below, 0 }, 00920 { 0x1e5e, UnicodeLatinMap::CT_upper, 'R', 0, 0x1e5f, 0x1e5e, 00921 UnicodeLatinMap::AT_line_below, 0 }, 00922 { 0x0280, UnicodeLatinMap::CT_upper, 'R', 0, 0x0072, 0x0280, 00923 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 00924 { 0x0279, UnicodeLatinMap::CT_lower, 'r', 0, 0x0279, 0x0052, 00925 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 00926 { 0x027b, UnicodeLatinMap::CT_lower, 'r', 0, 0x027b, 0x0052, 00927 UnicodeLatinMap::AT_hook, UnicodeLatinMap::AF_turned }, 00928 { 0x0281, UnicodeLatinMap::CT_upper, 'R', 0, 0x0072, 0x0281, 00929 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned | UnicodeLatinMap::AF_smallcap }, 00930 { 0x0073, UnicodeLatinMap::CT_lower, 's', 0, 0x0073, 0x0053, 00931 UnicodeLatinMap::AT_none, 0 }, 00932 { 0x0053, UnicodeLatinMap::CT_upper, 'S', 0, 0x0073, 0x0053, 00933 UnicodeLatinMap::AT_none, 0 }, 00934 { 0x015b, UnicodeLatinMap::CT_lower, 's', 0, 0x015b, 0x015a, 00935 UnicodeLatinMap::AT_acute, 0 }, 00936 { 0x015a, UnicodeLatinMap::CT_upper, 'S', 0, 0x015b, 0x015a, 00937 UnicodeLatinMap::AT_acute, 0 }, 00938 { 0x1e65, UnicodeLatinMap::CT_lower, 's', 0, 0x1e65, 0x1e64, 00939 UnicodeLatinMap::AT_acute_and_dot_above, 0 }, 00940 { 0x1e64, UnicodeLatinMap::CT_upper, 'S', 0, 0x1e65, 0x1e64, 00941 UnicodeLatinMap::AT_acute_and_dot_above, 0 }, 00942 { 0x015d, UnicodeLatinMap::CT_lower, 's', 0, 0x015d, 0x015c, 00943 UnicodeLatinMap::AT_circumflex, 0 }, 00944 { 0x015c, UnicodeLatinMap::CT_upper, 'S', 0, 0x015d, 0x015c, 00945 UnicodeLatinMap::AT_circumflex, 0 }, 00946 { 0x0161, UnicodeLatinMap::CT_lower, 's', 0, 0x0161, 0x0160, 00947 UnicodeLatinMap::AT_caron, 0 }, 00948 { 0x0160, UnicodeLatinMap::CT_upper, 'S', 0, 0x0161, 0x0160, 00949 UnicodeLatinMap::AT_caron, 0 }, 00950 { 0x1e67, UnicodeLatinMap::CT_lower, 's', 0, 0x1e67, 0x1e66, 00951 UnicodeLatinMap::AT_caron_and_dot_above, 0 }, 00952 { 0x1e66, UnicodeLatinMap::CT_upper, 'S', 0, 0x1e67, 0x1e66, 00953 UnicodeLatinMap::AT_caron_and_dot_above, 0 }, 00954 { 0x1e61, UnicodeLatinMap::CT_lower, 's', 0, 0x1e61, 0x1e60, 00955 UnicodeLatinMap::AT_dot_above, 0 }, 00956 { 0x1e60, UnicodeLatinMap::CT_upper, 'S', 0, 0x1e61, 0x1e60, 00957 UnicodeLatinMap::AT_dot_above, 0 }, 00958 { 0x015f, UnicodeLatinMap::CT_lower, 's', 0, 0x015f, 0x015e, 00959 UnicodeLatinMap::AT_cedilla, 0 }, 00960 { 0x015e, UnicodeLatinMap::CT_upper, 'S', 0, 0x015f, 0x015e, 00961 UnicodeLatinMap::AT_cedilla, 0 }, 00962 { 0x1e63, UnicodeLatinMap::CT_lower, 's', 0, 0x1e63, 0x1e62, 00963 UnicodeLatinMap::AT_dot_below, 0 }, 00964 { 0x1e62, UnicodeLatinMap::CT_upper, 'S', 0, 0x1e63, 0x1e62, 00965 UnicodeLatinMap::AT_dot_below, 0 }, 00966 { 0x1e69, UnicodeLatinMap::CT_lower, 's', 0, 0x1e69, 0x1e68, 00967 UnicodeLatinMap::AT_dot_below_and_dot_above, 0 }, 00968 { 0x1e68, UnicodeLatinMap::CT_upper, 'S', 0, 0x1e69, 0x1e68, 00969 UnicodeLatinMap::AT_dot_below_and_dot_above, 0 }, 00970 { 0x0219, UnicodeLatinMap::CT_lower, 's', 0, 0x0219, 0x0218, 00971 UnicodeLatinMap::AT_comma_below, 0 }, 00972 { 0x0218, UnicodeLatinMap::CT_upper, 'S', 0, 0x0219, 0x0218, 00973 UnicodeLatinMap::AT_comma_below, 0 }, 00974 { 0x00df, UnicodeLatinMap::CT_lower, 's', 's', 0x00df, 0x00df, 00975 UnicodeLatinMap::AT_none, 0 }, 00976 { 0x0282, UnicodeLatinMap::CT_lower, 's', 0, 0x0282, 0x0053, 00977 UnicodeLatinMap::AT_hook, 0 }, 00978 { 0x0074, UnicodeLatinMap::CT_lower, 't', 0, 0x0074, 0x0054, 00979 UnicodeLatinMap::AT_none, 0 }, 00980 { 0x0054, UnicodeLatinMap::CT_upper, 'T', 0, 0x0074, 0x0054, 00981 UnicodeLatinMap::AT_none, 0 }, 00982 { 0x0165, UnicodeLatinMap::CT_lower, 't', 0, 0x0165, 0x0164, 00983 UnicodeLatinMap::AT_caron, 0 }, 00984 { 0x0164, UnicodeLatinMap::CT_upper, 'T', 0, 0x0165, 0x0164, 00985 UnicodeLatinMap::AT_caron, 0 }, 00986 { 0x1e97, UnicodeLatinMap::CT_lower, 't', 0, 0x1e97, 0x0054, 00987 UnicodeLatinMap::AT_diaeresis, 0 }, 00988 { 0x1e6b, UnicodeLatinMap::CT_lower, 't', 0, 0x1e6b, 0x1e6a, 00989 UnicodeLatinMap::AT_dot_above, 0 }, 00990 { 0x1e6a, UnicodeLatinMap::CT_upper, 'T', 0, 0x1e6b, 0x1e6a, 00991 UnicodeLatinMap::AT_dot_above, 0 }, 00992 { 0x0163, UnicodeLatinMap::CT_lower, 't', 0, 0x0163, 0x0162, 00993 UnicodeLatinMap::AT_cedilla, 0 }, 00994 { 0x0162, UnicodeLatinMap::CT_upper, 'T', 0, 0x0163, 0x0162, 00995 UnicodeLatinMap::AT_cedilla, 0 }, 00996 { 0x1e6d, UnicodeLatinMap::CT_lower, 't', 0, 0x1e6d, 0x1e6c, 00997 UnicodeLatinMap::AT_dot_below, 0 }, 00998 { 0x1e6c, UnicodeLatinMap::CT_upper, 'T', 0, 0x1e6d, 0x1e6c, 00999 UnicodeLatinMap::AT_dot_below, 0 }, 01000 { 0x021b, UnicodeLatinMap::CT_lower, 't', 0, 0x021b, 0x021a, 01001 UnicodeLatinMap::AT_comma_below, 0 }, 01002 { 0x021a, UnicodeLatinMap::CT_upper, 'T', 0, 0x021b, 0x021a, 01003 UnicodeLatinMap::AT_comma_below, 0 }, 01004 { 0x1e71, UnicodeLatinMap::CT_lower, 't', 0, 0x1e71, 0x1e70, 01005 UnicodeLatinMap::AT_circumflex_below, 0 }, 01006 { 0x1e70, UnicodeLatinMap::CT_upper, 'T', 0, 0x1e71, 0x1e70, 01007 UnicodeLatinMap::AT_circumflex_below, 0 }, 01008 { 0x1e6f, UnicodeLatinMap::CT_lower, 't', 0, 0x1e6f, 0x1e6e, 01009 UnicodeLatinMap::AT_line_below, 0 }, 01010 { 0x1e6e, UnicodeLatinMap::CT_upper, 'T', 0, 0x1e6f, 0x1e6e, 01011 UnicodeLatinMap::AT_line_below, 0 }, 01012 { 0x0167, UnicodeLatinMap::CT_lower, 't', 0, 0x0167, 0x0166, 01013 UnicodeLatinMap::AT_stroke, 0 }, 01014 { 0x0166, UnicodeLatinMap::CT_upper, 'T', 0, 0x0167, 0x0166, 01015 UnicodeLatinMap::AT_stroke, 0 }, 01016 { 0x01ad, UnicodeLatinMap::CT_lower, 't', 0, 0x01ad, 0x01ac, 01017 UnicodeLatinMap::AT_hook, 0 }, 01018 { 0x01ac, UnicodeLatinMap::CT_upper, 'T', 0, 0x01ad, 0x01ac, 01019 UnicodeLatinMap::AT_hook, 0 }, 01020 { 0x0287, UnicodeLatinMap::CT_lower, 't', 0, 0x0287, 0x0054, 01021 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01022 { 0x0075, UnicodeLatinMap::CT_lower, 'u', 0, 0x0075, 0x0055, 01023 UnicodeLatinMap::AT_none, 0 }, 01024 { 0x0055, UnicodeLatinMap::CT_upper, 'U', 0, 0x0075, 0x0055, 01025 UnicodeLatinMap::AT_none, 0 }, 01026 { 0x00fa, UnicodeLatinMap::CT_lower, 'u', 0, 0x00fa, 0x00da, 01027 UnicodeLatinMap::AT_acute, 0 }, 01028 { 0x00da, UnicodeLatinMap::CT_upper, 'U', 0, 0x00fa, 0x00da, 01029 UnicodeLatinMap::AT_acute, 0 }, 01030 { 0x00f9, UnicodeLatinMap::CT_lower, 'u', 0, 0x00f9, 0x00d9, 01031 UnicodeLatinMap::AT_grave, 0 }, 01032 { 0x00d9, UnicodeLatinMap::CT_upper, 'U', 0, 0x00f9, 0x00d9, 01033 UnicodeLatinMap::AT_grave, 0 }, 01034 { 0x016d, UnicodeLatinMap::CT_lower, 'u', 0, 0x016d, 0x016c, 01035 UnicodeLatinMap::AT_breve, 0 }, 01036 { 0x016c, UnicodeLatinMap::CT_upper, 'U', 0, 0x016d, 0x016c, 01037 UnicodeLatinMap::AT_breve, 0 }, 01038 { 0x00fb, UnicodeLatinMap::CT_lower, 'u', 0, 0x00fb, 0x00db, 01039 UnicodeLatinMap::AT_circumflex, 0 }, 01040 { 0x00db, UnicodeLatinMap::CT_upper, 'U', 0, 0x00fb, 0x00db, 01041 UnicodeLatinMap::AT_circumflex, 0 }, 01042 { 0x01d4, UnicodeLatinMap::CT_lower, 'u', 0, 0x01d4, 0x01d3, 01043 UnicodeLatinMap::AT_caron, 0 }, 01044 { 0x01d3, UnicodeLatinMap::CT_upper, 'U', 0, 0x01d4, 0x01d3, 01045 UnicodeLatinMap::AT_caron, 0 }, 01046 { 0x016f, UnicodeLatinMap::CT_lower, 'u', 0, 0x016f, 0x016e, 01047 UnicodeLatinMap::AT_ring_above, 0 }, 01048 { 0x016e, UnicodeLatinMap::CT_upper, 'U', 0, 0x016f, 0x016e, 01049 UnicodeLatinMap::AT_ring_above, 0 }, 01050 { 0x00fc, UnicodeLatinMap::CT_lower, 'u', 0, 0x00fc, 0x00dc, 01051 UnicodeLatinMap::AT_diaeresis, 0 }, 01052 { 0x00dc, UnicodeLatinMap::CT_upper, 'U', 0, 0x00fc, 0x00dc, 01053 UnicodeLatinMap::AT_diaeresis, 0 }, 01054 { 0x01d8, UnicodeLatinMap::CT_lower, 'u', 0, 0x01d8, 0x01d7, 01055 UnicodeLatinMap::AT_diaeresis_and_acute, 0 }, 01056 { 0x01d7, UnicodeLatinMap::CT_upper, 'U', 0, 0x01d8, 0x01d7, 01057 UnicodeLatinMap::AT_diaeresis_and_acute, 0 }, 01058 { 0x01dc, UnicodeLatinMap::CT_lower, 'u', 0, 0x01dc, 0x01db, 01059 UnicodeLatinMap::AT_diaeresis_and_grave, 0 }, 01060 { 0x01db, UnicodeLatinMap::CT_upper, 'U', 0, 0x01dc, 0x01db, 01061 UnicodeLatinMap::AT_diaeresis_and_grave, 0 }, 01062 { 0x01da, UnicodeLatinMap::CT_lower, 'u', 0, 0x01da, 0x01d9, 01063 UnicodeLatinMap::AT_diaeresis_and_caron, 0 }, 01064 { 0x01d9, UnicodeLatinMap::CT_upper, 'U', 0, 0x01da, 0x01d9, 01065 UnicodeLatinMap::AT_diaeresis_and_caron, 0 }, 01066 { 0x01d6, UnicodeLatinMap::CT_lower, 'u', 0, 0x01d6, 0x01d5, 01067 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 01068 { 0x01d5, UnicodeLatinMap::CT_upper, 'U', 0, 0x01d6, 0x01d5, 01069 UnicodeLatinMap::AT_diaeresis_and_macron, 0 }, 01070 { 0x0171, UnicodeLatinMap::CT_lower, 'u', 0, 0x0171, 0x0170, 01071 UnicodeLatinMap::AT_double_acute, 0 }, 01072 { 0x0170, UnicodeLatinMap::CT_upper, 'U', 0, 0x0171, 0x0170, 01073 UnicodeLatinMap::AT_double_acute, 0 }, 01074 { 0x0169, UnicodeLatinMap::CT_lower, 'u', 0, 0x0169, 0x0168, 01075 UnicodeLatinMap::AT_tilde, 0 }, 01076 { 0x0168, UnicodeLatinMap::CT_upper, 'U', 0, 0x0169, 0x0168, 01077 UnicodeLatinMap::AT_tilde, 0 }, 01078 { 0x1e79, UnicodeLatinMap::CT_lower, 'u', 0, 0x1e79, 0x1e78, 01079 UnicodeLatinMap::AT_tilde_and_acute, 0 }, 01080 { 0x1e78, UnicodeLatinMap::CT_upper, 'U', 0, 0x1e79, 0x1e78, 01081 UnicodeLatinMap::AT_tilde_and_acute, 0 }, 01082 { 0x0173, UnicodeLatinMap::CT_lower, 'u', 0, 0x0173, 0x0172, 01083 UnicodeLatinMap::AT_ogonek, 0 }, 01084 { 0x0172, UnicodeLatinMap::CT_upper, 'U', 0, 0x0173, 0x0172, 01085 UnicodeLatinMap::AT_ogonek, 0 }, 01086 { 0x016b, UnicodeLatinMap::CT_lower, 'u', 0, 0x016b, 0x016a, 01087 UnicodeLatinMap::AT_macron, 0 }, 01088 { 0x016a, UnicodeLatinMap::CT_upper, 'U', 0, 0x016b, 0x016a, 01089 UnicodeLatinMap::AT_macron, 0 }, 01090 { 0x1e7b, UnicodeLatinMap::CT_lower, 'u', 0, 0x1e7b, 0x1e7a, 01091 UnicodeLatinMap::AT_macron_and_diaeresis, 0 }, 01092 { 0x1e7a, UnicodeLatinMap::CT_upper, 'U', 0, 0x1e7b, 0x1e7a, 01093 UnicodeLatinMap::AT_macron_and_diaeresis, 0 }, 01094 { 0x1ee7, UnicodeLatinMap::CT_lower, 'u', 0, 0x1ee7, 0x1ee6, 01095 UnicodeLatinMap::AT_hook_above, 0 }, 01096 { 0x1ee6, UnicodeLatinMap::CT_upper, 'U', 0, 0x1ee7, 0x1ee6, 01097 UnicodeLatinMap::AT_hook_above, 0 }, 01098 { 0x0215, UnicodeLatinMap::CT_lower, 'u', 0, 0x0215, 0x0214, 01099 UnicodeLatinMap::AT_double_grave, 0 }, 01100 { 0x0214, UnicodeLatinMap::CT_upper, 'U', 0, 0x0215, 0x0214, 01101 UnicodeLatinMap::AT_double_grave, 0 }, 01102 { 0x0217, UnicodeLatinMap::CT_lower, 'u', 0, 0x0217, 0x0216, 01103 UnicodeLatinMap::AT_inverted_breve, 0 }, 01104 { 0x0216, UnicodeLatinMap::CT_upper, 'U', 0, 0x0217, 0x0216, 01105 UnicodeLatinMap::AT_inverted_breve, 0 }, 01106 { 0x01b0, UnicodeLatinMap::CT_lower, 'u', 0, 0x01b0, 0x01af, 01107 UnicodeLatinMap::AT_horn, 0 }, 01108 { 0x01af, UnicodeLatinMap::CT_upper, 'U', 0, 0x01b0, 0x01af, 01109 UnicodeLatinMap::AT_horn, 0 }, 01110 { 0x1ee9, UnicodeLatinMap::CT_lower, 'u', 0, 0x1ee9, 0x1ee8, 01111 UnicodeLatinMap::AT_horn_and_acute, 0 }, 01112 { 0x1ee8, UnicodeLatinMap::CT_upper, 'U', 0, 0x1ee9, 0x1ee8, 01113 UnicodeLatinMap::AT_horn_and_acute, 0 }, 01114 { 0x1eeb, UnicodeLatinMap::CT_lower, 'u', 0, 0x1eeb, 0x1eea, 01115 UnicodeLatinMap::AT_horn_and_grave, 0 }, 01116 { 0x1eea, UnicodeLatinMap::CT_upper, 'U', 0, 0x1eeb, 0x1eea, 01117 UnicodeLatinMap::AT_horn_and_grave, 0 }, 01118 { 0x1eef, UnicodeLatinMap::CT_lower, 'u', 0, 0x1eef, 0x1eee, 01119 UnicodeLatinMap::AT_horn_and_tilde, 0 }, 01120 { 0x1eee, UnicodeLatinMap::CT_upper, 'U', 0, 0x1eef, 0x1eee, 01121 UnicodeLatinMap::AT_horn_and_tilde, 0 }, 01122 { 0x1eed, UnicodeLatinMap::CT_lower, 'u', 0, 0x1eed, 0x1eec, 01123 UnicodeLatinMap::AT_horn_and_hook_above, 0 }, 01124 { 0x1eec, UnicodeLatinMap::CT_upper, 'U', 0, 0x1eed, 0x1eec, 01125 UnicodeLatinMap::AT_horn_and_hook_above, 0 }, 01126 { 0x1ef1, UnicodeLatinMap::CT_lower, 'u', 0, 0x1ef1, 0x1ef0, 01127 UnicodeLatinMap::AT_horn_and_dot_below, 0 }, 01128 { 0x1ef0, UnicodeLatinMap::CT_upper, 'U', 0, 0x1ef1, 0x1ef0, 01129 UnicodeLatinMap::AT_horn_and_dot_below, 0 }, 01130 { 0x1ee5, UnicodeLatinMap::CT_lower, 'u', 0, 0x1ee5, 0x1ee4, 01131 UnicodeLatinMap::AT_dot_below, 0 }, 01132 { 0x1ee4, UnicodeLatinMap::CT_upper, 'U', 0, 0x1ee5, 0x1ee4, 01133 UnicodeLatinMap::AT_dot_below, 0 }, 01134 { 0x1e73, UnicodeLatinMap::CT_lower, 'u', 0, 0x1e73, 0x1e72, 01135 UnicodeLatinMap::AT_diaeresis_below, 0 }, 01136 { 0x1e72, UnicodeLatinMap::CT_upper, 'U', 0, 0x1e73, 0x1e72, 01137 UnicodeLatinMap::AT_diaeresis_below, 0 }, 01138 { 0x1e77, UnicodeLatinMap::CT_lower, 'u', 0, 0x1e77, 0x1e76, 01139 UnicodeLatinMap::AT_circumflex_below, 0 }, 01140 { 0x1e76, UnicodeLatinMap::CT_upper, 'U', 0, 0x1e77, 0x1e76, 01141 UnicodeLatinMap::AT_circumflex_below, 0 }, 01142 { 0x1e75, UnicodeLatinMap::CT_lower, 'u', 0, 0x1e75, 0x1e74, 01143 UnicodeLatinMap::AT_tilde_below, 0 }, 01144 { 0x1e74, UnicodeLatinMap::CT_upper, 'U', 0, 0x1e75, 0x1e74, 01145 UnicodeLatinMap::AT_tilde_below, 0 }, 01146 { 0x0265, UnicodeLatinMap::CT_lower, 'h', 0, 0x0265, 0x0048, 01147 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01148 { 0x026f, UnicodeLatinMap::CT_lower, 'm', 0, 0x026f, 0x019c, 01149 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01150 { 0x019c, UnicodeLatinMap::CT_upper, 'M', 0, 0x026f, 0x019c, 01151 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01152 { 0x0076, UnicodeLatinMap::CT_lower, 'v', 0, 0x0076, 0x0056, 01153 UnicodeLatinMap::AT_none, 0 }, 01154 { 0x0056, UnicodeLatinMap::CT_upper, 'V', 0, 0x0076, 0x0056, 01155 UnicodeLatinMap::AT_none, 0 }, 01156 { 0x1e7d, UnicodeLatinMap::CT_lower, 'v', 0, 0x1e7d, 0x1e7c, 01157 UnicodeLatinMap::AT_tilde, 0 }, 01158 { 0x1e7c, UnicodeLatinMap::CT_upper, 'V', 0, 0x1e7d, 0x1e7c, 01159 UnicodeLatinMap::AT_tilde, 0 }, 01160 { 0x1e7f, UnicodeLatinMap::CT_lower, 'v', 0, 0x1e7f, 0x1e7e, 01161 UnicodeLatinMap::AT_dot_below, 0 }, 01162 { 0x1e7e, UnicodeLatinMap::CT_upper, 'V', 0, 0x1e7f, 0x1e7e, 01163 UnicodeLatinMap::AT_dot_below, 0 }, 01164 { 0x028b, UnicodeLatinMap::CT_lower, 'v', 0, 0x028b, 0x01b2, 01165 UnicodeLatinMap::AT_hook, 0 }, 01166 { 0x01b2, UnicodeLatinMap::CT_upper, 'V', 0, 0x028b, 0x01b2, 01167 UnicodeLatinMap::AT_hook, 0 }, 01168 { 0x028c, UnicodeLatinMap::CT_lower, 'v', 0, 0x028c, 0x0056, 01169 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01170 { 0x0077, UnicodeLatinMap::CT_lower, 'w', 0, 0x0077, 0x0057, 01171 UnicodeLatinMap::AT_none, 0 }, 01172 { 0x0057, UnicodeLatinMap::CT_upper, 'W', 0, 0x0077, 0x0057, 01173 UnicodeLatinMap::AT_none, 0 }, 01174 { 0x1e83, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e83, 0x1e82, 01175 UnicodeLatinMap::AT_acute, 0 }, 01176 { 0x1e82, UnicodeLatinMap::CT_upper, 'W', 0, 0x1e83, 0x1e82, 01177 UnicodeLatinMap::AT_acute, 0 }, 01178 { 0x1e81, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e81, 0x1e80, 01179 UnicodeLatinMap::AT_grave, 0 }, 01180 { 0x1e80, UnicodeLatinMap::CT_upper, 'W', 0, 0x1e81, 0x1e80, 01181 UnicodeLatinMap::AT_grave, 0 }, 01182 { 0x0175, UnicodeLatinMap::CT_lower, 'w', 0, 0x0175, 0x0174, 01183 UnicodeLatinMap::AT_circumflex, 0 }, 01184 { 0x0174, UnicodeLatinMap::CT_upper, 'W', 0, 0x0175, 0x0174, 01185 UnicodeLatinMap::AT_circumflex, 0 }, 01186 { 0x1e98, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e98, 0x0057, 01187 UnicodeLatinMap::AT_ring_above, 0 }, 01188 { 0x1e85, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e85, 0x1e84, 01189 UnicodeLatinMap::AT_diaeresis, 0 }, 01190 { 0x1e84, UnicodeLatinMap::CT_upper, 'W', 0, 0x1e85, 0x1e84, 01191 UnicodeLatinMap::AT_diaeresis, 0 }, 01192 { 0x1e87, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e87, 0x1e86, 01193 UnicodeLatinMap::AT_dot_above, 0 }, 01194 { 0x1e86, UnicodeLatinMap::CT_upper, 'W', 0, 0x1e87, 0x1e86, 01195 UnicodeLatinMap::AT_dot_above, 0 }, 01196 { 0x1e89, UnicodeLatinMap::CT_lower, 'w', 0, 0x1e89, 0x1e88, 01197 UnicodeLatinMap::AT_dot_below, 0 }, 01198 { 0x1e88, UnicodeLatinMap::CT_upper, 'W', 0, 0x1e89, 0x1e88, 01199 UnicodeLatinMap::AT_dot_below, 0 }, 01200 { 0x028d, UnicodeLatinMap::CT_lower, 'w', 0, 0x028d, 0x0057, 01201 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_turned }, 01202 { 0x0078, UnicodeLatinMap::CT_lower, 'x', 0, 0x0078, 0x0058, 01203 UnicodeLatinMap::AT_none, 0 }, 01204 { 0x0058, UnicodeLatinMap::CT_upper, 'X', 0, 0x0078, 0x0058, 01205 UnicodeLatinMap::AT_none, 0 }, 01206 { 0x1e8d, UnicodeLatinMap::CT_lower, 'x', 0, 0x1e8d, 0x1e8c, 01207 UnicodeLatinMap::AT_diaeresis, 0 }, 01208 { 0x1e8c, UnicodeLatinMap::CT_upper, 'X', 0, 0x1e8d, 0x1e8c, 01209 UnicodeLatinMap::AT_diaeresis, 0 }, 01210 { 0x1e8b, UnicodeLatinMap::CT_lower, 'x', 0, 0x1e8b, 0x1e8a, 01211 UnicodeLatinMap::AT_dot_above, 0 }, 01212 { 0x1e8a, UnicodeLatinMap::CT_upper, 'X', 0, 0x1e8b, 0x1e8a, 01213 UnicodeLatinMap::AT_dot_above, 0 }, 01214 { 0x0079, UnicodeLatinMap::CT_lower, 'y', 0, 0x0079, 0x0059, 01215 UnicodeLatinMap::AT_none, 0 }, 01216 { 0x0059, UnicodeLatinMap::CT_upper, 'Y', 0, 0x0079, 0x0059, 01217 UnicodeLatinMap::AT_none, 0 }, 01218 { 0x00fd, UnicodeLatinMap::CT_lower, 'y', 0, 0x00fd, 0x00dd, 01219 UnicodeLatinMap::AT_acute, 0 }, 01220 { 0x00dd, UnicodeLatinMap::CT_upper, 'Y', 0, 0x00fd, 0x00dd, 01221 UnicodeLatinMap::AT_acute, 0 }, 01222 { 0x1ef3, UnicodeLatinMap::CT_lower, 'y', 0, 0x1ef3, 0x1ef2, 01223 UnicodeLatinMap::AT_grave, 0 }, 01224 { 0x1ef2, UnicodeLatinMap::CT_upper, 'Y', 0, 0x1ef3, 0x1ef2, 01225 UnicodeLatinMap::AT_grave, 0 }, 01226 { 0x0177, UnicodeLatinMap::CT_lower, 'y', 0, 0x0177, 0x0176, 01227 UnicodeLatinMap::AT_circumflex, 0 }, 01228 { 0x0176, UnicodeLatinMap::CT_upper, 'Y', 0, 0x0177, 0x0176, 01229 UnicodeLatinMap::AT_circumflex, 0 }, 01230 { 0x1e99, UnicodeLatinMap::CT_lower, 'y', 0, 0x1e99, 0x0059, 01231 UnicodeLatinMap::AT_ring_above, 0 }, 01232 { 0x00ff, UnicodeLatinMap::CT_lower, 'y', 0, 0x00ff, 0x0178, 01233 UnicodeLatinMap::AT_diaeresis, 0 }, 01234 { 0x0178, UnicodeLatinMap::CT_upper, 'Y', 0, 0x00ff, 0x0178, 01235 UnicodeLatinMap::AT_diaeresis, 0 }, 01236 { 0x1ef9, UnicodeLatinMap::CT_lower, 'y', 0, 0x1ef9, 0x1ef8, 01237 UnicodeLatinMap::AT_tilde, 0 }, 01238 { 0x1ef8, UnicodeLatinMap::CT_upper, 'Y', 0, 0x1ef9, 0x1ef8, 01239 UnicodeLatinMap::AT_tilde, 0 }, 01240 { 0x1e8f, UnicodeLatinMap::CT_lower, 'y', 0, 0x1e8f, 0x1e8e, 01241 UnicodeLatinMap::AT_dot_above, 0 }, 01242 { 0x1e8e, UnicodeLatinMap::CT_upper, 'Y', 0, 0x1e8f, 0x1e8e, 01243 UnicodeLatinMap::AT_dot_above, 0 }, 01244 { 0x0233, UnicodeLatinMap::CT_lower, 'y', 0, 0x0233, 0x0232, 01245 UnicodeLatinMap::AT_macron, 0 }, 01246 { 0x0232, UnicodeLatinMap::CT_upper, 'Y', 0, 0x0233, 0x0232, 01247 UnicodeLatinMap::AT_macron, 0 }, 01248 { 0x1ef7, UnicodeLatinMap::CT_lower, 'y', 0, 0x1ef7, 0x1ef6, 01249 UnicodeLatinMap::AT_hook_above, 0 }, 01250 { 0x1ef6, UnicodeLatinMap::CT_upper, 'Y', 0, 0x1ef7, 0x1ef6, 01251 UnicodeLatinMap::AT_hook_above, 0 }, 01252 { 0x1ef5, UnicodeLatinMap::CT_lower, 'y', 0, 0x1ef5, 0x1ef4, 01253 UnicodeLatinMap::AT_dot_below, 0 }, 01254 { 0x1ef4, UnicodeLatinMap::CT_upper, 'Y', 0, 0x1ef5, 0x1ef4, 01255 UnicodeLatinMap::AT_dot_below, 0 }, 01256 { 0x028f, UnicodeLatinMap::CT_upper, 'Y', 0, 0x0079, 0x028f, 01257 UnicodeLatinMap::AT_none, UnicodeLatinMap::AF_smallcap }, 01258 { 0x01b4, UnicodeLatinMap::CT_lower, 'y', 0, 0x01b4, 0x01b3, 01259 UnicodeLatinMap::AT_hook, 0 }, 01260 { 0x01b3, UnicodeLatinMap::CT_upper, 'Y', 0, 0x01b4, 0x01b3, 01261 UnicodeLatinMap::AT_hook, 0 }, 01262 { 0x007a, UnicodeLatinMap::CT_lower, 'z', 0, 0x007a, 0x005a, 01263 UnicodeLatinMap::AT_none, 0 }, 01264 { 0x005a, UnicodeLatinMap::CT_upper, 'Z', 0, 0x007a, 0x005a, 01265 UnicodeLatinMap::AT_none, 0 }, 01266 { 0x017a, UnicodeLatinMap::CT_lower, 'z', 0, 0x017a, 0x0179, 01267 UnicodeLatinMap::AT_acute, 0 }, 01268 { 0x0179, UnicodeLatinMap::CT_upper, 'Z', 0, 0x017a, 0x0179, 01269 UnicodeLatinMap::AT_acute, 0 }, 01270 { 0x1e91, UnicodeLatinMap::CT_lower, 'z', 0, 0x1e91, 0x1e90, 01271 UnicodeLatinMap::AT_circumflex, 0 }, 01272 { 0x1e90, UnicodeLatinMap::CT_upper, 'Z', 0, 0x1e91, 0x1e90, 01273 UnicodeLatinMap::AT_circumflex, 0 }, 01274 { 0x017e, UnicodeLatinMap::CT_lower, 'z', 0, 0x017e, 0x017d, 01275 UnicodeLatinMap::AT_caron, 0 }, 01276 { 0x017d, UnicodeLatinMap::CT_upper, 'Z', 0, 0x017e, 0x017d, 01277 UnicodeLatinMap::AT_caron, 0 }, 01278 { 0x017c, UnicodeLatinMap::CT_lower, 'z', 0, 0x017c, 0x017b, 01279 UnicodeLatinMap::AT_dot_above, 0 }, 01280 { 0x017b, UnicodeLatinMap::CT_upper, 'Z', 0, 0x017c, 0x017b, 01281 UnicodeLatinMap::AT_dot_above, 0 }, 01282 { 0x1e93, UnicodeLatinMap::CT_lower, 'z', 0, 0x1e93, 0x1e92, 01283 UnicodeLatinMap::AT_dot_below, 0 }, 01284 { 0x1e92, UnicodeLatinMap::CT_upper, 'Z', 0, 0x1e93, 0x1e92, 01285 UnicodeLatinMap::AT_dot_below, 0 }, 01286 { 0x1e95, UnicodeLatinMap::CT_lower, 'z', 0, 0x1e95, 0x1e94, 01287 UnicodeLatinMap::AT_line_below, 0 }, 01288 { 0x1e94, UnicodeLatinMap::CT_upper, 'Z', 0, 0x1e95, 0x1e94, 01289 UnicodeLatinMap::AT_line_below, 0 }, 01290 { 0x01b6, UnicodeLatinMap::CT_lower, 'z', 0, 0x01b6, 0x01b5, 01291 UnicodeLatinMap::AT_stroke, 0 }, 01292 { 0x01b5, UnicodeLatinMap::CT_upper, 'Z', 0, 0x01b6, 0x01b5, 01293 UnicodeLatinMap::AT_stroke, 0 }, 01294 { 0x0225, UnicodeLatinMap::CT_lower, 'z', 0, 0x0225, 0x0224, 01295 UnicodeLatinMap::AT_hook, 0 }, 01296 { 0x0224, UnicodeLatinMap::CT_upper, 'Z', 0, 0x0225, 0x0224, 01297 UnicodeLatinMap::AT_hook, 0 }, 01298 { 0x0291, UnicodeLatinMap::CT_lower, 'z', 0, 0x0291, 0x005a, 01299 UnicodeLatinMap::AT_curl, 0 }, 01300 }; 01301 #ifndef CPPPARSER 01302 static const int latin_map_length = sizeof(latin_map) / sizeof(UnicodeLatinMap::Entry); 01303 #endif 01304 01305 01306 //////////////////////////////////////////////////////////////////// 01307 // Function: UnicodeLatinMap::look_up 01308 // Access: Public, Static 01309 // Description: Returns the Entry associated with the indicated 01310 // character, if there is one. 01311 //////////////////////////////////////////////////////////////////// 01312 const UnicodeLatinMap::Entry *UnicodeLatinMap:: 01313 look_up(wchar_t character) { 01314 if (!_initialized) { 01315 init(); 01316 } 01317 01318 if (character < max_direct_chars) { 01319 return _direct_chars[character]; 01320 01321 } else { 01322 ByCharacter::const_iterator ci; 01323 ci = _by_character->find(character); 01324 if (ci != _by_character->end()) { 01325 return (*ci).second; 01326 } 01327 return NULL; 01328 } 01329 } 01330 01331 //////////////////////////////////////////////////////////////////// 01332 // Function: UnicodeLatinMap::init 01333 // Access: Private, Static 01334 // Description: Initializes the map, if it has not already been 01335 // initialized. 01336 //////////////////////////////////////////////////////////////////// 01337 void UnicodeLatinMap:: 01338 init() { 01339 if (!_initialized) { 01340 _by_character = new ByCharacter; 01341 for (int i = 0; i < latin_map_length; i++) { 01342 const UnicodeLatinMap::Entry *entry = &latin_map[i]; 01343 01344 // The first 256 characters are very common in Latin-alphabet 01345 // languages, so index those in an array for superfast lookup. 01346 // Everything else goes into the map. 01347 if (entry->_character < max_direct_chars) { 01348 _direct_chars[entry->_character] = entry; 01349 } else { 01350 (*_by_character)[entry->_character] = entry; 01351 } 01352 } 01353 _initialized = true; 01354 } 01355 } 01356