From 8c9a2eef5331e5d22489e738d2080b255f9cc245 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 17 Oct 2026 04:10:29 +0200 Subject: Add character data MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libcmap.h | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) (limited to 'libcmap.h') 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; }; -- cgit v1.3.1