aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-10-19 04:58:23 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-10-19 04:58:23 +0000
commit55be571a623af3e4b731c72c1e7f6f834216e6a8 (patch)
tree2db438c0337f119cc22de4993c9efcca07598001
parentd066fb9d80f9fd9d39b6a93bbb861e9390647caf (diff)
win32: fixes character corruption on printing when environment-dependent characters are used in win32.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1246 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.ja6
-rw-r--r--libsylph/codeconv.c11
3 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 359009b9..cd3827eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2006-10-19
+ * libsylph/codeconv.c: conv_get_code_conv_func(): added JIS-SJIS and
+ UTF-8 to SJIS conversion (fixes character corruption on printing
+ when environment-dependent characters are used in win32).
+
+2006-10-19
+
* src/summaryview.c: summary_unset_sort_column_id(): fixed crash when
using GTK+ 2.4.x.
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 00dd72a9..0943aa00 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,11 @@
2006-10-19
+ * libsylph/codeconv.c: conv_get_code_conv_func(): JIS-SJIS と UTF-8 から
+ SJIS への変換を追加(環境依存文字が使われていると win32 で印刷時に
+ 文字化けを起こす問題を修正)。
+
+2006-10-19
+
* src/summaryview.c: summary_unset_sort_column_id(): GTK+ 2.4.x 使用時
にクラッシュするバグを修正。
diff --git a/libsylph/codeconv.c b/libsylph/codeconv.c
index dc071dad..c05a1db5 100644
--- a/libsylph/codeconv.c
+++ b/libsylph/codeconv.c
@@ -1400,12 +1400,20 @@ CodeConvFunc conv_get_code_conv_func(const gchar *src_encoding,
code_conv = conv_jistodisp;
else if (dest_charset == C_EUC_JP)
code_conv = conv_jistoeuc;
+ else if (dest_charset == C_SHIFT_JIS ||
+ dest_charset == C_CP932)
+ code_conv = conv_jistosjis;
else if (dest_charset == C_UTF_8)
code_conv = conv_jistoutf8;
break;
case C_SHIFT_JIS:
+ case C_CP932:
if (dest_charset == C_AUTO)
code_conv = conv_sjistodisp;
+ else if (dest_charset == C_ISO_2022_JP ||
+ dest_charset == C_ISO_2022_JP_2 ||
+ dest_charset == C_ISO_2022_JP_3)
+ code_conv = conv_sjistojis;
else if (dest_charset == C_EUC_JP)
code_conv = conv_sjistoeuc;
else if (dest_charset == C_UTF_8)
@@ -1428,6 +1436,9 @@ CodeConvFunc conv_get_code_conv_func(const gchar *src_encoding,
dest_charset == C_ISO_2022_JP_2 ||
dest_charset == C_ISO_2022_JP_3)
code_conv = conv_utf8tojis;
+ else if (dest_charset == C_SHIFT_JIS ||
+ dest_charset == C_CP932)
+ code_conv = conv_utf8tosjis;
break;
default:
break;