chiark / gitweb /
truncate_for_display() now uses unicode.c grapheme boundary deetection
[disorder] / lib / unidata.h
index a21ec5189d27e06fa88dab317f0d0787e8b792ca..aa8814d2a47e4ceae1c1b4ab84e717b1a51e61ec 100644 (file)
@@ -74,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;
@@ -89,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