1 | <?php |
||
2 | |||
3 | /** |
||
4 | * webtrees: online genealogy |
||
5 | * Copyright (C) 2025 webtrees development team |
||
6 | * This program is free software: you can redistribute it and/or modify |
||
7 | * it under the terms of the GNU General Public License as published by |
||
8 | * the Free Software Foundation, either version 3 of the License, or |
||
9 | * (at your option) any later version. |
||
10 | * This program is distributed in the hope that it will be useful, |
||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
13 | * GNU General Public License for more details. |
||
14 | * You should have received a copy of the GNU General Public License |
||
15 | * along with this program. If not, see <https://www.gnu.org/licenses/>. |
||
16 | */ |
||
17 | |||
18 | declare(strict_types=1); |
||
19 | |||
20 | namespace Fisharebest\Webtrees\Encodings; |
||
21 | |||
22 | use InvalidArgumentException; |
||
23 | |||
24 | use function chr; |
||
25 | use function mb_substitute_character; |
||
26 | |||
27 | /** |
||
28 | * Convert between (potentially invalid) UTF-8 and UTF-8. |
||
29 | */ |
||
30 | class UTF8 extends AbstractEncoding |
||
31 | { |
||
32 | public const string NAME = 'UTF-8'; |
||
0 ignored issues
–
show
Bug
introduced
by
![]() |
|||
33 | |||
34 | public const string START_OF_STRING = "\u{0098}"; |
||
35 | public const string STRING_TERMINATOR = "\u{009C}"; |
||
36 | public const string NO_BREAK_SPACE = "\u{00A0}"; |
||
37 | public const string INVERTED_EXCLAMATION_MARK = "\u{00A1}"; |
||
38 | public const string CENT_SIGN = "\u{00A2}"; |
||
39 | public const string POUND_SIGN = "\u{00A3}"; |
||
40 | public const string CURRENCY_SIGN = "\u{00A4}"; |
||
41 | public const string YEN_SIGN = "\u{00A5}"; |
||
42 | public const string BROKEN_BAR = "\u{00A6}"; |
||
43 | public const string SECTION_SIGN = "\u{00A7}"; |
||
44 | public const string DIAERESIS = "\u{00A8}"; |
||
45 | public const string COPYRIGHT_SIGN = "\u{00A9}"; |
||
46 | public const string FEMININE_ORDINAL_INDICATOR = "\u{00AA}"; |
||
47 | public const string LEFT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = "\u{00AB}"; |
||
48 | public const string NOT_SIGN = "\u{00AC}"; |
||
49 | public const string SOFT_HYPHEN = "\u{00AD}"; |
||
50 | public const string REGISTERED_SIGN = "\u{00AE}"; |
||
51 | public const string MACRON = "\u{00AF}"; |
||
52 | public const string DEGREE_SIGN = "\u{00B0}"; |
||
53 | public const string PLUS_MINUS_SIGN = "\u{00B1}"; |
||
54 | public const string SUPERSCRIPT_TWO = "\u{00B2}"; |
||
55 | public const string SUPERSCRIPT_THREE = "\u{00B3}"; |
||
56 | public const string ACUTE_ACCENT = "\u{00B4}"; |
||
57 | public const string MICRO_SIGN = "\u{00B5}"; |
||
58 | public const string PILCROW_SIGN = "\u{00B6}"; |
||
59 | public const string MIDDLE_DOT = "\u{00B7}"; |
||
60 | public const string CEDILLA = "\u{00B8}"; |
||
61 | public const string SUPERSCRIPT_ONE = "\u{00B9}"; |
||
62 | public const string MASCULINE_ORDINAL_INDICATOR = "\u{00BA}"; |
||
63 | public const string RIGHT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = "\u{00BB}"; |
||
64 | public const string VULGAR_FRACTION_ONE_QUARTER = "\u{00BC}"; |
||
65 | public const string VULGAR_FRACTION_ONE_HALF = "\u{00BD}"; |
||
66 | public const string VULGAR_FRACTION_THREE_QUARTERS = "\u{00BE}"; |
||
67 | public const string INVERTED_QUESTION_MARK = "\u{00BF}"; |
||
68 | public const string LATIN_CAPITAL_LETTER_A_WITH_GRAVE = "\u{00C0}"; |
||
69 | public const string LATIN_CAPITAL_LETTER_A_WITH_ACUTE = "\u{00C1}"; |
||
70 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX = "\u{00C2}"; |
||
71 | public const string LATIN_CAPITAL_LETTER_A_WITH_TILDE = "\u{00C3}"; |
||
72 | public const string LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS = "\u{00C4}"; |
||
73 | public const string LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE = "\u{00C5}"; |
||
74 | public const string LATIN_CAPITAL_LETTER_AE = "\u{00C6}"; |
||
75 | public const string LATIN_CAPITAL_LETTER_C_WITH_CEDILLA = "\u{00C7}"; |
||
76 | public const string LATIN_CAPITAL_LETTER_E_WITH_GRAVE = "\u{00C8}"; |
||
77 | public const string LATIN_CAPITAL_LETTER_E_WITH_ACUTE = "\u{00C9}"; |
||
78 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX = "\u{00CA}"; |
||
79 | public const string LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS = "\u{00CB}"; |
||
80 | public const string LATIN_CAPITAL_LETTER_I_WITH_GRAVE = "\u{00CC}"; |
||
81 | public const string LATIN_CAPITAL_LETTER_I_WITH_ACUTE = "\u{00CD}"; |
||
82 | public const string LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX = "\u{00CE}"; |
||
83 | public const string LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS = "\u{00CF}"; |
||
84 | public const string LATIN_CAPITAL_LETTER_ETH = "\u{00D0}"; |
||
85 | public const string LATIN_CAPITAL_LETTER_N_WITH_TILDE = "\u{00D1}"; |
||
86 | public const string LATIN_CAPITAL_LETTER_O_WITH_GRAVE = "\u{00D2}"; |
||
87 | public const string LATIN_CAPITAL_LETTER_O_WITH_ACUTE = "\u{00D3}"; |
||
88 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX = "\u{00D4}"; |
||
89 | public const string LATIN_CAPITAL_LETTER_O_WITH_TILDE = "\u{00D5}"; |
||
90 | public const string LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS = "\u{00D6}"; |
||
91 | public const string MULTIPLICATION_SIGN = "\u{00D7}"; |
||
92 | public const string LATIN_CAPITAL_LETTER_O_WITH_STROKE = "\u{00D8}"; |
||
93 | public const string LATIN_CAPITAL_LETTER_U_WITH_GRAVE = "\u{00D9}"; |
||
94 | public const string LATIN_CAPITAL_LETTER_U_WITH_ACUTE = "\u{00DA}"; |
||
95 | public const string LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX = "\u{00DB}"; |
||
96 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS = "\u{00DC}"; |
||
97 | public const string LATIN_CAPITAL_LETTER_Y_WITH_ACUTE = "\u{00DD}"; |
||
98 | public const string LATIN_CAPITAL_LETTER_THORN = "\u{00DE}"; |
||
99 | public const string LATIN_SMALL_LETTER_SHARP_S = "\u{00DF}"; |
||
100 | public const string LATIN_SMALL_LETTER_A_WITH_GRAVE = "\u{00E0}"; |
||
101 | public const string LATIN_SMALL_LETTER_A_WITH_ACUTE = "\u{00E1}"; |
||
102 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX = "\u{00E2}"; |
||
103 | public const string LATIN_SMALL_LETTER_A_WITH_TILDE = "\u{00E3}"; |
||
104 | public const string LATIN_SMALL_LETTER_A_WITH_DIAERESIS = "\u{00E4}"; |
||
105 | public const string LATIN_SMALL_LETTER_A_WITH_RING_ABOVE = "\u{00E5}"; |
||
106 | public const string LATIN_SMALL_LETTER_AE = "\u{00E6}"; |
||
107 | public const string LATIN_SMALL_LETTER_C_WITH_CEDILLA = "\u{00E7}"; |
||
108 | public const string LATIN_SMALL_LETTER_E_WITH_GRAVE = "\u{00E8}"; |
||
109 | public const string LATIN_SMALL_LETTER_E_WITH_ACUTE = "\u{00E9}"; |
||
110 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX = "\u{00EA}"; |
||
111 | public const string LATIN_SMALL_LETTER_E_WITH_DIAERESIS = "\u{00EB}"; |
||
112 | public const string LATIN_SMALL_LETTER_I_WITH_GRAVE = "\u{00EC}"; |
||
113 | public const string LATIN_SMALL_LETTER_I_WITH_ACUTE = "\u{00ED}"; |
||
114 | public const string LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX = "\u{00EE}"; |
||
115 | public const string LATIN_SMALL_LETTER_I_WITH_DIAERESIS = "\u{00EF}"; |
||
116 | public const string LATIN_SMALL_LETTER_ETH = "\u{00F0}"; |
||
117 | public const string LATIN_SMALL_LETTER_N_WITH_TILDE = "\u{00F1}"; |
||
118 | public const string LATIN_SMALL_LETTER_O_WITH_GRAVE = "\u{00F2}"; |
||
119 | public const string LATIN_SMALL_LETTER_O_WITH_ACUTE = "\u{00F3}"; |
||
120 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX = "\u{00F4}"; |
||
121 | public const string LATIN_SMALL_LETTER_O_WITH_TILDE = "\u{00F5}"; |
||
122 | public const string LATIN_SMALL_LETTER_O_WITH_DIAERESIS = "\u{00F6}"; |
||
123 | public const string DIVISION_SIGN = "\u{00F7}"; |
||
124 | public const string LATIN_SMALL_LETTER_O_WITH_STROKE = "\u{00F8}"; |
||
125 | public const string LATIN_SMALL_LETTER_U_WITH_GRAVE = "\u{00F9}"; |
||
126 | public const string LATIN_SMALL_LETTER_U_WITH_ACUTE = "\u{00FA}"; |
||
127 | public const string LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX = "\u{00FB}"; |
||
128 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS = "\u{00FC}"; |
||
129 | public const string LATIN_SMALL_LETTER_Y_WITH_ACUTE = "\u{00FD}"; |
||
130 | public const string LATIN_SMALL_LETTER_THORN = "\u{00FE}"; |
||
131 | public const string LATIN_SMALL_LETTER_Y_WITH_DIAERESIS = "\u{00FF}"; |
||
132 | public const string LATIN_CAPITAL_LETTER_A_WITH_MACRON = "\u{0100}"; |
||
133 | public const string LATIN_SMALL_LETTER_A_WITH_MACRON = "\u{0101}"; |
||
134 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE = "\u{0102}"; |
||
135 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE = "\u{0103}"; |
||
136 | public const string LATIN_CAPITAL_LETTER_A_WITH_OGONEK = "\u{0104}"; |
||
137 | public const string LATIN_SMALL_LETTER_A_WITH_OGONEK = "\u{0105}"; |
||
138 | public const string LATIN_CAPITAL_LETTER_C_WITH_ACUTE = "\u{0106}"; |
||
139 | public const string LATIN_SMALL_LETTER_C_WITH_ACUTE = "\u{0107}"; |
||
140 | public const string LATIN_CAPITAL_LETTER_C_WITH_CIRCUMFLEX = "\u{0108}"; |
||
141 | public const string LATIN_SMALL_LETTER_C_WITH_CIRCUMFLEX = "\u{0109}"; |
||
142 | public const string LATIN_CAPITAL_LETTER_C_WITH_DOT_ABOVE = "\u{010A}"; |
||
143 | public const string LATIN_SMALL_LETTER_C_WITH_DOT_ABOVE = "\u{010B}"; |
||
144 | public const string LATIN_CAPITAL_LETTER_C_WITH_CARON = "\u{010C}"; |
||
145 | public const string LATIN_SMALL_LETTER_C_WITH_CARON = "\u{010D}"; |
||
146 | public const string LATIN_CAPITAL_LETTER_D_WITH_CARON = "\u{010E}"; |
||
147 | public const string LATIN_SMALL_LETTER_D_WITH_CARON = "\u{010F}"; |
||
148 | public const string LATIN_CAPITAL_LETTER_D_WITH_STROKE = "\u{0110}"; |
||
149 | public const string LATIN_SMALL_LETTER_D_WITH_STROKE = "\u{0111}"; |
||
150 | public const string LATIN_CAPITAL_LETTER_E_WITH_MACRON = "\u{0112}"; |
||
151 | public const string LATIN_SMALL_LETTER_E_WITH_MACRON = "\u{0113}"; |
||
152 | public const string LATIN_CAPITAL_LETTER_E_WITH_BREVE = "\u{0114}"; |
||
153 | public const string LATIN_SMALL_LETTER_E_WITH_BREVE = "\u{0115}"; |
||
154 | public const string LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE = "\u{0116}"; |
||
155 | public const string LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE = "\u{0117}"; |
||
156 | public const string LATIN_CAPITAL_LETTER_E_WITH_OGONEK = "\u{0118}"; |
||
157 | public const string LATIN_SMALL_LETTER_E_WITH_OGONEK = "\u{0119}"; |
||
158 | public const string LATIN_CAPITAL_LETTER_E_WITH_CARON = "\u{011A}"; |
||
159 | public const string LATIN_SMALL_LETTER_E_WITH_CARON = "\u{011B}"; |
||
160 | public const string LATIN_CAPITAL_LETTER_G_WITH_CIRCUMFLEX = "\u{011C}"; |
||
161 | public const string LATIN_SMALL_LETTER_G_WITH_CIRCUMFLEX = "\u{011D}"; |
||
162 | public const string LATIN_CAPITAL_LETTER_G_WITH_BREVE = "\u{011E}"; |
||
163 | public const string LATIN_SMALL_LETTER_G_WITH_BREVE = "\u{011F}"; |
||
164 | public const string LATIN_CAPITAL_LETTER_G_WITH_DOT_ABOVE = "\u{0120}"; |
||
165 | public const string LATIN_SMALL_LETTER_G_WITH_DOT_ABOVE = "\u{0121}"; |
||
166 | public const string LATIN_CAPITAL_LETTER_G_WITH_CEDILLA = "\u{0122}"; |
||
167 | public const string LATIN_SMALL_LETTER_G_WITH_CEDILLA = "\u{0123}"; |
||
168 | public const string LATIN_CAPITAL_LETTER_H_WITH_CIRCUMFLEX = "\u{0124}"; |
||
169 | public const string LATIN_SMALL_LETTER_H_WITH_CIRCUMFLEX = "\u{0125}"; |
||
170 | public const string LATIN_CAPITAL_LETTER_H_WITH_STROKE = "\u{0126}"; |
||
171 | public const string LATIN_SMALL_LETTER_H_WITH_STROKE = "\u{0127}"; |
||
172 | public const string LATIN_CAPITAL_LETTER_I_WITH_TILDE = "\u{0128}"; |
||
173 | public const string LATIN_SMALL_LETTER_I_WITH_TILDE = "\u{0129}"; |
||
174 | public const string LATIN_CAPITAL_LETTER_I_WITH_MACRON = "\u{012A}"; |
||
175 | public const string LATIN_SMALL_LETTER_I_WITH_MACRON = "\u{012B}"; |
||
176 | public const string LATIN_CAPITAL_LETTER_I_WITH_BREVE = "\u{012C}"; |
||
177 | public const string LATIN_SMALL_LETTER_I_WITH_BREVE = "\u{012D}"; |
||
178 | public const string LATIN_CAPITAL_LETTER_I_WITH_OGONEK = "\u{012E}"; |
||
179 | public const string LATIN_SMALL_LETTER_I_WITH_OGONEK = "\u{012F}"; |
||
180 | public const string LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE = "\u{0130}"; |
||
181 | public const string LATIN_SMALL_LETTER_DOTLESS_I = "\u{0131}"; |
||
182 | public const string LATIN_CAPITAL_LIGATURE_IJ = "\u{0132}"; |
||
183 | public const string LATIN_SMALL_LIGATURE_IJ = "\u{0133}"; |
||
184 | public const string LATIN_CAPITAL_LETTER_J_WITH_CIRCUMFLEX = "\u{0134}"; |
||
185 | public const string LATIN_SMALL_LETTER_J_WITH_CIRCUMFLEX = "\u{0135}"; |
||
186 | public const string LATIN_CAPITAL_LETTER_K_WITH_CEDILLA = "\u{0136}"; |
||
187 | public const string LATIN_SMALL_LETTER_K_WITH_CEDILLA = "\u{0137}"; |
||
188 | public const string LATIN_SMALL_LETTER_KRA = "\u{0138}"; |
||
189 | public const string LATIN_CAPITAL_LETTER_L_WITH_ACUTE = "\u{0139}"; |
||
190 | public const string LATIN_SMALL_LETTER_L_WITH_ACUTE = "\u{013A}"; |
||
191 | public const string LATIN_CAPITAL_LETTER_L_WITH_CEDILLA = "\u{013B}"; |
||
192 | public const string LATIN_SMALL_LETTER_L_WITH_CEDILLA = "\u{013C}"; |
||
193 | public const string LATIN_CAPITAL_LETTER_L_WITH_CARON = "\u{013D}"; |
||
194 | public const string LATIN_SMALL_LETTER_L_WITH_CARON = "\u{013E}"; |
||
195 | public const string LATIN_CAPITAL_LETTER_L_WITH_MIDDLE_DOT = "\u{013F}"; |
||
196 | public const string LATIN_SMALL_LETTER_L_WITH_MIDDLE_DOT = "\u{0140}"; |
||
197 | public const string LATIN_CAPITAL_LETTER_L_WITH_STROKE = "\u{0141}"; |
||
198 | public const string LATIN_SMALL_LETTER_L_WITH_STROKE = "\u{0142}"; |
||
199 | public const string LATIN_CAPITAL_LETTER_N_WITH_ACUTE = "\u{0143}"; |
||
200 | public const string LATIN_SMALL_LETTER_N_WITH_ACUTE = "\u{0144}"; |
||
201 | public const string LATIN_CAPITAL_LETTER_N_WITH_CEDILLA = "\u{0145}"; |
||
202 | public const string LATIN_SMALL_LETTER_N_WITH_CEDILLA = "\u{0146}"; |
||
203 | public const string LATIN_CAPITAL_LETTER_N_WITH_CARON = "\u{0147}"; |
||
204 | public const string LATIN_SMALL_LETTER_N_WITH_CARON = "\u{0148}"; |
||
205 | public const string LATIN_SMALL_LETTER_N_PRECEDED_BY_APOSTROPHE = "\u{0149}"; |
||
206 | public const string LATIN_CAPITAL_LETTER_ENG = "\u{014A}"; |
||
207 | public const string LATIN_SMALL_LETTER_ENG = "\u{014B}"; |
||
208 | public const string LATIN_CAPITAL_LETTER_O_WITH_MACRON = "\u{014C}"; |
||
209 | public const string LATIN_SMALL_LETTER_O_WITH_MACRON = "\u{014D}"; |
||
210 | public const string LATIN_CAPITAL_LETTER_O_WITH_BREVE = "\u{014E}"; |
||
211 | public const string LATIN_SMALL_LETTER_O_WITH_BREVE = "\u{014F}"; |
||
212 | public const string LATIN_CAPITAL_LETTER_O_WITH_DOUBLE_ACUTE = "\u{0150}"; |
||
213 | public const string LATIN_SMALL_LETTER_O_WITH_DOUBLE_ACUTE = "\u{0151}"; |
||
214 | public const string LATIN_CAPITAL_LIGATURE_OE = "\u{0152}"; |
||
215 | public const string LATIN_SMALL_LIGATURE_OE = "\u{0153}"; |
||
216 | public const string LATIN_CAPITAL_LETTER_R_WITH_ACUTE = "\u{0154}"; |
||
217 | public const string LATIN_SMALL_LETTER_R_WITH_ACUTE = "\u{0155}"; |
||
218 | public const string LATIN_CAPITAL_LETTER_R_WITH_CEDILLA = "\u{0156}"; |
||
219 | public const string LATIN_SMALL_LETTER_R_WITH_CEDILLA = "\u{0157}"; |
||
220 | public const string LATIN_CAPITAL_LETTER_R_WITH_CARON = "\u{0158}"; |
||
221 | public const string LATIN_SMALL_LETTER_R_WITH_CARON = "\u{0159}"; |
||
222 | public const string LATIN_CAPITAL_LETTER_S_WITH_ACUTE = "\u{015A}"; |
||
223 | public const string LATIN_SMALL_LETTER_S_WITH_ACUTE = "\u{015B}"; |
||
224 | public const string LATIN_CAPITAL_LETTER_S_WITH_CIRCUMFLEX = "\u{015C}"; |
||
225 | public const string LATIN_SMALL_LETTER_S_WITH_CIRCUMFLEX = "\u{015D}"; |
||
226 | public const string LATIN_CAPITAL_LETTER_S_WITH_CEDILLA = "\u{015E}"; |
||
227 | public const string LATIN_SMALL_LETTER_S_WITH_CEDILLA = "\u{015F}"; |
||
228 | public const string LATIN_CAPITAL_LETTER_S_WITH_CARON = "\u{0160}"; |
||
229 | public const string LATIN_SMALL_LETTER_S_WITH_CARON = "\u{0161}"; |
||
230 | public const string LATIN_CAPITAL_LETTER_T_WITH_CEDILLA = "\u{0162}"; |
||
231 | public const string LATIN_SMALL_LETTER_T_WITH_CEDILLA = "\u{0163}"; |
||
232 | public const string LATIN_CAPITAL_LETTER_T_WITH_CARON = "\u{0164}"; |
||
233 | public const string LATIN_SMALL_LETTER_T_WITH_CARON = "\u{0165}"; |
||
234 | public const string LATIN_CAPITAL_LETTER_T_WITH_STROKE = "\u{0166}"; |
||
235 | public const string LATIN_SMALL_LETTER_T_WITH_STROKE = "\u{0167}"; |
||
236 | public const string LATIN_CAPITAL_LETTER_U_WITH_TILDE = "\u{0168}"; |
||
237 | public const string LATIN_SMALL_LETTER_U_WITH_TILDE = "\u{0169}"; |
||
238 | public const string LATIN_CAPITAL_LETTER_U_WITH_MACRON = "\u{016A}"; |
||
239 | public const string LATIN_SMALL_LETTER_U_WITH_MACRON = "\u{016B}"; |
||
240 | public const string LATIN_CAPITAL_LETTER_U_WITH_BREVE = "\u{016C}"; |
||
241 | public const string LATIN_SMALL_LETTER_U_WITH_BREVE = "\u{016D}"; |
||
242 | public const string LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE = "\u{016E}"; |
||
243 | public const string LATIN_SMALL_LETTER_U_WITH_RING_ABOVE = "\u{016F}"; |
||
244 | public const string LATIN_CAPITAL_LETTER_U_WITH_DOUBLE_ACUTE = "\u{0170}"; |
||
245 | public const string LATIN_SMALL_LETTER_U_WITH_DOUBLE_ACUTE = "\u{0171}"; |
||
246 | public const string LATIN_CAPITAL_LETTER_U_WITH_OGONEK = "\u{0172}"; |
||
247 | public const string LATIN_SMALL_LETTER_U_WITH_OGONEK = "\u{0173}"; |
||
248 | public const string LATIN_CAPITAL_LETTER_W_WITH_CIRCUMFLEX = "\u{0174}"; |
||
249 | public const string LATIN_SMALL_LETTER_W_WITH_CIRCUMFLEX = "\u{0175}"; |
||
250 | public const string LATIN_CAPITAL_LETTER_Y_WITH_CIRCUMFLEX = "\u{0176}"; |
||
251 | public const string LATIN_SMALL_LETTER_Y_WITH_CIRCUMFLEX = "\u{0177}"; |
||
252 | public const string LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS = "\u{0178}"; |
||
253 | public const string LATIN_CAPITAL_LETTER_Z_WITH_ACUTE = "\u{0179}"; |
||
254 | public const string LATIN_SMALL_LETTER_Z_WITH_ACUTE = "\u{017A}"; |
||
255 | public const string LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE = "\u{017B}"; |
||
256 | public const string LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE = "\u{017C}"; |
||
257 | public const string LATIN_CAPITAL_LETTER_Z_WITH_CARON = "\u{017D}"; |
||
258 | public const string LATIN_SMALL_LETTER_Z_WITH_CARON = "\u{017E}"; |
||
259 | public const string LATIN_SMALL_LETTER_LONG_S = "\u{017F}"; |
||
260 | public const string LATIN_SMALL_LETTER_B_WITH_STROKE = "\u{0180}"; |
||
261 | public const string LATIN_CAPITAL_LETTER_B_WITH_HOOK = "\u{0181}"; |
||
262 | public const string LATIN_CAPITAL_LETTER_B_WITH_TOPBAR = "\u{0182}"; |
||
263 | public const string LATIN_SMALL_LETTER_B_WITH_TOPBAR = "\u{0183}"; |
||
264 | public const string LATIN_CAPITAL_LETTER_F_WITH_HOOK = "\u{0191}"; |
||
265 | public const string LATIN_SMALL_LETTER_F_WITH_HOOK = "\u{0192}"; |
||
266 | public const string LATIN_SMALL_LETTER_O_WITH_HORN = "\u{01A1}"; |
||
267 | public const string LATIN_CAPITAL_LETTER_O_WITH_HORN = "\u{01A0}"; |
||
268 | public const string LATIN_CAPITAL_LETTER_U_WITH_HORN = "\u{01AF}"; |
||
269 | public const string LATIN_SMALL_LETTER_U_WITH_HORN = "\u{01B0}"; |
||
270 | public const string LATIN_CAPITAL_LETTER_A_WITH_CARON = "\u{01CD}"; |
||
271 | public const string LATIN_SMALL_LETTER_A_WITH_CARON = "\u{01CE}"; |
||
272 | public const string LATIN_CAPITAL_LETTER_I_WITH_CARON = "\u{01CF}"; |
||
273 | public const string LATIN_SMALL_LETTER_I_WITH_CARON = "\u{01D0}"; |
||
274 | public const string LATIN_CAPITAL_LETTER_O_WITH_CARON = "\u{01D1}"; |
||
275 | public const string LATIN_SMALL_LETTER_O_WITH_CARON = "\u{01D2}"; |
||
276 | public const string LATIN_CAPITAL_LETTER_U_WITH_CARON = "\u{01D3}"; |
||
277 | public const string LATIN_SMALL_LETTER_U_WITH_CARON = "\u{01D4}"; |
||
278 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_MACRON = "\u{01D5}"; |
||
279 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_MACRON = "\u{01D6}"; |
||
280 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_ACUTE = "\u{01D7}"; |
||
281 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_ACUTE = "\u{01D8}"; |
||
282 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_CARON = "\u{01D9}"; |
||
283 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_CARON = "\u{01DA}"; |
||
284 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_GRAVE = "\u{01DB}"; |
||
285 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_GRAVE = "\u{01DC}"; |
||
286 | public const string LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS_AND_MACRON = "\u{01DE}"; |
||
287 | public const string LATIN_SMALL_LETTER_A_WITH_DIAERESIS_AND_MACRON = "\u{01DF}"; |
||
288 | public const string LATIN_CAPITAL_LETTER_A_WITH_DOT_ABOVE_AND_MACRON = "\u{01E0}"; |
||
289 | public const string LATIN_SMALL_LETTER_A_WITH_DOT_ABOVE_AND_MACRON = "\u{01E1}"; |
||
290 | public const string LATIN_CAPITAL_LETTER_AE_WITH_MACRON = "\u{01E2}"; |
||
291 | public const string LATIN_SMALL_LETTER_AE_WITH_MACRON = "\u{01E3}"; |
||
292 | public const string LATIN_CAPITAL_LETTER_G_WITH_CARON = "\u{01E6}"; |
||
293 | public const string LATIN_SMALL_LETTER_G_WITH_CARON = "\u{01E7}"; |
||
294 | public const string LATIN_CAPITAL_LETTER_K_WITH_CARON = "\u{01E8}"; |
||
295 | public const string LATIN_SMALL_LETTER_K_WITH_CARON = "\u{01E9}"; |
||
296 | public const string LATIN_CAPITAL_LETTER_O_WITH_OGONEK = "\u{01EA}"; |
||
297 | public const string LATIN_SMALL_LETTER_O_WITH_OGONEK = "\u{01EB}"; |
||
298 | public const string LATIN_CAPITAL_LETTER_O_WITH_OGONEK_AND_MACRON = "\u{01EC}"; |
||
299 | public const string LATIN_SMALL_LETTER_O_WITH_OGONEK_AND_MACRON = "\u{01ED}"; |
||
300 | public const string LATIN_SMALL_LETTER_J_WITH_CARON = "\u{01F0}"; |
||
301 | public const string LATIN_CAPITAL_LETTER_G_WITH_ACUTE = "\u{01F4}"; |
||
302 | public const string LATIN_SMALL_LETTER_G_WITH_ACUTE = "\u{01F5}"; |
||
303 | public const string LATIN_CAPITAL_LETTER_N_WITH_GRAVE = "\u{01F8}"; |
||
304 | public const string LATIN_SMALL_LETTER_N_WITH_GRAVE = "\u{01F9}"; |
||
305 | public const string LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_AND_ACUTE = "\u{01FA}"; |
||
306 | public const string LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_AND_ACUTE = "\u{01FB}"; |
||
307 | public const string LATIN_CAPITAL_LETTER_AE_WITH_ACUTE = "\u{01FC}"; |
||
308 | public const string LATIN_SMALL_LETTER_AE_WITH_ACUTE = "\u{01FD}"; |
||
309 | public const string LATIN_CAPITAL_LETTER_O_WITH_STROKE_AND_ACUTE = "\u{01FE}"; |
||
310 | public const string LATIN_SMALL_LETTER_O_WITH_STROKE_AND_ACUTE = "\u{01FF}"; |
||
311 | public const string LATIN_CAPITAL_LETTER_S_WITH_COMMA_BELOW = "\u{0218}"; |
||
312 | public const string LATIN_SMALL_LETTER_S_WITH_COMMA_BELOW = "\u{0219}"; |
||
313 | public const string LATIN_CAPITAL_LETTER_T_WITH_COMMA_BELOW = "\u{021A}"; |
||
314 | public const string LATIN_SMALL_LETTER_T_WITH_COMMA_BELOW = "\u{021B}"; |
||
315 | public const string LATIN_CAPITAL_LETTER_H_WITH_CARON = "\u{021E}"; |
||
316 | public const string LATIN_SMALL_LETTER_H_WITH_CARON = "\u{021F}"; |
||
317 | public const string LATIN_CAPITAL_LETTER_A_WITH_DOT_ABOVE = "\u{0226}"; |
||
318 | public const string LATIN_SMALL_LETTER_A_WITH_DOT_ABOVE = "\u{0227}"; |
||
319 | public const string LATIN_CAPITAL_LETTER_E_WITH_CEDILLA = "\u{0228}"; |
||
320 | public const string LATIN_SMALL_LETTER_E_WITH_CEDILLA = "\u{0229}"; |
||
321 | public const string LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS_AND_MACRON = "\u{022A}"; |
||
322 | public const string LATIN_SMALL_LETTER_O_WITH_DIAERESIS_AND_MACRON = "\u{022B}"; |
||
323 | public const string LATIN_CAPITAL_LETTER_O_WITH_TILDE_AND_MACRON = "\u{022C}"; |
||
324 | public const string LATIN_SMALL_LETTER_O_WITH_TILDE_AND_MACRON = "\u{022D}"; |
||
325 | public const string LATIN_CAPITAL_LETTER_O_WITH_DOT_ABOVE = "\u{022E}"; |
||
326 | public const string LATIN_SMALL_LETTER_O_WITH_DOT_ABOVE = "\u{022F}"; |
||
327 | public const string LATIN_CAPITAL_LETTER_O_WITH_DOT_ABOVE_AND_MACRON = "\u{0230}"; |
||
328 | public const string LATIN_SMALL_LETTER_O_WITH_DOT_ABOVE_AND_MACRON = "\u{0231}"; |
||
329 | public const string LATIN_CAPITAL_LETTER_Y_WITH_MACRON = "\u{0232}"; |
||
330 | public const string LATIN_SMALL_LETTER_Y_WITH_MACRON = "\u{0233}"; |
||
331 | public const string MODIFIER_LETTER_PRIME = "\u{02B9}"; |
||
332 | public const string MODIFIER_LETTER_DOUBLE_PRIME = "\u{02BA}"; |
||
333 | public const string MODIFIER_LETTER_TURNED_COMMA = "\u{02BB}"; |
||
334 | public const string MODIFIER_LETTER_APOSTROPHE = "\u{02BC}"; |
||
335 | public const string MODIFIER_LETTER_CIRCUMFLEX_ACCENT = "\u{02C6}"; |
||
336 | public const string CARON = "\u{02C7}"; |
||
337 | public const string BREVE = "\u{02D8}"; |
||
338 | public const string DOT_ABOVE = "\u{02D9}"; |
||
339 | public const string RING_ABOVE = "\u{02DA}"; |
||
340 | public const string OGONEK = "\u{02DB}"; |
||
341 | public const string SMALL_TILDE = "\u{02DC}"; |
||
342 | public const string DOUBLE_ACUTE_ACCENT = "\u{02DD}"; |
||
343 | public const string COMBINING_GRAVE_ACCENT = "\u{0300}"; |
||
344 | public const string COMBINING_ACUTE_ACCENT = "\u{0301}"; |
||
345 | public const string COMBINING_CIRCUMFLEX_ACCENT = "\u{0302}"; |
||
346 | public const string COMBINING_TILDE = "\u{0303}"; |
||
347 | public const string COMBINING_MACRON = "\u{0304}"; |
||
348 | public const string COMBINING_OVERLINE = "\u{0305}"; |
||
349 | public const string COMBINING_BREVE = "\u{0306}"; |
||
350 | public const string COMBINING_DOT_ABOVE = "\u{0307}"; |
||
351 | public const string COMBINING_DIAERESIS = "\u{0308}"; |
||
352 | public const string COMBINING_HOOK_ABOVE = "\u{0309}"; |
||
353 | public const string COMBINING_RING_ABOVE = "\u{030A}"; |
||
354 | public const string COMBINING_DOUBLE_ACUTE_ACCENT = "\u{030B}"; |
||
355 | public const string COMBINING_CARON = "\u{030C}"; |
||
356 | public const string COMBINING_CANDRABINDU = "\u{0310}"; |
||
357 | public const string COMBINING_COMMA_ABOVE = "\u{0313}"; |
||
358 | public const string COMBINING_COMMA_ABOVE_RIGHT = "\u{0315}"; |
||
359 | public const string COMBINING_HORN = "\u{031B}"; |
||
360 | public const string COMBINING_LEFT_HALF_RING_BELOW = "\u{031C}"; |
||
361 | public const string COMBINING_DOT_BELOW = "\u{0323}"; |
||
362 | public const string COMBINING_DIAERESIS_BELOW = "\u{0324}"; |
||
363 | public const string COMBINING_RING_BELOW = "\u{0325}"; |
||
364 | public const string COMBINING_COMMA_BELOW = "\u{0326}"; |
||
365 | public const string COMBINING_CEDILLA = "\u{0327}"; |
||
366 | public const string COMBINING_OGONEK = "\u{0328}"; |
||
367 | public const string COMBINING_BRIDGE_BELOW = "\u{032A}"; |
||
368 | public const string COMBINING_BREVE_BELOW = "\u{032E}"; |
||
369 | public const string COMBINING_LOW_LINE = "\u{0332}"; |
||
370 | public const string COMBINING_DOUBLE_LOW_LINE = "\u{0333}"; |
||
371 | public const string COMBINING_SHORT_STROKE_OVERLAY = "\u{0335}"; |
||
372 | public const string COMBINING_LONG_STROKE_OVERLAY = "\u{0336}"; |
||
373 | public const string COMBINING_SHORT_SOLIDUS_OVERLAY = "\u{0338}"; |
||
374 | public const string COMBINING_LONG_SOLIDUS_OVERLAY = "\u{0338}"; |
||
375 | public const string COMBINING_DOUBLE_TILDE = "\u{0360}"; |
||
376 | public const string COMBINING_DOUBLE_INVERTED_BREVE = "\u{0361}"; |
||
377 | public const string GREEK_CAPITAL_LETTER_GAMMA = "\u{0393}"; |
||
378 | public const string GREEK_CAPITAL_LETTER_THETA = "\u{0398}"; |
||
379 | public const string GREEK_CAPITAL_LETTER_SIGMA = "\u{03A3}"; |
||
380 | public const string GREEK_CAPITAL_LETTER_PHI = "\u{03A6}"; |
||
381 | public const string GREEK_CAPITAL_LETTER_OMEGA = "\u{03A9}"; |
||
382 | public const string GREEK_SMALL_LETTER_ALPHA = "\u{03B1}"; |
||
383 | public const string GREEK_SMALL_LETTER_DELTA = "\u{03B4}"; |
||
384 | public const string GREEK_SMALL_LETTER_EPSILON = "\u{03B5}"; |
||
385 | public const string GREEK_SMALL_LETTER_PI = "\u{03C0}"; |
||
386 | public const string GREEK_SMALL_LETTER_SIGMA = "\u{03C3}"; |
||
387 | public const string GREEK_SMALL_LETTER_TAU = "\u{03C4}"; |
||
388 | public const string GREEK_SMALL_LETTER_PHI = "\u{03C6}"; |
||
389 | public const string CYRILLIC_CAPITAL_LETTER_IO = "\u{0401}"; |
||
390 | public const string CYRILLIC_CAPITAL_LETTER_DJE = "\u{0402}"; |
||
391 | public const string CYRILLIC_CAPITAL_LETTER_GJE = "\u{0403}"; |
||
392 | public const string CYRILLIC_CAPITAL_LETTER_UKRANIAN_IE = "\u{0404}"; |
||
393 | public const string CYRILLIC_CAPITAL_LETTER_DZE = "\u{0405}"; |
||
394 | public const string CYRILLIC_CAPITAL_LETTER_BYELORUSSIAN_UKRAINIAN_I = "\u{0406}"; |
||
395 | public const string CYRILLIC_CAPITAL_LETTER_YI = "\u{0407}"; |
||
396 | public const string CYRILLIC_CAPITAL_LETTER_JE = "\u{0408}"; |
||
397 | public const string CYRILLIC_CAPITAL_LETTER_LJE = "\u{0409}"; |
||
398 | public const string CYRILLIC_CAPITAL_LETTER_NJE = "\u{040A}"; |
||
399 | public const string CYRILLIC_CAPITAL_LETTER_TSHE = "\u{040B}"; |
||
400 | public const string CYRILLIC_CAPITAL_LETTER_KJE = "\u{040C}"; |
||
401 | public const string CYRILLIC_CAPITAL_LETTER_SHORT_U = "\u{040E}"; |
||
402 | public const string CYRILLIC_CAPITAL_LETTER_DZHE = "\u{040F}"; |
||
403 | public const string CYRILLIC_CAPITAL_LETTER_A = "\u{0410}"; |
||
404 | public const string CYRILLIC_CAPITAL_LETTER_BE = "\u{0411}"; |
||
405 | public const string CYRILLIC_CAPITAL_LETTER_VE = "\u{0412}"; |
||
406 | public const string CYRILLIC_CAPITAL_LETTER_GHE = "\u{0413}"; |
||
407 | public const string CYRILLIC_CAPITAL_LETTER_DE = "\u{0414}"; |
||
408 | public const string CYRILLIC_CAPITAL_LETTER_IE = "\u{0415}"; |
||
409 | public const string CYRILLIC_CAPITAL_LETTER_ZHE = "\u{0416}"; |
||
410 | public const string CYRILLIC_CAPITAL_LETTER_ZE = "\u{0417}"; |
||
411 | public const string CYRILLIC_CAPITAL_LETTER_I = "\u{0418}"; |
||
412 | public const string CYRILLIC_CAPITAL_LETTER_SHORT_I = "\u{0419}"; |
||
413 | public const string CYRILLIC_CAPITAL_LETTER_KA = "\u{041A}"; |
||
414 | public const string CYRILLIC_CAPITAL_LETTER_EL = "\u{041B}"; |
||
415 | public const string CYRILLIC_CAPITAL_LETTER_EM = "\u{041C}"; |
||
416 | public const string CYRILLIC_CAPITAL_LETTER_EN = "\u{041D}"; |
||
417 | public const string CYRILLIC_CAPITAL_LETTER_O = "\u{041E}"; |
||
418 | public const string CYRILLIC_CAPITAL_LETTER_PE = "\u{041F}"; |
||
419 | public const string CYRILLIC_CAPITAL_LETTER_ER = "\u{0420}"; |
||
420 | public const string CYRILLIC_CAPITAL_LETTER_ES = "\u{0421}"; |
||
421 | public const string CYRILLIC_CAPITAL_LETTER_TE = "\u{0422}"; |
||
422 | public const string CYRILLIC_CAPITAL_LETTER_U = "\u{0423}"; |
||
423 | public const string CYRILLIC_CAPITAL_LETTER_EF = "\u{0424}"; |
||
424 | public const string CYRILLIC_CAPITAL_LETTER_HA = "\u{0425}"; |
||
425 | public const string CYRILLIC_CAPITAL_LETTER_TSE = "\u{0426}"; |
||
426 | public const string CYRILLIC_CAPITAL_LETTER_CHE = "\u{0427}"; |
||
427 | public const string CYRILLIC_CAPITAL_LETTER_SHA = "\u{0428}"; |
||
428 | public const string CYRILLIC_CAPITAL_LETTER_SHCHA = "\u{0429}"; |
||
429 | public const string CYRILLIC_CAPITAL_LETTER_HARD_SIGN = "\u{042A}"; |
||
430 | public const string CYRILLIC_CAPITAL_LETTER_YERU = "\u{042B}"; |
||
431 | public const string CYRILLIC_CAPITAL_LETTER_SOFT_SIGN = "\u{042C}"; |
||
432 | public const string CYRILLIC_CAPITAL_LETTER_E = "\u{042D}"; |
||
433 | public const string CYRILLIC_CAPITAL_LETTER_YU = "\u{042E}"; |
||
434 | public const string CYRILLIC_CAPITAL_LETTER_YA = "\u{042F}"; |
||
435 | public const string CYRILLIC_SMALL_LETTER_A = "\u{0430}"; |
||
436 | public const string CYRILLIC_SMALL_LETTER_BE = "\u{0431}"; |
||
437 | public const string CYRILLIC_SMALL_LETTER_VE = "\u{0432}"; |
||
438 | public const string CYRILLIC_SMALL_LETTER_GHE = "\u{0433}"; |
||
439 | public const string CYRILLIC_SMALL_LETTER_DE = "\u{0434}"; |
||
440 | public const string CYRILLIC_SMALL_LETTER_IE = "\u{0435}"; |
||
441 | public const string CYRILLIC_SMALL_LETTER_ZHE = "\u{0436}"; |
||
442 | public const string CYRILLIC_SMALL_LETTER_ZE = "\u{0437}"; |
||
443 | public const string CYRILLIC_SMALL_LETTER_I = "\u{0438}"; |
||
444 | public const string CYRILLIC_SMALL_LETTER_SHORT_I = "\u{0439}"; |
||
445 | public const string CYRILLIC_SMALL_LETTER_KA = "\u{043A}"; |
||
446 | public const string CYRILLIC_SMALL_LETTER_EL = "\u{043B}"; |
||
447 | public const string CYRILLIC_SMALL_LETTER_EM = "\u{043C}"; |
||
448 | public const string CYRILLIC_SMALL_LETTER_EN = "\u{043D}"; |
||
449 | public const string CYRILLIC_SMALL_LETTER_O = "\u{043E}"; |
||
450 | public const string CYRILLIC_SMALL_LETTER_PE = "\u{043F}"; |
||
451 | public const string CYRILLIC_SMALL_LETTER_ER = "\u{0440}"; |
||
452 | public const string CYRILLIC_SMALL_LETTER_ES = "\u{0441}"; |
||
453 | public const string CYRILLIC_SMALL_LETTER_TE = "\u{0442}"; |
||
454 | public const string CYRILLIC_SMALL_LETTER_U = "\u{0443}"; |
||
455 | public const string CYRILLIC_SMALL_LETTER_EF = "\u{0444}"; |
||
456 | public const string CYRILLIC_SMALL_LETTER_HA = "\u{0445}"; |
||
457 | public const string CYRILLIC_SMALL_LETTER_TSE = "\u{0446}"; |
||
458 | public const string CYRILLIC_SMALL_LETTER_CHE = "\u{0447}"; |
||
459 | public const string CYRILLIC_SMALL_LETTER_SHA = "\u{0448}"; |
||
460 | public const string CYRILLIC_SMALL_LETTER_SHCHA = "\u{0449}"; |
||
461 | public const string CYRILLIC_SMALL_LETTER_HARD_SIGN = "\u{044A}"; |
||
462 | public const string CYRILLIC_SMALL_LETTER_YERU = "\u{044B}"; |
||
463 | public const string CYRILLIC_SMALL_LETTER_SOFT_SIGN = "\u{044C}"; |
||
464 | public const string CYRILLIC_SMALL_LETTER_E = "\u{044D}"; |
||
465 | public const string CYRILLIC_SMALL_LETTER_YU = "\u{044E}"; |
||
466 | public const string CYRILLIC_SMALL_LETTER_YA = "\u{044F}"; |
||
467 | public const string CYRILLIC_SMALL_LETTER_IO = "\u{0451}"; |
||
468 | public const string CYRILLIC_SMALL_LETTER_DJE = "\u{0452}"; |
||
469 | public const string CYRILLIC_SMALL_LETTER_GJE = "\u{0453}"; |
||
470 | public const string CYRILLIC_SMALL_LETTER_UKRANIAN_IE = "\u{0454}"; |
||
471 | public const string CYRILLIC_SMALL_LETTER_DZE = "\u{0455}"; |
||
472 | public const string CYRILLIC_SMALL_LETTER_BYELORUSSIAN_UKRAINIAN_I = "\u{0456}"; |
||
473 | public const string CYRILLIC_SMALL_LETTER_YI = "\u{0457}"; |
||
474 | public const string CYRILLIC_SMALL_LETTER_JE = "\u{0458}"; |
||
475 | public const string CYRILLIC_SMALL_LETTER_LJE = "\u{0459}"; |
||
476 | public const string CYRILLIC_SMALL_LETTER_NJE = "\u{045A}"; |
||
477 | public const string CYRILLIC_SMALL_LETTER_TSHE = "\u{045B}"; |
||
478 | public const string CYRILLIC_SMALL_LETTER_KJE = "\u{045C}"; |
||
479 | public const string CYRILLIC_SMALL_LETTER_SHORT_U = "\u{045E}"; |
||
480 | public const string CYRILLIC_SMALL_LETTER_DZHE = "\u{045F}"; |
||
481 | public const string CYRILLIC_CAPITAL_LETTER_GHE_WITH_UPTURN = "\u{0490}"; |
||
482 | public const string CYRILLIC_SMALL_LETTER_GHE_WITH_UPTURN = "\u{0491}"; |
||
483 | public const string ARABIC_LETTER_HAMZA = "\u{0621}"; |
||
484 | public const string ARABIC_LETTER_ALEF = "\u{0627}"; |
||
485 | public const string ARABIC_LETTER_BEH = "\u{0628}"; |
||
486 | public const string ARABIC_LETTER_TEH_MARBUTA = "\u{0629}"; |
||
487 | public const string ARABIC_LETTER_TEH = "\u{062A}"; |
||
488 | public const string ARABIC_LETTER_THEH = "\u{062B}"; |
||
489 | public const string ARABIC_LETTER_JEEM = "\u{062C}"; |
||
490 | public const string ARABIC_LETTER_HAH = "\u{062D}"; |
||
491 | public const string ARABIC_LETTER_KHAH = "\u{062E}"; |
||
492 | public const string ARABIC_LETTER_DAL = "\u{062F}"; |
||
493 | public const string ARABIC_LETTER_THAL = "\u{0630}"; |
||
494 | public const string ARABIC_LETTER_REH = "\u{0631}"; |
||
495 | public const string ARABIC_LETTER_ZAIN = "\u{0632}"; |
||
496 | public const string ARABIC_LETTER_SEEN = "\u{0633}"; |
||
497 | public const string ARABIC_LETTER_SHEEN = "\u{0634}"; |
||
498 | public const string ARABIC_LETTER_SAD = "\u{0635}"; |
||
499 | public const string ARABIC_LETTER_DAD = "\u{0636}"; |
||
500 | public const string ARABIC_LETTER_TAH = "\u{0637}"; |
||
501 | public const string ARABIC_LETTER_ZAH = "\u{0638}"; |
||
502 | public const string ARABIC_LETTER_AIN = "\u{0639}"; |
||
503 | public const string ARABIC_LETTER_GHAIN = "\u{063A}"; |
||
504 | public const string ARABIC_LETTER_FEH = "\u{0641}"; |
||
505 | public const string ARABIC_LETTER_QAF = "\u{0642}"; |
||
506 | public const string ARABIC_LETTER_KAF = "\u{0643}"; |
||
507 | public const string ARABIC_LETTER_LAM = "\u{0644}"; |
||
508 | public const string ARABIC_LETTER_MEEM = "\u{0645}"; |
||
509 | public const string ARABIC_LETTER_NOON = "\u{0646}"; |
||
510 | public const string ARABIC_LETTER_HEH = "\u{0647}"; |
||
511 | public const string ARABIC_LETTER_WAW = "\u{0648}"; |
||
512 | public const string ARABIC_LETTER_ALEF_MAKSURA = "\u{0649}"; |
||
513 | public const string ARABIC_LETTER_YEH = "\u{064A}"; |
||
514 | public const string LATIN_CAPITAL_LETTER_A_WITH_RING_BELOW = "\u{1E00}"; |
||
515 | public const string LATIN_SMALL_LETTER_A_WITH_RING_BELOW = "\u{1E01}"; |
||
516 | public const string LATIN_CAPITAL_LETTER_B_WITH_DOT_ABOVE = "\u{1E02}"; |
||
517 | public const string LATIN_SMALL_LETTER_B_WITH_DOT_ABOVE = "\u{1E03}"; |
||
518 | public const string LATIN_CAPITAL_LETTER_B_WITH_DOT_BELOW = "\u{1E04}"; |
||
519 | public const string LATIN_SMALL_LETTER_B_WITH_DOT_BELOW = "\u{1E05}"; |
||
520 | public const string LATIN_CAPITAL_LETTER_C_WITH_CEDILLA_AND_ACUTE = "\u{1E08}"; |
||
521 | public const string LATIN_SMALL_LETTER_C_WITH_CEDILLA_AND_ACUTE = "\u{1E09}"; |
||
522 | public const string LATIN_CAPITAL_LETTER_D_WITH_DOT_ABOVE = "\u{1E0A}"; |
||
523 | public const string LATIN_SMALL_LETTER_D_WITH_DOT_ABOVE = "\u{1E0B}"; |
||
524 | public const string LATIN_CAPITAL_LETTER_D_WITH_DOT_BELOW = "\u{1E0C}"; |
||
525 | public const string LATIN_SMALL_LETTER_D_WITH_DOT_BELOW = "\u{1E0D}"; |
||
526 | public const string LATIN_CAPITAL_LETTER_SHARP_S = "\u{1E9E}"; |
||
527 | public const string LATIN_CAPITAL_LETTER_D_WITH_CEDILLA = "\u{1E10}"; |
||
528 | public const string LATIN_SMALL_LETTER_D_WITH_CEDILLA = "\u{1E11}"; |
||
529 | public const string LATIN_CAPITAL_LETTER_E_WITH_MACRON_AND_GRAVE = "\u{1E14}"; |
||
530 | public const string LATIN_SMALL_LETTER_E_WITH_MACRON_AND_GRAVE = "\u{1E15}"; |
||
531 | public const string LATIN_CAPITAL_LETTER_E_WITH_MACRON_AND_ACUTE = "\u{1E16}"; |
||
532 | public const string LATIN_SMALL_LETTER_E_WITH_MACRON_AND_ACUTE = "\u{1E17}"; |
||
533 | public const string LATIN_CAPITAL_LETTER_E_WITH_CEDILLA_AND_BREVE = "\u{1E1C}"; |
||
534 | public const string LATIN_SMALL_LETTER_E_WITH_CEDILLA_AND_BREVE = "\u{1E1D}"; |
||
535 | public const string LATIN_CAPITAL_LETTER_F_WITH_DOT_ABOVE = "\u{1E1E}"; |
||
536 | public const string LATIN_SMALL_LETTER_F_WITH_DOT_ABOVE = "\u{1E1F}"; |
||
537 | public const string LATIN_CAPITAL_LETTER_G_WITH_MACRON = "\u{1E20}"; |
||
538 | public const string LATIN_SMALL_LETTER_G_WITH_MACRON = "\u{1E21}"; |
||
539 | public const string LATIN_CAPITAL_LETTER_H_WITH_DOT_ABOVE = "\u{1E22}"; |
||
540 | public const string LATIN_SMALL_LETTER_H_WITH_DOT_ABOVE = "\u{1E23}"; |
||
541 | public const string LATIN_CAPITAL_LETTER_H_WITH_DOT_BELOW = "\u{1E24}"; |
||
542 | public const string LATIN_SMALL_LETTER_H_WITH_DOT_BELOW = "\u{1E25}"; |
||
543 | public const string LATIN_CAPITAL_LETTER_H_WITH_DIAERESIS = "\u{1E26}"; |
||
544 | public const string LATIN_SMALL_LETTER_H_WITH_DIAERESIS = "\u{1E27}"; |
||
545 | public const string LATIN_CAPITAL_LETTER_H_WITH_CEDILLA = "\u{1E28}"; |
||
546 | public const string LATIN_SMALL_LETTER_H_WITH_CEDILLA = "\u{1E29}"; |
||
547 | public const string LATIN_CAPITAL_LETTER_H_WITH_BREVE_BELOW = "\u{1E2A}"; |
||
548 | public const string LATIN_SMALL_LETTER_H_WITH_BREVE_BELOW = "\u{1E2B}"; |
||
549 | public const string LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS_AND_ACUTE = "\u{1E2E}"; |
||
550 | public const string LATIN_SMALL_LETTER_I_WITH_DIAERESIS_AND_ACUTE = "\u{1E2F}"; |
||
551 | public const string LATIN_CAPITAL_LETTER_K_WITH_ACUTE = "\u{1E30}"; |
||
552 | public const string LATIN_SMALL_LETTER_K_WITH_ACUTE = "\u{1E31}"; |
||
553 | public const string LATIN_CAPITAL_LETTER_K_WITH_DOT_BELOW = "\u{1E32}"; |
||
554 | public const string LATIN_SMALL_LETTER_K_WITH_DOT_BELOW = "\u{1E33}"; |
||
555 | public const string LATIN_CAPITAL_LETTER_L_WITH_DOT_BELOW = "\u{1E36}"; |
||
556 | public const string LATIN_SMALL_LETTER_L_WITH_DOT_BELOW = "\u{1E37}"; |
||
557 | public const string LATIN_CAPITAL_LETTER_L_WITH_DOT_BELOW_AND_MACRON = "\u{1E38}"; |
||
558 | public const string LATIN_SMALL_LETTER_L_WITH_DOT_BELOW_AND_MACRON = "\u{1E39}"; |
||
559 | public const string LATIN_CAPITAL_LETTER_M_WITH_ACUTE = "\u{1E3E}"; |
||
560 | public const string LATIN_SMALL_LETTER_M_WITH_ACUTE = "\u{1E3F}"; |
||
561 | public const string LATIN_CAPITAL_LETTER_M_WITH_DOT_ABOVE = "\u{1E40}"; |
||
562 | public const string LATIN_SMALL_LETTER_M_WITH_DOT_ABOVE = "\u{1E41}"; |
||
563 | public const string LATIN_CAPITAL_LETTER_M_WITH_DOT_BELOW = "\u{1E42}"; |
||
564 | public const string LATIN_SMALL_LETTER_M_WITH_DOT_BELOW = "\u{1E43}"; |
||
565 | public const string LATIN_CAPITAL_LETTER_N_WITH_DOT_ABOVE = "\u{1E44}"; |
||
566 | public const string LATIN_SMALL_LETTER_N_WITH_DOT_ABOVE = "\u{1E45}"; |
||
567 | public const string LATIN_CAPITAL_LETTER_N_WITH_DOT_BELOW = "\u{1E46}"; |
||
568 | public const string LATIN_SMALL_LETTER_N_WITH_DOT_BELOW = "\u{1E47}"; |
||
569 | public const string LATIN_CAPITAL_LETTER_O_WITH_TILDE_AND_ACUTE = "\u{1E4C}"; |
||
570 | public const string LATIN_SMALL_LETTER_O_WITH_TILDE_AND_ACUTE = "\u{1E4D}"; |
||
571 | public const string LATIN_CAPITAL_LETTER_O_WITH_TILDE_AND_DIAERESIS = "\u{1E4E}"; |
||
572 | public const string LATIN_SMALL_LETTER_O_WITH_TILDE_AND_DIAERESIS = "\u{1E4F}"; |
||
573 | public const string LATIN_CAPITAL_LETTER_O_WITH_MACRON_AND_GRAVE = "\u{1E50}"; |
||
574 | public const string LATIN_SMALL_LETTER_O_WITH_MACRON_AND_GRAVE = "\u{1E51}"; |
||
575 | public const string LATIN_CAPITAL_LETTER_O_WITH_MACRON_AND_ACUTE = "\u{1E52}"; |
||
576 | public const string LATIN_SMALL_LETTER_O_WITH_MACRON_AND_ACUTE = "\u{1E53}"; |
||
577 | public const string LATIN_CAPITAL_LETTER_P_WITH_ACUTE = "\u{1E54}"; |
||
578 | public const string LATIN_SMALL_LETTER_P_WITH_ACUTE = "\u{1E55}"; |
||
579 | public const string LATIN_CAPITAL_LETTER_P_WITH_DOT_ABOVE = "\u{1E56}"; |
||
580 | public const string LATIN_SMALL_LETTER_P_WITH_DOT_ABOVE = "\u{1E57}"; |
||
581 | public const string LATIN_CAPITAL_LETTER_R_WITH_DOT_ABOVE = "\u{1E58}"; |
||
582 | public const string LATIN_SMALL_LETTER_R_WITH_DOT_ABOVE = "\u{1E59}"; |
||
583 | public const string LATIN_CAPITAL_LETTER_R_WITH_DOT_BELOW = "\u{1E5A}"; |
||
584 | public const string LATIN_SMALL_LETTER_R_WITH_DOT_BELOW = "\u{1E5B}"; |
||
585 | public const string LATIN_CAPITAL_LETTER_R_WITH_DOT_BELOW_AND_MACRON = "\u{1E5C}"; |
||
586 | public const string LATIN_SMALL_LETTER_R_WITH_DOT_BELOW_AND_MACRON = "\u{1E5D}"; |
||
587 | public const string LATIN_CAPITAL_LETTER_S_WITH_DOT_ABOVE = "\u{1E60}"; |
||
588 | public const string LATIN_SMALL_LETTER_S_WITH_DOT_ABOVE = "\u{1E61}"; |
||
589 | public const string LATIN_CAPITAL_LETTER_S_WITH_DOT_BELOW = "\u{1E62}"; |
||
590 | public const string LATIN_SMALL_LETTER_S_WITH_DOT_BELOW = "\u{1E63}"; |
||
591 | public const string LATIN_CAPITAL_LETTER_S_WITH_ACUTE_AND_DOT_ABOVE = "\u{1E64}"; |
||
592 | public const string LATIN_SMALL_LETTER_S_WITH_ACUTE_AND_DOT_ABOVE = "\u{1E65}"; |
||
593 | public const string LATIN_CAPITAL_LETTER_S_WITH_CARON_AND_DOT_ABOVE = "\u{1E66}"; |
||
594 | public const string LATIN_SMALL_LETTER_S_WITH_CARON_AND_DOT_ABOVE = "\u{1E67}"; |
||
595 | public const string LATIN_CAPITAL_LETTER_S_WITH_DOT_BELOW_AND_DOT_ABOVE = "\u{1E68}"; |
||
596 | public const string LATIN_SMALL_LETTER_S_WITH_DOT_BELOW_AND_DOT_ABOVE = "\u{1E69}"; |
||
597 | public const string LATIN_CAPITAL_LETTER_T_WITH_DOT_ABOVE = "\u{1E6A}"; |
||
598 | public const string LATIN_SMALL_LETTER_T_WITH_DOT_ABOVE = "\u{1E6B}"; |
||
599 | public const string LATIN_CAPITAL_LETTER_T_WITH_DOT_BELOW = "\u{1E6C}"; |
||
600 | public const string LATIN_SMALL_LETTER_T_WITH_DOT_BELOW = "\u{1E6D}"; |
||
601 | public const string LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_BELOW = "\u{1E72}"; |
||
602 | public const string LATIN_SMALL_LETTER_U_WITH_DIAERESIS_BELOW = "\u{1E73}"; |
||
603 | public const string LATIN_CAPITAL_LETTER_U_WITH_TILDE_AND_ACUTE = "\u{1E78}"; |
||
604 | public const string LATIN_SMALL_LETTER_U_WITH_TILDE_AND_ACUTE = "\u{1E79}"; |
||
605 | public const string LATIN_CAPITAL_LETTER_U_WITH_MACRON_AND_DIAERESIS = "\u{1E7A}"; |
||
606 | public const string LATIN_SMALL_LETTER_U_WITH_MACRON_AND_DIAERESIS = "\u{1E7B}"; |
||
607 | public const string LATIN_CAPITAL_LETTER_V_WITH_TILDE = "\u{1E7C}"; |
||
608 | public const string LATIN_SMALL_LETTER_V_WITH_TILDE = "\u{1E7D}"; |
||
609 | public const string LATIN_CAPITAL_LETTER_V_WITH_DOT_BELOW = "\u{1E7E}"; |
||
610 | public const string LATIN_SMALL_LETTER_V_WITH_DOT_BELOW = "\u{1E7F}"; |
||
611 | public const string LATIN_CAPITAL_LETTER_W_WITH_GRAVE = "\u{1E80}"; |
||
612 | public const string LATIN_SMALL_LETTER_W_WITH_GRAVE = "\u{1E81}"; |
||
613 | public const string LATIN_CAPITAL_LETTER_W_WITH_ACUTE = "\u{1E82}"; |
||
614 | public const string LATIN_SMALL_LETTER_W_WITH_ACUTE = "\u{1E83}"; |
||
615 | public const string LATIN_CAPITAL_LETTER_W_WITH_DIAERESIS = "\u{1E84}"; |
||
616 | public const string LATIN_SMALL_LETTER_W_WITH_DIAERESIS = "\u{1E85}"; |
||
617 | public const string LATIN_CAPITAL_LETTER_W_WITH_DOT_ABOVE = "\u{1E86}"; |
||
618 | public const string LATIN_SMALL_LETTER_W_WITH_DOT_ABOVE = "\u{1E87}"; |
||
619 | public const string LATIN_CAPITAL_LETTER_W_WITH_DOT_BELOW = "\u{1E88}"; |
||
620 | public const string LATIN_SMALL_LETTER_W_WITH_DOT_BELOW = "\u{1E89}"; |
||
621 | public const string LATIN_CAPITAL_LETTER_X_WITH_DOT_ABOVE = "\u{1E8A}"; |
||
622 | public const string LATIN_SMALL_LETTER_X_WITH_DOT_ABOVE = "\u{1E8B}"; |
||
623 | public const string LATIN_CAPITAL_LETTER_X_WITH_DIAERESIS = "\u{1E8C}"; |
||
624 | public const string LATIN_SMALL_LETTER_X_WITH_DIAERESIS = "\u{1E8D}"; |
||
625 | public const string LATIN_CAPITAL_LETTER_Y_WITH_DOT_ABOVE = "\u{1E8E}"; |
||
626 | public const string LATIN_SMALL_LETTER_Y_WITH_DOT_ABOVE = "\u{1E8F}"; |
||
627 | public const string LATIN_CAPITAL_LETTER_Z_WITH_CIRCUMFLEX = "\u{1E90}"; |
||
628 | public const string LATIN_SMALL_LETTER_Z_WITH_CIRCUMFLEX = "\u{1E91}"; |
||
629 | public const string LATIN_CAPITAL_LETTER_Z_WITH_DOT_BELOW = "\u{1E92}"; |
||
630 | public const string LATIN_SMALL_LETTER_Z_WITH_DOT_BELOW = "\u{1E93}"; |
||
631 | public const string LATIN_SMALL_LETTER_T_WITH_DIAERESIS = "\u{1E97}"; |
||
632 | public const string LATIN_SMALL_LETTER_W_WITH_RING_ABOVE = "\u{1E98}"; |
||
633 | public const string LATIN_SMALL_LETTER_Y_WITH_RING_ABOVE = "\u{1E99}"; |
||
634 | public const string LATIN_CAPITAL_LETTER_A_WITH_DOT_BELOW = "\u{1EA0}"; |
||
635 | public const string LATIN_SMALL_LETTER_A_WITH_DOT_BELOW = "\u{1EA1}"; |
||
636 | public const string LATIN_CAPITAL_LETTER_A_WITH_HOOK_ABOVE = "\u{1EA2}"; |
||
637 | public const string LATIN_SMALL_LETTER_A_WITH_HOOK_ABOVE = "\u{1EA3}"; |
||
638 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1EA4}"; |
||
639 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1EA5}"; |
||
640 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1EA6}"; |
||
641 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1EA7}"; |
||
642 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1EA8}"; |
||
643 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1EA9}"; |
||
644 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX_AND_TILDE = "\u{1EAA}"; |
||
645 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX_AND_TILDE = "\u{1EAB}"; |
||
646 | public const string LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1EAC}"; |
||
647 | public const string LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1EAD}"; |
||
648 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE_AND_ACUTE = "\u{1EAE}"; |
||
649 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE_AND_ACUTE = "\u{1EAF}"; |
||
650 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE_AND_GRAVE = "\u{1EB0}"; |
||
651 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE_AND_GRAVE = "\u{1EB1}"; |
||
652 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE_AND_HOOK_ABOVE = "\u{1EB2}"; |
||
653 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE_AND_HOOK_ABOVE = "\u{1EB3}"; |
||
654 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE_AND_TILDE = "\u{1EB4}"; |
||
655 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE_AND_TILDE = "\u{1EB5}"; |
||
656 | public const string LATIN_CAPITAL_LETTER_A_WITH_BREVE_AND_DOT_BELOW = "\u{1EB6}"; |
||
657 | public const string LATIN_SMALL_LETTER_A_WITH_BREVE_AND_DOT_BELOW = "\u{1EB7}"; |
||
658 | public const string LATIN_CAPITAL_LETTER_E_WITH_DOT_BELOW = "\u{1EB8}"; |
||
659 | public const string LATIN_SMALL_LETTER_E_WITH_DOT_BELOW = "\u{1EB9}"; |
||
660 | public const string LATIN_CAPITAL_LETTER_E_WITH_HOOK_ABOVE = "\u{1EBA}"; |
||
661 | public const string LATIN_SMALL_LETTER_E_WITH_HOOK_ABOVE = "\u{1EBB}"; |
||
662 | public const string LATIN_CAPITAL_LETTER_E_WITH_TILDE = "\u{1EBC}"; |
||
663 | public const string LATIN_SMALL_LETTER_E_WITH_TILDE = "\u{1EBD}"; |
||
664 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1EBE}"; |
||
665 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1EBF}"; |
||
666 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1EC0}"; |
||
667 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1EC1}"; |
||
668 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1EC2}"; |
||
669 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1EC3}"; |
||
670 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX_AND_TILDE = "\u{1EC4}"; |
||
671 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX_AND_TILDE = "\u{1EC5}"; |
||
672 | public const string LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1EC6}"; |
||
673 | public const string LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1EC7}"; |
||
674 | public const string LATIN_CAPITAL_LETTER_I_WITH_HOOK_ABOVE = "\u{1EC8}"; |
||
675 | public const string LATIN_SMALL_LETTER_I_WITH_HOOK_ABOVE = "\u{1EC9}"; |
||
676 | public const string LATIN_CAPITAL_LETTER_I_WITH_DOT_BELOW = "\u{1ECA}"; |
||
677 | public const string LATIN_SMALL_LETTER_I_WITH_DOT_BELOW = "\u{1ECB}"; |
||
678 | public const string LATIN_CAPITAL_LETTER_O_WITH_DOT_BELOW = "\u{1ECC}"; |
||
679 | public const string LATIN_SMALL_LETTER_O_WITH_DOT_BELOW = "\u{1ECD}"; |
||
680 | public const string LATIN_CAPITAL_LETTER_O_WITH_HOOK_ABOVE = "\u{1ECE}"; |
||
681 | public const string LATIN_SMALL_LETTER_O_WITH_HOOK_ABOVE = "\u{1ECF}"; |
||
682 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1ED0}"; |
||
683 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX_AND_ACUTE = "\u{1ED1}"; |
||
684 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1ED2}"; |
||
685 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX_AND_GRAVE = "\u{1ED3}"; |
||
686 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1ED4}"; |
||
687 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX_AND_HOOK_ABOVE = "\u{1ED5}"; |
||
688 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX_AND_TILDE = "\u{1ED6}"; |
||
689 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX_AND_TILDE = "\u{1ED7}"; |
||
690 | public const string LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1ED8}"; |
||
691 | public const string LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX_AND_DOT_BELOW = "\u{1ED9}"; |
||
692 | public const string LATIN_CAPITAL_LETTER_U_WITH_DOT_BELOW = "\u{1EE4}"; |
||
693 | public const string LATIN_SMALL_LETTER_U_WITH_DOT_BELOW = "\u{1EE5}"; |
||
694 | public const string LATIN_CAPITAL_LETTER_U_WITH_HOOK_ABOVE = "\u{1EE6}"; |
||
695 | public const string LATIN_SMALL_LETTER_U_WITH_HOOK_ABOVE = "\u{1EE7}"; |
||
696 | public const string LATIN_CAPITAL_LETTER_Y_WITH_GRAVE = "\u{1EF2}"; |
||
697 | public const string LATIN_SMALL_LETTER_Y_WITH_GRAVE = "\u{1EF3}"; |
||
698 | public const string LATIN_CAPITAL_LETTER_Y_WITH_DOT_BELOW = "\u{1EF4}"; |
||
699 | public const string LATIN_SMALL_LETTER_Y_WITH_DOT_BELOW = "\u{1EF5}"; |
||
700 | public const string LATIN_CAPITAL_LETTER_Y_WITH_HOOK_ABOVE = "\u{1EF6}"; |
||
701 | public const string LATIN_SMALL_LETTER_Y_WITH_HOOK_ABOVE = "\u{1EF7}"; |
||
702 | public const string LATIN_CAPITAL_LETTER_Y_WITH_TILDE = "\u{1EF8}"; |
||
703 | public const string LATIN_SMALL_LETTER_Y_WITH_TILDE = "\u{1EF9}"; |
||
704 | public const string ZERO_WIDTH_NON_JOINER = "\u{200C}"; |
||
705 | public const string ZERO_WIDTH_JOINER = "\u{200D}"; |
||
706 | public const string EN_DASH = "\u{2013}"; |
||
707 | public const string EM_DASH = "\u{2014}"; |
||
708 | public const string DOUBLE_LOW_LINE = "\u{2017}"; |
||
709 | public const string LEFT_SINGLE_QUOTATION_MARK = "\u{2018}"; |
||
710 | public const string RIGHT_SINGLE_QUOTATION_MARK = "\u{2019}"; |
||
711 | public const string SINGLE_LOW_9_QUOTATION_MARK = "\u{201A}"; |
||
712 | public const string LEFT_DOUBLE_QUOTATION_MARK = "\u{201C}"; |
||
713 | public const string RIGHT_DOUBLE_QUOTATION_MARK = "\u{201D}"; |
||
714 | public const string DOUBLE_LOW_9_QUOTATION_MARK = "\u{201E}"; |
||
715 | public const string DAGGER = "\u{2020}"; |
||
716 | public const string DOUBLE_DAGGER = "\u{2021}"; |
||
717 | public const string BULLET = "\u{2022}"; |
||
718 | public const string HORIZONTAL_ELLIPSIS = "\u{2026}"; |
||
719 | public const string PER_MILLE_SIGN = "\u{2030}"; |
||
720 | public const string SINGLE_LEFT_POINTING_ANGLE_QUOTATION_MARK = "\u{2039}"; |
||
721 | public const string SINGLE_RIGHT_POINTING_ANGLE_QUOTATION_MARK = "\u{203A}"; |
||
722 | public const string FRACTION_SLASH = "\u{2044}"; |
||
723 | public const string SUPERSCRIPT_LATIN_SMALL_LETTER_N = "\u{207F}"; |
||
724 | public const string PESETA_SIGN = "\u{20A7}"; |
||
725 | public const string EURO_SIGN = "\u{20AC}"; |
||
726 | public const string SCRIPT_SMALL_L = "\u{2113}"; |
||
727 | public const string NUMERO_SIGN = "\u{2116}"; |
||
728 | public const string SOUND_RECORDING_COPYRIGHT = "\u{2117}"; |
||
729 | public const string TRADE_MARK_SIGN = "\u{2122}"; |
||
730 | public const string PARTIAL_DIFFERENTIAL = "\u{2202}"; |
||
731 | public const string INCREMENT = "\u{2206}"; |
||
732 | public const string N_ARY_PRODUCT = "\u{220F}"; |
||
733 | public const string N_ARY_SUMMATION = "\u{2211}"; |
||
734 | public const string BULLET_OPERATOR = "\u{2219}"; |
||
735 | public const string SQUARE_ROOT = "\u{221A}"; |
||
736 | public const string INFINITY = "\u{221E}"; |
||
737 | public const string INTERSECTION = "\u{2229}"; |
||
738 | public const string INTEGRAL = "\u{222B}"; |
||
739 | public const string ALMOST_EQUAL_TO = "\u{2248}"; |
||
740 | public const string NOT_EQUAL_TO = "\u{2260}"; |
||
741 | public const string IDENTICAL_TO = "\u{2261}"; |
||
742 | public const string LESS_THAN_OR_EQUAL_TO = "\u{2264}"; |
||
743 | public const string GREATER_THAN_OR_EQUAL_TO = "\u{2265}"; |
||
744 | public const string REVERSED_NOT_SIGN = "\u{2310}"; |
||
745 | public const string TOP_HALF_INTEGRAL = "\u{2320}"; |
||
746 | public const string BOTTOM_HALF_INTEGRAL = "\u{2321}"; |
||
747 | public const string BOX_DRAWINGS_LIGHT_HORIZONTAL = "\u{2500}"; |
||
748 | public const string BOX_DRAWINGS_LIGHT_VERTICAL = "\u{2502}"; |
||
749 | public const string BOX_DRAWINGS_LIGHT_DOWN_AND_RIGHT = "\u{250C}"; |
||
750 | public const string BOX_DRAWINGS_LIGHT_DOWN_AND_LEFT = "\u{2510}"; |
||
751 | public const string BOX_DRAWINGS_LIGHT_UP_AND_LEFT = "\u{2518}"; |
||
752 | public const string BOX_DRAWINGS_LIGHT_UP_AND_RIGHT = "\u{2514}"; |
||
753 | public const string BOX_DRAWINGS_LIGHT_VERTICAL_AND_RIGHT = "\u{251C}"; |
||
754 | public const string BOX_DRAWINGS_LIGHT_VERTICAL_AND_LEFT = "\u{2524}"; |
||
755 | public const string BOX_DRAWINGS_LIGHT_DOWN_AND_HORIZONTAL = "\u{252C}"; |
||
756 | public const string BOX_DRAWINGS_LIGHT_UP_AND_HORIZONTAL = "\u{2534}"; |
||
757 | public const string BOX_DRAWINGS_LIGHT_VERTICAL_AND_HORIZONTAL = "\u{253C}"; |
||
758 | public const string BOX_DRAWINGS_DOUBLE_HORIZONTAL = "\u{2550}"; |
||
759 | public const string BOX_DRAWINGS_DOUBLE_VERTICAL = "\u{2551}"; |
||
760 | public const string BOX_DRAWINGS_DOWN_SINGLE_AND_RIGHT_DOUBLE = "\u{2552}"; |
||
761 | public const string BOX_DRAWINGS_DOWN_DOUBLE_AND_RIGHT_SINGLE = "\u{2553}"; |
||
762 | public const string BOX_DRAWINGS_DOUBLE_DOWN_AND_RIGHT = "\u{2554}"; |
||
763 | public const string BOX_DRAWINGS_DOWN_SINGLE_AND_LEFT_DOUBLE = "\u{2555}"; |
||
764 | public const string BOX_DRAWINGS_DOWN_DOUBLE_AND_LEFT_SINGLE = "\u{2556}"; |
||
765 | public const string BOX_DRAWINGS_DOUBLE_DOWN_AND_LEFT = "\u{2557}"; |
||
766 | public const string BOX_DRAWINGS_UP_SINGLE_AND_RIGHT_DOUBLE = "\u{2558}"; |
||
767 | public const string BOX_DRAWINGS_UP_DOUBLE_AND_RIGHT_SINGLE = "\u{2559}"; |
||
768 | public const string BOX_DRAWINGS_DOUBLE_UP_AND_RIGHT = "\u{255A}"; |
||
769 | public const string BOX_DRAWINGS_UP_SINGLE_AND_LEFT_DOUBLE = "\u{255B}"; |
||
770 | public const string BOX_DRAWINGS_UP_DOUBLE_AND_LEFT_SINGLE = "\u{255C}"; |
||
771 | public const string BOX_DRAWINGS_DOUBLE_UP_AND_LEFT = "\u{255D}"; |
||
772 | public const string BOX_DRAWINGS_VERTICAL_SINGLE_AND_RIGHT_DOUBLE = "\u{255E}"; |
||
773 | public const string BOX_DRAWINGS_VERTICAL_DOUBLE_AND_RIGHT_SINGLE = "\u{255F}"; |
||
774 | public const string BOX_DRAWINGS_DOUBLE_VERTICAL_AND_RIGHT = "\u{2560}"; |
||
775 | public const string BOX_DRAWINGS_VERTICAL_SINGLE_AND_LEFT_DOUBLE = "\u{2561}"; |
||
776 | public const string BOX_DRAWINGS_VERTICAL_DOUBLE_AND_LEFT_SINGLE = "\u{2562}"; |
||
777 | public const string BOX_DRAWINGS_DOUBLE_VERTICAL_AND_LEFT = "\u{2563}"; |
||
778 | public const string BOX_DRAWINGS_DOWN_SINGLE_AND_HORIZONTAL_DOUBLE = "\u{2564}"; |
||
779 | public const string BOX_DRAWINGS_DOWN_DOUBLE_AND_HORIZONTAL_SINGLE = "\u{2565}"; |
||
780 | public const string BOX_DRAWINGS_DOUBLE_DOWN_AND_HORIZONTAL = "\u{2566}"; |
||
781 | public const string BOX_DRAWINGS_UP_SINGLE_AND_HORIZONTAL_DOUBLE = "\u{2567}"; |
||
782 | public const string BOX_DRAWINGS_UP_DOUBLE_AND_HORIZONTAL_SINGLE = "\u{2568}"; |
||
783 | public const string BOX_DRAWINGS_BOX_DRAWINGS_DOUBLE_UP_AND_HORIZONTAL = "\u{2569}"; |
||
784 | public const string BOX_DRAWINGS_VERTICAL_SINGLE_AND_HORIZONTAL_DOUBLE = "\u{256A}"; |
||
785 | public const string BOX_DRAWINGS_VERTICAL_DOUBLE_AND_HORIZONTAL_SINGLE = "\u{256B}"; |
||
786 | public const string BOX_DRAWINGS_DOUBLE_VERTICAL_AND_HORIZONTAL = "\u{256C}"; |
||
787 | public const string UPPER_HALF_BLOCK = "\u{2580}"; |
||
788 | public const string LOWER_HALF_BLOCK = "\u{2584}"; |
||
789 | public const string FULL_BLOCK = "\u{2588}"; |
||
790 | public const string LEFT_HALF_BLOCK = "\u{258C}"; |
||
791 | public const string RIGHT_HALF_BLOCK = "\u{2590}"; |
||
792 | public const string LIGHT_SHADE = "\u{2591}"; |
||
793 | public const string MEDIUM_SHADE = "\u{2592}"; |
||
794 | public const string DARK_SHADE = "\u{2593}"; |
||
795 | public const string BLACK_SQUARE = "\u{25A0}"; |
||
796 | public const string WHITE_SQUARE = "\u{25A1}"; |
||
797 | public const string LOZENGE = "\u{25CA}"; |
||
798 | public const string MUSIC_FLAT_SIGN = "\u{266D}"; |
||
799 | public const string MUSIC_SHARP_SIGN = "\u{266F}"; |
||
800 | public const string LATIN_SMALL_LIGATURE_FI = "\u{FB01}"; |
||
801 | public const string LATIN_SMALL_LIGATURE_FL = "\u{FB02}"; |
||
802 | public const string BYTE_ORDER_MARK = "\u{FEFF}"; |
||
803 | public const string REPLACEMENT_CHARACTER = "\u{FFFD}"; |
||
804 | |||
805 | /** |
||
806 | * Convert text from (potentially invalid) UTF-8 to UTF-8. |
||
807 | * |
||
808 | * @param string $text |
||
809 | * |
||
810 | * @return string |
||
811 | */ |
||
812 | public function fromUtf8(string $text): string |
||
813 | { |
||
814 | if (preg_match('//u', $text) === false) { |
||
815 | // Not UTF8? |
||
816 | mb_substitute_character(0xFFFD); |
||
817 | |||
818 | return mb_convert_encoding($text, 'UTF-8', 'UTF-8'); |
||
819 | } |
||
820 | |||
821 | return $text; |
||
822 | } |
||
823 | |||
824 | /** |
||
825 | * Convert text from (potentially invalid) UTF-8 to UTF-8. |
||
826 | * |
||
827 | * @param string $text |
||
828 | * |
||
829 | * @return string |
||
830 | */ |
||
831 | public function toUtf8(string $text): string |
||
832 | { |
||
833 | return $this->fromUtf8($text); |
||
834 | } |
||
835 | |||
836 | /** |
||
837 | * Create a UTF8 character from a code. |
||
838 | * |
||
839 | * @param int $code |
||
840 | * |
||
841 | * @return string |
||
842 | */ |
||
843 | public static function chr(int $code): string |
||
844 | { |
||
845 | if ($code < 0 || $code > 0x1FFFFF) { |
||
846 | throw new InvalidArgumentException((string)$code); |
||
847 | } |
||
848 | |||
849 | if ($code <= 0x7F) { |
||
850 | return chr($code); |
||
851 | } |
||
852 | |||
853 | if ($code <= 0x7FF) { |
||
854 | return |
||
855 | chr(($code >> 6) + 0xC0) . |
||
856 | chr(($code & 0x3F) + 0x80); |
||
857 | } |
||
858 | |||
859 | if ($code <= 0xFFFF) { |
||
860 | return |
||
861 | chr(($code >> 12) + 0xE0) . |
||
862 | chr((($code >> 6) & 0x3F) + 0x80) . |
||
863 | chr(($code & 0x3F) + 0x80); |
||
864 | } |
||
865 | |||
866 | return |
||
867 | chr(($code >> 18) + 0xF0) . |
||
868 | chr((($code >> 12) & 0x3F) + 0x80) . |
||
869 | chr((($code >> 6) & 0x3F) + 0x80) . |
||
870 | chr(($code & 0x3F) + 0x80); |
||
871 | } |
||
872 | } |
||
873 |