Package pyxb :: Package utils :: Module unicode_data
[hide private]
[frames] | no frames]

Source Code for Module pyxb.utils.unicode_data

  1  # Unicode property and category maps. 
  2   
  3  from unicode import CodePointSet 
  4   
  5  # Unicode code blocks: 68 blocks 
  6  BlockMap = { 
  7    'AlphabeticPresentationForms' : CodePointSet( 
  8       (0x00fb00, 0x00fb4f), 
  9    ), 
 10    'Arabic' : CodePointSet( 
 11       (0x000600, 0x0006ff), 
 12    ), 
 13    'ArabicPresentationForms-A' : CodePointSet( 
 14       (0x00fb50, 0x00fdff), 
 15    ), 
 16    'ArabicPresentationForms-B' : CodePointSet( 
 17       (0x00fe70, 0x00feff), 
 18    ), 
 19    'Armenian' : CodePointSet( 
 20       (0x000530, 0x00058f), 
 21    ), 
 22    'Arrows' : CodePointSet( 
 23       (0x002190, 0x0021ff), 
 24    ), 
 25    'BasicLatin' : CodePointSet( 
 26       (0x000000, 0x00007f), 
 27    ), 
 28    'Bengali' : CodePointSet( 
 29       (0x000980, 0x0009ff), 
 30    ), 
 31    'BlockElements' : CodePointSet( 
 32       (0x002580, 0x00259f), 
 33    ), 
 34    'Bopomofo' : CodePointSet( 
 35       (0x003100, 0x00312f), 
 36    ), 
 37    'BoxDrawing' : CodePointSet( 
 38       (0x002500, 0x00257f), 
 39    ), 
 40    'CJKCompatibility' : CodePointSet( 
 41       (0x003300, 0x0033ff), 
 42    ), 
 43    'CJKCompatibilityForms' : CodePointSet( 
 44       (0x00fe30, 0x00fe4f), 
 45    ), 
 46    'CJKCompatibilityIdeographs' : CodePointSet( 
 47       (0x00f900, 0x00faff), 
 48    ), 
 49    'CJKSymbolsandPunctuation' : CodePointSet( 
 50       (0x003000, 0x00303f), 
 51    ), 
 52    'CJKUnifiedIdeographs' : CodePointSet( 
 53       (0x004e00, 0x009fff), 
 54    ), 
 55    'CombiningDiacriticalMarks' : CodePointSet( 
 56       (0x000300, 0x00036f), 
 57    ), 
 58    'CombiningHalfMarks' : CodePointSet( 
 59       (0x00fe20, 0x00fe2f), 
 60    ), 
 61    'CombiningMarksforSymbols' : CodePointSet( 
 62       (0x0020d0, 0x0020ff), 
 63    ), 
 64    'ControlPictures' : CodePointSet( 
 65       (0x002400, 0x00243f), 
 66    ), 
 67    'CurrencySymbols' : CodePointSet( 
 68       (0x0020a0, 0x0020cf), 
 69    ), 
 70    'Cyrillic' : CodePointSet( 
 71       (0x000400, 0x0004ff), 
 72    ), 
 73    'Devanagari' : CodePointSet( 
 74       (0x000900, 0x00097f), 
 75    ), 
 76    'Dingbats' : CodePointSet( 
 77       (0x002700, 0x0027bf), 
 78    ), 
 79    'EnclosedAlphanumerics' : CodePointSet( 
 80       (0x002460, 0x0024ff), 
 81    ), 
 82    'EnclosedCJKLettersandMonths' : CodePointSet( 
 83       (0x003200, 0x0032ff), 
 84    ), 
 85    'GeneralPunctuation' : CodePointSet( 
 86       (0x002000, 0x00206f), 
 87    ), 
 88    'GeometricShapes' : CodePointSet( 
 89       (0x0025a0, 0x0025ff), 
 90    ), 
 91    'Georgian' : CodePointSet( 
 92       (0x0010a0, 0x0010ff), 
 93    ), 
 94    'Greek' : CodePointSet( 
 95       (0x000370, 0x0003ff), 
 96    ), 
 97    'GreekExtended' : CodePointSet( 
 98       (0x001f00, 0x001fff), 
 99    ), 
100    'Gujarati' : CodePointSet( 
101       (0x000a80, 0x000aff), 
102    ), 
103    'Gurmukhi' : CodePointSet( 
104       (0x000a00, 0x000a7f), 
105    ), 
106    'HalfwidthandFullwidthForms' : CodePointSet( 
107       (0x00ff00, 0x00ffef), 
108    ), 
109    'HangulCompatibilityJamo' : CodePointSet( 
110       (0x003130, 0x00318f), 
111    ), 
112    'HangulJamo' : CodePointSet( 
113       (0x001100, 0x0011ff), 
114    ), 
115    'HangulSyllables' : CodePointSet( 
116       (0x00ac00, 0x00d7a3), 
117    ), 
118    'Hebrew' : CodePointSet( 
119       (0x000590, 0x0005ff), 
120    ), 
121    'HighPrivateUseSurrogates' : CodePointSet( 
122       (0x00db80, 0x00dbff), 
123    ), 
124    'HighSurrogates' : CodePointSet( 
125       (0x00d800, 0x00db7f), 
126    ), 
127    'Hiragana' : CodePointSet( 
128       (0x003040, 0x00309f), 
129    ), 
130    'IPAExtensions' : CodePointSet( 
131       (0x000250, 0x0002af), 
132    ), 
133    'Kanbun' : CodePointSet( 
134       (0x003190, 0x00319f), 
135    ), 
136    'Kannada' : CodePointSet( 
137       (0x000c80, 0x000cff), 
138    ), 
139    'Katakana' : CodePointSet( 
140       (0x0030a0, 0x0030ff), 
141    ), 
142    'Lao' : CodePointSet( 
143       (0x000e80, 0x000eff), 
144    ), 
145    'Latin-1Supplement' : CodePointSet( 
146       (0x000080, 0x0000ff), 
147    ), 
148    'LatinExtended-A' : CodePointSet( 
149       (0x000100, 0x00017f), 
150    ), 
151    'LatinExtended-B' : CodePointSet( 
152       (0x000180, 0x00024f), 
153    ), 
154    'LatinExtendedAdditional' : CodePointSet( 
155       (0x001e00, 0x001eff), 
156    ), 
157    'LetterlikeSymbols' : CodePointSet( 
158       (0x002100, 0x00214f), 
159    ), 
160    'LowSurrogates' : CodePointSet( 
161       (0x00dc00, 0x00dfff), 
162    ), 
163    'Malayalam' : CodePointSet( 
164       (0x000d00, 0x000d7f), 
165    ), 
166    'MathematicalOperators' : CodePointSet( 
167       (0x002200, 0x0022ff), 
168    ), 
169    'MiscellaneousSymbols' : CodePointSet( 
170       (0x002600, 0x0026ff), 
171    ), 
172    'MiscellaneousTechnical' : CodePointSet( 
173       (0x002300, 0x0023ff), 
174    ), 
175    'NumberForms' : CodePointSet( 
176       (0x002150, 0x00218f), 
177    ), 
178    'OpticalCharacterRecognition' : CodePointSet( 
179       (0x002440, 0x00245f), 
180    ), 
181    'Oriya' : CodePointSet( 
182       (0x000b00, 0x000b7f), 
183    ), 
184    'PrivateUse' : CodePointSet( 
185       (0x00e000, 0x00f8ff), 
186    ), 
187    'SmallFormVariants' : CodePointSet( 
188       (0x00fe50, 0x00fe6f), 
189    ), 
190    'SpacingModifierLetters' : CodePointSet( 
191       (0x0002b0, 0x0002ff), 
192    ), 
193    'Specials' : CodePointSet( 
194       (0x00feff, 0x00feff), (0x00fff0, 0x00ffff), 
195    ), 
196    'SuperscriptsandSubscripts' : CodePointSet( 
197       (0x002070, 0x00209f), 
198    ), 
199    'Tamil' : CodePointSet( 
200       (0x000b80, 0x000bff), 
201    ), 
202    'Telugu' : CodePointSet( 
203       (0x000c00, 0x000c7f), 
204    ), 
205    'Thai' : CodePointSet( 
206       (0x000e00, 0x000e7f), 
207    ), 
208    'Tibetan' : CodePointSet( 
209       (0x000f00, 0x000fbf), 
210    ), 
211    } 
212  # Unicode general category properties: 34 properties 
213  PropertyMap = { 
214    # C: 85 codepoint markers (*not* codepoints) 
215    'C'  : CodePointSet([ 
216             (0x000000, 0x00001f), (0x00007f, 0x00009f), (0x00200c, 0x00200f), 
217             (0x00202a, 0x00202e), (0x00206a, 0x00206f), (0x00d800, 0x00db7f), 
218             (0x00db80, 0x00dbff), (0x00dc00, 0x00dfff), (0x00e000, 0x00f8ff), 
219             (0x00feff, 0x00feff), 
220           ]), 
221    # Cc: 65 codepoint markers (*not* codepoints) 
222    'Cc' : CodePointSet([ 
223             (0x000000, 0x00001f), (0x00007f, 0x00009f), 
224           ]), 
225    # Cf: 16 codepoint markers (*not* codepoints) 
226    'Cf' : CodePointSet([ 
227             (0x00200c, 0x00200f), (0x00202a, 0x00202e), (0x00206a, 0x00206f), 
228             (0x00feff, 0x00feff), 
229           ]), 
230    # Co: 1 codepoint markers (*not* codepoints) 
231    'Co' : CodePointSet([ 
232             (0x00e000, 0x00f8ff), 
233           ]), 
234    # Cs: 3 codepoint markers (*not* codepoints) 
235    'Cs' : CodePointSet([ 
236             (0x00d800, 0x00db7f), (0x00db80, 0x00dbff), (0x00dc00, 0x00dfff), 
237           ]), 
238    # L: 3748 codepoint markers (*not* codepoints) 
239    'L'  : CodePointSet([ 
240             (0x000041, 0x00005a), (0x000061, 0x00007a), (0x0000aa, 0x0000aa), 
241             (0x0000b5, 0x0000b5), (0x0000ba, 0x0000ba), (0x0000c0, 0x0000d6), 
242             (0x0000d8, 0x0000f6), (0x0000f8, 0x0001f5), (0x0001fa, 0x000217), 
243             (0x000250, 0x0002a8), (0x0002b0, 0x0002b8), (0x0002bb, 0x0002c1), 
244             (0x0002d0, 0x0002d1), (0x0002e0, 0x0002e4), (0x00037a, 0x00037a), 
245             (0x000386, 0x000386), (0x000388, 0x00038a), (0x00038c, 0x00038c), 
246             (0x00038e, 0x0003a1), (0x0003a3, 0x0003ce), (0x0003d0, 0x0003d6), 
247             (0x0003da, 0x0003da), (0x0003dc, 0x0003dc), (0x0003de, 0x0003de), 
248             (0x0003e0, 0x0003e0), (0x0003e2, 0x0003f3), (0x000401, 0x00040c), 
249             (0x00040e, 0x00044f), (0x000451, 0x00045c), (0x00045e, 0x000481), 
250             (0x000490, 0x0004c4), (0x0004c7, 0x0004c8), (0x0004cb, 0x0004cc), 
251             (0x0004d0, 0x0004eb), (0x0004ee, 0x0004f5), (0x0004f8, 0x0004f9), 
252             (0x000531, 0x000556), (0x000559, 0x000559), (0x000561, 0x000587), 
253             (0x0005d0, 0x0005ea), (0x0005f0, 0x0005f2), (0x000621, 0x00063a), 
254             (0x000640, 0x00064a), (0x000671, 0x0006b7), (0x0006ba, 0x0006be), 
255             (0x0006c0, 0x0006ce), (0x0006d0, 0x0006d3), (0x0006d5, 0x0006d5), 
256             (0x0006e5, 0x0006e6), (0x000905, 0x000939), (0x00093d, 0x00093d), 
257             (0x000958, 0x000961), (0x000985, 0x00098c), (0x00098f, 0x000990), 
258             (0x000993, 0x0009a8), (0x0009aa, 0x0009b0), (0x0009b2, 0x0009b2), 
259             (0x0009b6, 0x0009b9), (0x0009dc, 0x0009dd), (0x0009df, 0x0009e1), 
260             (0x0009f0, 0x0009f1), (0x000a05, 0x000a0a), (0x000a0f, 0x000a10), 
261             (0x000a13, 0x000a28), (0x000a2a, 0x000a30), (0x000a32, 0x000a33), 
262             (0x000a35, 0x000a36), (0x000a38, 0x000a39), (0x000a59, 0x000a5c), 
263             (0x000a5e, 0x000a5e), (0x000a72, 0x000a74), (0x000a85, 0x000a8b), 
264             (0x000a8d, 0x000a8d), (0x000a8f, 0x000a91), (0x000a93, 0x000aa8), 
265             (0x000aaa, 0x000ab0), (0x000ab2, 0x000ab3), (0x000ab5, 0x000ab9), 
266             (0x000abd, 0x000abd), (0x000ae0, 0x000ae0), (0x000b05, 0x000b0c), 
267             (0x000b0f, 0x000b10), (0x000b13, 0x000b28), (0x000b2a, 0x000b30), 
268             (0x000b32, 0x000b33), (0x000b36, 0x000b39), (0x000b3d, 0x000b3d), 
269             (0x000b5c, 0x000b5d), (0x000b5f, 0x000b61), (0x000b85, 0x000b8a), 
270             (0x000b8e, 0x000b90), (0x000b92, 0x000b95), (0x000b99, 0x000b9a), 
271             (0x000b9c, 0x000b9c), (0x000b9e, 0x000b9f), (0x000ba3, 0x000ba4), 
272             (0x000ba8, 0x000baa), (0x000bae, 0x000bb5), (0x000bb7, 0x000bb9), 
273             (0x000c05, 0x000c0c), (0x000c0e, 0x000c10), (0x000c12, 0x000c28), 
274             (0x000c2a, 0x000c33), (0x000c35, 0x000c39), (0x000c60, 0x000c61), 
275             (0x000c85, 0x000c8c), (0x000c8e, 0x000c90), (0x000c92, 0x000ca8), 
276             (0x000caa, 0x000cb3), (0x000cb5, 0x000cb9), (0x000cde, 0x000cde), 
277             (0x000ce0, 0x000ce1), (0x000d05, 0x000d0c), (0x000d0e, 0x000d10), 
278             (0x000d12, 0x000d28), (0x000d2a, 0x000d39), (0x000d60, 0x000d61), 
279             (0x000e01, 0x000e2e), (0x000e30, 0x000e30), (0x000e32, 0x000e33), 
280             (0x000e40, 0x000e46), (0x000e81, 0x000e82), (0x000e84, 0x000e84), 
281             (0x000e87, 0x000e88), (0x000e8a, 0x000e8a), (0x000e8d, 0x000e8d), 
282             (0x000e94, 0x000e97), (0x000e99, 0x000e9f), (0x000ea1, 0x000ea3), 
283             (0x000ea5, 0x000ea5), (0x000ea7, 0x000ea7), (0x000eaa, 0x000eab), 
284             (0x000ead, 0x000eae), (0x000eb0, 0x000eb0), (0x000eb2, 0x000eb3), 
285             (0x000ebd, 0x000ebd), (0x000ec0, 0x000ec4), (0x000ec6, 0x000ec6), 
286             (0x000edc, 0x000edd), (0x000f40, 0x000f47), (0x000f49, 0x000f69), 
287             (0x0010a0, 0x0010c5), (0x0010d0, 0x0010f6), (0x001100, 0x001159), 
288             (0x00115f, 0x0011a2), (0x0011a8, 0x0011f9), (0x001e00, 0x001e9b), 
289             (0x001ea0, 0x001ef9), (0x001f00, 0x001f15), (0x001f18, 0x001f1d), 
290             (0x001f20, 0x001f45), (0x001f48, 0x001f4d), (0x001f50, 0x001f57), 
291             (0x001f59, 0x001f59), (0x001f5b, 0x001f5b), (0x001f5d, 0x001f5d), 
292             (0x001f5f, 0x001f7d), (0x001f80, 0x001fb4), (0x001fb6, 0x001fbc), 
293             (0x001fbe, 0x001fbe), (0x001fc2, 0x001fc4), (0x001fc6, 0x001fcc), 
294             (0x001fd0, 0x001fd3), (0x001fd6, 0x001fdb), (0x001fe0, 0x001fec), 
295             (0x001ff2, 0x001ff4), (0x001ff6, 0x001ffc), (0x00207f, 0x00207f), 
296             (0x002102, 0x002102), (0x002107, 0x002107), (0x00210a, 0x002113), 
297             (0x002115, 0x002115), (0x002118, 0x00211d), (0x002124, 0x002124), 
298             (0x002126, 0x002126), (0x002128, 0x002128), (0x00212a, 0x002131), 
299             (0x002133, 0x002138), (0x003005, 0x003005), (0x003031, 0x003035), 
300             (0x003041, 0x003094), (0x00309b, 0x00309e), (0x0030a1, 0x0030fa), 
301             (0x0030fc, 0x0030fe), (0x003105, 0x00312c), (0x003131, 0x00318e), 
302             (0x004e00, 0x009fa5), (0x00ac00, 0x00d7a3), (0x00f900, 0x00fa2d), 
303             (0x00fb00, 0x00fb06), (0x00fb13, 0x00fb17), (0x00fb1f, 0x00fb28), 
304             (0x00fb2a, 0x00fb36), (0x00fb38, 0x00fb3c), (0x00fb3e, 0x00fb3e), 
305             (0x00fb40, 0x00fb41), (0x00fb43, 0x00fb44), (0x00fb46, 0x00fbb1), 
306             (0x00fbd3, 0x00fd3d), (0x00fd50, 0x00fd8f), (0x00fd92, 0x00fdc7), 
307             (0x00fdf0, 0x00fdfb), (0x00fe70, 0x00fe72), (0x00fe74, 0x00fe74), 
308             (0x00fe76, 0x00fefc), (0x00ff21, 0x00ff3a), (0x00ff41, 0x00ff5a), 
309             (0x00ff66, 0x00ffbe), (0x00ffc2, 0x00ffc7), (0x00ffca, 0x00ffcf), 
310             (0x00ffd2, 0x00ffd7), (0x00ffda, 0x00ffdc), 
311           ]), 
312    # Ll: 809 codepoint markers (*not* codepoints) 
313    'Ll' : CodePointSet([ 
314             (0x000061, 0x00007a), (0x0000aa, 0x0000aa), (0x0000b5, 0x0000b5), 
315             (0x0000ba, 0x0000ba), (0x0000df, 0x0000f6), (0x0000f8, 0x0000ff), 
316             (0x000101, 0x000101), (0x000103, 0x000103), (0x000105, 0x000105), 
317             (0x000107, 0x000107), (0x000109, 0x000109), (0x00010b, 0x00010b), 
318             (0x00010d, 0x00010d), (0x00010f, 0x00010f), (0x000111, 0x000111), 
319             (0x000113, 0x000113), (0x000115, 0x000115), (0x000117, 0x000117), 
320             (0x000119, 0x000119), (0x00011b, 0x00011b), (0x00011d, 0x00011d), 
321             (0x00011f, 0x00011f), (0x000121, 0x000121), (0x000123, 0x000123), 
322             (0x000125, 0x000125), (0x000127, 0x000127), (0x000129, 0x000129), 
323             (0x00012b, 0x00012b), (0x00012d, 0x00012d), (0x00012f, 0x00012f), 
324             (0x000131, 0x000131), (0x000133, 0x000133), (0x000135, 0x000135), 
325             (0x000137, 0x000138), (0x00013a, 0x00013a), (0x00013c, 0x00013c), 
326             (0x00013e, 0x00013e), (0x000140, 0x000140), (0x000142, 0x000142), 
327             (0x000144, 0x000144), (0x000146, 0x000146), (0x000148, 0x000149), 
328             (0x00014b, 0x00014b), (0x00014d, 0x00014d), (0x00014f, 0x00014f), 
329             (0x000151, 0x000151), (0x000153, 0x000153), (0x000155, 0x000155), 
330             (0x000157, 0x000157), (0x000159, 0x000159), (0x00015b, 0x00015b), 
331             (0x00015d, 0x00015d), (0x00015f, 0x00015f), (0x000161, 0x000161), 
332             (0x000163, 0x000163), (0x000165, 0x000165), (0x000167, 0x000167), 
333             (0x000169, 0x000169), (0x00016b, 0x00016b), (0x00016d, 0x00016d), 
334             (0x00016f, 0x00016f), (0x000171, 0x000171), (0x000173, 0x000173), 
335             (0x000175, 0x000175), (0x000177, 0x000177), (0x00017a, 0x00017a), 
336             (0x00017c, 0x00017c), (0x00017e, 0x000180), (0x000183, 0x000183), 
337             (0x000185, 0x000185), (0x000188, 0x000188), (0x00018c, 0x00018d), 
338             (0x000192, 0x000192), (0x000195, 0x000195), (0x000199, 0x00019b), 
339             (0x00019e, 0x00019e), (0x0001a1, 0x0001a1), (0x0001a3, 0x0001a3), 
340             (0x0001a5, 0x0001a5), (0x0001a8, 0x0001a8), (0x0001ab, 0x0001ab), 
341             (0x0001ad, 0x0001ad), (0x0001b0, 0x0001b0), (0x0001b4, 0x0001b4), 
342             (0x0001b6, 0x0001b6), (0x0001b9, 0x0001ba), (0x0001bd, 0x0001bd), 
343             (0x0001c6, 0x0001c6), (0x0001c9, 0x0001c9), (0x0001cc, 0x0001cc), 
344             (0x0001ce, 0x0001ce), (0x0001d0, 0x0001d0), (0x0001d2, 0x0001d2), 
345             (0x0001d4, 0x0001d4), (0x0001d6, 0x0001d6), (0x0001d8, 0x0001d8), 
346             (0x0001da, 0x0001da), (0x0001dc, 0x0001dd), (0x0001df, 0x0001df), 
347             (0x0001e1, 0x0001e1), (0x0001e3, 0x0001e3), (0x0001e5, 0x0001e5), 
348             (0x0001e7, 0x0001e7), (0x0001e9, 0x0001e9), (0x0001eb, 0x0001eb), 
349             (0x0001ed, 0x0001ed), (0x0001ef, 0x0001f0), (0x0001f3, 0x0001f3), 
350             (0x0001f5, 0x0001f5), (0x0001fb, 0x0001fb), (0x0001fd, 0x0001fd), 
351             (0x0001ff, 0x0001ff), (0x000201, 0x000201), (0x000203, 0x000203), 
352             (0x000205, 0x000205), (0x000207, 0x000207), (0x000209, 0x000209), 
353             (0x00020b, 0x00020b), (0x00020d, 0x00020d), (0x00020f, 0x00020f), 
354             (0x000211, 0x000211), (0x000213, 0x000213), (0x000215, 0x000215), 
355             (0x000217, 0x000217), (0x000250, 0x0002a8), (0x000390, 0x000390), 
356             (0x0003ac, 0x0003ce), (0x0003d0, 0x0003d1), (0x0003d5, 0x0003d6), 
357             (0x0003e3, 0x0003e3), (0x0003e5, 0x0003e5), (0x0003e7, 0x0003e7), 
358             (0x0003e9, 0x0003e9), (0x0003eb, 0x0003eb), (0x0003ed, 0x0003ed), 
359             (0x0003ef, 0x0003f2), (0x000430, 0x00044f), (0x000451, 0x00045c), 
360             (0x00045e, 0x00045f), (0x000461, 0x000461), (0x000463, 0x000463), 
361             (0x000465, 0x000465), (0x000467, 0x000467), (0x000469, 0x000469), 
362             (0x00046b, 0x00046b), (0x00046d, 0x00046d), (0x00046f, 0x00046f), 
363             (0x000471, 0x000471), (0x000473, 0x000473), (0x000475, 0x000475), 
364             (0x000477, 0x000477), (0x000479, 0x000479), (0x00047b, 0x00047b), 
365             (0x00047d, 0x00047d), (0x00047f, 0x00047f), (0x000481, 0x000481), 
366             (0x000491, 0x000491), (0x000493, 0x000493), (0x000495, 0x000495), 
367             (0x000497, 0x000497), (0x000499, 0x000499), (0x00049b, 0x00049b), 
368             (0x00049d, 0x00049d), (0x00049f, 0x00049f), (0x0004a1, 0x0004a1), 
369             (0x0004a3, 0x0004a3), (0x0004a5, 0x0004a5), (0x0004a7, 0x0004a7), 
370             (0x0004a9, 0x0004a9), (0x0004ab, 0x0004ab), (0x0004ad, 0x0004ad), 
371             (0x0004af, 0x0004af), (0x0004b1, 0x0004b1), (0x0004b3, 0x0004b3), 
372             (0x0004b5, 0x0004b5), (0x0004b7, 0x0004b7), (0x0004b9, 0x0004b9), 
373             (0x0004bb, 0x0004bb), (0x0004bd, 0x0004bd), (0x0004bf, 0x0004bf), 
374             (0x0004c2, 0x0004c2), (0x0004c4, 0x0004c4), (0x0004c8, 0x0004c8), 
375             (0x0004cc, 0x0004cc), (0x0004d1, 0x0004d1), (0x0004d3, 0x0004d3), 
376             (0x0004d5, 0x0004d5), (0x0004d7, 0x0004d7), (0x0004d9, 0x0004d9), 
377             (0x0004db, 0x0004db), (0x0004dd, 0x0004dd), (0x0004df, 0x0004df), 
378             (0x0004e1, 0x0004e1), (0x0004e3, 0x0004e3), (0x0004e5, 0x0004e5), 
379             (0x0004e7, 0x0004e7), (0x0004e9, 0x0004e9), (0x0004eb, 0x0004eb), 
380             (0x0004ef, 0x0004ef), (0x0004f1, 0x0004f1), (0x0004f3, 0x0004f3), 
381             (0x0004f5, 0x0004f5), (0x0004f9, 0x0004f9), (0x000561, 0x000587), 
382             (0x0010d0, 0x0010f6), (0x001e01, 0x001e01), (0x001e03, 0x001e03), 
383             (0x001e05, 0x001e05), (0x001e07, 0x001e07), (0x001e09, 0x001e09), 
384             (0x001e0b, 0x001e0b), (0x001e0d, 0x001e0d), (0x001e0f, 0x001e0f), 
385             (0x001e11, 0x001e11), (0x001e13, 0x001e13), (0x001e15, 0x001e15), 
386             (0x001e17, 0x001e17), (0x001e19, 0x001e19), (0x001e1b, 0x001e1b), 
387             (0x001e1d, 0x001e1d), (0x001e1f, 0x001e1f), (0x001e21, 0x001e21), 
388             (0x001e23, 0x001e23), (0x001e25, 0x001e25), (0x001e27, 0x001e27), 
389             (0x001e29, 0x001e29), (0x001e2b, 0x001e2b), (0x001e2d, 0x001e2d), 
390             (0x001e2f, 0x001e2f), (0x001e31, 0x001e31), (0x001e33, 0x001e33), 
391             (0x001e35, 0x001e35), (0x001e37, 0x001e37), (0x001e39, 0x001e39), 
392             (0x001e3b, 0x001e3b), (0x001e3d, 0x001e3d), (0x001e3f, 0x001e3f), 
393             (0x001e41, 0x001e41), (0x001e43, 0x001e43), (0x001e45, 0x001e45), 
394             (0x001e47, 0x001e47), (0x001e49, 0x001e49), (0x001e4b, 0x001e4b), 
395             (0x001e4d, 0x001e4d), (0x001e4f, 0x001e4f), (0x001e51, 0x001e51), 
396             (0x001e53, 0x001e53), (0x001e55, 0x001e55), (0x001e57, 0x001e57), 
397             (0x001e59, 0x001e59), (0x001e5b, 0x001e5b), (0x001e5d, 0x001e5d), 
398             (0x001e5f, 0x001e5f), (0x001e61, 0x001e61), (0x001e63, 0x001e63), 
399             (0x001e65, 0x001e65), (0x001e67, 0x001e67), (0x001e69, 0x001e69), 
400             (0x001e6b, 0x001e6b), (0x001e6d, 0x001e6d), (0x001e6f, 0x001e6f), 
401             (0x001e71, 0x001e71), (0x001e73, 0x001e73), (0x001e75, 0x001e75), 
402             (0x001e77, 0x001e77), (0x001e79, 0x001e79), (0x001e7b, 0x001e7b), 
403             (0x001e7d, 0x001e7d), (0x001e7f, 0x001e7f), (0x001e81, 0x001e81), 
404             (0x001e83, 0x001e83), (0x001e85, 0x001e85), (0x001e87, 0x001e87), 
405             (0x001e89, 0x001e89), (0x001e8b, 0x001e8b), (0x001e8d, 0x001e8d), 
406             (0x001e8f, 0x001e8f), (0x001e91, 0x001e91), (0x001e93, 0x001e93), 
407             (0x001e95, 0x001e9b), (0x001ea1, 0x001ea1), (0x001ea3, 0x001ea3), 
408             (0x001ea5, 0x001ea5), (0x001ea7, 0x001ea7), (0x001ea9, 0x001ea9), 
409             (0x001eab, 0x001eab), (0x001ead, 0x001ead), (0x001eaf, 0x001eaf), 
410             (0x001eb1, 0x001eb1), (0x001eb3, 0x001eb3), (0x001eb5, 0x001eb5), 
411             (0x001eb7, 0x001eb7), (0x001eb9, 0x001eb9), (0x001ebb, 0x001ebb), 
412             (0x001ebd, 0x001ebd), (0x001ebf, 0x001ebf), (0x001ec1, 0x001ec1), 
413             (0x001ec3, 0x001ec3), (0x001ec5, 0x001ec5), (0x001ec7, 0x001ec7), 
414             (0x001ec9, 0x001ec9), (0x001ecb, 0x001ecb), (0x001ecd, 0x001ecd), 
415             (0x001ecf, 0x001ecf), (0x001ed1, 0x001ed1), (0x001ed3, 0x001ed3), 
416             (0x001ed5, 0x001ed5), (0x001ed7, 0x001ed7), (0x001ed9, 0x001ed9), 
417             (0x001edb, 0x001edb), (0x001edd, 0x001edd), (0x001edf, 0x001edf), 
418             (0x001ee1, 0x001ee1), (0x001ee3, 0x001ee3), (0x001ee5, 0x001ee5), 
419             (0x001ee7, 0x001ee7), (0x001ee9, 0x001ee9), (0x001eeb, 0x001eeb), 
420             (0x001eed, 0x001eed), (0x001eef, 0x001eef), (0x001ef1, 0x001ef1), 
421             (0x001ef3, 0x001ef3), (0x001ef5, 0x001ef5), (0x001ef7, 0x001ef7), 
422             (0x001ef9, 0x001ef9), (0x001f00, 0x001f07), (0x001f10, 0x001f15), 
423             (0x001f20, 0x001f27), (0x001f30, 0x001f37), (0x001f40, 0x001f45), 
424             (0x001f50, 0x001f57), (0x001f60, 0x001f67), (0x001f70, 0x001f7d), 
425             (0x001f80, 0x001f87), (0x001f90, 0x001f97), (0x001fa0, 0x001fa7), 
426             (0x001fb0, 0x001fb4), (0x001fb6, 0x001fb7), (0x001fc2, 0x001fc4), 
427             (0x001fc6, 0x001fc7), (0x001fd0, 0x001fd3), (0x001fd6, 0x001fd7), 
428             (0x001fe0, 0x001fe7), (0x001ff2, 0x001ff4), (0x001ff6, 0x001ff7), 
429             (0x00207f, 0x00207f), (0x00210a, 0x00210a), (0x00210e, 0x00210f), 
430             (0x002113, 0x002113), (0x00212e, 0x00212f), (0x002134, 0x002134), 
431             (0x00fb00, 0x00fb06), (0x00fb13, 0x00fb17), (0x00ff41, 0x00ff5a), 
432           ]), 
433    # Lm: 46 codepoint markers (*not* codepoints) 
434    'Lm' : CodePointSet([ 
435             (0x0002b0, 0x0002b8), (0x0002bb, 0x0002c1), (0x0002d0, 0x0002d1), 
436             (0x0002e0, 0x0002e4), (0x00037a, 0x00037a), (0x000559, 0x000559), 
437             (0x000640, 0x000640), (0x0006e5, 0x0006e6), (0x000e46, 0x000e46), 
438             (0x000ec6, 0x000ec6), (0x003005, 0x003005), (0x003031, 0x003035), 
439             (0x00309b, 0x00309e), (0x0030fc, 0x0030fe), (0x00ff70, 0x00ff70), 
440             (0x00ff9e, 0x00ff9f), 
441           ]), 
442    # Lo: 2196 codepoint markers (*not* codepoints) 
443    'Lo' : CodePointSet([ 
444             (0x0001aa, 0x0001aa), (0x0001bb, 0x0001bb), (0x0001be, 0x0001c3), 
445             (0x0003f3, 0x0003f3), (0x0004c0, 0x0004c0), (0x0005d0, 0x0005ea), 
446             (0x0005f0, 0x0005f2), (0x000621, 0x00063a), (0x000641, 0x00064a), 
447             (0x000671, 0x0006b7), (0x0006ba, 0x0006be), (0x0006c0, 0x0006ce), 
448             (0x0006d0, 0x0006d3), (0x0006d5, 0x0006d5), (0x000905, 0x000939), 
449             (0x00093d, 0x00093d), (0x000958, 0x000961), (0x000985, 0x00098c), 
450             (0x00098f, 0x000990), (0x000993, 0x0009a8), (0x0009aa, 0x0009b0), 
451             (0x0009b2, 0x0009b2), (0x0009b6, 0x0009b9), (0x0009dc, 0x0009dd), 
452             (0x0009df, 0x0009e1), (0x0009f0, 0x0009f1), (0x000a05, 0x000a0a), 
453             (0x000a0f, 0x000a10), (0x000a13, 0x000a28), (0x000a2a, 0x000a30), 
454             (0x000a32, 0x000a33), (0x000a35, 0x000a36), (0x000a38, 0x000a39), 
455             (0x000a59, 0x000a5c), (0x000a5e, 0x000a5e), (0x000a72, 0x000a74), 
456             (0x000a85, 0x000a8b), (0x000a8d, 0x000a8d), (0x000a8f, 0x000a91), 
457             (0x000a93, 0x000aa8), (0x000aaa, 0x000ab0), (0x000ab2, 0x000ab3), 
458             (0x000ab5, 0x000ab9), (0x000abd, 0x000abd), (0x000ae0, 0x000ae0), 
459             (0x000b05, 0x000b0c), (0x000b0f, 0x000b10), (0x000b13, 0x000b28), 
460             (0x000b2a, 0x000b30), (0x000b32, 0x000b33), (0x000b36, 0x000b39), 
461             (0x000b3d, 0x000b3d), (0x000b5c, 0x000b5d), (0x000b5f, 0x000b61), 
462             (0x000b85, 0x000b8a), (0x000b8e, 0x000b90), (0x000b92, 0x000b95), 
463             (0x000b99, 0x000b9a), (0x000b9c, 0x000b9c), (0x000b9e, 0x000b9f), 
464             (0x000ba3, 0x000ba4), (0x000ba8, 0x000baa), (0x000bae, 0x000bb5), 
465             (0x000bb7, 0x000bb9), (0x000c05, 0x000c0c), (0x000c0e, 0x000c10), 
466             (0x000c12, 0x000c28), (0x000c2a, 0x000c33), (0x000c35, 0x000c39), 
467             (0x000c60, 0x000c61), (0x000c85, 0x000c8c), (0x000c8e, 0x000c90), 
468             (0x000c92, 0x000ca8), (0x000caa, 0x000cb3), (0x000cb5, 0x000cb9), 
469             (0x000cde, 0x000cde), (0x000ce0, 0x000ce1), (0x000d05, 0x000d0c), 
470             (0x000d0e, 0x000d10), (0x000d12, 0x000d28), (0x000d2a, 0x000d39), 
471             (0x000d60, 0x000d61), (0x000e01, 0x000e2e), (0x000e30, 0x000e30), 
472             (0x000e32, 0x000e33), (0x000e40, 0x000e45), (0x000e81, 0x000e82), 
473             (0x000e84, 0x000e84), (0x000e87, 0x000e88), (0x000e8a, 0x000e8a), 
474             (0x000e8d, 0x000e8d), (0x000e94, 0x000e97), (0x000e99, 0x000e9f), 
475             (0x000ea1, 0x000ea3), (0x000ea5, 0x000ea5), (0x000ea7, 0x000ea7), 
476             (0x000eaa, 0x000eab), (0x000ead, 0x000eae), (0x000eb0, 0x000eb0), 
477             (0x000eb2, 0x000eb3), (0x000ebd, 0x000ebd), (0x000ec0, 0x000ec4), 
478             (0x000edc, 0x000edd), (0x000f40, 0x000f47), (0x000f49, 0x000f69), 
479             (0x001100, 0x001159), (0x00115f, 0x0011a2), (0x0011a8, 0x0011f9), 
480             (0x002135, 0x002138), (0x003041, 0x003094), (0x0030a1, 0x0030fa), 
481             (0x003105, 0x00312c), (0x003131, 0x00318e), (0x004e00, 0x009fa5), 
482             (0x00ac00, 0x00d7a3), (0x00f900, 0x00fa2d), (0x00fb1f, 0x00fb28), 
483             (0x00fb2a, 0x00fb36), (0x00fb38, 0x00fb3c), (0x00fb3e, 0x00fb3e), 
484             (0x00fb40, 0x00fb41), (0x00fb43, 0x00fb44), (0x00fb46, 0x00fbb1), 
485             (0x00fbd3, 0x00fd3d), (0x00fd50, 0x00fd8f), (0x00fd92, 0x00fdc7), 
486             (0x00fdf0, 0x00fdfb), (0x00fe70, 0x00fe72), (0x00fe74, 0x00fe74), 
487             (0x00fe76, 0x00fefc), (0x00ff66, 0x00ff6f), (0x00ff71, 0x00ff9d), 
488             (0x00ffa0, 0x00ffbe), (0x00ffc2, 0x00ffc7), (0x00ffca, 0x00ffcf), 
489             (0x00ffd2, 0x00ffd7), (0x00ffda, 0x00ffdc), 
490           ]), 
491    # Lt: 4 codepoint markers (*not* codepoints) 
492    'Lt' : CodePointSet([ 
493             (0x0001c5, 0x0001c5), (0x0001c8, 0x0001c8), (0x0001cb, 0x0001cb), 
494             (0x0001f2, 0x0001f2), 
495           ]), 
496    # Lu: 693 codepoint markers (*not* codepoints) 
497    'Lu' : CodePointSet([ 
498             (0x000041, 0x00005a), (0x0000c0, 0x0000d6), (0x0000d8, 0x0000de), 
499             (0x000100, 0x000100), (0x000102, 0x000102), (0x000104, 0x000104), 
500             (0x000106, 0x000106), (0x000108, 0x000108), (0x00010a, 0x00010a), 
501             (0x00010c, 0x00010c), (0x00010e, 0x00010e), (0x000110, 0x000110), 
502             (0x000112, 0x000112), (0x000114, 0x000114), (0x000116, 0x000116), 
503             (0x000118, 0x000118), (0x00011a, 0x00011a), (0x00011c, 0x00011c), 
504             (0x00011e, 0x00011e), (0x000120, 0x000120), (0x000122, 0x000122), 
505             (0x000124, 0x000124), (0x000126, 0x000126), (0x000128, 0x000128), 
506             (0x00012a, 0x00012a), (0x00012c, 0x00012c), (0x00012e, 0x00012e), 
507             (0x000130, 0x000130), (0x000132, 0x000132), (0x000134, 0x000134), 
508             (0x000136, 0x000136), (0x000139, 0x000139), (0x00013b, 0x00013b), 
509             (0x00013d, 0x00013d), (0x00013f, 0x00013f), (0x000141, 0x000141), 
510             (0x000143, 0x000143), (0x000145, 0x000145), (0x000147, 0x000147), 
511             (0x00014a, 0x00014a), (0x00014c, 0x00014c), (0x00014e, 0x00014e), 
512             (0x000150, 0x000150), (0x000152, 0x000152), (0x000154, 0x000154), 
513             (0x000156, 0x000156), (0x000158, 0x000158), (0x00015a, 0x00015a), 
514             (0x00015c, 0x00015c), (0x00015e, 0x00015e), (0x000160, 0x000160), 
515             (0x000162, 0x000162), (0x000164, 0x000164), (0x000166, 0x000166), 
516             (0x000168, 0x000168), (0x00016a, 0x00016a), (0x00016c, 0x00016c), 
517             (0x00016e, 0x00016e), (0x000170, 0x000170), (0x000172, 0x000172), 
518             (0x000174, 0x000174), (0x000176, 0x000176), (0x000178, 0x000179), 
519             (0x00017b, 0x00017b), (0x00017d, 0x00017d), (0x000181, 0x000182), 
520             (0x000184, 0x000184), (0x000186, 0x000187), (0x000189, 0x00018b), 
521             (0x00018e, 0x000191), (0x000193, 0x000194), (0x000196, 0x000198), 
522             (0x00019c, 0x00019d), (0x00019f, 0x0001a0), (0x0001a2, 0x0001a2), 
523             (0x0001a4, 0x0001a4), (0x0001a6, 0x0001a7), (0x0001a9, 0x0001a9), 
524             (0x0001ac, 0x0001ac), (0x0001ae, 0x0001af), (0x0001b1, 0x0001b3), 
525             (0x0001b5, 0x0001b5), (0x0001b7, 0x0001b8), (0x0001bc, 0x0001bc), 
526             (0x0001c4, 0x0001c4), (0x0001c7, 0x0001c7), (0x0001ca, 0x0001ca), 
527             (0x0001cd, 0x0001cd), (0x0001cf, 0x0001cf), (0x0001d1, 0x0001d1), 
528             (0x0001d3, 0x0001d3), (0x0001d5, 0x0001d5), (0x0001d7, 0x0001d7), 
529             (0x0001d9, 0x0001d9), (0x0001db, 0x0001db), (0x0001de, 0x0001de), 
530             (0x0001e0, 0x0001e0), (0x0001e2, 0x0001e2), (0x0001e4, 0x0001e4), 
531             (0x0001e6, 0x0001e6), (0x0001e8, 0x0001e8), (0x0001ea, 0x0001ea), 
532             (0x0001ec, 0x0001ec), (0x0001ee, 0x0001ee), (0x0001f1, 0x0001f1), 
533             (0x0001f4, 0x0001f4), (0x0001fa, 0x0001fa), (0x0001fc, 0x0001fc), 
534             (0x0001fe, 0x0001fe), (0x000200, 0x000200), (0x000202, 0x000202), 
535             (0x000204, 0x000204), (0x000206, 0x000206), (0x000208, 0x000208), 
536             (0x00020a, 0x00020a), (0x00020c, 0x00020c), (0x00020e, 0x00020e), 
537             (0x000210, 0x000210), (0x000212, 0x000212), (0x000214, 0x000214), 
538             (0x000216, 0x000216), (0x000386, 0x000386), (0x000388, 0x00038a), 
539             (0x00038c, 0x00038c), (0x00038e, 0x00038f), (0x000391, 0x0003a1), 
540             (0x0003a3, 0x0003ab), (0x0003d2, 0x0003d4), (0x0003da, 0x0003da), 
541             (0x0003dc, 0x0003dc), (0x0003de, 0x0003de), (0x0003e0, 0x0003e0), 
542             (0x0003e2, 0x0003e2), (0x0003e4, 0x0003e4), (0x0003e6, 0x0003e6), 
543             (0x0003e8, 0x0003e8), (0x0003ea, 0x0003ea), (0x0003ec, 0x0003ec), 
544             (0x0003ee, 0x0003ee), (0x000401, 0x00040c), (0x00040e, 0x00042f), 
545             (0x000460, 0x000460), (0x000462, 0x000462), (0x000464, 0x000464), 
546             (0x000466, 0x000466), (0x000468, 0x000468), (0x00046a, 0x00046a), 
547             (0x00046c, 0x00046c), (0x00046e, 0x00046e), (0x000470, 0x000470), 
548             (0x000472, 0x000472), (0x000474, 0x000474), (0x000476, 0x000476), 
549             (0x000478, 0x000478), (0x00047a, 0x00047a), (0x00047c, 0x00047c), 
550             (0x00047e, 0x00047e), (0x000480, 0x000480), (0x000490, 0x000490), 
551             (0x000492, 0x000492), (0x000494, 0x000494), (0x000496, 0x000496), 
552             (0x000498, 0x000498), (0x00049a, 0x00049a), (0x00049c, 0x00049c), 
553             (0x00049e, 0x00049e), (0x0004a0, 0x0004a0), (0x0004a2, 0x0004a2), 
554             (0x0004a4, 0x0004a4), (0x0004a6, 0x0004a6), (0x0004a8, 0x0004a8), 
555             (0x0004aa, 0x0004aa), (0x0004ac, 0x0004ac), (0x0004ae, 0x0004ae), 
556             (0x0004b0, 0x0004b0), (0x0004b2, 0x0004b2), (0x0004b4, 0x0004b4), 
557             (0x0004b6, 0x0004b6), (0x0004b8, 0x0004b8), (0x0004ba, 0x0004ba), 
558             (0x0004bc, 0x0004bc), (0x0004be, 0x0004be), (0x0004c1, 0x0004c1), 
559             (0x0004c3, 0x0004c3), (0x0004c7, 0x0004c7), (0x0004cb, 0x0004cb), 
560             (0x0004d0, 0x0004d0), (0x0004d2, 0x0004d2), (0x0004d4, 0x0004d4), 
561             (0x0004d6, 0x0004d6), (0x0004d8, 0x0004d8), (0x0004da, 0x0004da), 
562             (0x0004dc, 0x0004dc), (0x0004de, 0x0004de), (0x0004e0, 0x0004e0), 
563             (0x0004e2, 0x0004e2), (0x0004e4, 0x0004e4), (0x0004e6, 0x0004e6), 
564             (0x0004e8, 0x0004e8), (0x0004ea, 0x0004ea), (0x0004ee, 0x0004ee), 
565             (0x0004f0, 0x0004f0), (0x0004f2, 0x0004f2), (0x0004f4, 0x0004f4), 
566             (0x0004f8, 0x0004f8), (0x000531, 0x000556), (0x0010a0, 0x0010c5), 
567             (0x001e00, 0x001e00), (0x001e02, 0x001e02), (0x001e04, 0x001e04), 
568             (0x001e06, 0x001e06), (0x001e08, 0x001e08), (0x001e0a, 0x001e0a), 
569             (0x001e0c, 0x001e0c), (0x001e0e, 0x001e0e), (0x001e10, 0x001e10), 
570             (0x001e12, 0x001e12), (0x001e14, 0x001e14), (0x001e16, 0x001e16), 
571             (0x001e18, 0x001e18), (0x001e1a, 0x001e1a), (0x001e1c, 0x001e1c), 
572             (0x001e1e, 0x001e1e), (0x001e20, 0x001e20), (0x001e22, 0x001e22), 
573             (0x001e24, 0x001e24), (0x001e26, 0x001e26), (0x001e28, 0x001e28), 
574             (0x001e2a, 0x001e2a), (0x001e2c, 0x001e2c), (0x001e2e, 0x001e2e), 
575             (0x001e30, 0x001e30), (0x001e32, 0x001e32), (0x001e34, 0x001e34), 
576             (0x001e36, 0x001e36), (0x001e38, 0x001e38), (0x001e3a, 0x001e3a), 
577             (0x001e3c, 0x001e3c), (0x001e3e, 0x001e3e), (0x001e40, 0x001e40), 
578             (0x001e42, 0x001e42), (0x001e44, 0x001e44), (0x001e46, 0x001e46), 
579             (0x001e48, 0x001e48), (0x001e4a, 0x001e4a), (0x001e4c, 0x001e4c), 
580             (0x001e4e, 0x001e4e), (0x001e50, 0x001e50), (0x001e52, 0x001e52), 
581             (0x001e54, 0x001e54), (0x001e56, 0x001e56), (0x001e58, 0x001e58), 
582             (0x001e5a, 0x001e5a), (0x001e5c, 0x001e5c), (0x001e5e, 0x001e5e), 
583             (0x001e60, 0x001e60), (0x001e62, 0x001e62), (0x001e64, 0x001e64), 
584             (0x001e66, 0x001e66), (0x001e68, 0x001e68), (0x001e6a, 0x001e6a), 
585             (0x001e6c, 0x001e6c), (0x001e6e, 0x001e6e), (0x001e70, 0x001e70), 
586             (0x001e72, 0x001e72), (0x001e74, 0x001e74), (0x001e76, 0x001e76), 
587             (0x001e78, 0x001e78), (0x001e7a, 0x001e7a), (0x001e7c, 0x001e7c), 
588             (0x001e7e, 0x001e7e), (0x001e80, 0x001e80), (0x001e82, 0x001e82), 
589             (0x001e84, 0x001e84), (0x001e86, 0x001e86), (0x001e88, 0x001e88), 
590             (0x001e8a, 0x001e8a), (0x001e8c, 0x001e8c), (0x001e8e, 0x001e8e), 
591             (0x001e90, 0x001e90), (0x001e92, 0x001e92), (0x001e94, 0x001e94), 
592             (0x001ea0, 0x001ea0), (0x001ea2, 0x001ea2), (0x001ea4, 0x001ea4), 
593             (0x001ea6, 0x001ea6), (0x001ea8, 0x001ea8), (0x001eaa, 0x001eaa), 
594             (0x001eac, 0x001eac), (0x001eae, 0x001eae), (0x001eb0, 0x001eb0), 
595             (0x001eb2, 0x001eb2), (0x001eb4, 0x001eb4), (0x001eb6, 0x001eb6), 
596             (0x001eb8, 0x001eb8), (0x001eba, 0x001eba), (0x001ebc, 0x001ebc), 
597             (0x001ebe, 0x001ebe), (0x001ec0, 0x001ec0), (0x001ec2, 0x001ec2), 
598             (0x001ec4, 0x001ec4), (0x001ec6, 0x001ec6), (0x001ec8, 0x001ec8), 
599             (0x001eca, 0x001eca), (0x001ecc, 0x001ecc), (0x001ece, 0x001ece), 
600             (0x001ed0, 0x001ed0), (0x001ed2, 0x001ed2), (0x001ed4, 0x001ed4), 
601             (0x001ed6, 0x001ed6), (0x001ed8, 0x001ed8), (0x001eda, 0x001eda), 
602             (0x001edc, 0x001edc), (0x001ede, 0x001ede), (0x001ee0, 0x001ee0), 
603             (0x001ee2, 0x001ee2), (0x001ee4, 0x001ee4), (0x001ee6, 0x001ee6), 
604             (0x001ee8, 0x001ee8), (0x001eea, 0x001eea), (0x001eec, 0x001eec), 
605             (0x001eee, 0x001eee), (0x001ef0, 0x001ef0), (0x001ef2, 0x001ef2), 
606             (0x001ef4, 0x001ef4), (0x001ef6, 0x001ef6), (0x001ef8, 0x001ef8), 
607             (0x001f08, 0x001f0f), (0x001f18, 0x001f1d), (0x001f28, 0x001f2f), 
608             (0x001f38, 0x001f3f), (0x001f48, 0x001f4d), (0x001f59, 0x001f59), 
609             (0x001f5b, 0x001f5b), (0x001f5d, 0x001f5d), (0x001f5f, 0x001f5f), 
610             (0x001f68, 0x001f6f), (0x001f88, 0x001f8f), (0x001f98, 0x001f9f), 
611             (0x001fa8, 0x001faf), (0x001fb8, 0x001fbc), (0x001fbe, 0x001fbe), 
612             (0x001fc8, 0x001fcc), (0x001fd8, 0x001fdb), (0x001fe8, 0x001fec), 
613             (0x001ff8, 0x001ffc), (0x002102, 0x002102), (0x002107, 0x002107), 
614             (0x00210b, 0x00210d), (0x002110, 0x002112), (0x002115, 0x002115), 
615             (0x002118, 0x00211d), (0x002124, 0x002124), (0x002126, 0x002126), 
616             (0x002128, 0x002128), (0x00212a, 0x00212d), (0x002130, 0x002131), 
617             (0x002133, 0x002133), (0x00ff21, 0x00ff3a), 
618           ]), 
619    # M: 446 codepoint markers (*not* codepoints) 
620    'M'  : CodePointSet([ 
621             (0x000300, 0x000345), (0x000360, 0x000361), (0x000483, 0x000486), 
622             (0x000591, 0x0005a1), (0x0005a3, 0x0005b9), (0x0005bb, 0x0005bd), 
623             (0x0005bf, 0x0005bf), (0x0005c1, 0x0005c2), (0x0005c4, 0x0005c4), 
624             (0x00064b, 0x000652), (0x000670, 0x000670), (0x0006d6, 0x0006e4), 
625             (0x0006e7, 0x0006e8), (0x0006ea, 0x0006ed), (0x000901, 0x000903), 
626             (0x00093c, 0x00093c), (0x00093e, 0x00094d), (0x000951, 0x000954), 
627             (0x000962, 0x000963), (0x000981, 0x000983), (0x0009bc, 0x0009bc), 
628             (0x0009be, 0x0009c4), (0x0009c7, 0x0009c8), (0x0009cb, 0x0009cd), 
629             (0x0009d7, 0x0009d7), (0x0009e2, 0x0009e3), (0x000a02, 0x000a02), 
630             (0x000a3c, 0x000a3c), (0x000a3e, 0x000a42), (0x000a47, 0x000a48), 
631             (0x000a4b, 0x000a4d), (0x000a70, 0x000a71), (0x000a81, 0x000a83), 
632             (0x000abc, 0x000abc), (0x000abe, 0x000ac5), (0x000ac7, 0x000ac9), 
633             (0x000acb, 0x000acd), (0x000b01, 0x000b03), (0x000b3c, 0x000b3c), 
634             (0x000b3e, 0x000b43), (0x000b47, 0x000b48), (0x000b4b, 0x000b4d), 
635             (0x000b56, 0x000b57), (0x000b82, 0x000b83), (0x000bbe, 0x000bc2), 
636             (0x000bc6, 0x000bc8), (0x000bca, 0x000bcd), (0x000bd7, 0x000bd7), 
637             (0x000c01, 0x000c03), (0x000c3e, 0x000c44), (0x000c46, 0x000c48), 
638             (0x000c4a, 0x000c4d), (0x000c55, 0x000c56), (0x000c82, 0x000c83), 
639             (0x000cbe, 0x000cc4), (0x000cc6, 0x000cc8), (0x000cca, 0x000ccd), 
640             (0x000cd5, 0x000cd6), (0x000d02, 0x000d03), (0x000d3e, 0x000d43), 
641             (0x000d46, 0x000d48), (0x000d4a, 0x000d4d), (0x000d57, 0x000d57), 
642             (0x000e31, 0x000e31), (0x000e34, 0x000e3a), (0x000e47, 0x000e4e), 
643             (0x000eb1, 0x000eb1), (0x000eb4, 0x000eb9), (0x000ebb, 0x000ebc), 
644             (0x000ec8, 0x000ecd), (0x000f18, 0x000f19), (0x000f35, 0x000f35), 
645             (0x000f37, 0x000f37), (0x000f39, 0x000f39), (0x000f3e, 0x000f3f), 
646             (0x000f71, 0x000f84), (0x000f86, 0x000f8b), (0x000f90, 0x000f95), 
647             (0x000f97, 0x000f97), (0x000f99, 0x000fad), (0x000fb1, 0x000fb7), 
648             (0x000fb9, 0x000fb9), (0x0020d0, 0x0020e1), (0x00302a, 0x00302f), 
649             (0x003099, 0x00309a), (0x00fb1e, 0x00fb1e), (0x00fe20, 0x00fe23), 
650           ]), 
651    # Mc: 85 codepoint markers (*not* codepoints) 
652    'Mc' : CodePointSet([ 
653             (0x000903, 0x000903), (0x00093e, 0x000940), (0x000949, 0x00094c), 
654             (0x000982, 0x000983), (0x0009be, 0x0009c0), (0x0009c7, 0x0009c8), 
655             (0x0009cb, 0x0009cc), (0x0009d7, 0x0009d7), (0x000a3e, 0x000a40), 
656             (0x000a83, 0x000a83), (0x000abe, 0x000ac0), (0x000ac9, 0x000ac9), 
657             (0x000acb, 0x000acc), (0x000b02, 0x000b03), (0x000b3e, 0x000b3e), 
658             (0x000b40, 0x000b40), (0x000b47, 0x000b48), (0x000b4b, 0x000b4c), 
659             (0x000b57, 0x000b57), (0x000b83, 0x000b83), (0x000bbe, 0x000bbf), 
660             (0x000bc1, 0x000bc2), (0x000bc6, 0x000bc8), (0x000bca, 0x000bcc), 
661             (0x000bd7, 0x000bd7), (0x000c01, 0x000c03), (0x000c41, 0x000c44), 
662             (0x000c82, 0x000c83), (0x000cbe, 0x000cbe), (0x000cc0, 0x000cc4), 
663             (0x000cc7, 0x000cc8), (0x000cca, 0x000ccb), (0x000cd5, 0x000cd6), 
664             (0x000d02, 0x000d03), (0x000d3e, 0x000d40), (0x000d46, 0x000d48), 
665             (0x000d4a, 0x000d4c), (0x000d57, 0x000d57), (0x000f3e, 0x000f3f), 
666             (0x000f7f, 0x000f7f), 
667           ]), 
668    # Me: 6 codepoint markers (*not* codepoints) 
669    'Me' : CodePointSet([ 
670             (0x0006dd, 0x0006de), (0x0020dd, 0x0020e0), 
671           ]), 
672    # Mn: 355 codepoint markers (*not* codepoints) 
673    'Mn' : CodePointSet([ 
674             (0x000300, 0x000345), (0x000360, 0x000361), (0x000483, 0x000486), 
675             (0x000591, 0x0005a1), (0x0005a3, 0x0005b9), (0x0005bb, 0x0005bd), 
676             (0x0005bf, 0x0005bf), (0x0005c1, 0x0005c2), (0x0005c4, 0x0005c4), 
677             (0x00064b, 0x000652), (0x000670, 0x000670), (0x0006d6, 0x0006dc), 
678             (0x0006df, 0x0006e4), (0x0006e7, 0x0006e8), (0x0006ea, 0x0006ed), 
679             (0x000901, 0x000902), (0x00093c, 0x00093c), (0x000941, 0x000948), 
680             (0x00094d, 0x00094d), (0x000951, 0x000954), (0x000962, 0x000963), 
681             (0x000981, 0x000981), (0x0009bc, 0x0009bc), (0x0009c1, 0x0009c4), 
682             (0x0009cd, 0x0009cd), (0x0009e2, 0x0009e3), (0x000a02, 0x000a02), 
683             (0x000a3c, 0x000a3c), (0x000a41, 0x000a42), (0x000a47, 0x000a48), 
684             (0x000a4b, 0x000a4d), (0x000a70, 0x000a71), (0x000a81, 0x000a82), 
685             (0x000abc, 0x000abc), (0x000ac1, 0x000ac5), (0x000ac7, 0x000ac8), 
686             (0x000acd, 0x000acd), (0x000b01, 0x000b01), (0x000b3c, 0x000b3c), 
687             (0x000b3f, 0x000b3f), (0x000b41, 0x000b43), (0x000b4d, 0x000b4d), 
688             (0x000b56, 0x000b56), (0x000b82, 0x000b82), (0x000bc0, 0x000bc0), 
689             (0x000bcd, 0x000bcd), (0x000c3e, 0x000c40), (0x000c46, 0x000c48), 
690             (0x000c4a, 0x000c4d), (0x000c55, 0x000c56), (0x000cbf, 0x000cbf), 
691             (0x000cc6, 0x000cc6), (0x000ccc, 0x000ccd), (0x000d41, 0x000d43), 
692             (0x000d4d, 0x000d4d), (0x000e31, 0x000e31), (0x000e34, 0x000e3a), 
693             (0x000e47, 0x000e4e), (0x000eb1, 0x000eb1), (0x000eb4, 0x000eb9), 
694             (0x000ebb, 0x000ebc), (0x000ec8, 0x000ecd), (0x000f18, 0x000f19), 
695             (0x000f35, 0x000f35), (0x000f37, 0x000f37), (0x000f39, 0x000f39), 
696             (0x000f71, 0x000f7e), (0x000f80, 0x000f84), (0x000f86, 0x000f8b), 
697             (0x000f90, 0x000f95), (0x000f97, 0x000f97), (0x000f99, 0x000fad), 
698             (0x000fb1, 0x000fb7), (0x000fb9, 0x000fb9), (0x0020d0, 0x0020dc), 
699             (0x0020e1, 0x0020e1), (0x00302a, 0x00302f), (0x003099, 0x00309a), 
700             (0x00fb1e, 0x00fb1e), (0x00fe20, 0x00fe23), 
701           ]), 
702    # N: 374 codepoint markers (*not* codepoints) 
703    'N'  : CodePointSet([ 
704             (0x000030, 0x000039), (0x0000b2, 0x0000b3), (0x0000b9, 0x0000b9), 
705             (0x0000bc, 0x0000be), (0x000660, 0x000669), (0x0006f0, 0x0006f9), 
706             (0x000966, 0x00096f), (0x0009e6, 0x0009ef), (0x0009f4, 0x0009f9), 
707             (0x000a66, 0x000a6f), (0x000ae6, 0x000aef), (0x000b66, 0x000b6f), 
708             (0x000be7, 0x000bf2), (0x000c66, 0x000c6f), (0x000ce6, 0x000cef), 
709             (0x000d66, 0x000d6f), (0x000e50, 0x000e59), (0x000ed0, 0x000ed9), 
710             (0x000f20, 0x000f33), (0x002070, 0x002070), (0x002074, 0x002079), 
711             (0x002080, 0x002089), (0x002153, 0x002182), (0x002460, 0x00249b), 
712             (0x0024ea, 0x0024ea), (0x002776, 0x002793), (0x003007, 0x003007), 
713             (0x003021, 0x003029), (0x003192, 0x003195), (0x003220, 0x003229), 
714             (0x003280, 0x003289), (0x00ff10, 0x00ff19), 
715           ]), 
716    # Nd: 159 codepoint markers (*not* codepoints) 
717    'Nd' : CodePointSet([ 
718             (0x000030, 0x000039), (0x000660, 0x000669), (0x0006f0, 0x0006f9), 
719             (0x000966, 0x00096f), (0x0009e6, 0x0009ef), (0x000a66, 0x000a6f), 
720             (0x000ae6, 0x000aef), (0x000b66, 0x000b6f), (0x000be7, 0x000bef), 
721             (0x000c66, 0x000c6f), (0x000ce6, 0x000cef), (0x000d66, 0x000d6f), 
722             (0x000e50, 0x000e59), (0x000ed0, 0x000ed9), (0x000f20, 0x000f29), 
723             (0x00ff10, 0x00ff19), 
724           ]), 
725    # Nl: 45 codepoint markers (*not* codepoints) 
726    'Nl' : CodePointSet([ 
727             (0x002160, 0x002182), (0x003007, 0x003007), (0x003021, 0x003029), 
728           ]), 
729    # No: 170 codepoint markers (*not* codepoints) 
730    'No' : CodePointSet([ 
731             (0x0000b2, 0x0000b3), (0x0000b9, 0x0000b9), (0x0000bc, 0x0000be), 
732             (0x0009f4, 0x0009f9), (0x000bf0, 0x000bf2), (0x000f2a, 0x000f33), 
733             (0x002070, 0x002070), (0x002074, 0x002079), (0x002080, 0x002089), 
734             (0x002153, 0x00215f), (0x002460, 0x00249b), (0x0024ea, 0x0024ea), 
735             (0x002776, 0x002793), (0x003192, 0x003195), (0x003220, 0x003229), 
736             (0x003280, 0x003289), 
737           ]), 
738    # P: 240 codepoint markers (*not* codepoints) 
739    'P'  : CodePointSet([ 
740             (0x000021, 0x000023), (0x000025, 0x00002a), (0x00002c, 0x00002f), 
741             (0x00003a, 0x00003b), (0x00003f, 0x000040), (0x00005b, 0x00005d), 
742             (0x00005f, 0x00005f), (0x00007b, 0x00007b), (0x00007d, 0x00007d), 
743             (0x0000a1, 0x0000a1), (0x0000ab, 0x0000ab), (0x0000ad, 0x0000ad), 
744             (0x0000b7, 0x0000b7), (0x0000bb, 0x0000bb), (0x0000bf, 0x0000bf), 
745             (0x000374, 0x000375), (0x00037e, 0x00037e), (0x000387, 0x000387), 
746             (0x00055a, 0x00055f), (0x000589, 0x000589), (0x0005be, 0x0005be), 
747             (0x0005c0, 0x0005c0), (0x0005c3, 0x0005c3), (0x0005f3, 0x0005f4), 
748             (0x00060c, 0x00060c), (0x00061b, 0x00061b), (0x00061f, 0x00061f), 
749             (0x00066a, 0x00066d), (0x0006d4, 0x0006d4), (0x000964, 0x000965), 
750             (0x000970, 0x000970), (0x000e2f, 0x000e2f), (0x000e5a, 0x000e5b), 
751             (0x000eaf, 0x000eaf), (0x000f04, 0x000f12), (0x000f3a, 0x000f3d), 
752             (0x000f85, 0x000f85), (0x0010fb, 0x0010fb), (0x002010, 0x002027), 
753             (0x002030, 0x002043), (0x002045, 0x002046), (0x00207d, 0x00207e), 
754             (0x00208d, 0x00208e), (0x002329, 0x00232a), (0x003001, 0x003003), 
755             (0x003006, 0x003006), (0x003008, 0x003011), (0x003014, 0x00301f), 
756             (0x003030, 0x003030), (0x0030fb, 0x0030fb), (0x00fd3e, 0x00fd3f), 
757             (0x00fe30, 0x00fe44), (0x00fe49, 0x00fe52), (0x00fe54, 0x00fe61), 
758             (0x00fe63, 0x00fe63), (0x00fe68, 0x00fe68), (0x00fe6a, 0x00fe6b), 
759             (0x00ff01, 0x00ff03), (0x00ff05, 0x00ff0a), (0x00ff0c, 0x00ff0f), 
760             (0x00ff1a, 0x00ff1b), (0x00ff1f, 0x00ff20), (0x00ff3b, 0x00ff3d), 
761             (0x00ff3f, 0x00ff3f), (0x00ff5b, 0x00ff5b), (0x00ff5d, 0x00ff5d), 
762             (0x00ff61, 0x00ff65), 
763           ]), 
764    # Pc: 9 codepoint markers (*not* codepoints) 
765    'Pc' : CodePointSet([ 
766             (0x00005f, 0x00005f), (0x00203f, 0x002040), (0x00fe33, 0x00fe34), 
767             (0x00fe4d, 0x00fe4f), (0x00ff3f, 0x00ff3f), 
768           ]), 
769    # Pd: 15 codepoint markers (*not* codepoints) 
770    'Pd' : CodePointSet([ 
771             (0x00002d, 0x00002d), (0x0000ad, 0x0000ad), (0x002010, 0x002015), 
772             (0x00301c, 0x00301c), (0x003030, 0x003030), (0x00fe31, 0x00fe32), 
773             (0x00fe58, 0x00fe58), (0x00fe63, 0x00fe63), (0x00ff0d, 0x00ff0d), 
774           ]), 
775    # Pe: 39 codepoint markers (*not* codepoints) 
776    'Pe' : CodePointSet([ 
777             (0x000029, 0x000029), (0x00005d, 0x00005d), (0x00007d, 0x00007d), 
778             (0x0000bb, 0x0000bb), (0x000f3b, 0x000f3b), (0x000f3d, 0x000f3d), 
779             (0x002019, 0x002019), (0x00201d, 0x00201d), (0x00203a, 0x00203a), 
780             (0x002046, 0x002046), (0x00207e, 0x00207e), (0x00208e, 0x00208e), 
781             (0x00232a, 0x00232a), (0x003009, 0x003009), (0x00300b, 0x00300b), 
782             (0x00300d, 0x00300d), (0x00300f, 0x00300f), (0x003011, 0x003011), 
783             (0x003015, 0x003015), (0x003017, 0x003017), (0x003019, 0x003019), 
784             (0x00301b, 0x00301b), (0x00301e, 0x00301e), (0x00fd3f, 0x00fd3f), 
785             (0x00fe36, 0x00fe36), (0x00fe38, 0x00fe38), (0x00fe3a, 0x00fe3a), 
786             (0x00fe3c, 0x00fe3c), (0x00fe3e, 0x00fe3e), (0x00fe40, 0x00fe40), 
787             (0x00fe42, 0x00fe42), (0x00fe44, 0x00fe44), (0x00fe5a, 0x00fe5a), 
788             (0x00fe5c, 0x00fe5c), (0x00fe5e, 0x00fe5e), (0x00ff09, 0x00ff09), 
789             (0x00ff3d, 0x00ff3d), (0x00ff5d, 0x00ff5d), (0x00ff63, 0x00ff63), 
790           ]), 
791    # Po: 133 codepoint markers (*not* codepoints) 
792    'Po' : CodePointSet([ 
793             (0x000021, 0x000023), (0x000025, 0x000027), (0x00002a, 0x00002a), 
794             (0x00002c, 0x00002c), (0x00002e, 0x00002f), (0x00003a, 0x00003b), 
795             (0x00003f, 0x000040), (0x00005c, 0x00005c), (0x0000a1, 0x0000a1), 
796             (0x0000b7, 0x0000b7), (0x0000bf, 0x0000bf), (0x000374, 0x000375), 
797             (0x00037e, 0x00037e), (0x000387, 0x000387), (0x00055a, 0x00055f), 
798             (0x000589, 0x000589), (0x0005be, 0x0005be), (0x0005c0, 0x0005c0), 
799             (0x0005c3, 0x0005c3), (0x0005f3, 0x0005f4), (0x00060c, 0x00060c), 
800             (0x00061b, 0x00061b), (0x00061f, 0x00061f), (0x00066a, 0x00066d), 
801             (0x0006d4, 0x0006d4), (0x000964, 0x000965), (0x000970, 0x000970), 
802             (0x000e2f, 0x000e2f), (0x000e5a, 0x000e5b), (0x000eaf, 0x000eaf), 
803             (0x000f04, 0x000f12), (0x000f85, 0x000f85), (0x0010fb, 0x0010fb), 
804             (0x002016, 0x002017), (0x002020, 0x002027), (0x002030, 0x002038), 
805             (0x00203b, 0x00203e), (0x002041, 0x002043), (0x003001, 0x003003), 
806             (0x003006, 0x003006), (0x0030fb, 0x0030fb), (0x00fe30, 0x00fe30), 
807             (0x00fe49, 0x00fe4c), (0x00fe50, 0x00fe52), (0x00fe54, 0x00fe57), 
808             (0x00fe5f, 0x00fe61), (0x00fe68, 0x00fe68), (0x00fe6a, 0x00fe6b), 
809             (0x00ff01, 0x00ff03), (0x00ff05, 0x00ff07), (0x00ff0a, 0x00ff0a), 
810             (0x00ff0c, 0x00ff0c), (0x00ff0e, 0x00ff0f), (0x00ff1a, 0x00ff1b), 
811             (0x00ff1f, 0x00ff20), (0x00ff3c, 0x00ff3c), (0x00ff61, 0x00ff61), 
812             (0x00ff64, 0x00ff65), 
813           ]), 
814    # Ps: 44 codepoint markers (*not* codepoints) 
815    'Ps' : CodePointSet([ 
816             (0x000028, 0x000028), (0x00005b, 0x00005b), (0x00007b, 0x00007b), 
817             (0x0000ab, 0x0000ab), (0x000f3a, 0x000f3a), (0x000f3c, 0x000f3c), 
818             (0x002018, 0x002018), (0x00201a, 0x00201c), (0x00201e, 0x00201f), 
819             (0x002039, 0x002039), (0x002045, 0x002045), (0x00207d, 0x00207d), 
820             (0x00208d, 0x00208d), (0x002329, 0x002329), (0x003008, 0x003008), 
821             (0x00300a, 0x00300a), (0x00300c, 0x00300c), (0x00300e, 0x00300e), 
822             (0x003010, 0x003010), (0x003014, 0x003014), (0x003016, 0x003016), 
823             (0x003018, 0x003018), (0x00301a, 0x00301a), (0x00301d, 0x00301d), 
824             (0x00301f, 0x00301f), (0x00fd3e, 0x00fd3e), (0x00fe35, 0x00fe35), 
825             (0x00fe37, 0x00fe37), (0x00fe39, 0x00fe39), (0x00fe3b, 0x00fe3b), 
826             (0x00fe3d, 0x00fe3d), (0x00fe3f, 0x00fe3f), (0x00fe41, 0x00fe41), 
827             (0x00fe43, 0x00fe43), (0x00fe59, 0x00fe59), (0x00fe5b, 0x00fe5b), 
828             (0x00fe5d, 0x00fe5d), (0x00ff08, 0x00ff08), (0x00ff3b, 0x00ff3b), 
829             (0x00ff5b, 0x00ff5b), (0x00ff62, 0x00ff62), 
830           ]), 
831    # S: 1671 codepoint markers (*not* codepoints) 
832    'S'  : CodePointSet([ 
833             (0x000024, 0x000024), (0x00002b, 0x00002b), (0x00003c, 0x00003e), 
834             (0x00005e, 0x00005e), (0x000060, 0x000060), (0x00007c, 0x00007c), 
835             (0x00007e, 0x00007e), (0x0000a2, 0x0000a9), (0x0000ac, 0x0000ac), 
836             (0x0000ae, 0x0000b1), (0x0000b4, 0x0000b4), (0x0000b6, 0x0000b6), 
837             (0x0000b8, 0x0000b8), (0x0000d7, 0x0000d7), (0x0000f7, 0x0000f7), 
838             (0x0002b9, 0x0002ba), (0x0002c2, 0x0002cf), (0x0002d2, 0x0002de), 
839             (0x0002e5, 0x0002e9), (0x000384, 0x000385), (0x000482, 0x000482), 
840             (0x0006e9, 0x0006e9), (0x000950, 0x000950), (0x0009f2, 0x0009f3), 
841             (0x0009fa, 0x0009fa), (0x000ad0, 0x000ad0), (0x000b70, 0x000b70), 
842             (0x000e3f, 0x000e3f), (0x000e4f, 0x000e4f), (0x000f00, 0x000f03), 
843             (0x000f13, 0x000f17), (0x000f1a, 0x000f1f), (0x000f34, 0x000f34), 
844             (0x000f36, 0x000f36), (0x000f38, 0x000f38), (0x001fbd, 0x001fbd), 
845             (0x001fbf, 0x001fc1), (0x001fcd, 0x001fcf), (0x001fdd, 0x001fdf), 
846             (0x001fed, 0x001fef), (0x001ffd, 0x001ffe), (0x002044, 0x002044), 
847             (0x00207a, 0x00207c), (0x00208a, 0x00208c), (0x0020a0, 0x0020ab), 
848             (0x002100, 0x002101), (0x002103, 0x002106), (0x002108, 0x002109), 
849             (0x002114, 0x002114), (0x002116, 0x002117), (0x00211e, 0x002123), 
850             (0x002125, 0x002125), (0x002127, 0x002127), (0x002129, 0x002129), 
851             (0x002132, 0x002132), (0x002190, 0x0021ea), (0x002200, 0x0022f1), 
852             (0x002300, 0x002300), (0x002302, 0x002328), (0x00232b, 0x00237a), 
853             (0x002400, 0x002424), (0x002440, 0x00244a), (0x00249c, 0x0024e9), 
854             (0x002500, 0x002595), (0x0025a0, 0x0025ef), (0x002600, 0x002613), 
855             (0x00261a, 0x00266f), (0x002701, 0x002704), (0x002706, 0x002709), 
856             (0x00270c, 0x002727), (0x002729, 0x00274b), (0x00274d, 0x00274d), 
857             (0x00274f, 0x002752), (0x002756, 0x002756), (0x002758, 0x00275e), 
858             (0x002761, 0x002767), (0x002794, 0x002794), (0x002798, 0x0027af), 
859             (0x0027b1, 0x0027be), (0x003004, 0x003004), (0x003012, 0x003013), 
860             (0x003020, 0x003020), (0x003036, 0x003037), (0x00303f, 0x00303f), 
861             (0x003190, 0x003191), (0x003196, 0x00319f), (0x003200, 0x00321c), 
862             (0x00322a, 0x003243), (0x003260, 0x00327b), (0x00327f, 0x00327f), 
863             (0x00328a, 0x0032b0), (0x0032c0, 0x0032cb), (0x0032d0, 0x0032fe), 
864             (0x003300, 0x003376), (0x00337b, 0x0033dd), (0x0033e0, 0x0033fe), 
865             (0x00fb29, 0x00fb29), (0x00fe62, 0x00fe62), (0x00fe64, 0x00fe66), 
866             (0x00fe69, 0x00fe69), (0x00ff04, 0x00ff04), (0x00ff0b, 0x00ff0b), 
867             (0x00ff1c, 0x00ff1e), (0x00ff3e, 0x00ff3e), (0x00ff40, 0x00ff40), 
868             (0x00ff5c, 0x00ff5c), (0x00ff5e, 0x00ff5e), (0x00ffe0, 0x00ffe6), 
869             (0x00ffe8, 0x00ffee), (0x00fffd, 0x00fffd), 
870           ]), 
871    # Sc: 26 codepoint markers (*not* codepoints) 
872    'Sc' : CodePointSet([ 
873             (0x000024, 0x000024), (0x0000a2, 0x0000a5), (0x0009f2, 0x0009f3), 
874             (0x000e3f, 0x000e3f), (0x0020a0, 0x0020ab), (0x00fe69, 0x00fe69), 
875             (0x00ff04, 0x00ff04), (0x00ffe0, 0x00ffe1), (0x00ffe5, 0x00ffe6), 
876           ]), 
877    # Sk: 60 codepoint markers (*not* codepoints) 
878    'Sk' : CodePointSet([ 
879             (0x00005e, 0x00005e), (0x000060, 0x000060), (0x0000a8, 0x0000a8), 
880             (0x0000af, 0x0000af), (0x0000b4, 0x0000b4), (0x0000b8, 0x0000b8), 
881             (0x0002b9, 0x0002ba), (0x0002c2, 0x0002cf), (0x0002d2, 0x0002de), 
882             (0x0002e5, 0x0002e9), (0x000384, 0x000385), (0x001fbd, 0x001fbd), 
883             (0x001fbf, 0x001fc1), (0x001fcd, 0x001fcf), (0x001fdd, 0x001fdf), 
884             (0x001fed, 0x001fef), (0x001ffd, 0x001ffe), (0x00ff3e, 0x00ff3e), 
885             (0x00ff40, 0x00ff40), (0x00ffe3, 0x00ffe3), 
886           ]), 
887    # Sm: 289 codepoint markers (*not* codepoints) 
888    'Sm' : CodePointSet([ 
889             (0x00002b, 0x00002b), (0x00003c, 0x00003e), (0x00007c, 0x00007c), 
890             (0x00007e, 0x00007e), (0x0000ac, 0x0000ac), (0x0000b1, 0x0000b1), 
891             (0x0000d7, 0x0000d7), (0x0000f7, 0x0000f7), (0x002044, 0x002044), 
892             (0x00207a, 0x00207c), (0x00208a, 0x00208c), (0x002190, 0x002194), 
893             (0x0021d2, 0x0021d2), (0x0021d4, 0x0021d4), (0x002200, 0x0022f1), 
894             (0x002308, 0x00230b), (0x002320, 0x002321), (0x00fb29, 0x00fb29), 
895             (0x00fe62, 0x00fe62), (0x00fe64, 0x00fe66), (0x00ff0b, 0x00ff0b), 
896             (0x00ff1c, 0x00ff1e), (0x00ff5c, 0x00ff5c), (0x00ff5e, 0x00ff5e), 
897             (0x00ffe2, 0x00ffe2), (0x00ffe8, 0x00ffec), 
898           ]), 
899    # So: 1296 codepoint markers (*not* codepoints) 
900    'So' : CodePointSet([ 
901             (0x0000a6, 0x0000a7), (0x0000a9, 0x0000a9), (0x0000ae, 0x0000ae), 
902             (0x0000b0, 0x0000b0), (0x0000b6, 0x0000b6), (0x000482, 0x000482), 
903             (0x0006e9, 0x0006e9), (0x000950, 0x000950), (0x0009fa, 0x0009fa), 
904             (0x000ad0, 0x000ad0), (0x000b70, 0x000b70), (0x000e4f, 0x000e4f), 
905             (0x000f00, 0x000f03), (0x000f13, 0x000f17), (0x000f1a, 0x000f1f), 
906             (0x000f34, 0x000f34), (0x000f36, 0x000f36), (0x000f38, 0x000f38), 
907             (0x002100, 0x002101), (0x002103, 0x002106), (0x002108, 0x002109), 
908             (0x002114, 0x002114), (0x002116, 0x002117), (0x00211e, 0x002123), 
909             (0x002125, 0x002125), (0x002127, 0x002127), (0x002129, 0x002129), 
910             (0x002132, 0x002132), (0x002195, 0x0021d1), (0x0021d3, 0x0021d3), 
911             (0x0021d5, 0x0021ea), (0x002300, 0x002300), (0x002302, 0x002307), 
912             (0x00230c, 0x00231f), (0x002322, 0x002328), (0x00232b, 0x00237a), 
913             (0x002400, 0x002424), (0x002440, 0x00244a), (0x00249c, 0x0024e9), 
914             (0x002500, 0x002595), (0x0025a0, 0x0025ef), (0x002600, 0x002613), 
915             (0x00261a, 0x00266f), (0x002701, 0x002704), (0x002706, 0x002709), 
916             (0x00270c, 0x002727), (0x002729, 0x00274b), (0x00274d, 0x00274d), 
917             (0x00274f, 0x002752), (0x002756, 0x002756), (0x002758, 0x00275e), 
918             (0x002761, 0x002767), (0x002794, 0x002794), (0x002798, 0x0027af), 
919             (0x0027b1, 0x0027be), (0x003004, 0x003004), (0x003012, 0x003013), 
920             (0x003020, 0x003020), (0x003036, 0x003037), (0x00303f, 0x00303f), 
921             (0x003190, 0x003191), (0x003196, 0x00319f), (0x003200, 0x00321c), 
922             (0x00322a, 0x003243), (0x003260, 0x00327b), (0x00327f, 0x00327f), 
923             (0x00328a, 0x0032b0), (0x0032c0, 0x0032cb), (0x0032d0, 0x0032fe), 
924             (0x003300, 0x003376), (0x00337b, 0x0033dd), (0x0033e0, 0x0033fe), 
925             (0x00ffe4, 0x00ffe4), (0x00ffed, 0x00ffee), (0x00fffd, 0x00fffd), 
926           ]), 
927    # Z: 17 codepoint markers (*not* codepoints) 
928    'Z'  : CodePointSet([ 
929             (0x000020, 0x000020), (0x0000a0, 0x0000a0), (0x002000, 0x00200b), 
930             (0x002028, 0x002029), (0x003000, 0x003000), 
931           ]), 
932    # Zl: 1 codepoint markers (*not* codepoints) 
933    'Zl' : CodePointSet([ 
934             (0x002028, 0x002028), 
935           ]), 
936    # Zp: 1 codepoint markers (*not* codepoints) 
937    'Zp' : CodePointSet([ 
938             (0x002029, 0x002029), 
939           ]), 
940    # Zs: 15 codepoint markers (*not* codepoints) 
941    'Zs' : CodePointSet([ 
942             (0x000020, 0x000020), (0x0000a0, 0x0000a0), (0x002000, 0x00200b), 
943             (0x003000, 0x003000), 
944           ]), 
945    } 
946