conf/79701: [PATCH] wcwidth(3) returns wrong value about characters in ja_JP.eucJP locale

Kazuaki Oda ybbkaz at yahoo.co.jp
Fri Apr 8 15:30:25 PDT 2005


>Number:         79701
>Category:       conf
>Synopsis:       [PATCH] wcwidth(3) returns wrong value about characters in ja_JP.eucJP locale
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 08 22:30:24 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Kazuaki Oda <ybbkaz at yahoo.co.jp>
>Release:        FreeBSD 5.4-RC1 i386
>Organization:
>Environment:
System: FreeBSD eyes.violasystem.net 5.4-RC1 FreeBSD 5.4-RC1 #0: Sun Apr 3 22:32:16 JST 2005 kazuaki at eyes.violasystem.net:/usr/obj/usr/src/sys/EYES i386


>Description:
	wcwidth(3) should return 2 about characters in JISX0208 codeset.
	But it returns 1.
>How-To-Repeat:

>Fix:

	Apply attached patch.

--- ja_JP.eucJP.src.patch begins here ---
--- share/mklocale/ja_JP.eucJP.src	Fri Nov 30 14:05:53 2001
+++ share/mklocale/ja_JP.eucJP.src.new	Sat Apr  9 03:44:43 2005
@@ -37,6 +37,8 @@
 TODIGIT       	< 'A' - 'F' : 10 >
 TODIGIT       	< 'a' - 'f' : 10 >
 
+SWIDTH1		0x20 - 0x7e
+
 /*
  * Code Set 2
  */
@@ -46,9 +48,12 @@
 PHONOGRAM	0xa1bc
 SPECIAL     	0xa1a2 - 0xa1fe
 PUNCT		0xa1a2 - 0xa1f8		/* A few too many in here... */
+SWIDTH2		0xa1a1 - 0xa1fe
 
 SPECIAL		0xa2a1 - 0xa2ae 0xa2ba - 0xa2c1 0xa2ca - 0xa2d0 0xa2dc - 0xa2ea
 SPECIAL		0xa2f2 - 0xa2f9 0xa2fe
+SWIDTH2		0xa2a1 - 0xa2ae 0xa2ba - 0xa2c1 0xa2ca - 0xa2d0 0xa2dc - 0xa2ea
+SWIDTH2		0xa2f2 - 0xa2f9 0xa2fe
 
 /* ?DIGIT           0xa3b0 - 0xa3b9 */
 UPPER		0xa3c1 - 0xa3da				/* Romaji */
@@ -64,8 +69,14 @@
 TODIGIT		< 0xa3c1 - 0xa3c6 : 10 >
 TODIGIT		< 0xa3e1 - 0xa3e6 : 10 >
 
+SWIDTH2		0xa3b0 - 0xa3b9
+SWIDTH2		0xa3c1 - 0xa3da
+SWIDTH2		0xa3e1 - 0xa3fa
+
 PHONOGRAM	0xa4a1 - 0xa4f3
 PHONOGRAM	0xa5a1 - 0xa5f6
+SWIDTH2		0xa4a1 - 0xa4f3
+SWIDTH2		0xa5a1 - 0xa5f6
 
 UPPER		0xa6a1 - 0xa6b8				/* Greek */
 LOWER		0xa6c1 - 0xa6d8				/* Greek */
@@ -73,6 +84,8 @@
 MAPLOWER	< 0xa6c1 - 0xa6d8 : 0xa6c1 >
 MAPUPPER	< 0xa6a1 - 0xa6b8 : 0xa6a1 >
 MAPUPPER	< 0xa6c1 - 0xa6d8 : 0xa6a1 >
+SWIDTH2		0xa6a1 - 0xa6b8
+SWIDTH2		0xa6c1 - 0xa6d8
 
 UPPER		0xa7a1 - 0xa7c1				/* Cyrillic */
 LOWER		0xa7d1 - 0xa7f1				/* Cyrillic */
@@ -80,8 +93,11 @@
 MAPLOWER	< 0xa7d1 - 0xa7f1 : 0xa7d1 >
 MAPUPPER	< 0xa7a1 - 0xa7c1 : 0xa7a1 >
 MAPUPPER	< 0xa7d1 - 0xa7f1 : 0xa7a1 >
+SWIDTH2		0xa7a1 - 0xa7c1
+SWIDTH2		0xa7d1 - 0xa7f1
 
 SPECIAL		0xa8a1 - 0xa8c0
+SWIDTH2		0xa8a1 - 0xa8c0
 
 IDEOGRAM	0xb0a1 - 0xb0fe
 IDEOGRAM	0xb1a1 - 0xb1fe
@@ -152,6 +168,75 @@
 IDEOGRAM	0xf2a1 - 0xf2fe
 IDEOGRAM	0xf3a1 - 0xf3fe
 IDEOGRAM	0xf4a1 - 0xf4a4
+SWIDTH2		0xb0a1 - 0xb0fe
+SWIDTH2		0xb1a1 - 0xb1fe
+SWIDTH2		0xb2a1 - 0xb2fe
+SWIDTH2		0xb3a1 - 0xb3fe
+SWIDTH2		0xb4a1 - 0xb4fe
+SWIDTH2		0xb5a1 - 0xb5fe
+SWIDTH2		0xb6a1 - 0xb6fe
+SWIDTH2		0xb7a1 - 0xb7fe
+SWIDTH2		0xb8a1 - 0xb8fe
+SWIDTH2		0xb9a1 - 0xb9fe
+SWIDTH2		0xbaa1 - 0xbafe
+SWIDTH2		0xbba1 - 0xbbfe
+SWIDTH2		0xbca1 - 0xbcfe
+SWIDTH2		0xbda1 - 0xbdfe
+SWIDTH2		0xbea1 - 0xbefe
+SWIDTH2		0xbfa1 - 0xbffe
+SWIDTH2		0xc0a1 - 0xc0fe
+SWIDTH2		0xc1a1 - 0xc1fe
+SWIDTH2		0xc2a1 - 0xc2fe
+SWIDTH2		0xc3a1 - 0xc3fe
+SWIDTH2		0xc4a1 - 0xc4fe
+SWIDTH2		0xc5a1 - 0xc5fe
+SWIDTH2		0xc6a1 - 0xc6fe
+SWIDTH2		0xc7a1 - 0xc7fe
+SWIDTH2		0xc8a1 - 0xc8fe
+SWIDTH2		0xc9a1 - 0xc9fe
+SWIDTH2		0xcaa1 - 0xcafe
+SWIDTH2		0xcba1 - 0xcbfe
+SWIDTH2		0xcca1 - 0xccfe
+SWIDTH2		0xcda1 - 0xcdfe
+SWIDTH2		0xcea1 - 0xcefe
+SWIDTH2		0xcfa1 - 0xcfd3
+SWIDTH2		0xd0a1 - 0xd0fe
+SWIDTH2		0xd1a1 - 0xd1fe
+SWIDTH2		0xd2a1 - 0xd2fe
+SWIDTH2		0xd3a1 - 0xd3fe
+SWIDTH2		0xd4a1 - 0xd4fe
+SWIDTH2		0xd5a1 - 0xd5fe
+SWIDTH2		0xd6a1 - 0xd6fe
+SWIDTH2		0xd7a1 - 0xd7fe
+SWIDTH2		0xd8a1 - 0xd8fe
+SWIDTH2		0xd9a1 - 0xd9fe
+SWIDTH2		0xdaa1 - 0xdafe
+SWIDTH2		0xdba1 - 0xdbfe
+SWIDTH2		0xdca1 - 0xdcfe
+SWIDTH2		0xdda1 - 0xddfe
+SWIDTH2		0xdea1 - 0xdefe
+SWIDTH2		0xdfa1 - 0xdffe
+SWIDTH2		0xe0a1 - 0xe0fe
+SWIDTH2		0xe1a1 - 0xe1fe
+SWIDTH2		0xe2a1 - 0xe2fe
+SWIDTH2		0xe3a1 - 0xe3fe
+SWIDTH2		0xe4a1 - 0xe4fe
+SWIDTH2		0xe5a1 - 0xe5fe
+SWIDTH2		0xe6a1 - 0xe6fe
+SWIDTH2		0xe7a1 - 0xe7fe
+SWIDTH2		0xe8a1 - 0xe8fe
+SWIDTH2		0xe9a1 - 0xe9fe
+SWIDTH2		0xeaa1 - 0xeafe
+SWIDTH2		0xeba1 - 0xebfe
+SWIDTH2		0xeca1 - 0xecfe
+SWIDTH2		0xeda1 - 0xedfe
+SWIDTH2		0xeea1 - 0xeefe
+SWIDTH2		0xefa1 - 0xeffe
+SWIDTH2		0xf0a1 - 0xf0fe
+SWIDTH2		0xf1a1 - 0xf1fe
+SWIDTH2		0xf2a1 - 0xf2fe
+SWIDTH2		0xf3a1 - 0xf3fe
+SWIDTH2		0xf4a1 - 0xf4a4
 
 /*
  * This is for Code Set 3, half-width kana
@@ -159,3 +244,4 @@
 SPECIAL		0xa1 - 0xdf
 PHONOGRAM	0xa1 - 0xdf
 CONTROL		0x84 - 0x97 0x9b - 0x9f 0xe0 - 0xfe
+SWIDTH1		0xa1 - 0xdf
--- ja_JP.eucJP.src.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list