more efficient utf32_iterator_set()
[disorder] / lib / unidata.h
index 3688a76..c2daccb 100644 (file)
@@ -81,8 +81,6 @@ struct unidata {
   const uint32_t *compat;
   const uint32_t *canon;
   const uint32_t *casefold;
-  int16_t upper_offset;
-  int16_t lower_offset;
   unsigned char ccc;
   char general_category;
   uint8_t flags;
@@ -91,6 +89,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