+++ /dev/null
-/*
-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