X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/1452363583a176aafcb00a17bf76c223e3a1f31c..4942ee7d61bf22ba38bf026c7d05028cb7db0d54:/lib/unidata.h diff --git a/lib/unidata.h b/lib/unidata.h index 3688a76..1d89322 100644 --- a/lib/unidata.h +++ b/lib/unidata.h @@ -1,4 +1,10 @@ -/* Automatically generated file, see scripts/make-unidata */ +/** @file lib/unidata.h + * @brief Unicode tables + * + * Automatically generated file, see scripts/make-unidata + * + * DO NOT EDIT. + */ #ifndef UNIDATA_H #define UNIDATA_H enum unicode_General_Category { @@ -42,31 +48,40 @@ enum unicode_Grapheme_Break { unicode_Grapheme_Break_LV, unicode_Grapheme_Break_LVT, unicode_Grapheme_Break_Other, + unicode_Grapheme_Break_Prepend, + unicode_Grapheme_Break_SpacingMark, unicode_Grapheme_Break_T, unicode_Grapheme_Break_V }; extern const char *const unicode_Grapheme_Break_names[]; enum unicode_Word_Break { unicode_Word_Break_ALetter, + unicode_Word_Break_CR, unicode_Word_Break_Extend, unicode_Word_Break_ExtendNumLet, unicode_Word_Break_Format, unicode_Word_Break_Katakana, + unicode_Word_Break_LF, unicode_Word_Break_MidLetter, unicode_Word_Break_MidNum, + unicode_Word_Break_MidNumLet, + unicode_Word_Break_Newline, unicode_Word_Break_Numeric, unicode_Word_Break_Other }; extern const char *const unicode_Word_Break_names[]; enum unicode_Sentence_Break { unicode_Sentence_Break_ATerm, + unicode_Sentence_Break_CR, unicode_Sentence_Break_Close, unicode_Sentence_Break_Extend, unicode_Sentence_Break_Format, + unicode_Sentence_Break_LF, unicode_Sentence_Break_Lower, unicode_Sentence_Break_Numeric, unicode_Sentence_Break_OLetter, unicode_Sentence_Break_Other, + unicode_Sentence_Break_SContinue, unicode_Sentence_Break_STerm, unicode_Sentence_Break_Sep, unicode_Sentence_Break_Sp, @@ -74,15 +89,14 @@ enum unicode_Sentence_Break { }; extern const char *const unicode_Sentence_Break_names[]; enum unicode_flags { - unicode_normalize_before_casefold = 1 + unicode_normalize_before_casefold = 1, + unicode_compatibility_decomposition = 2 }; struct unidata { - const uint32_t *compat; - const uint32_t *canon; + const uint32_t *decomp; const uint32_t *casefold; - int16_t upper_offset; - int16_t lower_offset; + const uint32_t *composed; unsigned char ccc; char general_category; uint8_t flags; @@ -91,6 +105,13 @@ struct unidata { char sentence_break; }; extern const struct unidata *const unidata[]; -#define UNICODE_NCHARS 195200 -#define UNICODE_MODULUS 128 +extern const struct unicode_utf8_row { + uint8_t count; + uint8_t min2, max2; +} unicode_utf8_valid[]; +#define UNICODE_NCHARS 1114112 +#define UNICODE_MODULUS 16 +#define UNICODE_BREAK_START 196608 +#define UNICODE_BREAK_END 917504 +#define UNICODE_BREAK_TOP 918016 #endif