26 #ifndef _UTF8REWIND_INTERNAL_CODEPOINT_H_ 27 #define _UTF8REWIND_INTERNAL_CODEPOINT_H_ 47 #define MAX_BASIC_LATIN 0x007F 53 #define MAX_LATIN_1 0x00FF 59 #define MAX_BASIC_MULTILINGUAL_PLANE 0xFFFF 65 #define MAX_LEGAL_UNICODE 0x10FFFF 71 #define REPLACEMENT_CHARACTER 0xFFFD 77 #define REPLACEMENT_CHARACTER_STRING "\xEF\xBF\xBD" 83 #define REPLACEMENT_CHARACTER_STRING_LENGTH 3 89 #define SURROGATE_HIGH_START 0xD800 95 #define SURROGATE_HIGH_END 0xDBFF 101 #define SURROGATE_LOW_START 0xDC00 107 #define SURROGATE_LOW_END 0xDFFF 113 #define HANGUL_JAMO_FIRST 0x1100 119 #define HANGUL_JAMO_LAST 0x11FF 126 #define HANGUL_L_FIRST 0x1100 133 #define HANGUL_L_LAST 0x1112 139 #define HANGUL_L_COUNT 19 146 #define HANGUL_V_FIRST 0x1161 153 #define HANGUL_V_LAST 0x1175 159 #define HANGUL_V_COUNT 21 166 #define HANGUL_T_FIRST 0x11A7 173 #define HANGUL_T_LAST 0x11C2 179 #define HANGUL_T_COUNT 28 185 #define HANGUL_N_COUNT 588 191 #define HANGUL_S_FIRST 0xAC00 197 #define HANGUL_S_LAST 0xD7A3 203 #define HANGUL_S_COUNT 11172 205 #define CP_LATIN_CAPITAL_LETTER_I 0x0049 206 #define CP_LATIN_CAPITAL_LETTER_J 0x004A 207 #define CP_LATIN_SMALL_LETTER_I 0x0069 208 #define CP_LATIN_SMALL_LETTER_J 0x006A 209 #define CP_LATIN_CAPITAL_LETTER_I_WITH_GRAVE 0x00CC 210 #define CP_LATIN_CAPITAL_LETTER_I_WITH_ACUTE 0x00CD 211 #define CP_LATIN_CAPITAL_LETTER_I_WITH_TILDE 0x0128 212 #define CP_LATIN_CAPITAL_LETTER_I_WITH_OGONEK 0x012E 213 #define CP_LATIN_SMALL_LETTER_I_WITH_OGONEK 0x012F 214 #define CP_LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE 0x0130 215 #define CP_LATIN_SMALL_LETTER_DOTLESS_I 0x0131 216 #define CP_COMBINING_GRAVE_ACCENT 0x0300 217 #define CP_COMBINING_ACUTE_ACCENT 0x0301 218 #define CP_COMBINING_TILDE_ACCENT 0x0303 219 #define CP_COMBINING_DOT_ABOVE 0x0307 220 #define CP_COMBINING_GREEK_YPOGEGRAMMENI 0x0345 221 #define CP_COMBINING_GRAPHEME_JOINER 0x034F 222 #define CP_GREEK_CAPITAL_LETTER_SIGMA 0x03A3 224 #define CCC_NOT_REORDERED 0 225 #define CCC_OVERLAY 1 227 #define CCC_KANA_VOICING 8 229 #define CCC_FIXED_POSITION_START 10 230 #define CCC_FIXED_POSITION_END 199 231 #define CCC_ATTACHED_BELOW_LEFT 200 232 #define CCC_ATTACHED_BELOW 202 233 #define CCC_ATTACHED_BOTTOM_RIGHT 204 234 #define CCC_ATTACHED_LEFT 208 235 #define CCC_ATTACHED_RIGHT 210 236 #define CCC_ATTACHED_TOP_LEFT 212 237 #define CCC_ATTACHED_ABOVE 214 238 #define CCC_ATTACHED_ABOVE_RIGHT 216 239 #define CCC_BELOW_LEFT 218 240 #define CCC_BELOW 220 241 #define CCC_BELOW_RIGHT 222 243 #define CCC_RIGHT 226 244 #define CCC_ABOVE_LEFT 228 245 #define CCC_ABOVE 230 246 #define CCC_ABOVE_RIGHT 232 247 #define CCC_DOUBLE_BELOW 233 248 #define CCC_DOUBLE_ABOVE 234 249 #define CCC_IOTA_SUBSCRIPT 240 250 #define CCC_INVALID 255 259 extern const uint8_t codepoint_decoded_length[256];
272 uint8_t codepoint_write(
unicode_t encoded,
char** target,
size_t* targetSize);
283 uint8_t codepoint_read(
const char* input,
size_t inputSize,
unicode_t* decoded);
Public interface for UTF-8 functions.
uint32_t unicode_t
UTF-32 encoded code point.
Definition: utf8rewind.h:698