chiark / gitweb /
truncate_for_display() now uses unicode.c grapheme boundary deetection
[disorder] / lib / unidata.h
index d8d71d4e1c15b4dc3c21bed7c32493d8e30e8f83..aa8814d2a47e4ceae1c1b4ab84e717b1a51e61ec 100644 (file)
@@ -39,6 +39,7 @@ 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,
@@ -73,13 +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;
+  const uint32_t *composed;
   unsigned char ccc;
   char general_category;
   uint8_t flags;
@@ -88,8 +90,12 @@ struct unidata {
   char sentence_break;
 };
 extern const struct unidata *const unidata[];
+extern const struct unicode_utf8_row {
+  uint8_t count;
+  uint8_t min2, max2;
+} unicode_utf8_valid[];
 #define UNICODE_NCHARS 1114112
-#define UNICODE_MODULUS 128
+#define UNICODE_MODULUS 16
 #define UNICODE_BREAK_START 196608
 #define UNICODE_BREAK_END 917504
 #define UNICODE_BREAK_TOP 918016