diff options
Diffstat (limited to 'debian/patches/190_codepage.patch')
-rw-r--r-- | debian/patches/190_codepage.patch | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/debian/patches/190_codepage.patch b/debian/patches/190_codepage.patch deleted file mode 100644 index 8e30d05..0000000 --- a/debian/patches/190_codepage.patch +++ /dev/null @@ -1,196 +0,0 @@ -Description: Handling of codepage with wc_codepage - * [w3m-dev 04279] charset - * libwc/ces.h, libwc/charset.c: set charset to Shift_JIS, when locale - is japanese, jp_JP.PCK, ja_JP.IBM-932, ja_JP.IBM-943, or windows-31j. -Origin: upstream, http://w3m.cvs.sourceforge.net/viewvc/w3m/w3m/ -Author: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> - -diff -urN w3m-0.5.2.orig/libwc/ces.h w3m/libwc/ces.h ---- w3m-0.5.2.orig/libwc/ces.h 2003-09-23 06:02:23.000000000 +0900 -+++ w3m/libwc/ces.h 2007-06-07 19:59:52.000000000 +0900 -@@ -176,6 +176,7 @@ - - #define WC_CES_SHIFT_JIS (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JIS) - #define WC_CES_CP932 WC_CES_SHIFT_JIS -+#define WC_CES_CP943 WC_CES_SHIFT_JIS - #define WC_CES_SHIFT_JISX0213 (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JISX0213) - #define WC_CES_GBK (WC_CES_E_PRIV2|WC_CES_N_GBK) - #define WC_CES_CP936 WC_CES_GBK -diff -urN w3m-0.5.2.orig/libwc/charset.c w3m/libwc/charset.c ---- w3m-0.5.2.orig/libwc/charset.c 2007-05-23 21:34:20.000000000 +0900 -+++ w3m/libwc/charset.c 2007-06-07 19:59:52.000000000 +0900 -@@ -32,6 +32,46 @@ - { NULL, 0 } - }; - -+static wc_ces -+wc_codepage(int n) -+{ -+ switch (n) { -+ case 437: return WC_CES_CP437; -+ case 737: return WC_CES_CP737; -+ case 775: return WC_CES_CP775; -+ case 850: return WC_CES_CP850; -+ case 852: return WC_CES_CP852; -+ case 855: return WC_CES_CP855; -+ case 856: return WC_CES_CP856; -+ case 857: return WC_CES_CP857; -+ case 860: return WC_CES_CP860; -+ case 861: return WC_CES_CP861; -+ case 862: return WC_CES_CP862; -+ case 863: return WC_CES_CP863; -+ case 864: return WC_CES_CP864; -+ case 865: return WC_CES_CP865; -+ case 866: return WC_CES_CP866; -+ case 869: return WC_CES_CP869; -+ case 874: return WC_CES_CP874; -+ case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */ -+ case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */ -+ case 943: return WC_CES_CP943; /* CP943 = Shift_JIS */ -+ case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */ -+ case 950: return WC_CES_CP950; /* CP950 = Big5 */ -+ case 1006: return WC_CES_CP1006; -+ case 1250: return WC_CES_CP1250; -+ case 1251: return WC_CES_CP1251; -+ case 1252: return WC_CES_CP1252; -+ case 1253: return WC_CES_CP1253; -+ case 1254: return WC_CES_CP1254; -+ case 1255: return WC_CES_CP1255; -+ case 1256: return WC_CES_CP1256; -+ case 1257: return WC_CES_CP1257; -+ case 1258: return WC_CES_CP1258; -+ } -+ return 0; -+} -+ - wc_ces - wc_guess_charset(char *charset, wc_ces orig) - { -@@ -119,6 +159,11 @@ - if (n >= 1 && n <= 16 && n != 12) - return (WC_CES_E_ISO_8859 | n); - return WC_CES_ISO_8859_1; -+ } else if (! strncmp(p, "ibm", 3)) { -+ p += 3; -+ if (*p >= '1' && *p <= '9') -+ return wc_codepage(atoi(p)); -+ return wc_charset_to_ces(p); - } - break; - case 'j': -@@ -135,6 +180,10 @@ - ! strncmp(p, "sjis", 4)) - return WC_CES_SHIFT_JIS; - break; -+ case 'p': -+ if (! strncmp(p, "pck", 3)) -+ return WC_CES_SHIFT_JIS; -+ break; - case 'g': - if (! strncmp(p, "gb18030", 7) || - ! strncmp(p, "gbk2k", 5)) -@@ -210,58 +259,18 @@ - return WC_CES_EUC_CN; - if (*(p+1) != 'p') - break; -- n = atoi(p + 2); -- switch (n) { -- case 437: return WC_CES_CP437; -- case 737: return WC_CES_CP737; -- case 775: return WC_CES_CP775; -- case 850: return WC_CES_CP850; -- case 852: return WC_CES_CP852; -- case 855: return WC_CES_CP855; -- case 856: return WC_CES_CP856; -- case 857: return WC_CES_CP857; -- case 860: return WC_CES_CP860; -- case 861: return WC_CES_CP861; -- case 862: return WC_CES_CP862; -- case 863: return WC_CES_CP863; -- case 864: return WC_CES_CP864; -- case 865: return WC_CES_CP865; -- case 866: return WC_CES_CP866; -- case 869: return WC_CES_CP869; -- case 874: return WC_CES_CP874; -- case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */ -- case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */ -- case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */ -- case 950: return WC_CES_CP950; /* CP950 = Big5 */ -- case 1006: return WC_CES_CP1006; -- case 1250: return WC_CES_CP1250; -- case 1251: return WC_CES_CP1251; -- case 1252: return WC_CES_CP1252; -- case 1253: return WC_CES_CP1253; -- case 1254: return WC_CES_CP1254; -- case 1255: return WC_CES_CP1255; -- case 1256: return WC_CES_CP1256; -- case 1257: return WC_CES_CP1257; -- case 1258: return WC_CES_CP1258; -- } -+ p += 2; -+ if (*p >= '1' && *p <= '9') -+ return wc_codepage(atoi(p)); - break; - case 'w': - if (strncmp(p, "windows", 7)) - break; -+ p += 7; - if (! strncmp(p, "31j", 3)) - return WC_CES_CP932; -- n = atoi(p + 7); -- switch (n) { -- case 1250: return WC_CES_CP1250; -- case 1251: return WC_CES_CP1251; -- case 1252: return WC_CES_CP1252; -- case 1253: return WC_CES_CP1253; -- case 1254: return WC_CES_CP1254; -- case 1255: return WC_CES_CP1255; -- case 1256: return WC_CES_CP1256; -- case 1257: return WC_CES_CP1257; -- case 1258: return WC_CES_CP1258; -- } -+ if (*p >= '1' && *p <= '9') -+ return wc_codepage(atoi(p)); - break; - } - return 0; -@@ -345,18 +354,9 @@ - case 'c': - return WC_CES_ISO_2022_CN; - case 'w': -- n = atoi(p + 1); -- switch (n) { -- case 1250: return WC_CES_CP1250; -- case 1251: return WC_CES_CP1251; -- case 1252: return WC_CES_CP1252; -- case 1253: return WC_CES_CP1253; -- case 1254: return WC_CES_CP1254; -- case 1255: return WC_CES_CP1255; -- case 1256: return WC_CES_CP1256; -- case 1257: return WC_CES_CP1257; -- case 1258: return WC_CES_CP1258; -- } -+ p++; -+ if (*p >= '1' && *p <= '9') -+ return wc_codepage(atoi(p)); - break; - case 'r': - return WC_CES_RAW; -@@ -368,7 +368,7 @@ - wc_locale_to_ces(char *locale) - { - char *p = locale; -- char buf[6]; -+ char buf[8]; - int n; - - if (*p == 'C' && *(p+1) == '\0') -@@ -380,7 +380,7 @@ - return wc_charset_to_ces(cs); - } - #endif -- for (n = 0; *p && *p != '.' && n < 5; p++) { -+ for (n = 0; *p && *p != '.' && n < 7; p++) { - if ((unsigned char)*p > 0x20) - buf[n++] = tolower(*p); - } |