diff options
author | Dai Sato <satodai@w3m.jp> | 2007-05-23 11:34:09 +0000 |
---|---|---|
committer | Dai Sato <satodai@w3m.jp> | 2007-05-23 11:34:09 +0000 |
commit | e67286c23ca100e3abc3aba9c21906436d836d63 (patch) | |
tree | 078d83c304afdc6e0ad44cfdaf891b0cf55ebfac | |
parent | quote URLs with non-ASCII local directory names. [w3m-dev 04212] (diff) | |
download | w3m-e67286c23ca100e3abc3aba9c21906436d836d63.tar.gz w3m-e67286c23ca100e3abc3aba9c21906436d836d63.zip |
[w3m-dev 04213] update Unicode charcters' width
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | libwc/map/ucs_wide.map | 11 | ||||
-rw-r--r-- | libwc/ucs.c | 3 | ||||
-rw-r--r-- | libwc/ucs.h | 1 |
4 files changed, 16 insertions, 7 deletions
@@ -1,3 +1,9 @@ +2007-05-23 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 04213] update Unicode characters' width + * libwc/ucs.c, libwc/ucs.h, libwc/map/ucs_wide.map: + catch-up to EastAsianWidth-5.0.0.txt. + 2007-04-19 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> * [w3m-dev 04212] quote URL of local dir @@ -8805,4 +8811,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.977 2007/04/19 12:07:02 inu Exp $ +$Id: ChangeLog,v 1.978 2007/05/23 11:34:09 inu Exp $ diff --git a/libwc/map/ucs_wide.map b/libwc/map/ucs_wide.map index 714e4c5..9d79f54 100644 --- a/libwc/map/ucs_wide.map +++ b/libwc/map/ucs_wide.map @@ -1,14 +1,15 @@ -#define N_ucs_wide_map 10 +#define N_ucs_wide_map 11 static wc_map ucs_wide_map[ N_ucs_wide_map ] = { { 0x1100, 0x115F }, - { 0x2E80, 0x3009 }, - { 0x300C, 0x3019 }, - { 0x301C, 0x303E }, - { 0x3040, 0xA4CF }, + { 0x2329, 0x232A }, + { 0x2E80, 0x303E }, + { 0x3040, 0x4DBF }, + { 0x4E00, 0xA4CF }, { 0xAC00, 0xD7A3 }, { 0xF900, 0xFAFF }, + { 0xFE10, 0xFE19 }, { 0xFE30, 0xFE6F }, { 0xFF00, 0xFF5F }, { 0xFFE0, 0xFFE6 }, diff --git a/libwc/ucs.c b/libwc/ucs.c index b9dfec3..2534b5a 100644 --- a/libwc/ucs.c +++ b/libwc/ucs.c @@ -522,7 +522,8 @@ wc_is_ucs_wide(wc_uint32 ucs) return (wc_map_range_search((wc_uint16)ucs, ucs_wide_map, N_ucs_wide_map) != NULL); else - return ((ucs & ~0xFFFF) == WC_C_UCS4_PLANE2); + return ((ucs & ~0xFFFF) == WC_C_UCS4_PLANE2 || + (ucs & ~0xFFFF) == WC_C_UCS4_PLANE3); } wc_bool diff --git a/libwc/ucs.h b/libwc/ucs.h index 21c7070..5003bac 100644 --- a/libwc/ucs.h +++ b/libwc/ucs.h @@ -22,6 +22,7 @@ #define WC_C_CANCEL_TAG 0xE007F #define WC_C_UCS4_PLANE1 0x10000 #define WC_C_UCS4_PLANE2 0x20000 +#define WC_C_UCS4_PLANE3 0x30000 #define wc_ucs_tag_to_ucs(c) ((c) & WC_C_UNICODE_MASK) #define wc_ucs_tag_to_tag(c) ((c) >> 24) |