chiark / gitweb /
Generate, but do not use, composition mappings.
[disorder] / lib / unidata.h
index f71eb64dc6da69c66ef1f60f7f74736bc17c4ab0..aa8814d2a47e4ceae1c1b4ab84e717b1a51e61ec 100644 (file)
@@ -39,6 +39,8 @@ enum unicode_Grapheme_Break {
   unicode_Grapheme_Break_Extend,
   unicode_Grapheme_Break_L,
   unicode_Grapheme_Break_LF,
+  unicode_Grapheme_Break_LV,
+  unicode_Grapheme_Break_LVT,
   unicode_Grapheme_Break_Other,
   unicode_Grapheme_Break_T,
   unicode_Grapheme_Break_V
@@ -72,15 +74,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;
@@ -89,6 +90,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