ChangeSet ID: 21312 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/17 05:07:04
Modified files: libs/unicode : wctype.c cpmap.pl
Log message: Robert Shearman rob@codeweavers.com Remove some incompatibilities in the wctype table by updating the space, blank and cntrl exceptions and fixing the type given to characters in the "Zl" and "Zp" classes.
Patch: http://cvs.winehq.org/patch.py?id=21312
Old revision New revision Changes Path 1.3 1.4 +9 -9 wine/libs/unicode/wctype.c 1.8 1.9 +8 -4 wine/libs/unicode/cpmap.pl
Index: wine/libs/unicode/wctype.c diff -u -p wine/libs/unicode/wctype.c:1.3 wine/libs/unicode/wctype.c:1.4 --- wine/libs/unicode/wctype.c:1.3 17 Nov 2005 11: 7: 4 -0000 +++ wine/libs/unicode/wctype.c 17 Nov 2005 11: 7: 4 -0000 @@ -55,7 +55,7 @@ const unsigned short wine_wctype_table[1 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0x0020, - 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x0020, 0x0020, + 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x8028, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, @@ -264,7 +264,7 @@ const unsigned short wine_wctype_table[1 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x2100, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, - 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x0000, 0x0000, + 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x0000, 0x0020, 0x2100, 0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, @@ -808,7 +808,7 @@ const unsigned short wine_wctype_table[1 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, - 0xb010, 0xb010, 0xb010, 0x0010, 0x0010, 0x0010, 0xa008, 0x0000, + 0xb010, 0xb010, 0xb010, 0x0030, 0x0030, 0x0030, 0xa028, 0x0000, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, @@ -968,11 +968,11 @@ const unsigned short wine_wctype_table[1 0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0x0000, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, - 0xa008, 0xa008, 0xa008, 0x0008, 0x0000, 0x0000, 0x1000, 0x2000, + 0xa008, 0xa008, 0xa008, 0x0008, 0x0020, 0x0020, 0x1020, 0x2020, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, - 0xa000, 0x8000, 0xb000, 0xb000, 0xb000, 0xb000, 0xb000, 0xa008, + 0xa008, 0x8008, 0xb020, 0xb020, 0xb020, 0xb020, 0xb020, 0xa008, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, @@ -980,7 +980,7 @@ const unsigned short wine_wctype_table[1 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x3010, 0x1102, 0x0000, 0x0000, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x1102, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, @@ -1319,7 +1319,7 @@ const unsigned short wine_wctype_table[1 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, - 0xa008, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1100, 0x1010, + 0xa048, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1100, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, @@ -1766,7 +1766,7 @@ const unsigned short wine_wctype_table[1 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, - 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0048, + 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0060, 0x0000, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, @@ -1798,5 +1798,5 @@ const unsigned short wine_wctype_table[1 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x5010, 0x5010, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000 + 0x0000, 0x0020, 0x0020, 0x0020, 0xb010, 0xb010, 0x0000, 0x0000 }; Index: wine/libs/unicode/cpmap.pl diff -u -p wine/libs/unicode/cpmap.pl:1.8 wine/libs/unicode/cpmap.pl:1.9 --- wine/libs/unicode/cpmap.pl:1.8 17 Nov 2005 11: 7: 4 -0000 +++ wine/libs/unicode/cpmap.pl 17 Nov 2005 11: 7: 4 -0000 @@ -125,8 +125,8 @@ $DEF_CHAR = ord '?'; "Nl" => $ctype{"punct"}, # Number, Letter "No" => $ctype{"punct"}, # Number, Other "Zs" => $ctype{"space"}, # Separator, Space - "Zl" => 0, # Separator, Line - "Zp" => 0, # Separator, Paragraph + "Zl" => $ctype{"space"}, # Separator, Line + "Zp" => $ctype{"space"}, # Separator, Paragraph "Cc" => $ctype{"cntrl"}, # Other, Control "Cf" => 0, # Other, Format "Cs" => 0, # Other, Surrogate @@ -152,8 +152,12 @@ $DEF_CHAR = ord '?'; ( "xdigit" => [ ord('0')..ord('9'),ord('A')..ord('F'),ord('a')..ord('f'), 0xff10..0xff19, 0xff21..0xff26, 0xff41..0xff46 ], - "space" => [ 0x09..0x0d, 0xfeff ], - "blank" => [ 0x09, 0x20, 0xa0, 0xfeff ] + "space" => [ 0x09..0x0d, 0x85 ], + "blank" => [ 0x09, 0x20, 0xa0, 0x3000, 0xfeff ], + "cntrl" => [ 0x070f, 0x180b, 0x180c, 0x180d, 0x180e, 0x200c, 0x200d, + 0x200e, 0x200f, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, + 0x206a, 0x206b, 0x206c, 0x206d, 0x206e, 0x206f, 0xfeff, + 0xfff9, 0xfffa, 0xfffb ] );
%directions =