diff options
author | H. Peter Anvin <hpa@smyrno.hos.anvin.org> | 2005-11-26 13:00:08 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@smyrno.hos.anvin.org> | 2005-11-26 13:00:08 -0800 |
commit | a6d38fc8943ac026adb0e84fdbe9ac34830386bb (patch) | |
tree | d98113d22321b6879261df9f49d78561a3999890 | |
parent | 8a4b9405622aff89b58fd157eff1c3280f72af8b (diff) | |
download | libucd-a6d38fc8943ac026adb0e84fdbe9ac34830386bb.tar.gz |
More massaging of the external structure; outline the internal structure
-rw-r--r-- | libucd_int.h | 19 | ||||
-rw-r--r-- | ucd.h | 10 |
2 files changed, 25 insertions, 4 deletions
diff --git a/libucd_int.h b/libucd_int.h index be3429a..d3260e9 100644 --- a/libucd_int.h +++ b/libucd_int.h @@ -15,4 +15,23 @@ extern const char _libucd_hangul_jamo_l[][4]; extern const char _libucd_hangul_jamo_v[][4]; extern const char _libucd_hangul_jamo_t[][4]; +struct _libucd_property_array { + uint64_t flags_block; /* Block index is high byte */ + int24 simple_uppercase; + int24 simple_lowercase; + int24 simple_titlecase; + uint8_t numeric_value_num; + uint8_t numeric_value_den_exp; /* bit 7 = 1 if exponent */ + uint8_t general_category; + uint8_t script; + unsigned arabic_joining_type :3; + unsigned arabic_joining_group :6; + unsigned east_asian_width :3; + unsigned hangul_syllable_type :3; + unsigned line_break :5; + unsigned numeric_type :2; + unsigned combining_class :5; + unsigned bidi_class :5; +}; + #endif @@ -334,12 +334,14 @@ struct unicode_character_data { int32_t simple_uppercase; int32_t simple_lowercase; int32_t simple_titlecase; - int16_t numeric_value_num; - int16_t numeric_value_den; + /* Numeric value = num/den * 10^exp */ + uint8_t numeric_value_num; + uint8_t numeric_value_den; + uint8_t numeric_value_exp; enum unicode_general_category general_category; enum unicode_script script; - enum unicode_arabic_joining_type joining_type; - enum unicode_arabic_joining_group joining_group; + enum unicode_arabic_joining_type arabic_joining_type; + enum unicode_arabic_joining_group arabic_joining_group; enum unicode_east_asian_width east_asian_width; enum unicode_hangul_syllable_type hangul_syllable_type; enum unicode_line_break line_break; |