summaryrefslogtreecommitdiff
path: root/lib/gocr/unicode.h
blob: b85fd444fac6cbf14cacdfdab4e74431d25cdd07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
/*
This is a Optical-Character-Recognition program
Copyright (C) 2000-2007  Joerg Schulenburg

   The character codes in this file are Copyright (c) 1991-1999 Unicode, Inc.
   All Rights reserved.

   This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
   No claims are made as to fitness for any particular purpose.  No
   warranties of any kind are expressed or implied.  The recipient
   agrees to determine applicability of information provided.  If this
   file has been provided on optical media by Unicode, Inc., the sole
   remedy for any claim will be exchange of defective media within 90
   days of receipt.

   Unicode, Inc. hereby grants the right to freely use the information
   supplied in this file in the creation of products supporting the
   Unicode Standard, and to make copies of this file in any form for
   internal or external distribution as long as this notice remains
   attached.

For the rest of the file, the following applies:

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

 see README for EMAIL-address
 */
 
/*
    Only the codes judged necessary by the developers are present in this
    file. It conforms with MES-1. You'll find also Greek characters, 
    mathematical symbols and some extra symbols.
    
    Use the following regular expression to help add new codes from the
    Unicode data files: ([\w\s]*);([\w\s]*);[^\n]*
*/

#ifndef G_UNICODE_H
#define G_UNICODE_H

#include <stddef.h>

enum format {
	ISO8859_1, TeX, HTML, XML, SGML, UTF8, ASCII
};
typedef enum format FORMAT;

/*
 * Prototypes
 */
wchar_t compose(wchar_t main, wchar_t modifier);
const char *decode(wchar_t c, FORMAT type);

/*
 * Unicode codes
 */

/* E000-F8FF are for private use. We'll reserve E000-E0FF by now. */
/* the next line isnt proper, but was the easiest way to fix a problem */
#ifndef UNKNOWN
#define UNKNOWN								0xE000
#endif
#define PICTURE								0xE001
#define HEADER_FILE							0xE010

/* most codes 0x00-0x1F are not needed, but we provide them anyway. U0000 had
   the name changed from NULL to UNICODE_NULL to avoid conflicts. */
#define UNICODE_NULL							0x0000
#define START_OF_HEADING						0x0001
#define START_OF_TEXT							0x0002
#define END_OF_TEXT							0x0003
#define END_OF_TRANSMISSION						0x0004
#define ENQUIRY								0x0005
#define ACKNOWLEDGE							0x0006
#define BELL								0x0007
#define BACKSPACE							0x0008
#define HORIZONTAL_TABULATION						0x0009
#define LINE_FEED							0x000A
#define VERTICAL_TABULATION						0x000B
#define FORM_FEED							0x000C
#define CARRIAGE_RETURN							0x000D
#define SHIFT_OUT							0x000E
#define SHIFT_IN							0x000F
#define DATA_LINK_ESCAPE						0x0010
#define DEVICE_CONTROL_ONE						0x0011
#define DEVICE_CONTROL_TWO						0x0012
#define DEVICE_CONTROL_THREE						0x0013
#define DEVICE_CONTROL_FOUR						0x0014
#define NEGATIVE_ACKNOWLEDGE						0x0015
#define SYNCHRONOUS_IDLE						0x0016
#define END_OF_TRANSMISSION_BLOCK					0x0017
#define CANCEL								0x0018
#define END_OF_MEDIUM							0x0019
#define SUBSTITUTE							0x001A
#define ESCAPE								0x001B
#define FILE_SEPARATOR							0x001C
#define GROUP_SEPARATOR							0x001D
#define RECORD_SEPARATOR						0x001E
#define UNIT_SEPARATOR							0x001F

/* ASCII */
#define SPACE								0x0020
#define EXCLAMATION_MARK						0x0021
#define QUOTATION_MARK							0x0022
#define NUMBER_SIGN							0x0023
#define DOLLAR_SIGN							0x0024
#define PERCENT_SIGN							0x0025
#define AMPERSAND							0x0026
#define APOSTROPHE							0x0027
#define LEFT_PARENTHESIS						0x0028
#define RIGHT_PARENTHESIS						0x0029
#define ASTERISK							0x002A
#define PLUS_SIGN							0x002B
#define COMMA								0x002C
#define HYPHEN_MINUS							0x002D
#define FULL_STOP							0x002E
#define SOLIDUS								0x002F
#define DIGIT_ZERO							0x0030
#define DIGIT_ONE							0x0031
#define DIGIT_TWO							0x0032
#define DIGIT_THREE							0x0033
#define DIGIT_FOUR							0x0034
#define DIGIT_FIVE							0x0035
#define DIGIT_SIX							0x0036
#define DIGIT_SEVEN							0x0037
#define DIGIT_EIGHT							0x0038
#define DIGIT_NINE							0x0039
#define COLON								0x003A
#define SEMICOLON							0x003B
#define LESS_THAN_SIGN							0x003C
#define EQUALS_SIGN							0x003D
#define GREATER_THAN_SIGN						0x003E
#define QUESTION_MARK							0x003F
#define COMMERCIAL_AT							0x0040
#define LATIN_CAPITAL_LETTER_A						0x0041
#define LATIN_CAPITAL_LETTER_B  					0x0042
#define LATIN_CAPITAL_LETTER_C  					0x0043
#define LATIN_CAPITAL_LETTER_D  					0x0044
#define LATIN_CAPITAL_LETTER_E  					0x0045
#define LATIN_CAPITAL_LETTER_F  					0x0046
#define LATIN_CAPITAL_LETTER_G  					0x0047
#define LATIN_CAPITAL_LETTER_H  					0x0048
#define LATIN_CAPITAL_LETTER_I  					0x0049
#define LATIN_CAPITAL_LETTER_J  					0x004A
#define LATIN_CAPITAL_LETTER_K  					0x004B
#define LATIN_CAPITAL_LETTER_L  					0x004C
#define LATIN_CAPITAL_LETTER_M  					0x004D
#define LATIN_CAPITAL_LETTER_N  					0x004E
#define LATIN_CAPITAL_LETTER_O  					0x004F
#define LATIN_CAPITAL_LETTER_P  					0x0050
#define LATIN_CAPITAL_LETTER_Q  					0x0051
#define LATIN_CAPITAL_LETTER_R  					0x0052
#define LATIN_CAPITAL_LETTER_S  					0x0053
#define LATIN_CAPITAL_LETTER_T  					0x0054
#define LATIN_CAPITAL_LETTER_U  					0x0055
#define LATIN_CAPITAL_LETTER_V  					0x0056
#define LATIN_CAPITAL_LETTER_W  					0x0057
#define LATIN_CAPITAL_LETTER_X  					0x0058
#define LATIN_CAPITAL_LETTER_Y  					0x0059
#define LATIN_CAPITAL_LETTER_Z  					0x005A
#define LEFT_SQUARE_BRACKET						0x005B
#define REVERSE_SOLIDUS							0x005C
#define RIGHT_SQUARE_BRACKET						0x005D
#define CIRCUMFLEX_ACCENT						0x005E
#define LOW_LINE							0x005F
#define GRAVE_ACCENT							0x0060
#define LATIN_SMALL_LETTER_A		    				0x0061
#define LATIN_SMALL_LETTER_B		    				0x0062
#define LATIN_SMALL_LETTER_C		    				0x0063
#define LATIN_SMALL_LETTER_D		    				0x0064
#define LATIN_SMALL_LETTER_E		    				0x0065
#define LATIN_SMALL_LETTER_F		    				0x0066
#define LATIN_SMALL_LETTER_G		    				0x0067
#define LATIN_SMALL_LETTER_H		    				0x0068
#define LATIN_SMALL_LETTER_I		    				0x0069
#define LATIN_SMALL_LETTER_J		    				0x006A
#define LATIN_SMALL_LETTER_K		    				0x006B
#define LATIN_SMALL_LETTER_L		    				0x006C
#define LATIN_SMALL_LETTER_M		    				0x006D
#define LATIN_SMALL_LETTER_N		    				0x006E
#define LATIN_SMALL_LETTER_O		    				0x006F
#define LATIN_SMALL_LETTER_P		    				0x0070
#define LATIN_SMALL_LETTER_Q		    				0x0071
#define LATIN_SMALL_LETTER_R		    				0x0072
#define LATIN_SMALL_LETTER_S		    				0x0073
#define LATIN_SMALL_LETTER_T		    				0x0074
#define LATIN_SMALL_LETTER_U		    				0x0075
#define LATIN_SMALL_LETTER_V		    				0x0076
#define LATIN_SMALL_LETTER_W		    				0x0077
#define LATIN_SMALL_LETTER_X		    				0x0078
#define LATIN_SMALL_LETTER_Y		    				0x0079
#define LATIN_SMALL_LETTER_Z		    				0x007A
#define LEFT_CURLY_BRACKET						0x007B
#define VERTICAL_LINE							0x007C
#define RIGHT_CURLY_BRACKET						0x007D
#define TILDE								0x007E

/* codes 0x7F-0xBF are not needed */
#define NO_BREAK_SPACE							0x00A0
#define INVERTED_EXCLAMATION_MARK					0x00A1
#define CENT_SIGN							0x00A2
#define POUND_SIGN							0x00A3
#define CURRENCY_SIGN							0x00A4
#define YEN_SIGN							0x00A5
#define BROKEN_BAR							0x00A6
#define SECTION_SIGN							0x00A7
#define DIAERESIS							0x00A8
#define COPYRIGHT_SIGN							0x00A9
#define FEMININE_ORDINAL_INDICATOR					0x00AA
#define LEFT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK			0x00AB
#define NOT_SIGN							0x00AC
#define SOFT_HYPHEN							0x00AD
#define REGISTERED_SIGN							0x00AE
#define MACRON								0x00AF
#define DEGREE_SIGN							0x00B0
#define PLUS_MINUS_SIGN							0x00B1
#define SUPERSCRIPT_TWO							0x00B2
#define SUPERSCRIPT_THREE						0x00B3
#define ACUTE_ACCENT							0x00B4
#define MICRO_SIGN							0x00B5
#define PILCROW_SIGN							0x00B6
#define MIDDLE_DOT							0x00B7
#define CEDILLA								0x00B8
#define SUPERSCRIPT_ONE							0x00B9
#define MASCULINE_ORDINAL_INDICATOR					0x00BA
#define RIGHT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK			0x00BB
#define VULGAR_FRACTION_ONE_QUARTER					0x00BC
#define VULGAR_FRACTION_ONE_HALF					0x00BD
#define VULGAR_FRACTION_THREE_QUARTERS					0x00BE
#define INVERTED_QUESTION_MARK						0x00BF
#define LATIN_CAPITAL_LETTER_A_WITH_GRAVE				0x00C0
#define LATIN_CAPITAL_LETTER_A_WITH_ACUTE				0x00C1
#define LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX				0x00C2
#define LATIN_CAPITAL_LETTER_A_WITH_TILDE				0x00C3
#define LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS				0x00C4
#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE				0x00C5
#define LATIN_CAPITAL_LETTER_AE						0x00C6
#define LATIN_CAPITAL_LETTER_C_WITH_CEDILLA				0x00C7
#define LATIN_CAPITAL_LETTER_E_WITH_GRAVE				0x00C8
#define LATIN_CAPITAL_LETTER_E_WITH_ACUTE				0x00C9
#define LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX				0x00CA
#define LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS				0x00CB
#define LATIN_CAPITAL_LETTER_I_WITH_GRAVE				0x00CC
#define LATIN_CAPITAL_LETTER_I_WITH_ACUTE				0x00CD
#define LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX				0x00CE
#define LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS				0x00CF
#define LATIN_CAPITAL_LETTER_ETH					0x00D0
#define LATIN_CAPITAL_LETTER_N_WITH_TILDE				0x00D1
#define LATIN_CAPITAL_LETTER_O_WITH_GRAVE				0x00D2
#define LATIN_CAPITAL_LETTER_O_WITH_ACUTE				0x00D3
#define LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX				0x00D4
#define LATIN_CAPITAL_LETTER_O_WITH_TILDE				0x00D5
#define LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS				0x00D6
#define MULTIPLICATION_SIGN						0x00D7
#define LATIN_CAPITAL_LETTER_O_WITH_STROKE				0x00D8
#define LATIN_CAPITAL_LETTER_U_WITH_GRAVE				0x00D9
#define LATIN_CAPITAL_LETTER_U_WITH_ACUTE				0x00DA
#define LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX				0x00DB
#define LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS				0x00DC
#define LATIN_CAPITAL_LETTER_Y_WITH_ACUTE				0x00DD
#define LATIN_CAPITAL_LETTER_THORN					0x00DE
#define LATIN_SMALL_LETTER_SHARP_S					0x00DF
#define LATIN_SMALL_LETTER_A_WITH_GRAVE					0x00E0
#define LATIN_SMALL_LETTER_A_WITH_ACUTE					0x00E1
#define LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX				0x00E2
#define LATIN_SMALL_LETTER_A_WITH_TILDE					0x00E3
#define LATIN_SMALL_LETTER_A_WITH_DIAERESIS				0x00E4
#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE				0x00E5
#define LATIN_SMALL_LETTER_AE						0x00E6
#define LATIN_SMALL_LETTER_C_WITH_CEDILLA				0x00E7
#define LATIN_SMALL_LETTER_E_WITH_GRAVE					0x00E8
#define LATIN_SMALL_LETTER_E_WITH_ACUTE					0x00E9
#define LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX				0x00EA
#define LATIN_SMALL_LETTER_E_WITH_DIAERESIS				0x00EB
#define LATIN_SMALL_LETTER_I_WITH_GRAVE					0x00EC
#define LATIN_SMALL_LETTER_I_WITH_ACUTE					0x00ED
#define LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX				0x00EE
#define LATIN_SMALL_LETTER_I_WITH_DIAERESIS				0x00EF
#define LATIN_SMALL_LETTER_ETH						0x00F0
#define LATIN_SMALL_LETTER_N_WITH_TILDE					0x00F1
#define LATIN_SMALL_LETTER_O_WITH_GRAVE					0x00F2
#define LATIN_SMALL_LETTER_O_WITH_ACUTE					0x00F3
#define LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX				0x00F4
#define LATIN_SMALL_LETTER_O_WITH_TILDE					0x00F5
#define LATIN_SMALL_LETTER_O_WITH_DIAERESIS				0x00F6
#define DIVISION_SIGN							0x00F7
#define LATIN_SMALL_LETTER_O_WITH_STROKE				0x00F8
#define LATIN_SMALL_LETTER_U_WITH_GRAVE					0x00F9
#define LATIN_SMALL_LETTER_U_WITH_ACUTE					0x00FA
#define LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX				0x00FB
#define LATIN_SMALL_LETTER_U_WITH_DIAERESIS				0x00FC
#define LATIN_SMALL_LETTER_Y_WITH_ACUTE					0x00FD
#define LATIN_SMALL_LETTER_THORN					0x00FE
#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS				0x00FF

/* latin extended-A */
#define LATIN_CAPITAL_LETTER_A_WITH_MACRON				0x0100
#define LATIN_SMALL_LETTER_A_WITH_MACRON				0x0101
#define LATIN_CAPITAL_LETTER_A_WITH_BREVE				0x0102
#define LATIN_SMALL_LETTER_A_WITH_BREVE					0x0103
#define LATIN_CAPITAL_LETTER_A_WITH_OGONEK				0x0104
#define LATIN_SMALL_LETTER_A_WITH_OGONEK				0x0105
#define LATIN_CAPITAL_LETTER_C_WITH_ACUTE				0x0106
#define LATIN_SMALL_LETTER_C_WITH_ACUTE					0x0107
#define LATIN_CAPITAL_LETTER_C_WITH_CIRCUMFLEX				0x0108
#define LATIN_SMALL_LETTER_C_WITH_CIRCUMFLEX				0x0109
#define LATIN_CAPITAL_LETTER_C_WITH_DOT_ABOVE				0x010A
#define LATIN_SMALL_LETTER_C_WITH_DOT_ABOVE				0x010B
#define LATIN_CAPITAL_LETTER_C_WITH_CARON				0x010C
#define LATIN_SMALL_LETTER_C_WITH_CARON					0x010D
#define LATIN_CAPITAL_LETTER_D_WITH_CARON				0x010E
#define LATIN_SMALL_LETTER_D_WITH_CARON					0x010F
#define LATIN_CAPITAL_LETTER_D_WITH_STROKE				0x0110
#define LATIN_SMALL_LETTER_D_WITH_STROKE				0x0111
#define LATIN_CAPITAL_LETTER_E_WITH_MACRON				0x0112
#define LATIN_SMALL_LETTER_E_WITH_MACRON				0x0113
#define LATIN_CAPITAL_LETTER_E_WITH_BREVE				0x0114
#define LATIN_SMALL_LETTER_E_WITH_BREVE					0x0115
#define LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE				0x0116
#define LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE				0x0117
#define LATIN_CAPITAL_LETTER_E_WITH_OGONEK				0x0118
#define LATIN_SMALL_LETTER_E_WITH_OGONEK				0x0119
#define LATIN_CAPITAL_LETTER_E_WITH_CARON				0x011A
#define LATIN_SMALL_LETTER_E_WITH_CARON					0x011B
#define LATIN_CAPITAL_LETTER_G_WITH_CIRCUMFLEX				0x011C
#define LATIN_SMALL_LETTER_G_WITH_CIRCUMFLEX				0x011D
#define LATIN_CAPITAL_LETTER_G_WITH_BREVE				0x011E
#define LATIN_SMALL_LETTER_G_WITH_BREVE					0x011F
#define LATIN_CAPITAL_LETTER_G_WITH_DOT_ABOVE				0x0120
#define LATIN_SMALL_LETTER_G_WITH_DOT_ABOVE				0x0121
#define LATIN_CAPITAL_LETTER_G_WITH_CEDILLA				0x0122
#define LATIN_SMALL_LETTER_G_WITH_CEDILLA				0x0123
#define LATIN_CAPITAL_LETTER_H_WITH_CIRCUMFLEX				0x0124
#define LATIN_SMALL_LETTER_H_WITH_CIRCUMFLEX				0x0125
#define LATIN_CAPITAL_LETTER_H_WITH_STROKE				0x0126
#define LATIN_SMALL_LETTER_H_WITH_STROKE				0x0127
#define LATIN_CAPITAL_LETTER_I_WITH_TILDE				0x0128
#define LATIN_SMALL_LETTER_I_WITH_TILDE					0x0129
#define LATIN_CAPITAL_LETTER_I_WITH_MACRON				0x012A
#define LATIN_SMALL_LETTER_I_WITH_MACRON				0x012B
#define LATIN_CAPITAL_LETTER_I_WITH_BREVE				0x012C
#define LATIN_SMALL_LETTER_I_WITH_BREVE					0x012D
#define LATIN_CAPITAL_LETTER_I_WITH_OGONEK				0x012E
#define LATIN_SMALL_LETTER_I_WITH_OGONEK				0x012F
#define LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE				0x0130
#define LATIN_SMALL_LETTER_DOTLESS_I					0x0131
#define LATIN_CAPITAL_LIGATURE_IJ					0x0132
#define LATIN_SMALL_LIGATURE_IJ						0x0133
#define LATIN_CAPITAL_LETTER_J_WITH_CIRCUMFLEX				0x0134
#define LATIN_SMALL_LETTER_J_WITH_CIRCUMFLEX				0x0135
#define LATIN_CAPITAL_LETTER_K_WITH_CEDILLA				0x0136
#define LATIN_SMALL_LETTER_K_WITH_CEDILLA				0x0137
#define LATIN_SMALL_LETTER_KRA						0x0138
#define LATIN_CAPITAL_LETTER_L_WITH_ACUTE				0x0139
#define LATIN_SMALL_LETTER_L_WITH_ACUTE					0x013A
#define LATIN_CAPITAL_LETTER_L_WITH_CEDILLA				0x013B
#define LATIN_SMALL_LETTER_L_WITH_CEDILLA				0x013C
#define LATIN_CAPITAL_LETTER_L_WITH_CARON				0x013D
#define LATIN_SMALL_LETTER_L_WITH_CARON					0x013E
#define LATIN_CAPITAL_LETTER_L_WITH_MIDDLE_DOT				0x013F
#define LATIN_SMALL_LETTER_L_WITH_MIDDLE_DOT				0x0140
#define LATIN_CAPITAL_LETTER_L_WITH_STROKE				0x0141
#define LATIN_SMALL_LETTER_L_WITH_STROKE				0x0142
#define LATIN_CAPITAL_LETTER_N_WITH_ACUTE				0x0143
#define LATIN_SMALL_LETTER_N_WITH_ACUTE					0x0144
#define LATIN_CAPITAL_LETTER_N_WITH_CEDILLA				0x0145
#define LATIN_SMALL_LETTER_N_WITH_CEDILLA				0x0146
#define LATIN_CAPITAL_LETTER_N_WITH_CARON				0x0147
#define LATIN_SMALL_LETTER_N_WITH_CARON					0x0148
#define LATIN_SMALL_LETTER_N_PRECEDED_BY_APOSTROPHE			0x0149
#define LATIN_CAPITAL_LETTER_ENG					0x014A
#define LATIN_SMALL_LETTER_ENG						0x014B
#define LATIN_CAPITAL_LETTER_O_WITH_MACRON				0x014C
#define LATIN_SMALL_LETTER_O_WITH_MACRON				0x014D
#define LATIN_CAPITAL_LETTER_O_WITH_BREVE				0x014E
#define LATIN_SMALL_LETTER_O_WITH_BREVE					0x014F
#define LATIN_CAPITAL_LETTER_O_WITH_DOUBLE_ACUTE			0x0150
#define LATIN_SMALL_LETTER_O_WITH_DOUBLE_ACUTE				0x0151
#define LATIN_CAPITAL_LIGATURE_OE					0x0152
#define LATIN_SMALL_LIGATURE_OE						0x0153
#define LATIN_CAPITAL_LETTER_R_WITH_ACUTE				0x0154
#define LATIN_SMALL_LETTER_R_WITH_ACUTE					0x0155
#define LATIN_CAPITAL_LETTER_R_WITH_CEDILLA				0x0156
#define LATIN_SMALL_LETTER_R_WITH_CEDILLA				0x0157
#define LATIN_CAPITAL_LETTER_R_WITH_CARON				0x0158
#define LATIN_SMALL_LETTER_R_WITH_CARON					0x0159
#define LATIN_CAPITAL_LETTER_S_WITH_ACUTE				0x015A
#define LATIN_SMALL_LETTER_S_WITH_ACUTE					0x015B
#define LATIN_CAPITAL_LETTER_S_WITH_CIRCUMFLEX				0x015C
#define LATIN_SMALL_LETTER_S_WITH_CIRCUMFLEX				0x015D
#define LATIN_CAPITAL_LETTER_S_WITH_CEDILLA				0x015E
#define LATIN_SMALL_LETTER_S_WITH_CEDILLA				0x015F
#define LATIN_CAPITAL_LETTER_S_WITH_CARON				0x0160
#define LATIN_SMALL_LETTER_S_WITH_CARON					0x0161
#define LATIN_CAPITAL_LETTER_T_WITH_CEDILLA				0x0162
#define LATIN_SMALL_LETTER_T_WITH_CEDILLA				0x0163
#define LATIN_CAPITAL_LETTER_T_WITH_CARON				0x0164
#define LATIN_SMALL_LETTER_T_WITH_CARON					0x0165
#define LATIN_CAPITAL_LETTER_T_WITH_STROKE				0x0166
#define LATIN_SMALL_LETTER_T_WITH_STROKE				0x0167
#define LATIN_CAPITAL_LETTER_U_WITH_TILDE				0x0168
#define LATIN_SMALL_LETTER_U_WITH_TILDE					0x0169
#define LATIN_CAPITAL_LETTER_U_WITH_MACRON				0x016A
#define LATIN_SMALL_LETTER_U_WITH_MACRON				0x016B
#define LATIN_CAPITAL_LETTER_U_WITH_BREVE				0x016C
#define LATIN_SMALL_LETTER_U_WITH_BREVE					0x016D
#define LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE				0x016E
#define LATIN_SMALL_LETTER_U_WITH_RING_ABOVE				0x016F
#define LATIN_CAPITAL_LETTER_U_WITH_DOUBLE_ACUTE			0x0170
#define LATIN_SMALL_LETTER_U_WITH_DOUBLE_ACUTE				0x0171
#define LATIN_CAPITAL_LETTER_U_WITH_OGONEK				0x0172
#define LATIN_SMALL_LETTER_U_WITH_OGONEK				0x0173
#define LATIN_CAPITAL_LETTER_W_WITH_CIRCUMFLEX				0x0174
#define LATIN_SMALL_LETTER_W_WITH_CIRCUMFLEX				0x0175
#define LATIN_CAPITAL_LETTER_Y_WITH_CIRCUMFLEX				0x0176
#define LATIN_SMALL_LETTER_Y_WITH_CIRCUMFLEX				0x0177
#define LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS				0x0178
#define LATIN_CAPITAL_LETTER_Z_WITH_ACUTE				0x0179
#define LATIN_SMALL_LETTER_Z_WITH_ACUTE					0x017A
#define LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE				0x017B
#define LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE				0x017C
#define LATIN_CAPITAL_LETTER_Z_WITH_CARON				0x017D
#define LATIN_SMALL_LETTER_Z_WITH_CARON					0x017E
#define LATIN_SMALL_LETTER_LONG_S					0x017F

/* latin extended B */
#define LATIN_SMALL_LETTER_B_WITH_STROKE				0x0180
#define LATIN_CAPITAL_LETTER_B_WITH_HOOK				0x0181
#define LATIN_CAPITAL_LETTER_B_WITH_TOPBAR				0x0182
#define LATIN_SMALL_LETTER_B_WITH_TOPBAR				0x0183
#define LATIN_CAPITAL_LETTER_TONE_SIX					0x0184
#define LATIN_SMALL_LETTER_TONE_SIX					0x0185
#define LATIN_CAPITAL_LETTER_OPEN_O					0x0186
#define LATIN_CAPITAL_LETTER_C_WITH_HOOK				0x0187
#define LATIN_SMALL_LETTER_C_WITH_HOOK					0x0188
#define LATIN_CAPITAL_LETTER_AFRICAN_D					0x0189
#define LATIN_CAPITAL_LETTER_D_WITH_HOOK				0x018A
#define LATIN_CAPITAL_LETTER_D_WITH_TOPBAR				0x018B
#define LATIN_SMALL_LETTER_D_WITH_TOPBAR				0x018C
#define LATIN_SMALL_LETTER_TURNED_DELTA					0x018D
#define LATIN_CAPITAL_LETTER_REVERSED_E					0x018E
#define LATIN_CAPITAL_LETTER_SCHWA					0x018F
#define LATIN_CAPITAL_LETTER_OPEN_E					0x0190
#define LATIN_CAPITAL_LETTER_F_WITH_HOOK				0x0191
#define LATIN_SMALL_LETTER_F_WITH_HOOK					0x0192
#define LATIN_CAPITAL_LETTER_G_WITH_HOOK				0x0193
#define LATIN_CAPITAL_LETTER_GAMMA					0x0194
#define LATIN_SMALL_LETTER_HV						0x0195
#define LATIN_CAPITAL_LETTER_IOTA					0x0196
#define LATIN_CAPITAL_LETTER_I_WITH_STROKE				0x0197
#define LATIN_CAPITAL_LETTER_K_WITH_HOOK				0x0198
#define LATIN_SMALL_LETTER_K_WITH_HOOK					0x0199
#define LATIN_SMALL_LETTER_L_WITH_BAR					0x019A
#define LATIN_SMALL_LETTER_LAMBDA_WITH_STROKE				0x019B
#define LATIN_CAPITAL_LETTER_TURNED_M					0x019C
#define LATIN_CAPITAL_LETTER_N_WITH_LEFT_HOOK				0x019D
#define LATIN_SMALL_LETTER_N_WITH_LONG_RIGHT_LEG			0x019E
#define LATIN_CAPITAL_LETTER_O_WITH_MIDDLE_TILDE			0x019F
#define LATIN_CAPITAL_LETTER_O_WITH_HORN				0x01A0
#define LATIN_SMALL_LETTER_O_WITH_HORN					0x01A1
#define LATIN_CAPITAL_LETTER_OI						0x01A2
#define LATIN_SMALL_LETTER_OI						0x01A3
#define LATIN_CAPITAL_LETTER_P_WITH_HOOK				0x01A4
#define LATIN_SMALL_LETTER_P_WITH_HOOK					0x01A5
#define LATIN_LETTER_YR							0x01A6
#define LATIN_CAPITAL_LETTER_TONE_TWO					0x01A7
#define LATIN_SMALL_LETTER_TONE_TWO					0x01A8
#define LATIN_CAPITAL_LETTER_ESH					0x01A9
#define LATIN_LETTER_REVERSED_ESH_LOOP					0x01AA
#define LATIN_SMALL_LETTER_T_WITH_PALATAL_HOOK				0x01AB
#define LATIN_CAPITAL_LETTER_T_WITH_HOOK				0x01AC
#define LATIN_SMALL_LETTER_T_WITH_HOOK					0x01AD
#define LATIN_CAPITAL_LETTER_T_WITH_RETROFLEX_HOOK			0x01AE
#define LATIN_CAPITAL_LETTER_U_WITH_HORN				0x01AF
#define LATIN_SMALL_LETTER_U_WITH_HORN					0x01B0
#define LATIN_CAPITAL_LETTER_UPSILON					0x01B1
#define LATIN_CAPITAL_LETTER_V_WITH_HOOK				0x01B2
#define LATIN_CAPITAL_LETTER_Y_WITH_HOOK				0x01B3
#define LATIN_SMALL_LETTER_Y_WITH_HOOK					0x01B4
#define LATIN_CAPITAL_LETTER_Z_WITH_STROKE				0x01B5
#define LATIN_SMALL_LETTER_Z_WITH_STROKE				0x01B6
#define LATIN_CAPITAL_LETTER_EZH					0x01B7
#define LATIN_CAPITAL_LETTER_EZH_REVERSED				0x01B8
#define LATIN_SMALL_LETTER_EZH_REVERSED					0x01B9
#define LATIN_SMALL_LETTER_EZH_WITH_TAIL				0x01BA
#define LATIN_LETTER_TWO_WITH_STROKE					0x01BB
#define LATIN_CAPITAL_LETTER_TONE_FIVE					0x01BC
#define LATIN_SMALL_LETTER_TONE_FIVE					0x01BD
#define LATIN_LETTER_INVERTED_GLOTTAL_STOP_WITH_STROKE			0x01BE
#define LATIN_LETTER_WYNN						0x01BF
#define LATIN_LETTER_DENTAL_CLICK					0x01C0
#define LATIN_LETTER_LATERAL_CLICK					0x01C1
#define LATIN_LETTER_ALVEOLAR_CLICK					0x01C2
#define LATIN_LETTER_RETROFLEX_CLICK					0x01C3
#define LATIN_CAPITAL_LETTER_DZ_WITH_CARON				0x01C4
#define LATIN_CAPITAL_LETTER_D_WITH_SMALL_LETTER_Z_WITH_CARON		0x01C5
#define LATIN_SMALL_LETTER_DZ_WITH_CARON				0x01C6
#define LATIN_CAPITAL_LETTER_LJ						0x01C7
#define LATIN_CAPITAL_LETTER_L_WITH_SMALL_LETTER_J			0x01C8
#define LATIN_SMALL_LETTER_LJ						0x01C9
#define LATIN_CAPITAL_LETTER_NJ						0x01CA
#define LATIN_CAPITAL_LETTER_N_WITH_SMALL_LETTER_J			0x01CB
#define LATIN_SMALL_LETTER_NJ						0x01CC
#define LATIN_CAPITAL_LETTER_A_WITH_CARON				0x01CD
#define LATIN_SMALL_LETTER_A_WITH_CARON					0x01CE
#define LATIN_CAPITAL_LETTER_I_WITH_CARON				0x01CF
#define LATIN_SMALL_LETTER_I_WITH_CARON					0x01D0
#define LATIN_CAPITAL_LETTER_O_WITH_CARON				0x01D1
#define LATIN_SMALL_LETTER_O_WITH_CARON					0x01D2
#define LATIN_CAPITAL_LETTER_U_WITH_CARON				0x01D3
#define LATIN_SMALL_LETTER_U_WITH_CARON					0x01D4
#define LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_MACRON		0x01D5
#define LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_MACRON			0x01D6
#define LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_ACUTE			0x01D7
#define LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_ACUTE			0x01D8
#define LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_CARON			0x01D9
#define LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_CARON			0x01DA
#define LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS_AND_GRAVE			0x01DB
#define LATIN_SMALL_LETTER_U_WITH_DIAERESIS_AND_GRAVE			0x01DC
#define LATIN_SMALL_LETTER_TURNED_E					0x01DD
#define LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS_AND_MACRON		0x01DE
#define LATIN_SMALL_LETTER_A_WITH_DIAERESIS_AND_MACRON			0x01DF
#define LATIN_CAPITAL_LETTER_A_WITH_DOT_ABOVE_AND_MACRON		0x01E0
#define LATIN_SMALL_LETTER_A_WITH_DOT_ABOVE_AND_MACRON			0x01E1
#define LATIN_CAPITAL_LETTER_AE_WITH_MACRON				0x01E2
#define LATIN_SMALL_LETTER_AE_WITH_MACRON				0x01E3
#define LATIN_CAPITAL_LETTER_G_WITH_STROKE				0x01E4
#define LATIN_SMALL_LETTER_G_WITH_STROKE				0x01E5
#define LATIN_CAPITAL_LETTER_G_WITH_CARON				0x01E6
#define LATIN_SMALL_LETTER_G_WITH_CARON					0x01E7
#define LATIN_CAPITAL_LETTER_K_WITH_CARON				0x01E8
#define LATIN_SMALL_LETTER_K_WITH_CARON					0x01E9
#define LATIN_CAPITAL_LETTER_O_WITH_OGONEK				0x01EA
#define LATIN_SMALL_LETTER_O_WITH_OGONEK				0x01EB
#define LATIN_CAPITAL_LETTER_O_WITH_OGONEK_AND_MACRON			0x01EC
#define LATIN_SMALL_LETTER_O_WITH_OGONEK_AND_MACRON			0x01ED
#define LATIN_CAPITAL_LETTER_EZH_WITH_CARON				0x01EE
#define LATIN_SMALL_LETTER_EZH_WITH_CARON				0x01EF
#define LATIN_SMALL_LETTER_J_WITH_CARON					0x01F0
#define LATIN_CAPITAL_LETTER_DZ						0x01F1
#define LATIN_CAPITAL_LETTER_D_WITH_SMALL_LETTER_Z			0x01F2
#define LATIN_SMALL_LETTER_DZ						0x01F3
#define LATIN_CAPITAL_LETTER_G_WITH_ACUTE				0x01F4
#define LATIN_SMALL_LETTER_G_WITH_ACUTE					0x01F5
#define LATIN_CAPITAL_LETTER_HWAIR					0x01F6
#define LATIN_CAPITAL_LETTER_WYNN					0x01F7
#define LATIN_CAPITAL_LETTER_N_WITH_GRAVE				0x01F8
#define LATIN_SMALL_LETTER_N_WITH_GRAVE					0x01F9
#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_AND_ACUTE		0x01FA
#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_AND_ACUTE			0x01FB
#define LATIN_CAPITAL_LETTER_AE_WITH_ACUTE				0x01FC
#define LATIN_SMALL_LETTER_AE_WITH_ACUTE				0x01FD
#define LATIN_CAPITAL_LETTER_O_WITH_STROKE_AND_ACUTE			0x01FE
#define LATIN_SMALL_LETTER_O_WITH_STROKE_AND_ACUTE			0x01FF
#define LATIN_CAPITAL_LETTER_A_WITH_DOUBLE_GRAVE			0x0200
#define LATIN_SMALL_LETTER_A_WITH_DOUBLE_GRAVE				0x0201
#define LATIN_CAPITAL_LETTER_A_WITH_INVERTED_BREVE			0x0202
#define LATIN_SMALL_LETTER_A_WITH_INVERTED_BREVE			0x0203
#define LATIN_CAPITAL_LETTER_E_WITH_DOUBLE_GRAVE			0x0204
#define LATIN_SMALL_LETTER_E_WITH_DOUBLE_GRAVE				0x0205
#define LATIN_CAPITAL_LETTER_E_WITH_INVERTED_BREVE			0x0206
#define LATIN_SMALL_LETTER_E_WITH_INVERTED_BREVE			0x0207
#define LATIN_CAPITAL_LETTER_I_WITH_DOUBLE_GRAVE			0x0208
#define LATIN_SMALL_LETTER_I_WITH_DOUBLE_GRAVE				0x0209
#define LATIN_CAPITAL_LETTER_I_WITH_INVERTED_BREVE			0x020A
#define LATIN_SMALL_LETTER_I_WITH_INVERTED_BREVE			0x020B
#define LATIN_CAPITAL_LETTER_O_WITH_DOUBLE_GRAVE			0x020C
#define LATIN_SMALL_LETTER_O_WITH_DOUBLE_GRAVE				0x020D
#define LATIN_CAPITAL_LETTER_O_WITH_INVERTED_BREVE			0x020E
#define LATIN_SMALL_LETTER_O_WITH_INVERTED_BREVE			0x020F
#define LATIN_CAPITAL_LETTER_R_WITH_DOUBLE_GRAVE			0x0210
#define LATIN_SMALL_LETTER_R_WITH_DOUBLE_GRAVE				0x0211
#define LATIN_CAPITAL_LETTER_R_WITH_INVERTED_BREVE			0x0212
#define LATIN_SMALL_LETTER_R_WITH_INVERTED_BREVE			0x0213
#define LATIN_CAPITAL_LETTER_U_WITH_DOUBLE_GRAVE			0x0214
#define LATIN_SMALL_LETTER_U_WITH_DOUBLE_GRAVE				0x0215
#define LATIN_CAPITAL_LETTER_U_WITH_INVERTED_BREVE			0x0216
#define LATIN_SMALL_LETTER_U_WITH_INVERTED_BREVE			0x0217
#define LATIN_CAPITAL_LETTER_S_WITH_COMMA_BELOW				0x0218
#define LATIN_SMALL_LETTER_S_WITH_COMMA_BELOW				0x0219
#define LATIN_CAPITAL_LETTER_T_WITH_COMMA_BELOW				0x021A
#define LATIN_SMALL_LETTER_T_WITH_COMMA_BELOW				0x021B
#define LATIN_CAPITAL_LETTER_YOGH					0x021C
#define LATIN_SMALL_LETTER_YOGH						0x021D
#define LATIN_CAPITAL_LETTER_H_WITH_CARON				0x021E
#define LATIN_SMALL_LETTER_H_WITH_CARON					0x021F
#define LATIN_CAPITAL_LETTER_OU						0x0222
#define LATIN_SMALL_LETTER_OU						0x0223
#define LATIN_CAPITAL_LETTER_Z_WITH_HOOK				0x0224
#define LATIN_SMALL_LETTER_Z_WITH_HOOK					0x0225
#define LATIN_CAPITAL_LETTER_A_WITH_DOT_ABOVE				0x0226
#define LATIN_SMALL_LETTER_A_WITH_DOT_ABOVE				0x0227
#define LATIN_CAPITAL_LETTER_E_WITH_CEDILLA				0x0228
#define LATIN_SMALL_LETTER_E_WITH_CEDILLA				0x0229
#define LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS_AND_MACRON		0x022A
#define LATIN_SMALL_LETTER_O_WITH_DIAERESIS_AND_MACRON			0x022B
#define LATIN_CAPITAL_LETTER_O_WITH_TILDE_AND_MACRON			0x022C
#define LATIN_SMALL_LETTER_O_WITH_TILDE_AND_MACRON			0x022D
#define LATIN_CAPITAL_LETTER_O_WITH_DOT_ABOVE				0x022E
#define LATIN_SMALL_LETTER_O_WITH_DOT_ABOVE				0x022F
#define LATIN_CAPITAL_LETTER_O_WITH_DOT_ABOVE_AND_MACRON		0x0230
#define LATIN_SMALL_LETTER_O_WITH_DOT_ABOVE_AND_MACRON			0x0231
#define LATIN_CAPITAL_LETTER_Y_WITH_MACRON				0x0232
#define LATIN_SMALL_LETTER_Y_WITH_MACRON				0x0233

/* IPA extensions */
#define LATIN_SMALL_LETTER_TURNED_A					0x0250
#define LATIN_SMALL_LETTER_ALPHA					0x0251
#define LATIN_SMALL_LETTER_TURNED_ALPHA					0x0252
#define LATIN_SMALL_LETTER_B_WITH_HOOK					0x0253
#define LATIN_SMALL_LETTER_OPEN_O					0x0254
#define LATIN_SMALL_LETTER_C_WITH_CURL					0x0255
#define LATIN_SMALL_LETTER_D_WITH_TAIL					0x0256
#define LATIN_SMALL_LETTER_D_WITH_HOOK					0x0257
#define LATIN_SMALL_LETTER_REVERSED_E					0x0258
#define LATIN_SMALL_LETTER_SCHWA					0x0259
#define LATIN_SMALL_LETTER_SCHWA_WITH_HOOK				0x025A
#define LATIN_SMALL_LETTER_OPEN_E					0x025B
#define LATIN_SMALL_LETTER_REVERSED_OPEN_E				0x025C
#define LATIN_SMALL_LETTER_REVERSED_OPEN_E_WITH_HOOK			0x025D
#define LATIN_SMALL_LETTER_CLOSED_REVERSED_OPEN_E			0x025E
#define LATIN_SMALL_LETTER_DOTLESS_J_WITH_STROKE			0x025F
#define LATIN_SMALL_LETTER_G_WITH_HOOK					0x0260
#define LATIN_SMALL_LETTER_SCRIPT_G					0x0261
#define LATIN_LETTER_SMALL_CAPITAL_G					0x0262
#define LATIN_SMALL_LETTER_GAMMA					0x0263
#define LATIN_SMALL_LETTER_RAMS_HORN					0x0264
#define LATIN_SMALL_LETTER_TURNED_H					0x0265
#define LATIN_SMALL_LETTER_H_WITH_HOOK					0x0266
#define LATIN_SMALL_LETTER_HENG_WITH_HOOK				0x0267
#define LATIN_SMALL_LETTER_I_WITH_STROKE				0x0268
#define LATIN_SMALL_LETTER_IOTA						0x0269
#define LATIN_LETTER_SMALL_CAPITAL_I					0x026A
#define LATIN_SMALL_LETTER_L_WITH_MIDDLE_TILDE				0x026B
#define LATIN_SMALL_LETTER_L_WITH_BELT					0x026C
#define LATIN_SMALL_LETTER_L_WITH_RETROFLEX_HOOK			0x026D
#define LATIN_SMALL_LETTER_LEZH						0x026E
#define LATIN_SMALL_LETTER_TURNED_M					0x026F
#define LATIN_SMALL_LETTER_TURNED_M_WITH_LONG_LEG			0x0270
#define LATIN_SMALL_LETTER_M_WITH_HOOK					0x0271
#define LATIN_SMALL_LETTER_N_WITH_LEFT_HOOK				0x0272
#define LATIN_SMALL_LETTER_N_WITH_RETROFLEX_HOOK			0x0273
#define LATIN_LETTER_SMALL_CAPITAL_N					0x0274
#define LATIN_SMALL_LETTER_BARRED_O					0x0275
#define LATIN_LETTER_SMALL_CAPITAL_OE					0x0276
#define LATIN_SMALL_LETTER_CLOSED_OMEGA					0x0277
#define LATIN_SMALL_LETTER_PHI						0x0278
#define LATIN_SMALL_LETTER_TURNED_R					0x0279
#define LATIN_SMALL_LETTER_TURNED_R_WITH_LONG_LEG			0x027A
#define LATIN_SMALL_LETTER_TURNED_R_WITH_HOOK				0x027B
#define LATIN_SMALL_LETTER_R_WITH_LONG_LEG				0x027C
#define LATIN_SMALL_LETTER_R_WITH_TAIL					0x027D
#define LATIN_SMALL_LETTER_R_WITH_FISHHOOK				0x027E
#define LATIN_SMALL_LETTER_REVERSED_R_WITH_FISHHOOK			0x027F
#define LATIN_LETTER_SMALL_CAPITAL_R					0x0280
#define LATIN_LETTER_SMALL_CAPITAL_INVERTED_R				0x0281
#define LATIN_SMALL_LETTER_S_WITH_HOOK					0x0282
#define LATIN_SMALL_LETTER_ESH						0x0283
#define LATIN_SMALL_LETTER_DOTLESS_J_WITH_STROKE_AND_HOOK		0x0284
#define LATIN_SMALL_LETTER_SQUAT_REVERSED_ESH				0x0285
#define LATIN_SMALL_LETTER_ESH_WITH_CURL				0x0286
#define LATIN_SMALL_LETTER_TURNED_T					0x0287
#define LATIN_SMALL_LETTER_T_WITH_RETROFLEX_HOOK			0x0288
#define LATIN_SMALL_LETTER_U_BAR					0x0289
#define LATIN_SMALL_LETTER_UPSILON					0x028A
#define LATIN_SMALL_LETTER_V_WITH_HOOK					0x028B
#define LATIN_SMALL_LETTER_TURNED_V					0x028C
#define LATIN_SMALL_LETTER_TURNED_W					0x028D
#define LATIN_SMALL_LETTER_TURNED_Y					0x028E
#define LATIN_LETTER_SMALL_CAPITAL_Y					0x028F
#define LATIN_SMALL_LETTER_Z_WITH_RETROFLEX_HOOK			0x0290
#define LATIN_SMALL_LETTER_Z_WITH_CURL					0x0291
#define LATIN_SMALL_LETTER_EZH						0x0292
#define LATIN_SMALL_LETTER_EZH_WITH_CURL				0x0293
#define LATIN_LETTER_GLOTTAL_STOP					0x0294
#define LATIN_LETTER_PHARYNGEAL_VOICED_FRICATIVE			0x0295
#define LATIN_LETTER_INVERTED_GLOTTAL_STOP				0x0296
#define LATIN_LETTER_STRETCHED_C					0x0297
#define LATIN_LETTER_BILABIAL_CLICK					0x0298
#define LATIN_LETTER_SMALL_CAPITAL_B					0x0299
#define LATIN_SMALL_LETTER_CLOSED_OPEN_E				0x029A
#define LATIN_LETTER_SMALL_CAPITAL_G_WITH_HOOK				0x029B
#define LATIN_LETTER_SMALL_CAPITAL_H					0x029C
#define LATIN_SMALL_LETTER_J_WITH_CROSSED_TAIL				0x029D
#define LATIN_SMALL_LETTER_TURNED_K					0x029E
#define LATIN_LETTER_SMALL_CAPITAL_L					0x029F
#define LATIN_SMALL_LETTER_Q_WITH_HOOK					0x02A0
#define LATIN_LETTER_GLOTTAL_STOP_WITH_STROKE				0x02A1
#define LATIN_LETTER_REVERSED_GLOTTAL_STOP_WITH_STROKE			0x02A2
#define LATIN_SMALL_LETTER_DZ_DIGRAPH					0x02A3
#define LATIN_SMALL_LETTER_DEZH_DIGRAPH					0x02A4
#define LATIN_SMALL_LETTER_DZ_DIGRAPH_WITH_CURL				0x02A5
#define LATIN_SMALL_LETTER_TS_DIGRAPH					0x02A6
#define LATIN_SMALL_LETTER_TESH_DIGRAPH					0x02A7
#define LATIN_SMALL_LETTER_TC_DIGRAPH_WITH_CURL				0x02A8
#define LATIN_SMALL_LETTER_FENG_DIGRAPH					0x02A9
#define LATIN_SMALL_LETTER_LS_DIGRAPH					0x02AA
#define LATIN_SMALL_LETTER_LZ_DIGRAPH					0x02AB
#define LATIN_LETTER_BILABIAL_PERCUSSIVE				0x02AC
#define LATIN_LETTER_BIDENTAL_PERCUSSIVE				0x02AD

/* spacing modifier letters */
#define MODIFIER_LETTER_SMALL_H						0x02B0
#define MODIFIER_LETTER_SMALL_H_WITH_HOOK				0x02B1
#define MODIFIER_LETTER_SMALL_J						0x02B2
#define MODIFIER_LETTER_SMALL_R						0x02B3
#define MODIFIER_LETTER_SMALL_TURNED_R					0x02B4
#define MODIFIER_LETTER_SMALL_TURNED_R_WITH_HOOK			0x02B5
#define MODIFIER_LETTER_SMALL_CAPITAL_INVERTED_R			0x02B6
#define MODIFIER_LETTER_SMALL_W						0x02B7
#define MODIFIER_LETTER_SMALL_Y						0x02B8
#define MODIFIER_LETTER_PRIME						0x02B9
#define MODIFIER_LETTER_DOUBLE_PRIME					0x02BA
#define MODIFIER_LETTER_TURNED_COMMA					0x02BB
#define MODIFIER_LETTER_APOSTROPHE					0x02BC
#define MODIFIER_LETTER_REVERSED_COMMA					0x02BD
#define MODIFIER_LETTER_RIGHT_HALF_RING					0x02BE
#define MODIFIER_LETTER_LEFT_HALF_RING					0x02BF
#define MODIFIER_LETTER_GLOTTAL_STOP					0x02C0
#define MODIFIER_LETTER_REVERSED_GLOTTAL_STOP				0x02C1
#define MODIFIER_LETTER_LEFT_ARROWHEAD					0x02C2
#define MODIFIER_LETTER_RIGHT_ARROWHEAD					0x02C3
#define MODIFIER_LETTER_UP_ARROWHEAD					0x02C4
#define MODIFIER_LETTER_DOWN_ARROWHEAD					0x02C5
#define MODIFIER_LETTER_CIRCUMFLEX_ACCENT				0x02C6
#define CARON								0x02C7
#define MODIFIER_LETTER_VERTICAL_LINE					0x02C8
#define MODIFIER_LETTER_MACRON						0x02C9
#define MODIFIER_LETTER_ACUTE_ACCENT					0x02CA
#define MODIFIER_LETTER_GRAVE_ACCENT					0x02CB
#define MODIFIER_LETTER_LOW_VERTICAL_LINE				0x02CC
#define MODIFIER_LETTER_LOW_MACRON					0x02CD
#define MODIFIER_LETTER_LOW_GRAVE_ACCENT				0x02CE
#define MODIFIER_LETTER_LOW_ACUTE_ACCENT				0x02CF
#define MODIFIER_LETTER_TRIANGULAR_COLON				0x02D0
#define MODIFIER_LETTER_HALF_TRIANGULAR_COLON				0x02D1
#define MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING				0x02D2
#define MODIFIER_LETTER_CENTRED_LEFT_HALF_RING				0x02D3
#define MODIFIER_LETTER_UP_TACK						0x02D4
#define MODIFIER_LETTER_DOWN_TACK					0x02D5
#define MODIFIER_LETTER_PLUS_SIGN					0x02D6
#define MODIFIER_LETTER_MINUS_SIGN					0x02D7
#define BREVE								0x02D8
#define DOT_ABOVE							0x02D9
#define RING_ABOVE							0x02DA
#define OGONEK								0x02DB
#define SMALL_TILDE							0x02DC
#define DOUBLE_ACUTE_ACCENT						0x02DD
#define MODIFIER_LETTER_RHOTIC_HOOK					0x02DE
#define MODIFIER_LETTER_CROSS_ACCENT					0x02DF
#define MODIFIER_LETTER_SMALL_GAMMA					0x02E0
#define MODIFIER_LETTER_SMALL_L						0x02E1
#define MODIFIER_LETTER_SMALL_S						0x02E2
#define MODIFIER_LETTER_SMALL_X						0x02E3
#define MODIFIER_LETTER_SMALL_REVERSED_GLOTTAL_STOP			0x02E4
#define MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR				0x02E5
#define MODIFIER_LETTER_HIGH_TONE_BAR					0x02E6
#define MODIFIER_LETTER_MID_TONE_BAR					0x02E7
#define MODIFIER_LETTER_LOW_TONE_BAR					0x02E8
#define MODIFIER_LETTER_EXTRA_LOW_TONE_BAR				0x02E9
#define MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK				0x02EA
#define MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK			0x02EB
#define MODIFIER_LETTER_VOICING						0x02EC
#define MODIFIER_LETTER_UNASPIRATED					0x02ED
#define MODIFIER_LETTER_DOUBLE_APOSTROPHE				0x02EE

/* combining diacritical marks */
#define COMBINING_GRAVE_ACCENT						0x0300
#define COMBINING_ACUTE_ACCENT						0x0301
#define COMBINING_CIRCUMFLEX_ACCENT					0x0302
#define COMBINING_TILDE							0x0303
#define COMBINING_MACRON						0x0304
#define COMBINING_OVERLINE						0x0305
#define COMBINING_BREVE							0x0306
#define COMBINING_DOT_ABOVE						0x0307
#define COMBINING_DIAERESIS						0x0308
#define COMBINING_HOOK_ABOVE						0x0309
#define COMBINING_RING_ABOVE						0x030A
#define COMBINING_DOUBLE_ACUTE_ACCENT					0x030B
#define COMBINING_CARON							0x030C
#define COMBINING_VERTICAL_LINE_ABOVE					0x030D
#define COMBINING_DOUBLE_VERTICAL_LINE_ABOVE				0x030E
#define COMBINING_DOUBLE_GRAVE_ACCENT					0x030F
#define COMBINING_CANDRABINDU						0x0310
#define COMBINING_INVERTED_BREVE					0x0311
#define COMBINING_TURNED_COMMA_ABOVE					0x0312
#define COMBINING_COMMA_ABOVE						0x0313
#define COMBINING_REVERSED_COMMA_ABOVE					0x0314
#define COMBINING_COMMA_ABOVE_RIGHT					0x0315
#define COMBINING_GRAVE_ACCENT_BELOW					0x0316
#define COMBINING_ACUTE_ACCENT_BELOW					0x0317
#define COMBINING_LEFT_TACK_BELOW					0x0318
#define COMBINING_RIGHT_TACK_BELOW					0x0319
#define COMBINING_LEFT_ANGLE_ABOVE					0x031A
#define COMBINING_HORN							0x031B
#define COMBINING_LEFT_HALF_RING_BELOW					0x031C
#define COMBINING_UP_TACK_BELOW						0x031D
#define COMBINING_DOWN_TACK_BELOW					0x031E
#define COMBINING_PLUS_SIGN_BELOW					0x031F
#define COMBINING_MINUS_SIGN_BELOW					0x0320
#define COMBINING_PALATALIZED_HOOK_BELOW				0x0321
#define COMBINING_RETROFLEX_HOOK_BELOW					0x0322
#define COMBINING_DOT_BELOW						0x0323
#define COMBINING_DIAERESIS_BELOW					0x0324
#define COMBINING_RING_BELOW						0x0325
#define COMBINING_COMMA_BELOW						0x0326
#define COMBINING_CEDILLA						0x0327
#define COMBINING_OGONEK						0x0328
#define COMBINING_VERTICAL_LINE_BELOW					0x0329
#define COMBINING_BRIDGE_BELOW						0x032A
#define COMBINING_INVERTED_DOUBLE_ARCH_BELOW				0x032B
#define COMBINING_CARON_BELOW						0x032C
#define COMBINING_CIRCUMFLEX_ACCENT_BELOW				0x032D
#define COMBINING_BREVE_BELOW						0x032E
#define COMBINING_INVERTED_BREVE_BELOW					0x032F
#define COMBINING_TILDE_BELOW						0x0330
#define COMBINING_MACRON_BELOW						0x0331
#define COMBINING_LOW_LINE						0x0332
#define COMBINING_DOUBLE_LOW_LINE					0x0333
#define COMBINING_TILDE_OVERLAY						0x0334
#define COMBINING_SHORT_STROKE_OVERLAY					0x0335
#define COMBINING_LONG_STROKE_OVERLAY					0x0336
#define COMBINING_SHORT_SOLIDUS_OVERLAY					0x0337
#define COMBINING_LONG_SOLIDUS_OVERLAY					0x0338
#define COMBINING_RIGHT_HALF_RING_BELOW					0x0339
#define COMBINING_INVERTED_BRIDGE_BELOW					0x033A
#define COMBINING_SQUARE_BELOW						0x033B
#define COMBINING_SEAGULL_BELOW						0x033C
#define COMBINING_X_ABOVE						0x033D
#define COMBINING_VERTICAL_TILDE					0x033E
#define COMBINING_DOUBLE_OVERLINE					0x033F
#define COMBINING_GRAVE_TONE_MARK					0x0340
#define COMBINING_ACUTE_TONE_MARK					0x0341
#define COMBINING_GREEK_PERISPOMENI					0x0342
#define COMBINING_GREEK_KORONIS						0x0343
#define COMBINING_GREEK_DIALYTIKA_TONOS					0x0344
#define COMBINING_GREEK_YPOGEGRAMMENI					0x0345
#define COMBINING_BRIDGE_ABOVE						0x0346
#define COMBINING_EQUALS_SIGN_BELOW					0x0347
#define COMBINING_DOUBLE_VERTICAL_LINE_BELOW				0x0348
#define COMBINING_LEFT_ANGLE_BELOW					0x0349
#define COMBINING_NOT_TILDE_ABOVE					0x034A
#define COMBINING_HOMOTHETIC_ABOVE					0x034B
#define COMBINING_ALMOST_EQUAL_TO_ABOVE					0x034C
#define COMBINING_LEFT_RIGHT_ARROW_BELOW				0x034D
#define COMBINING_UPWARDS_ARROW_BELOW					0x034E
#define COMBINING_DOUBLE_TILDE						0x0360
#define COMBINING_DOUBLE_INVERTED_BREVE					0x0361
#define COMBINING_DOUBLE_RIGHTWARDS_ARROW_BELOW				0x0362

/* greek letters */
#define GREEK_NUMERAL_SIGN						0x0374
#define GREEK_LOWER_NUMERAL_SIGN					0x0375
#define GREEK_YPOGEGRAMMENI						0x037A
#define GREEK_QUESTION_MARK						0x037E
#define GREEK_TONOS							0x0384
#define GREEK_DIALYTIKA_TONOS						0x0385
#define GREEK_CAPITAL_LETTER_ALPHA_WITH_TONOS				0x0386
#define GREEK_ANO_TELEIA						0x0387
#define GREEK_CAPITAL_LETTER_EPSILON_WITH_TONOS				0x0388
#define GREEK_CAPITAL_LETTER_ETA_WITH_TONOS				0x0389
#define GREEK_CAPITAL_LETTER_IOTA_WITH_TONOS				0x038A
#define GREEK_CAPITAL_LETTER_OMICRON_WITH_TONOS				0x038C
#define GREEK_CAPITAL_LETTER_UPSILON_WITH_TONOS				0x038E
#define GREEK_CAPITAL_LETTER_OMEGA_WITH_TONOS				0x038F
#define GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS		0x0390
#define GREEK_CAPITAL_LETTER_ALPHA					0x0391
#define GREEK_CAPITAL_LETTER_BETA					0x0392
#define GREEK_CAPITAL_LETTER_GAMMA					0x0393
#define GREEK_CAPITAL_LETTER_DELTA					0x0394
#define GREEK_CAPITAL_LETTER_EPSILON					0x0395
#define GREEK_CAPITAL_LETTER_ZETA					0x0396
#define GREEK_CAPITAL_LETTER_ETA					0x0397
#define GREEK_CAPITAL_LETTER_THETA					0x0398
#define GREEK_CAPITAL_LETTER_IOTA					0x0399
#define GREEK_CAPITAL_LETTER_KAPPA					0x039A
#define GREEK_CAPITAL_LETTER_LAMDA					0x039B
#define GREEK_CAPITAL_LETTER_MU						0x039C
#define GREEK_CAPITAL_LETTER_NU						0x039D
#define GREEK_CAPITAL_LETTER_XI						0x039E
#define GREEK_CAPITAL_LETTER_OMICRON					0x039F
#define GREEK_CAPITAL_LETTER_PI						0x03A0
#define GREEK_CAPITAL_LETTER_RHO					0x03A1
#define GREEK_CAPITAL_LETTER_SIGMA					0x03A3
#define GREEK_CAPITAL_LETTER_TAU					0x03A4
#define GREEK_CAPITAL_LETTER_UPSILON					0x03A5
#define GREEK_CAPITAL_LETTER_PHI					0x03A6
#define GREEK_CAPITAL_LETTER_CHI					0x03A7
#define GREEK_CAPITAL_LETTER_PSI					0x03A8
#define GREEK_CAPITAL_LETTER_OMEGA					0x03A9
#define GREEK_CAPITAL_LETTER_IOTA_WITH_DIALYTIKA			0x03AA
#define GREEK_CAPITAL_LETTER_UPSILON_WITH_DIALYTIKA			0x03AB
#define GREEK_SMALL_LETTER_ALPHA_WITH_TONOS				0x03AC
#define GREEK_SMALL_LETTER_EPSILON_WITH_TONOS				0x03AD
#define GREEK_SMALL_LETTER_ETA_WITH_TONOS				0x03AE
#define GREEK_SMALL_LETTER_IOTA_WITH_TONOS				0x03AF
#define GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS		0x03B0
#define GREEK_SMALL_LETTER_ALPHA					0x03B1
#define GREEK_SMALL_LETTER_BETA						0x03B2
#define GREEK_SMALL_LETTER_GAMMA					0x03B3
#define GREEK_SMALL_LETTER_DELTA					0x03B4
#define GREEK_SMALL_LETTER_EPSILON					0x03B5
#define GREEK_SMALL_LETTER_ZETA						0x03B6
#define GREEK_SMALL_LETTER_ETA						0x03B7
#define GREEK_SMALL_LETTER_THETA					0x03B8
#define GREEK_SMALL_LETTER_IOTA						0x03B9
#define GREEK_SMALL_LETTER_KAPPA					0x03BA
#define GREEK_SMALL_LETTER_LAMDA					0x03BB
#define GREEK_SMALL_LETTER_MU						0x03BC
#define GREEK_SMALL_LETTER_NU						0x03BD
#define GREEK_SMALL_LETTER_XI						0x03BE
#define GREEK_SMALL_LETTER_OMICRON					0x03BF
#define GREEK_SMALL_LETTER_PI						0x03C0
#define GREEK_SMALL_LETTER_RHO						0x03C1
#define GREEK_SMALL_LETTER_FINAL_SIGMA					0x03C2
#define GREEK_SMALL_LETTER_SIGMA					0x03C3
#define GREEK_SMALL_LETTER_TAU						0x03C4
#define GREEK_SMALL_LETTER_UPSILON					0x03C5
#define GREEK_SMALL_LETTER_PHI						0x03C6
#define GREEK_SMALL_LETTER_CHI						0x03C7
#define GREEK_SMALL_LETTER_PSI						0x03C8
#define GREEK_SMALL_LETTER_OMEGA					0x03C9
#define GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA				0x03CA
#define GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA			0x03CB
#define GREEK_SMALL_LETTER_OMICRON_WITH_TONOS				0x03CC
#define GREEK_SMALL_LETTER_UPSILON_WITH_TONOS				0x03CD
#define GREEK_SMALL_LETTER_OMEGA_WITH_TONOS				0x03CE
#define GREEK_BETA_SYMBOL						0x03D0
#define GREEK_THETA_SYMBOL						0x03D1
#define GREEK_UPSILON_WITH_HOOK_SYMBOL					0x03D2
#define GREEK_UPSILON_WITH_ACUTE_AND_HOOK_SYMBOL			0x03D3
#define GREEK_UPSILON_WITH_DIAERESIS_AND_HOOK_SYMBOL			0x03D4
#define GREEK_PHI_SYMBOL						0x03D5
#define GREEK_PI_SYMBOL							0x03D6
#define GREEK_KAI_SYMBOL						0x03D7
#define GREEK_LETTER_STIGMA						0x03DA
#define GREEK_SMALL_LETTER_STIGMA					0x03DB
#define GREEK_LETTER_DIGAMMA						0x03DC
#define GREEK_SMALL_LETTER_DIGAMMA					0x03DD
#define GREEK_LETTER_KOPPA						0x03DE
#define GREEK_SMALL_LETTER_KOPPA					0x03DF
#define GREEK_LETTER_SAMPI						0x03E0
#define GREEK_SMALL_LETTER_SAMPI					0x03E1

/* general punctuation (partial) */
#define HYPHEN								0x2010
#define NON_BREAKING_HYPHEN						0x2011
#define FIGURE_DASH							0x2012
#define EN_DASH								0x2013
#define EM_DASH								0x2014
#define HORIZONTAL_BAR							0x2015
#define LEFT_SINGLE_QUOTATION_MARK					0x2018
#define RIGHT_SINGLE_QUOTATION_MARK					0x2019
#define SINGLE_LOW_9_QUOTATION_MARK					0x201A
#define SINGLE_HIGH_REVERSED_9_QUOTATION_MARK				0x201B
#define LEFT_DOUBLE_QUOTATION_MARK					0x201C
#define RIGHT_DOUBLE_QUOTATION_MARK					0x201D
#define DOUBLE_LOW_9_QUOTATION_MARK					0x201E
#define DOUBLE_HIGH_REVERSED_9_QUOTATION_MARK				0x201F
#define DAGGER								0x2020
#define DOUBLE_DAGGER							0x2021
#define BULLET								0x2022
#define TRIANGULAR_BULLET						0x2023
#define HYPHENATION_POINT						0x2027
#define HORIZONTAL_ELLIPSIS						0x2026
#define PER_MILLE_SIGN							0x2030
#define SINGLE_LEFT_POINTING_ANGLE_QUOTATION_MARK			0x2039
#define SINGLE_RIGHT_POINTING_ANGLE_QUOTATION_MARK			0x203A
#define EURO_CURRENCY_SIGN                                              0x20AC

/* mathematical operators */
#define FOR_ALL								0x2200
#define COMPLEMENT							0x2201
#define PARTIAL_DIFFERENTIAL						0x2202
#define THERE_EXISTS							0x2203
#define THERE_DOES_NOT_EXIST						0x2204
#define EMPTY_SET							0x2205
#define INCREMENT							0x2206
#define NABLA								0x2207
#define ELEMENT_OF							0x2208
#define NOT_AN_ELEMENT_OF						0x2209
#define SMALL_ELEMENT_OF						0x220A
#define CONTAINS_AS_MEMBER						0x220B
#define DOES_NOT_CONTAIN_AS_MEMBER					0x220C
#define SMALL_CONTAINS_AS_MEMBER					0x220D
#define END_OF_PROOF							0x220E
#define N_ARY_PRODUCT							0x220F
#define N_ARY_COPRODUCT							0x2210
#define N_ARY_SUMMATION							0x2211
#define MINUS_SIGN							0x2212
#define MINUS_OR_PLUS_SIGN						0x2213
#define DOT_PLUS							0x2214
#define DIVISION_SLASH							0x2215
#define SET_MINUS							0x2216
#define ASTERISK_OPERATOR						0x2217
#define RING_OPERATOR							0x2218
#define BULLET_OPERATOR							0x2219
#define SQUARE_ROOT							0x221A
#define CUBE_ROOT							0x221B
#define FOURTH_ROOT							0x221C
#define PROPORTIONAL_TO							0x221D
/* INFINITY conflicts with math.h */
#define INFINITY							0x221E
#define RIGHT_ANGLE							0x221F
#define ANGLE								0x2220
#define MEASURED_ANGLE							0x2221
#define SPHERICAL_ANGLE							0x2222
#define DIVIDES								0x2223
#define DOES_NOT_DIVIDE							0x2224
#define PARALLEL_TO							0x2225
#define NOT_PARALLEL_TO							0x2226
#define LOGICAL_AND							0x2227
#define LOGICAL_OR							0x2228
#define INTERSECTION							0x2229
#define UNION								0x222A
#define INTEGRAL							0x222B
#define DOUBLE_INTEGRAL							0x222C
#define TRIPLE_INTEGRAL							0x222D
#define CONTOUR_INTEGRAL						0x222E
#define SURFACE_INTEGRAL						0x222F
#define VOLUME_INTEGRAL							0x2230
#define CLOCKWISE_INTEGRAL						0x2231
#define CLOCKWISE_CONTOUR_INTEGRAL					0x2232
#define ANTICLOCKWISE_CONTOUR_INTEGRAL					0x2233
#define THEREFORE							0x2234
#define BECAUSE								0x2235
#define RATIO								0x2236
#define PROPORTION							0x2237
#define DOT_MINUS							0x2238
#define EXCESS								0x2239
#define GEOMETRIC_PROPORTION						0x223A
#define HOMOTHETIC							0x223B
#define TILDE_OPERATOR							0x223C
#define REVERSED_TILDE							0x223D
#define INVERTED_LAZY_S							0x223E
#define SINE_WAVE							0x223F
#define WREATH_PRODUCT							0x2240
#define NOT_TILDE							0x2241
#define MINUS_TILDE							0x2242
#define ASYMPTOTICALLY_EQUAL_TO						0x2243
#define NOT_ASYMPTOTICALLY_EQUAL_TO					0x2244
#define APPROXIMATELY_EQUAL_TO						0x2245
#define APPROXIMATELY_BUT_NOT_ACTUALLY_EQUAL_TO				0x2246
#define NEITHER_APPROXIMATELY_NOR_ACTUALLY_EQUAL_TO			0x2247
#define ALMOST_EQUAL_TO							0x2248
#define NOT_ALMOST_EQUAL_TO						0x2249
#define ALMOST_EQUAL_OR_EQUAL_TO					0x224A
#define TRIPLE_TILDE							0x224B
#define ALL_EQUAL_TO							0x224C
#define EQUIVALENT_TO							0x224D
#define GEOMETRICALLY_EQUIVALENT_TO					0x224E
#define DIFFERENCE_BETWEEN						0x224F
#define APPROACHES_THE_LIMIT						0x2250
#define GEOMETRICALLY_EQUAL_TO						0x2251
#define APPROXIMATELY_EQUAL_TO_OR_THE_IMAGE_OF				0x2252
#define IMAGE_OF_OR_APPROXIMATELY_EQUAL_TO				0x2253
#define COLON_EQUALS							0x2254
#define EQUALS_COLON							0x2255
#define RING_IN_EQUAL_TO						0x2256
#define RING_EQUAL_TO							0x2257
#define CORRESPONDS_TO							0x2258
#define ESTIMATES							0x2259
#define EQUIANGULAR_TO							0x225A
#define STAR_EQUALS							0x225B
#define DELTA_EQUAL_TO							0x225C
#define EQUAL_TO_BY_DEFINITION						0x225D
#define MEASURED_BY							0x225E
#define QUESTIONED_EQUAL_TO						0x225F
#define NOT_EQUAL_TO							0x2260
#define IDENTICAL_TO							0x2261
#define NOT_IDENTICAL_TO						0x2262
#define STRICTLY_EQUIVALENT_TO						0x2263
#define LESS_THAN_OR_EQUAL_TO						0x2264
#define GREATER_THAN_OR_EQUAL_TO					0x2265
#define LESS_THAN_OVER_EQUAL_TO						0x2266
#define GREATER_THAN_OVER_EQUAL_TO					0x2267
#define LESS_THAN_BUT_NOT_EQUAL_TO					0x2268
#define GREATER_THAN_BUT_NOT_EQUAL_TO					0x2269
#define MUCH_LESS_THAN							0x226A
#define MUCH_GREATER_THAN						0x226B
#define BETWEEN								0x226C
#define NOT_EQUIVALENT_TO						0x226D
#define NOT_LESS_THAN							0x226E
#define NOT_GREATER_THAN						0x226F
#define NEITHER_LESS_THAN_NOR_EQUAL_TO					0x2270
#define NEITHER_GREATER_THAN_NOR_EQUAL_TO				0x2271
#define LESS_THAN_OR_EQUIVALENT_TO					0x2272
#define GREATER_THAN_OR_EQUIVALENT_TO					0x2273
#define NEITHER_LESS_THAN_NOR_EQUIVALENT_TO				0x2274
#define NEITHER_GREATER_THAN_NOR_EQUIVALENT_TO				0x2275
#define LESS_THAN_OR_GREATER_THAN					0x2276
#define GREATER_THAN_OR_LESS_THAN					0x2277
#define NEITHER_LESS_THAN_NOR_GREATER_THAN				0x2278
#define NEITHER_GREATER_THAN_NOR_LESS_THAN				0x2279
#define PRECEDES							0x227A
#define SUCCEEDS							0x227B
#define PRECEDES_OR_EQUAL_TO						0x227C
#define SUCCEEDS_OR_EQUAL_TO						0x227D
#define PRECEDES_OR_EQUIVALENT_TO					0x227E
#define SUCCEEDS_OR_EQUIVALENT_TO					0x227F
#define DOES_NOT_PRECEDE						0x2280
#define DOES_NOT_SUCCEED						0x2281
#define SUBSET_OF							0x2282
#define SUPERSET_OF							0x2283
#define NOT_A_SUBSET_OF							0x2284
#define NOT_A_SUPERSET_OF						0x2285
#define SUBSET_OF_OR_EQUAL_TO						0x2286
#define SUPERSET_OF_OR_EQUAL_TO						0x2287
#define NEITHER_A_SUBSET_OF_NOR_EQUAL_TO				0x2288
#define NEITHER_A_SUPERSET_OF_NOR_EQUAL_TO				0x2289
#define SUBSET_OF_WITH_NOT_EQUAL_TO					0x228A
#define SUPERSET_OF_WITH_NOT_EQUAL_TO					0x228B
#define MULTISET							0x228C
#define MULTISET_MULTIPLICATION						0x228D
#define MULTISET_UNION							0x228E
#define SQUARE_IMAGE_OF							0x228F
#define SQUARE_ORIGINAL_OF						0x2290
#define SQUARE_IMAGE_OF_OR_EQUAL_TO					0x2291
#define SQUARE_ORIGINAL_OF_OR_EQUAL_TO					0x2292
#define SQUARE_CAP							0x2293
#define SQUARE_CUP							0x2294
#define CIRCLED_PLUS							0x2295
#define CIRCLED_MINUS							0x2296
#define CIRCLED_TIMES							0x2297
#define CIRCLED_DIVISION_SLASH						0x2298
#define CIRCLED_DOT_OPERATOR						0x2299
#define CIRCLED_RING_OPERATOR						0x229A
#define CIRCLED_ASTERISK_OPERATOR					0x229B
#define CIRCLED_EQUALS							0x229C
#define CIRCLED_DASH							0x229D
#define SQUARED_PLUS							0x229E
#define SQUARED_MINUS							0x229F
#define SQUARED_TIMES							0x22A0
#define SQUARED_DOT_OPERATOR						0x22A1
#define RIGHT_TACK							0x22A2
#define LEFT_TACK							0x22A3
#define DOWN_TACK							0x22A4
#define UP_TACK								0x22A5
#define ASSERTION							0x22A6
#define MODELS								0x22A7
#define TRUEx								0x22A8
#define FORCES								0x22A9
#define TRIPLE_VERTICAL_BAR_RIGHT_TURNSTILE				0x22AA
#define DOUBLE_VERTICAL_BAR_DOUBLE_RIGHT_TURNSTILE			0x22AB
#define DOES_NOT_PROVE							0x22AC
#define NOT_TRUE							0x22AD
#define DOES_NOT_FORCE							0x22AE
#define NEGATED_DOUBLE_VERTICAL_BAR_DOUBLE_RIGHT_TURNSTILE		0x22AF
#define PRECEDES_UNDER_RELATION						0x22B0
#define SUCCEEDS_UNDER_RELATION						0x22B1
#define NORMAL_SUBGROUP_OF						0x22B2
#define CONTAINS_AS_NORMAL_SUBGROUP					0x22B3
#define NORMAL_SUBGROUP_OF_OR_EQUAL_TO					0x22B4
#define CONTAINS_AS_NORMAL_SUBGROUP_OR_EQUAL_TO				0x22B5
#define ORIGINAL_OF							0x22B6
#define IMAGE_OF							0x22B7
#define MULTIMAP							0x22B8
#define HERMITIAN_CONJUGATE_MATRIX					0x22B9
#define INTERCALATE							0x22BA
#define XOR								0x22BB
#define NAND								0x22BC
#define NOR								0x22BD
#define RIGHT_ANGLE_WITH_ARC						0x22BE
#define RIGHT_TRIANGLE							0x22BF
#define N_ARY_LOGICAL_AND						0x22C0
#define N_ARY_LOGICAL_OR						0x22C1
#define N_ARY_INTERSECTION						0x22C2
#define N_ARY_UNION							0x22C3
#define DIAMOND_OPERATOR						0x22C4
#define DOT_OPERATOR							0x22C5
#define STAR_OPERATOR							0x22C6
#define DIVISION_TIMES							0x22C7
#define BOWTIE								0x22C8
#define LEFT_NORMAL_FACTOR_SEMIDIRECT_PRODUCT				0x22C9
#define RIGHT_NORMAL_FACTOR_SEMIDIRECT_PRODUCT				0x22CA
#define LEFT_SEMIDIRECT_PRODUCT						0x22CB
#define RIGHT_SEMIDIRECT_PRODUCT					0x22CC
#define REVERSED_TILDE_EQUALS						0x22CD
#define CURLY_LOGICAL_OR						0x22CE
#define CURLY_LOGICAL_AND						0x22CF
#define DOUBLE_SUBSET							0x22D0
#define DOUBLE_SUPERSET							0x22D1
#define DOUBLE_INTERSECTION						0x22D2
#define DOUBLE_UNION							0x22D3
#define PITCHFORK							0x22D4
#define EQUAL_AND_PARALLEL_TO						0x22D5
#define LESS_THAN_WITH_DOT						0x22D6
#define GREATER_THAN_WITH_DOT						0x22D7
#define VERY_MUCH_LESS_THAN						0x22D8
#define VERY_MUCH_GREATER_THAN						0x22D9
#define LESS_THAN_EQUAL_TO_OR_GREATER_THAN				0x22DA
#define GREATER_THAN_EQUAL_TO_OR_LESS_THAN				0x22DB
#define EQUAL_TO_OR_LESS_THAN						0x22DC
#define EQUAL_TO_OR_GREATER_THAN					0x22DD
#define EQUAL_TO_OR_PRECEDES						0x22DE
#define EQUAL_TO_OR_SUCCEEDS						0x22DF
#define DOES_NOT_PRECEDE_OR_EQUAL					0x22E0
#define DOES_NOT_SUCCEED_OR_EQUAL					0x22E1
#define NOT_SQUARE_IMAGE_OF_OR_EQUAL_TO					0x22E2
#define NOT_SQUARE_ORIGINAL_OF_OR_EQUAL_TO				0x22E3
#define SQUARE_IMAGE_OF_OR_NOT_EQUAL_TO					0x22E4
#define SQUARE_ORIGINAL_OF_OR_NOT_EQUAL_TO				0x22E5
#define LESS_THAN_BUT_NOT_EQUIVALENT_TO					0x22E6
#define GREATER_THAN_BUT_NOT_EQUIVALENT_TO				0x22E7
#define PRECEDES_BUT_NOT_EQUIVALENT_TO					0x22E8
#define SUCCEEDS_BUT_NOT_EQUIVALENT_TO					0x22E9
#define NOT_NORMAL_SUBGROUP_OF						0x22EA
#define DOES_NOT_CONTAIN_AS_NORMAL_SUBGROUP				0x22EB
#define NOT_NORMAL_SUBGROUP_OF_OR_EQUAL_TO				0x22EC
#define DOES_NOT_CONTAIN_AS_NORMAL_SUBGROUP_OR_EQUAL			0x22ED
#define VERTICAL_ELLIPSIS						0x22EE
#define MIDLINE_HORIZONTAL_ELLIPSIS					0x22EF
#define UP_RIGHT_DIAGONAL_ELLIPSIS					0x22F0
#define DOWN_RIGHT_DIAGONAL_ELLIPSIS					0x22F1

/* Optical Character Recognition in Unicode (see wikipedia/OCR)
 * range: 0x2440-0x245F
 */
#define OCR_Hook                         0x2440
#define OCR_Chair                        0x2441
#define OCR_Fork                         0x2442
#define OCR_Inverted_Fork                0x2443
#define OCR_Belt_Buckle                  0x2444
#define OCR_Bow_Tie                      0x2445

/* the following 4 MICR chars (magnetic ink character recognition)
 * They look like:  |:  ,|'  ||'  |||  (known also as MICR-A,B,C,D)
 */
#define OCR_Branch_Bank_Identification   0x2446
#define OCR_Amount_Of_Check              0x2447
#define OCR_Customer_Account_Number      0x2448
#define OCR_Dash                         0x2449

#define OCR_Double_Backslash             0x244A

/* latin ligatures */
#define LATIN_SMALL_LIGATURE_FF						0xFB00
#define LATIN_SMALL_LIGATURE_FI						0xFB01
#define LATIN_SMALL_LIGATURE_FL						0xFB02
#define LATIN_SMALL_LIGATURE_FFI					0xFB03
#define LATIN_SMALL_LIGATURE_FFL					0xFB04
#define LATIN_SMALL_LIGATURE_LONG_S_T					0xFB05
#define LATIN_SMALL_LIGATURE_ST						0xFB06

#endif