[Ttssh2-commit] [8399] UTF-8設定時にタイトル設定シーケンスでエンコードの変換を行うようにした。

scmno****@osdn***** scmno****@osdn*****
2019年 11月 23日 (土) 00:15:05 JST


Revision: 8399
          https://osdn.net/projects/ttssh2/scm/svn/commits/8399
Author:   doda
Date:     2019-11-23 00:15:05 +0900 (Sat, 23 Nov 2019)
Log Message:
-----------
UTF-8設定時にタイトル設定シーケンスでエンコードの変換を行うようにした。

Ticket: #39743

問題:
  UTF-8 設定時にウィンドウタイトル設定シーケンスに漢字が含まれていると
  文字化けする。

対処:
  UTF-8設定時にもウィンドウタイトル設定シーケンスのエンコーディングを
  変換するようにした。

Ticket Links:
------------
    https://osdn.net/projects/ttssh2/tracker/detail/39743

Modified Paths:
--------------
    trunk/teraterm/teraterm/vtterm.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2019-11-22 15:15:01 UTC (rev 8398)
+++ trunk/teraterm/teraterm/vtterm.c	2019-11-22 15:15:05 UTC (rev 8399)
@@ -4983,9 +4983,20 @@
 		  case 1: /* Change icon name */
 		  case 2: /* Change window title */
 			if (StrBuff && ts.AcceptTitleChangeRequest) {
-				strncpy_s(cv.TitleRemote, sizeof(cv.TitleRemote), StrBuff, _TRUNCATE);
-				// (2006.6.15 maya) \x83^\x83C\x83g\x83\x8B\x82ɓn\x82\xB7\x95\xB6\x8E\x9A\x97\xF1\x82\xF0SJIS\x82ɕϊ\xB7
-				ConvertToCP932(cv.TitleRemote, sizeof(cv.TitleRemote));
+				if ((ts.KanjiCode == IdUTF8 || ts.KanjiCode == IdUTF8m) || ts.Language == IdUtf8) {
+					char *titleTmp;
+
+					titleTmp = ToCharU8(StrBuff);
+					if (titleTmp) {
+						strncpy_s(cv.TitleRemote, sizeof(cv.TitleRemote), titleTmp, _TRUNCATE);
+						free(titleTmp);
+					}
+				}
+				else {
+					strncpy_s(cv.TitleRemote, sizeof(cv.TitleRemote), StrBuff, _TRUNCATE);
+					// (2006.6.15 maya) \x83^\x83C\x83g\x83\x8B\x82ɓn\x82\xB7\x95\xB6\x8E\x9A\x97\xF1\x82\xF0SJIS\x82ɕϊ\xB7
+					ConvertToCP932(cv.TitleRemote, sizeof(cv.TitleRemote));
+				}
 				ChangeTitle();
 			}
 			break;


Ttssh2-commit メーリングリストの案内