(patched) gocr-0.44
[swftools.git] / lib / gocr / unicode.h
diff --git a/lib/gocr/unicode.h b/lib/gocr/unicode.h
new file mode 100644 (file)
index 0000000..b85fd44
--- /dev/null
@@ -0,0 +1,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