[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:37:19 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 3dce24374b92c5dfe24cbc3fb4b23af80f3597c7
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Apr 15 23:45:18 2003 +0000
Reviewed by Ken.
- fixed 3056913 -- please add Japanese auto-detect
* khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
default encoding is one of the Japanese encodings. Also change things around so
the auto-detection process doesn't clobber the old chosen encoding if it does
not yield a result.
* kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
* kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
* kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
add "jis7" as a synonym for ISO-2022-JP.
* kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
* kwq/KWQCharsetData.c: Regenerated.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 5015c67..e9b09b4 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,22 @@
+2003-04-15 Darin Adler <darin at apple.com>
+
+ Reviewed by Ken.
+
+ - fixed 3056913 -- please add Japanese auto-detect
+
+ * khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
+ default encoding is one of the Japanese encodings. Also change things around so
+ the auto-detection process doesn't clobber the old chosen encoding if it does
+ not yield a result.
+
+ * kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
+ * kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
+ * kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
+ add "jis7" as a synonym for ISO-2022-JP.
+ * kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
+
+ * kwq/KWQCharsetData.c: Regenerated.
+
2003-04-15 David Hyatt <hyatt at apple.com>
Fix for 3220809, overflow values other than visible should not
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 5015c67..e9b09b4 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,22 @@
+2003-04-15 Darin Adler <darin at apple.com>
+
+ Reviewed by Ken.
+
+ - fixed 3056913 -- please add Japanese auto-detect
+
+ * khtml/misc/decoder.cpp: (Decoder::decode): Turn on the auto-detect code if the
+ default encoding is one of the Japanese encodings. Also change things around so
+ the auto-detection process doesn't clobber the old chosen encoding if it does
+ not yield a result.
+
+ * kwq/KWQCharsets.h: Add a new IsJapanese encoding flag.
+ * kwq/KWQTextCodec.h: Add a new isJapanese() member function, used by the above.
+ * kwq/mac-encodings.txt: Add the IsJapanese flag to all Japanese encodings, and
+ add "jis7" as a synonym for ISO-2022-JP.
+ * kwq/make-charset-table.pl: Changed to allow flags even for unused encodings.
+
+ * kwq/KWQCharsetData.c: Regenerated.
+
2003-04-15 David Hyatt <hyatt at apple.com>
Fix for 3220809, overflow values other than visible should not
diff --git a/WebCore/khtml/misc/decoder.cpp b/WebCore/khtml/misc/decoder.cpp
index 1da5b79..c05ecf2 100644
--- a/WebCore/khtml/misc/decoder.cpp
+++ b/WebCore/khtml/misc/decoder.cpp
@@ -491,7 +491,8 @@ QString Decoder::decode(const char *data, int len)
found:
#if APPLE_CHANGES
- if (0) // not ready to turn this on yet; seems to cause problems
+ // Do the auto-detect if our default encoding is one of the Japanese ones.
+ if (!haveEncoding && m_codec && m_codec->isJapanese())
#else
if (!haveEncoding && KGlobal::locale()->languageList()[0] == "ja")
#endif
@@ -499,25 +500,27 @@ QString Decoder::decode(const char *data, int len)
#ifdef DECODE_DEBUG
kdDebug( 6005 ) << "Decoder: use auto-detect (" << strlen(data) << ")" << endl;
#endif
- switch ( KanjiCode::judge( data, len ) ) {
+ const char *autoDetectedEncoding;
+ switch ( KanjiCode::judge( data, len ) ) {
case KanjiCode::JIS:
- enc = "jis7";
+ autoDetectedEncoding = "jis7";
break;
case KanjiCode::EUC:
- enc = "eucjp";
+ autoDetectedEncoding = "eucjp";
break;
case KanjiCode::SJIS:
- enc = "sjis";
+ autoDetectedEncoding = "sjis";
break;
default:
- enc = NULL;
+ autoDetectedEncoding = NULL;
break;
}
#ifdef DECODE_DEBUG
- kdDebug( 6005 ) << "Decoder: auto detect encoding is " << enc << endl;
+ kdDebug( 6005 ) << "Decoder: auto detect encoding is "
+ << (autoDetectedEncoding ? autoDetectedEncoding : "NULL") << endl;
#endif
- if (!enc.isEmpty()) {
- setEncoding(enc, true);
+ if (autoDetectedEncoding != NULL) {
+ setEncoding(autoDetectedEncoding, true);
}
}
diff --git a/WebCore/kwq/KWQCharsetData.c b/WebCore/kwq/KWQCharsetData.c
index 8e2b637..03b7d70 100644
--- a/WebCore/kwq/KWQCharsetData.c
+++ b/WebCore/kwq/KWQCharsetData.c
@@ -42,7 +42,7 @@ static const CharsetEntry table[] = {
{ "unicode-2-0-utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
{ "utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
{ "x-unicode-2-0-utf-8", kCFStringEncodingUTF8, NoEncodingFlags },
- { "x-mac-japanese", kCFStringEncodingMacJapanese, NoEncodingFlags },
+ { "x-mac-japanese", kCFStringEncodingMacJapanese, IsJapanese },
{ "x-mac-chinesetrad", kCFStringEncodingMacChineseTrad, NoEncodingFlags },
{ "x-mac-trad-chinese", kCFStringEncodingMacChineseTrad, NoEncodingFlags },
{ "x-mac-korean", kCFStringEncodingMacKorean, NoEncodingFlags },
@@ -204,10 +204,10 @@ static const CharsetEntry table[] = {
{ "dos-874", kCFStringEncodingDOSThai, NoEncodingFlags },
{ "tis-620", kCFStringEncodingDOSThai, NoEncodingFlags },
{ "windows-874", kCFStringEncodingDOSThai, NoEncodingFlags },
- { "cp932", kCFStringEncodingDOSJapanese, NoEncodingFlags },
- { "cswindows31j", kCFStringEncodingDOSJapanese, NoEncodingFlags },
- { "windows-31j", kCFStringEncodingDOSJapanese, NoEncodingFlags },
- { "x-ms-cp932", kCFStringEncodingDOSJapanese, NoEncodingFlags },
+ { "cp932", kCFStringEncodingDOSJapanese, IsJapanese },
+ { "cswindows31j", kCFStringEncodingDOSJapanese, IsJapanese },
+ { "windows-31j", kCFStringEncodingDOSJapanese, IsJapanese },
+ { "x-ms-cp932", kCFStringEncodingDOSJapanese, IsJapanese },
{ "cp950", kCFStringEncodingDOSChineseTrad, NoEncodingFlags },
{ "windows-1250", kCFStringEncodingWindowsLatin2, NoEncodingFlags },
{ "winlatin2", kCFStringEncodingWindowsLatin2, NoEncodingFlags },
@@ -229,27 +229,27 @@ static const CharsetEntry table[] = {
{ "johab", kCFStringEncodingWindowsKoreanJohab, NoEncodingFlags },
{ "windows-1258", kCFStringEncodingWindowsVietnamese, NoEncodingFlags },
{ "winvietnamese", kCFStringEncodingWindowsVietnamese, NoEncodingFlags },
- { "cshalfwidthkatakana", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
- { "jis_x0201", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
- { "x0201", kCFStringEncodingJIS_X0201_76, NoEncodingFlags },
- { "csiso87jisx0208", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
- { "iso-ir-87", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
- { "jis_c6226-1983", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
- { "jis_x0208-1983", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
- { "x0208", kCFStringEncodingJIS_X0208_83, NoEncodingFlags },
- { "jis_x0208-1990", kCFStringEncodingJIS_X0208_90, NoEncodingFlags },
- { "csiso159jisx02121990", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
- { "iso-ir-159", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
- { "jis_x0212-1990", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
- { "x0212", kCFStringEncodingJIS_X0212_90, NoEncodingFlags },
- { "csiso42jisc62261978", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
- { "iso-ir-42", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
- { "jis_c6226-1978", kCFStringEncodingJIS_C6226_78, NoEncodingFlags },
- { "csshiftjis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
- { "ms_kanji", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
- { "shift-jis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
- { "shift_jis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
- { "x-sjis", kCFStringEncodingShiftJIS_X0213_00, NoEncodingFlags },
+ { "cshalfwidthkatakana", kCFStringEncodingJIS_X0201_76, IsJapanese },
+ { "jis_x0201", kCFStringEncodingJIS_X0201_76, IsJapanese },
+ { "x0201", kCFStringEncodingJIS_X0201_76, IsJapanese },
+ { "csiso87jisx0208", kCFStringEncodingJIS_X0208_83, IsJapanese },
+ { "iso-ir-87", kCFStringEncodingJIS_X0208_83, IsJapanese },
+ { "jis_c6226-1983", kCFStringEncodingJIS_X0208_83, IsJapanese },
+ { "jis_x0208-1983", kCFStringEncodingJIS_X0208_83, IsJapanese },
+ { "x0208", kCFStringEncodingJIS_X0208_83, IsJapanese },
+ { "jis_x0208-1990", kCFStringEncodingJIS_X0208_90, IsJapanese },
+ { "csiso159jisx02121990", kCFStringEncodingJIS_X0212_90, IsJapanese },
+ { "iso-ir-159", kCFStringEncodingJIS_X0212_90, IsJapanese },
+ { "jis_x0212-1990", kCFStringEncodingJIS_X0212_90, IsJapanese },
+ { "x0212", kCFStringEncodingJIS_X0212_90, IsJapanese },
+ { "csiso42jisc62261978", kCFStringEncodingJIS_C6226_78, IsJapanese },
+ { "iso-ir-42", kCFStringEncodingJIS_C6226_78, IsJapanese },
+ { "jis_c6226-1978", kCFStringEncodingJIS_C6226_78, IsJapanese },
+ { "csshiftjis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+ { "ms_kanji", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+ { "shift-jis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+ { "shift_jis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
+ { "x-sjis", kCFStringEncodingShiftJIS_X0213_00, IsJapanese },
{ "chinese", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
{ "cn-gb", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
{ "cp936", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
@@ -266,21 +266,22 @@ static const CharsetEntry table[] = {
{ "windows-936", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
{ "x-euc-cn", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
{ "x-gbk", kCFStringEncodingGB_18030_2000, NoEncodingFlags },
- { "csiso2022jp", kCFStringEncodingISO_2022_JP, NoEncodingFlags },
- { "iso-2022-jp", kCFStringEncodingISO_2022_JP, NoEncodingFlags },
- { "csiso2022jp2", kCFStringEncodingISO_2022_JP_2, NoEncodingFlags },
- { "iso-2022-jp-2", kCFStringEncodingISO_2022_JP_2, NoEncodingFlags },
- { "iso-2022-jp-1", kCFStringEncodingISO_2022_JP_1, NoEncodingFlags },
- { "iso-2022-jp-3", kCFStringEncodingISO_2022_JP_3, NoEncodingFlags },
+ { "csiso2022jp", kCFStringEncodingISO_2022_JP, IsJapanese },
+ { "iso-2022-jp", kCFStringEncodingISO_2022_JP, IsJapanese },
+ { "jis7", kCFStringEncodingISO_2022_JP, IsJapanese },
+ { "csiso2022jp2", kCFStringEncodingISO_2022_JP_2, IsJapanese },
+ { "iso-2022-jp-2", kCFStringEncodingISO_2022_JP_2, IsJapanese },
+ { "iso-2022-jp-1", kCFStringEncodingISO_2022_JP_1, IsJapanese },
+ { "iso-2022-jp-3", kCFStringEncodingISO_2022_JP_3, IsJapanese },
{ "iso-2022-cn", kCFStringEncodingISO_2022_CN, NoEncodingFlags },
{ "iso-2022-cn-ext", kCFStringEncodingISO_2022_CN_EXT, NoEncodingFlags },
{ "csiso2022kr", kCFStringEncodingISO_2022_KR, NoEncodingFlags },
{ "iso-2022-kr", kCFStringEncodingISO_2022_KR, NoEncodingFlags },
- { "cseucpkdfmtjapanese", kCFStringEncodingEUC_JP, NoEncodingFlags },
- { "euc-jp", kCFStringEncodingEUC_JP, NoEncodingFlags },
- { "extended_unix_code_packed_format_for_japanese", kCFStringEncodingEUC_JP, NoEncodingFlags },
- { "x-euc", kCFStringEncodingEUC_JP, NoEncodingFlags },
- { "x-euc-jp", kCFStringEncodingEUC_JP, NoEncodingFlags },
+ { "cseucpkdfmtjapanese", kCFStringEncodingEUC_JP, IsJapanese },
+ { "euc-jp", kCFStringEncodingEUC_JP, IsJapanese },
+ { "extended_unix_code_packed_format_for_japanese", kCFStringEncodingEUC_JP, IsJapanese },
+ { "x-euc", kCFStringEncodingEUC_JP, IsJapanese },
+ { "x-euc-jp", kCFStringEncodingEUC_JP, IsJapanese },
{ "euc-tw", kCFStringEncodingEUC_TW, NoEncodingFlags },
{ "cp949", kCFStringEncodingEUC_KR, NoEncodingFlags },
{ "cseuckr", kCFStringEncodingEUC_KR, NoEncodingFlags },
diff --git a/WebCore/kwq/KWQCharsets.h b/WebCore/kwq/KWQCharsets.h
index 59ef8c1..aed5d7f 100644
--- a/WebCore/kwq/KWQCharsets.h
+++ b/WebCore/kwq/KWQCharsets.h
@@ -32,7 +32,8 @@ enum KWQEncodingFlags {
NoEncodingFlags = 0,
VisualOrdering = 1,
BigEndian = 2,
- LittleEndian = 4
+ LittleEndian = 4,
+ IsJapanese = 8
};
CFStringEncoding KWQCFStringEncodingFromIANACharsetName(const char *, KWQEncodingFlags *flags = 0);
diff --git a/WebCore/kwq/KWQTextCodec.h b/WebCore/kwq/KWQTextCodec.h
index f85160e..6cbc69b 100644
--- a/WebCore/kwq/KWQTextCodec.h
+++ b/WebCore/kwq/KWQTextCodec.h
@@ -42,6 +42,7 @@ public:
const char *name() const;
bool usesVisualOrdering() const { return _flags & VisualOrdering; }
+ bool isJapanese() const { return _flags & IsJapanese; }
QTextDecoder *makeDecoder() const;
diff --git a/WebCore/kwq/mac-encodings.txt b/WebCore/kwq/mac-encodings.txt
index e225c0d..86f926f 100644
--- a/WebCore/kwq/mac-encodings.txt
+++ b/WebCore/kwq/mac-encodings.txt
@@ -14,7 +14,7 @@ Unicode, LittleEndian: unicodefffe, utf-16le
UTF8: unicode-1-1-utf-8, unicode-2-0-utf-8, utf-8, x-unicode-2-0-utf-8
NonLossyASCII
-MacJapanese: x-mac-japanese
+MacJapanese, IsJapanese: x-mac-japanese
MacChineseTrad: x-mac-chinesetrad, x-mac-trad-chinese
MacKorean: x-mac-korean
MacArabic: x-mac-arabic
@@ -93,7 +93,7 @@ DOSNordic
DOSRussian: cp866
DOSGreek2: ibm869
DOSThai: cp874, dos-874, tis-620, windows-874
-DOSJapanese: cp932, cswindows31j, x-ms-cp932
+DOSJapanese, IsJapanese: cp932, cswindows31j, x-ms-cp932
DOSChineseSimplif
DOSKorean
DOSChineseTrad: cp950
@@ -107,12 +107,12 @@ WindowsBalticRim: winbaltic, windows-1257
WindowsKoreanJohab: johab
WindowsVietnamese: windows-1258, winvietnamese
-JIS_X0201_76: jis_x0201
-JIS_X0208_83: jis_x0208-1983
-JIS_X0208_90: jis_x0208-1990
-JIS_X0212_90: jis_x0212-1990
-JIS_C6226_78: jis_c6226-1978
-ShiftJIS_X0213_00: shift-jis, shift_jis, x-sjis
+JIS_X0201_76, IsJapanese: jis_x0201
+JIS_X0208_83, IsJapanese: jis_x0208-1983
+JIS_X0208_90, IsJapanese: jis_x0208-1990
+JIS_X0212_90, IsJapanese: jis_x0212-1990
+JIS_C6226_78, IsJapanese: jis_c6226-1978
+ShiftJIS_X0213_00, IsJapanese: shift-jis, shift_jis, x-sjis
GB_2312_80
GBK_95
GB_18030_2000: cn-gb, csgb231280, euc-cn, gb18030, gb2312, gb_2312-80, gbk, x-euc-cn, x-gbk
@@ -122,20 +122,20 @@ CNS_11643_92_P1
CNS_11643_92_P2
CNS_11643_92_P3
-ISO_2022_JP: iso-2022-jp
-ISO_2022_JP_2: iso-2022-jp-2
-ISO_2022_JP_1: iso-2022-jp-1
-ISO_2022_JP_3: iso-2022-jp-3
+ISO_2022_JP, IsJapanese: iso-2022-jp, jis7
+ISO_2022_JP_2, IsJapanese: iso-2022-jp-2
+ISO_2022_JP_1, IsJapanese: iso-2022-jp-1
+ISO_2022_JP_3, IsJapanese: iso-2022-jp-3
ISO_2022_CN: iso-2022-cn
ISO_2022_CN_EXT: iso-2022-cn-ext
ISO_2022_KR: iso-2022-kr
-EUC_JP: euc-jp, x-euc, x-euc-jp
+EUC_JP, IsJapanese: euc-jp, x-euc, x-euc-jp
EUC_CN
EUC_TW: euc-tw
EUC_KR: cp949, euc-kr, ks_c_5601, ks_c_5601-1987, ks_c_5601_1987, ksc5601
-ShiftJIS
+ShiftJIS, IsJapanese
KOI8_R: koi, koi8, koi8-r, koi8r
Big5
MacRomanLatin1: x-mac-roman-latin1
diff --git a/WebCore/kwq/make-charset-table.pl b/WebCore/kwq/make-charset-table.pl
index b1ec181..84163d7 100755
--- a/WebCore/kwq/make-charset-table.pl
+++ b/WebCore/kwq/make-charset-table.pl
@@ -95,8 +95,8 @@ sub process_mac_encodings
for my $alias (sort keys %aliases) {
emit_line($alias, $MacName, $flags);
}
- } elsif (/^[a-zA-Z0-9_]+$/) {
- my $MacName = $_;
+ } elsif (/^([a-zA-Z0-9_]+)(, (.+))?$/) {
+ my $MacName = $1;
error "CFString encoding name $MacName is mentioned twice in mac-encodings.txt" if $seenMacNames{$MacName};
$seenMacNames{$MacName} = 1;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list