Tag
Hash :
1ae6ad0e
Author :
Thomas de Grivel
Date :
2024-07-15T19:59:52
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
/* kc3
* Copyright 2022,2023,2024 kmx.io <contact@kmx.io>
*
* Permission is hereby granted to use this software granted the above
* copyright notice and this permission paragraph are included in all
* copies and substantial portions of this software.
*
* THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
* PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
* AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
* THIS SOFTWARE.
*/
#ifndef UCD_H
#define UCD_H
#define UCD_MAX 0x110000
#define UCD_SUB_MAX 0x010000
#define UCD_LETTER 0x0000000001
#define UCD_LETTER_LOWERCASE 0x0000000002
#define UCD_LETTER_MODIFIER 0x0000000004
#define UCD_LETTER_OTHER 0x0000000008
#define UCD_LETTER_TITLECASE 0x0000000010
#define UCD_LETTER_UPPERCASE 0x0000000020
#define UCD_MARK 0x0000000040
#define UCD_MARK_COMBINING 0x0000000080
#define UCD_MARK_ENCLOSING 0x0000000100
#define UCD_MARK_NONSPACING 0x0000000200
#define UCD_NUMBER 0x0000000400
#define UCD_NUMBER_DECIMAL_DIGIT 0x0000000800
#define UCD_NUMBER_LETTER 0x0000001000
#define UCD_NUMBER_OTHER 0x0000002000
#define UCD_PUNCTUATION 0x0000004000
#define UCD_PUNCTUATION_CLOSE 0x0000008000
#define UCD_PUNCTUATION_CONNECTOR 0x0000010000
#define UCD_PUNCTUATION_DASH 0x0000020000
#define UCD_PUNCTUATION_FINAL_QUOTE 0x0000040000
#define UCD_PUNCTUATION_INITIAL_QUOTE 0x0000080000
#define UCD_PUNCTUATION_OPEN 0x0000100000
#define UCD_PUNCTUATION_OTHER 0x0000200000
#define UCD_SYMBOL 0x0000400000
#define UCD_SYMBOL_CURRENCY 0x0000800000
#define UCD_SYMBOL_MATH 0x0001000000
#define UCD_SYMBOL_MODIFIER 0x0002000000
#define UCD_SYMBOL_OTHER 0x0004000000
#define UCD_SEPARATOR 0x0008000000
#define UCD_SEPARATOR_LINE 0x0010000000
#define UCD_SEPARATOR_PARAGRAPH 0x0020000000
#define UCD_SEPARATOR_SPACE 0x0040000000
#define UCD_OTHER 0x0080000000
#define UCD_OTHER_CONTROL 0x0100000000
#define UCD_OTHER_FORMAT 0x0200000000
#define UCD_OTHER_SURROGATE 0x0400000000
#define UCD_OTHER_PRIVATE_USE 0x0800000000
#define UCD_OTHER_NOT_ASSIGNED 0x1000000000
typedef unsigned long long ucd_flags;
typedef struct ucd {
ucd_flags flags;
char *name;
unsigned long to_lower;
unsigned long to_upper;
} s_ucd;
extern const s_ucd g_ucd[UCD_MAX];
#endif /* UCD_H */