aboutsummaryrefslogtreecommitdiffstats
path: root/libcmap.h
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-10-17 04:10:29 +0200
committerMattias Andrée <m@maandree.se>2026-10-17 04:10:29 +0200
commit8c9a2eef5331e5d22489e738d2080b255f9cc245 (patch)
tree89d9bebeb5ffe4f15302640aae8be60a1fc87d90 /libcmap.h
parentUpdate to Unicode 18.0.0 (diff)
downloadlibcmap-8c9a2eef5331e5d22489e738d2080b255f9cc245.tar.gz
libcmap-8c9a2eef5331e5d22489e738d2080b255f9cc245.tar.bz2
libcmap-8c9a2eef5331e5d22489e738d2080b255f9cc245.tar.xz
Add character data
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libcmap.h')
-rw-r--r--libcmap.h44
1 files changed, 40 insertions, 4 deletions
diff --git a/libcmap.h b/libcmap.h
index 9c32c77..50d2146 100644
--- a/libcmap.h
+++ b/libcmap.h
@@ -117,6 +117,33 @@ enum libcmap_bidirectional_category {
#define LIBCMAP_BIDIRECTIONAL_SUPERCATEGORY_MASK 0x7F00u
+enum libcmap_numeric_type {
+ LIBCMAP_NUMERIC_TYPE_NONE,
+ LIBCMAP_NUMERIC_TYPE_DECIMAL,
+ LIBCMAP_NUMERIC_TYPE_DIGIT,
+ LIBCMAP_NUMERIC_TYPE_NUMERIC
+};
+
+enum libcmap_decomposition_type {
+ LIBCMAP_DECOMPOSITION_TYPE_CANONICAL,
+ LIBCMAP_DECOMPOSITION_TYPE_FONT,
+ LIBCMAP_DECOMPOSITION_TYPE_NO_BREAK,
+ LIBCMAP_DECOMPOSITION_TYPE_INITIAL,
+ LIBCMAP_DECOMPOSITION_TYPE_MEDIAL,
+ LIBCMAP_DECOMPOSITION_TYPE_FINAL,
+ LIBCMAP_DECOMPOSITION_TYPE_ISOLATED,
+ LIBCMAP_DECOMPOSITION_TYPE_CIRCLE,
+ LIBCMAP_DECOMPOSITION_TYPE_SUPER,
+ LIBCMAP_DECOMPOSITION_TYPE_SUB,
+ LIBCMAP_DECOMPOSITION_TYPE_VERTICAL,
+ LIBCMAP_DECOMPOSITION_TYPE_WIDE,
+ LIBCMAP_DECOMPOSITION_TYPE_NARROW,
+ LIBCMAP_DECOMPOSITION_TYPE_SMALL,
+ LIBCMAP_DECOMPOSITION_TYPE_SQUARE,
+ LIBCMAP_DECOMPOSITION_TYPE_FRACTION,
+ LIBCMAP_DECOMPOSITION_TYPE_COMPAT
+};
+
/**
* Contiguous range of Unicode codepoints
@@ -200,11 +227,20 @@ struct libcmap_codepoint_data {
const char *name;
/* TODO documentation is needed */
- enum libcmap_general_category general_category;
- enum libcmap_bidirectional_category bidirectional_category;
- uint16_t canonical_combining_classes;
- uint16_t bidirectional_mirrored;
const char *unicode_1_name;
+ const char *numeric_value;
+ const uint32_t *decomposition_mapping;
+ enum libcmap_general_category general_category : 16;
+ enum libcmap_bidirectional_category bidirectional_category : 16;
+ uint32_t simple_uppercase_mapping : 21;
+ enum libcmap_numeric_type numeric_type : 4;
+ enum libcmap_decomposition_type decomposition_type : 7;
+ uint32_t simple_lowercase_mapping : 21;
+ uint32_t canonical_combining_classes : 11;
+ uint32_t simple_titlecase_mapping : 21;
+ uint32_t decomposition_mapping_size : 6;
+ uint32_t bidirectional_mirrored : 1;
+ uint32_t : 4;
};