diff options
Diffstat (limited to 'libsylph')
-rw-r--r-- | libsylph/codeconv.c | 14 | ||||
-rw-r--r-- | libsylph/codeconv.h | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libsylph/codeconv.c b/libsylph/codeconv.c index 6328a2ef..73bebb7f 100644 --- a/libsylph/codeconv.c +++ b/libsylph/codeconv.c @@ -1271,10 +1271,16 @@ static gchar *conv_noconv(const gchar *inbuf, gint *error) static const gchar * conv_get_fallback_for_private_encoding(const gchar *encoding) { - if (encoding && (encoding[0] == 'X' || encoding[0] == 'x') && - encoding[1] == '-') { - if (!g_ascii_strcasecmp(encoding, CS_X_GBK)) - return CS_GBK; + if (encoding) { + if ((encoding[0] == 'X' || encoding[0] == 'x') && + encoding[1] == '-') { + if (!g_ascii_strcasecmp(encoding, CS_X_GBK)) + return CS_GBK; + } else if ((encoding[0] == 'K' || encoding[0] == 'k') && + (encoding[1] == 'S' || encoding[1] == 's')) { + if (!g_ascii_strcasecmp(encoding, CS_KS_C_5601_1987)) + return CS_EUC_KR; + } } return encoding; diff --git a/libsylph/codeconv.h b/libsylph/codeconv.h index 9946cdc5..1920c8f0 100644 --- a/libsylph/codeconv.h +++ b/libsylph/codeconv.h @@ -158,6 +158,7 @@ struct _CodeConverter #define CS_X_SJIS "X-SJIS" #define CS_ISO_2022_KR "ISO-2022-KR" #define CS_EUC_KR "EUC-KR" +#define CS_KS_C_5601_1987 "ks_c_5601-1987" #define CS_ISO_2022_CN "ISO-2022-CN" #define CS_EUC_CN "EUC-CN" #define CS_GB2312 "GB2312" |