OSDN Git Service

Fix: Halfwidh treated as fullwidth on folding. [nkf-forum:65316]
authorNARUSE, Yui <naruse@users.sourceforge.jp>
Wed, 29 Aug 2012 05:45:10 +0000 (14:45 +0900)
committerNARUSE, Yui <naruse@users.sourceforge.jp>
Wed, 29 Aug 2012 05:45:10 +0000 (14:45 +0900)
nkf.c
nkf_test.pl

diff --git a/nkf.c b/nkf.c
index ee855d8..4a6d758 100644 (file)
--- a/nkf.c
+++ b/nkf.c
@@ -3500,7 +3500,7 @@ fold_conv(nkf_char c2, nkf_char c1)
        f_prev = c1;
        if (c2 || c2 == JIS_X_0201_1976_K)
            f_prev |= 0x80;  /* this is Japanese */
-       f_line += char_size(c2,c1);
+       f_line += c2 == JIS_X_0201_1976_K ? 1: char_size(c2,c1);
        if (f_line<=fold_len) {   /* normal case */
            fold_state = 1;
        } else {
index 9f85675..af607be 100644 (file)
@@ -1066,6 +1066,11 @@ printf "%-40s",  "[nkf-bug:21393]-X  ";
     "\xEF\xBD\xBC\xEF\xBE\x9E\xEF\xBD\xAC\xEF\xBD\xB0\xEF\xBE\x8F\xEF\xBE\x9D\xEF\xBD\xA5\xEF\xBE\x8E\xEF\xBE\x9F\xEF\xBE\x83\xEF\xBE\x84\xEF\xBD\xA1",
     "\x83W\x83\x83\x81[\x83}\x83\x93\x81E\x83|\x83e\x83g\x81B");
 
+printf "%-40s",  "[nkf-forum:65316]  ";
+    &test("$nkf -xwW -f10",
+    "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84",
+    "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\n\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84\n");
+
     if (!NKF) {
 printf "%-40s", "Guess NL";
 &command_tests(