From 90aadc569ba36f2e3600b9dffab41161ae206b6f Mon Sep 17 00:00:00 2001 From: "smontagu%netscape.com" Date: Thu, 28 Jun 2007 20:03:08 +0000 Subject: [PATCH] Make Bidi symmetric swapping handle characters outside BMP. Bug 122800, r=mkaply, sr=darin git-svn-id: svn://10.0.0.236/trunk@228964 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/intl/unicharutil/util/gensymmtable.pl | 4 ++-- mozilla/intl/unicharutil/util/symmtable.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mozilla/intl/unicharutil/util/gensymmtable.pl b/mozilla/intl/unicharutil/util/gensymmtable.pl index fca4edfe74e..63fdf0731e9 100644 --- a/mozilla/intl/unicharutil/util/gensymmtable.pl +++ b/mozilla/intl/unicharutil/util/gensymmtable.pl @@ -100,8 +100,8 @@ foreach $block (0 .. 0xff) { } # Generate conversion method -print OUT "\nstatic PRUnichar Mirrored(PRUnichar u)\n{\n"; -print OUT " switch (u & 0xFF00) {\n"; +print OUT "\nstatic PRUint32 Mirrored(PRUint32 u)\n{\n"; +print OUT " switch (u & 0xFFFFFF00) {\n"; print OUT " // XOR the character with the bitmap in the conversion table to give the symmetric equivalent\n"; foreach $block (0 .. 0xff) { if (1==@isblock[$block]) { diff --git a/mozilla/intl/unicharutil/util/symmtable.h b/mozilla/intl/unicharutil/util/symmtable.h index 36345898a58..31ad6ac7bbf 100644 --- a/mozilla/intl/unicharutil/util/symmtable.h +++ b/mozilla/intl/unicharutil/util/symmtable.h @@ -127,9 +127,9 @@ const static PRUint8 symmtable_30[256] = { /* F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; -static PRUnichar Mirrored(PRUnichar u) +static PRUint32 Mirrored(PRUint32 u) { - switch (u & 0xFF00) { + switch (u & 0xFFFFFF00) { // XOR the character with the bitmap in the conversion table to give the symmetric equivalent case 0: u ^= symmtable_00[u & 0xff];