• R/O
  • HTTP
  • SSH
  • HTTPS

nkf: コミット

nkfのGitリポジトリです。


コミットメタ情報

リビジョンa8fd410540d673da4f27d4b324b8f57b40a12d40 (tree)
日時2017-01-24 13:42:14
作者NARUSE, Yui <naruse@user...>
コミッターNARUSE, Yui

ログメッセージ

keep JIS level 3 Kanjis if encode_fallback is specified [nkf-bug#36572]

変更サマリ

差分

--- a/nkf.c
+++ b/nkf.c
@@ -1947,12 +1947,17 @@ unicode_to_jis_common(nkf_char c2, nkf_char c1, nkf_char c0, nkf_char *p2, nkf_c
19471947 ret = unicode_to_jis_common2(c1, c0, ppp[c2 - 0xE0], sizeof_utf8_to_euc_C2, p2, p1);
19481948 }else return -1;
19491949 #ifdef SHIFTJIS_CP932
1950- if (!ret && !cp932inv_f && is_eucg3(*p2)) {
1951- nkf_char s2, s1;
1952- if (e2s_conv(*p2, *p1, &s2, &s1) == 0) {
1953- s2e_conv(s2, s1, p2, p1);
1954- }else{
1955- ret = 1;
1950+ if (!ret&& is_eucg3(*p2)) {
1951+ if (cp932inv_f) {
1952+ if (encode_fallback) ret = 1;
1953+ }
1954+ else {
1955+ nkf_char s2, s1;
1956+ if (e2s_conv(*p2, *p1, &s2, &s1) == 0) {
1957+ s2e_conv(s2, s1, p2, p1);
1958+ }else{
1959+ ret = 1;
1960+ }
19561961 }
19571962 }
19581963 #endif
--- a/nkf_test.pl
+++ b/nkf_test.pl
@@ -1369,6 +1369,11 @@ printf "%-40s", "[nkf-bug:32328] JIS";
13691369 "\x1b\x1b\$B\$\x22\x1b(B",
13701370 "\x1b\xe3\x81\x82");
13711371
1372+printf "%-40s", "[nkf-bug:36572]";
1373+ &test("$nkf -sW --fb-html",
1374+ "\xe6\xbf\xb9\xe4\xb8\x8a",
1375+ "&#28665;\x8f\xe3");
1376+
13721377 if (!NKF) {
13731378 printf "%-40s", "Guess NL";
13741379 &command_tests(
旧リポジトリブラウザで表示