chiark / gitweb /
start on ut32__unidata() which will provide a uniform interface
[disorder] / lib / unidata.h
1 /* Automatically generated file, see scripts/make-unidata */
2 #ifndef UNIDATA_H
3 #define UNIDATA_H
4 enum unicode_General_Category {
5   unicode_General_Category_Cc,
6   unicode_General_Category_Cf,
7   unicode_General_Category_Cn,
8   unicode_General_Category_Co,
9   unicode_General_Category_Cs,
10   unicode_General_Category_Ll,
11   unicode_General_Category_Lm,
12   unicode_General_Category_Lo,
13   unicode_General_Category_Lt,
14   unicode_General_Category_Lu,
15   unicode_General_Category_Mc,
16   unicode_General_Category_Me,
17   unicode_General_Category_Mn,
18   unicode_General_Category_Nd,
19   unicode_General_Category_Nl,
20   unicode_General_Category_No,
21   unicode_General_Category_Pc,
22   unicode_General_Category_Pd,
23   unicode_General_Category_Pe,
24   unicode_General_Category_Pf,
25   unicode_General_Category_Pi,
26   unicode_General_Category_Po,
27   unicode_General_Category_Ps,
28   unicode_General_Category_Sc,
29   unicode_General_Category_Sk,
30   unicode_General_Category_Sm,
31   unicode_General_Category_So,
32   unicode_General_Category_Zl,
33   unicode_General_Category_Zp,
34   unicode_General_Category_Zs
35 };
36 enum unicode_Grapheme_Break {
37   unicode_Grapheme_Break_CR,
38   unicode_Grapheme_Break_Control,
39   unicode_Grapheme_Break_Extend,
40   unicode_Grapheme_Break_L,
41   unicode_Grapheme_Break_LF,
42   unicode_Grapheme_Break_Other,
43   unicode_Grapheme_Break_T,
44   unicode_Grapheme_Break_V
45 };
46 extern const char *const unicode_Grapheme_Break_names[];
47 enum unicode_Word_Break {
48   unicode_Word_Break_ALetter,
49   unicode_Word_Break_Extend,
50   unicode_Word_Break_ExtendNumLet,
51   unicode_Word_Break_Format,
52   unicode_Word_Break_Katakana,
53   unicode_Word_Break_MidLetter,
54   unicode_Word_Break_MidNum,
55   unicode_Word_Break_Numeric,
56   unicode_Word_Break_Other
57 };
58 extern const char *const unicode_Word_Break_names[];
59 enum unicode_Sentence_Break {
60   unicode_Sentence_Break_ATerm,
61   unicode_Sentence_Break_Close,
62   unicode_Sentence_Break_Extend,
63   unicode_Sentence_Break_Format,
64   unicode_Sentence_Break_Lower,
65   unicode_Sentence_Break_Numeric,
66   unicode_Sentence_Break_OLetter,
67   unicode_Sentence_Break_Other,
68   unicode_Sentence_Break_STerm,
69   unicode_Sentence_Break_Sep,
70   unicode_Sentence_Break_Sp,
71   unicode_Sentence_Break_Upper
72 };
73 extern const char *const unicode_Sentence_Break_names[];
74 enum unicode_flags {
75   unicode_normalize_before_casefold = 1
76 };
77
78 struct unidata {
79   const uint32_t *compat;
80   const uint32_t *canon;
81   const uint32_t *casefold;
82   int16_t upper_offset;
83   int16_t lower_offset;
84   unsigned char ccc;
85   char general_category;
86   uint8_t flags;
87   char grapheme_break;
88   char word_break;
89   char sentence_break;
90 };
91 extern const struct unidata *const unidata[];
92 #define UNICODE_NCHARS 195200
93 #define UNICODE_MODULUS 128
94 #endif