aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@smyrno.hos.anvin.org>2005-11-26 13:00:08 -0800
committerH. Peter Anvin <hpa@smyrno.hos.anvin.org>2005-11-26 13:00:08 -0800
commita6d38fc8943ac026adb0e84fdbe9ac34830386bb (patch)
treed98113d22321b6879261df9f49d78561a3999890
parent8a4b9405622aff89b58fd157eff1c3280f72af8b (diff)
downloadlibucd-a6d38fc8943ac026adb0e84fdbe9ac34830386bb.tar.gz
More massaging of the external structure; outline the internal structure
-rw-r--r--libucd_int.h19
-rw-r--r--ucd.h10
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
diff --git a/ucd.h b/ucd.h
index c0c0299..4c0b898 100644
--- a/ucd.h
+++ b/ucd.h
@@ -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;