aboutsummaryrefslogtreecommitdiffstats
path: root/japanese/nkf/files/patch-nkf.c
blob: 2b0c1215190ada4e674f9d1c1ddaf8c53fe90ba9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--- nkf.c.orig  2009-01-20 18:49:31.000000000 +0900
+++ nkf.c   2009-04-27 22:44:46.124911367 +0900
@@ -21,7 +21,7 @@
  * 3. This notice may not be removed or altered from any source distribution.
  */
 #define NKF_VERSION "2.0.9"
-#define NKF_RELEASE_DATE "2009-01-20"
+#define NKF_RELEASE_DATE "2009-02-21"
 #define COPY_RIGHT \
     "Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \
     "Copyright (C) 1996-2009, The nkf Project."
@@ -468,6 +468,8 @@
     {"Shift_JIS", 0, 0, 0, {0, 0, 0}, s_status, s_iconv, 0},
 #ifdef UTF8_INPUT_ENABLE
     {"UTF-8",     0, 0, 0, {0, 0, 0}, w_status, w_iconv, 0},
+    {"UTF-16",     0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0},
+    {"UTF-32",     0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0},
 #endif
     {0}
 };
@@ -1426,6 +1428,7 @@
    output_endian = ENDIAN_LITTLE;
    output_bom_f = TRUE;
    break;
+    case UTF_32:
     case UTF_32BE_BOM:
    output_bom_f = TRUE;
    break;
@@ -6159,9 +6162,6 @@
            output_endian = ENDIAN_LITTLE;
        } else if (cp[0] == 'B') {
            cp++;
-       } else {
-           output_encoding = nkf_enc_from_index(enc_idx);
-           continue;
        }
        if (cp[0] == '0'){
            cp++;
@@ -6232,6 +6232,7 @@
        while ('0'<= *cp && *cp <='9') {
        alpha_f |= 1 << (*cp++ - '0');
        }
+       if (alpha_f & ((1 << 2) | (1 << 3))) alpha_f |= 1;
        if (!alpha_f) alpha_f = 1;
        continue;
    case 'x':   /* Convert X0201 kana to X0208 or X0201 Conversion */