From: NARUSE Yui Date: Mon, 3 Aug 2009 18:05:57 +0000 (+0900) Subject: Fix: -Zx always implies -Z0. [nkf-forum:45244] X-Git-Tag: v2_1_0~5 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c233b583915b9c6605efe624c649ab9ffd3be96c;p=nkf%2Fnkf.git Fix: -Zx always implies -Z0. [nkf-forum:45244] --- diff --git a/nkf.c b/nkf.c index ef51af6..162a173 100644 --- a/nkf.c +++ b/nkf.c @@ -6238,11 +6238,10 @@ options(unsigned char *cp) bit:3 Convert HTML Entity bit:4 Convert JIS X 0208 Katakana to JIS X 0201 Katakana */ - while ('0'<= *cp && *cp <='9') { + while ('0'<= *cp && *cp <='4') { alpha_f |= 1 << (*cp++ - '0'); } - if (alpha_f & ((1 << 2) | (1 << 3))) alpha_f |= 1; - if (!alpha_f) alpha_f = 1; + alpha_f |= 1; continue; case 'x': /* Convert X0201 kana to X0208 or X0201 Conversion */ x0201_f = FALSE; /* No X0201->X0208 conversion */ diff --git a/nkf_test.pl b/nkf_test.pl index 0b32312..7780677 100644 --- a/nkf_test.pl +++ b/nkf_test.pl @@ -502,6 +502,24 @@ printf "%-40s", "X0201 conversion: EUC"; &test("$nkf -jZ",$example{'x0201.euc'},$example{'x0201.x0208'}); printf "%-40s", "X0201 conversion: UTF8"; &test("$nkf -jZ",$example{'x0201.utf'},$example{'x0201.x0208'}); +printf "%-40s", "-wZ"; &test("$nkf -wZ", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + "\xE3\x80\x80aA&\xE3\x82\xA2"); +printf "%-40s", "-wZ0"; &test("$nkf -wZ0", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + "\xE3\x80\x80aA&\xE3\x82\xA2"); +printf "%-40s", "-wZ1"; &test("$nkf -wZ1", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + " aA&\xE3\x82\xA2"); +printf "%-40s", "-wZ2"; &test("$nkf -wZ2", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + " aA&\xE3\x82\xA2"); +printf "%-40s", "-wZ3"; &test("$nkf -wZ3", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + "\xE3\x80\x80aA&\xE3\x82\xA2"); +printf "%-40s", "-wZ4"; &test("$nkf -wZ4", + "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", + "\xE3\x80\x80aA&\xEF\xBD\xB1"); # -x means X0201 output printf "%-40s", "X0201 output: SJIS"; &test("$nkf -xs",$example{'x0201.euc'},$example{'x0201.sjis'});