[Ttssh2-commit] [7376] フォント設定関連を修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2018年 12月 28日 (金) 00:31:54 JST


Revision: 7376
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7376
Author:   zmatsuo
Date:     2018-12-28 00:31:53 +0900 (Fri, 28 Dec 2018)
Log Message:
-----------
フォント設定関連を修正

Modified Paths:
--------------
    branches/cmake/teraterm/common/dlglib.c
    branches/cmake/teraterm/common/dlglib_tmpl.cpp
    branches/cmake/teraterm/ttpmacro/ttmacro.cpp
    branches/cmake/ttssh2/ttxssh/ttxssh.c

-------------- next part --------------
Modified: branches/cmake/teraterm/common/dlglib.c
===================================================================
--- branches/cmake/teraterm/common/dlglib.c	2018-12-27 15:31:39 UTC (rev 7375)
+++ branches/cmake/teraterm/common/dlglib.c	2018-12-27 15:31:53 UTC (rev 7376)
@@ -1,4 +1,4 @@
-/*
+/* -*- coding: utf-8-with-signature -*-	// TODO 文字コード
  * Copyright (C) 1994-1998 T. Teranishi
  * (C) 2008-2018 TeraTerm Project
  * All rights reserved.
@@ -94,7 +94,7 @@
 	*R = 0;
 	for (i = FirstId ; i <= LastId ; i++) {
 		if (SendDlgItemMessage(HDlg, i, BM_GETCHECK, 0, 0) != 0) {
-			*R = i - FirstId + 1;
+			*R = (WORD)(i - FirstId + 1);
 			return;
 		}
 	}
@@ -533,7 +533,7 @@
 		if (result == TRUE) {
 #if defined(UNICODE)
 			wchar_t face[LF_FACESIZE];
-			mbstowcs(face, logfont.lfFaceName, LF_FACESIZE);		// TODO MultiByteToWideChar()を使う
+			MultiByteToWideChar(CP_ACP, 0, logfont.lfFaceName, -1, face, LF_FACESIZE);
 			if (IsExistFont(face, logfont.lfCharSet, FALSE)) {
 				TTSetDlgFontA(logfont.lfFaceName, logfont.lfHeight, logfont.lfCharSet);
 				return;
@@ -555,7 +555,7 @@
 		const DialogFontLists *list;
 		charset = GetDialogFontCandidate(&list);
 		while(list->face != NULL) {
-			if (IsExistFont(list->face, charset, TRUE)) {
+			if (IsExistFont(list->face, (BYTE)charset, TRUE)) {
 				TTSetDlgFont(list->face, list->height, charset);
 				return;
 			}

Modified: branches/cmake/teraterm/common/dlglib_tmpl.cpp
===================================================================
--- branches/cmake/teraterm/common/dlglib_tmpl.cpp	2018-12-27 15:31:39 UTC (rev 7375)
+++ branches/cmake/teraterm/common/dlglib_tmpl.cpp	2018-12-27 15:31:53 UTC (rev 7376)
@@ -454,7 +454,7 @@
 void TTSetDlgFontA(const char *face, int height, int charset)
 {
 	if (face != NULL) {
-		mbstowcs(FontFaceName, face, LF_FACESIZE);		// TODO MultiByteToWideChar()\x82\xF0\x8Eg\x82\xA4
+		MultiByteToWideChar(CP_ACP, 0, face, -1, FontFaceName, LF_FACESIZE);
 	} else {
 		FontFaceName[0] = L'\0';
 	}

Modified: branches/cmake/teraterm/ttpmacro/ttmacro.cpp
===================================================================
--- branches/cmake/teraterm/ttpmacro/ttmacro.cpp	2018-12-27 15:31:39 UTC (rev 7375)
+++ branches/cmake/teraterm/ttpmacro/ttmacro.cpp	2018-12-27 15:31:53 UTC (rev 7376)
@@ -31,6 +31,8 @@
 
 #include <stdio.h>
 #include <crtdbg.h>
+#include <windows.h>
+#include <commctrl.h>
 #include "teraterm.h"
 #include "ttm_res.h"
 #include "ttmmain.h"
@@ -120,56 +122,11 @@
 
 /////////////////////////////////////////////////////////////////////////////
 
-static void SetDialogFont()
-{
-	LOGFONTA logfont;
-	BOOL result;
-
-	// \x96\xBE\x8E\xA6\x93I\x82Ɏw\x92肳\x82\xEA\x82Ă\xA2\x82\xE9\x8Fꍇ\x82͂\xBB\x82\xEA\x82ɏ]\x82\xA4
-	result = GetI18nLogfont("Tera Term", "DLG_FONT", &logfont, 72, UILanguageFile);
-
-	// \x96\xBE\x8E\xA6\x82\xB3\x82\xEA\x82Ă\xA2\x82Ȃ\xA2\x8Fꍇ
-	if (result == FALSE) {
-		// \x83K\x83C\x83h\x83\x89\x83C\x83\x93\x82ɉ\x88\x82\xC1\x82\xBD\x90ݒ\xE8\x82\xF0\x8Ds\x82\xA4
-		// https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa511282.aspx
-		if (IsWindowsVistaOrLater()) {
-			// Windows Vista\x88ȍ~ Segoe UI
-			strcpy(logfont.lfFaceName, "Segoe UI");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -9;
-			logfont.lfWidth = 0;
-		} else if (IsWindows2000OrLater()) {
-			// WindowsXP \x82\xA8\x82\xE6\x82\xD1 Windows 2000 \x82\xF0\x83^\x81[\x83Q\x83b\x83g\x82Ƃ\xB7\x82\xE9\x8Fꍇ\x82́A
-			// 8 \x83|\x83C\x83\x93\x83g MS Shell Dlg 2 \x8B[\x8E\x97\x83t\x83H\x83\x93\x83g\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7\x81B
-			// \x82\xB1\x82̃t\x83H\x83\x93\x83g\x82\xCD Tahoma \x82Ƀ}\x83b\x83s\x83\x93\x83O\x82\xB3\x82\xEA\x82܂\xB7\x81B
-			strcpy(logfont.lfFaceName, "MS Shell Dlg 2");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -8;
-			logfont.lfWidth = 0;
-		} else {
-			// \x88ȑO\x82̃o\x81[\x83W\x83\x87\x83\x93\x82\xF0\x83^\x81[\x83Q\x83b\x83g\x82Ƃ\xB7\x82\xE9\x8Fꍇ\x82\xCD
-			// 8 \x83|\x83C\x83\x93\x83g MS Shell Dlg \x8B[\x8E\x97\x83t\x83H\x83\x93\x83g\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7
-			// MS Sans Serif \x82ɂ\xBB\x82ꂼ\x82\xEA\x83}\x83b\x83s\x83\x93\x83O\x82\xB3\x82\xEA\x82܂\xB7
-			strcpy(logfont.lfFaceName, "MS Shell Dlg");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -8;
-			logfont.lfWidth = 0;
-		}
-		result = TRUE;
-	}
-
-	if (result) {
-		TTSetDlgFontA(logfont.lfFaceName, logfont.lfHeight, logfont.lfCharSet);
-	} else {
-		TTSetDlgFont(NULL, 0, 0);
-	}
-}
-
 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,
                    LPSTR lpszCmdLine, int nCmdShow)
 {
 	hInst = hInstance;
-	static HMODULE HTTSET = NULL;
+//	static HMODULE HTTSET = NULL;
 	LONG lCount = 0;
 	DWORD SleepTick = 1;
 
@@ -178,16 +135,15 @@
 #endif
 
 	init();
-//	InitCommonControls();
+	InitCommonControls();
 	GetUILanguageFile(UILanguageFile, sizeof(UILanguageFile));
-	SetDialogFont();
+	SetDialogFont(NULL, UILanguageFile);
 
 	Busy = TRUE;
 	pCCtrlWindow = new CCtrlWindow();
 	pCCtrlWindow->Create();
 //	pCCtrlWindow->ShowWindow(SW_SHOW);
-//	tmpWnd->ShowWindow(SW_SHOW);
-	Busy = FALSE;  
+	Busy = FALSE;
 
 	HWND hWnd = pCCtrlWindow->GetSafeHwnd();
 	CtrlWnd = hWnd;
@@ -237,7 +193,7 @@
 			}
 		}
 	}
-	
+
 	//////////////////////////////////////////////////////////////////////
 
 	// TODO \x82\xB7\x82łɕ‚\xB6\x82\xE7\x82\xEA\x82Ă\xA2\x82\xE9\x81A\x82\xB1\x82̏\x88\x97\x9D\x95s\x97v?
@@ -247,4 +203,3 @@
 	pCCtrlWindow = NULL;
 	return ExitCode;
 }
-

Modified: branches/cmake/ttssh2/ttxssh/ttxssh.c
===================================================================
--- branches/cmake/ttssh2/ttxssh/ttxssh.c	2018-12-27 15:31:39 UTC (rev 7375)
+++ branches/cmake/ttssh2/ttxssh/ttxssh.c	2018-12-27 15:31:53 UTC (rev 7376)
@@ -207,51 +207,6 @@
 	ssh_heartbeat_lock_finalize();
 }
 
-static void _SetDialogFont(const char *UILanguageFile)
-{
-	LOGFONTA logfont;
-	BOOL result;
-
-	// \x96\xBE\x8E\xA6\x93I\x82Ɏw\x92肳\x82\xEA\x82Ă\xA2\x82\xE9\x8Fꍇ\x82͂\xBB\x82\xEA\x82ɏ]\x82\xA4
-	result = GetI18nLogfont("Tera Term", "DLG_FONT", &logfont, 72, UILanguageFile);
-
-	// \x96\xBE\x8E\xA6\x82\xB3\x82\xEA\x82Ă\xA2\x82Ȃ\xA2\x8Fꍇ
-	if (result == FALSE) {
-		// \x83K\x83C\x83h\x83\x89\x83C\x83\x93\x82ɉ\x88\x82\xC1\x82\xBD\x90ݒ\xE8\x82\xF0\x8Ds\x82\xA4
-		// https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa511282.aspx
-		if (IsWindowsVistaOrLater()) {
-			// Windows Vista\x88ȍ~ Segoe UI
-			strcpy(logfont.lfFaceName, "Segoe UI");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -9;
-			logfont.lfWidth = 0;
-		} else if (IsWindows2000OrLater()) {
-			// WindowsXP \x82\xA8\x82\xE6\x82\xD1 Windows 2000 \x82\xF0\x83^\x81[\x83Q\x83b\x83g\x82Ƃ\xB7\x82\xE9\x8Fꍇ\x82́A
-			// 8 \x83|\x83C\x83\x93\x83g MS Shell Dlg 2 \x8B[\x8E\x97\x83t\x83H\x83\x93\x83g\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7\x81B
-			// \x82\xB1\x82̃t\x83H\x83\x93\x83g\x82\xCD Tahoma \x82Ƀ}\x83b\x83s\x83\x93\x83O\x82\xB3\x82\xEA\x82܂\xB7\x81B
-			strcpy(logfont.lfFaceName, "MS Shell Dlg 2");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -8;
-			logfont.lfWidth = 0;
-		} else {
-			// \x88ȑO\x82̃o\x81[\x83W\x83\x87\x83\x93\x82\xF0\x83^\x81[\x83Q\x83b\x83g\x82Ƃ\xB7\x82\xE9\x8Fꍇ\x82\xCD
-			// 8 \x83|\x83C\x83\x93\x83g MS Shell Dlg \x8B[\x8E\x97\x83t\x83H\x83\x93\x83g\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7
-			// MS Sans Serif \x82ɂ\xBB\x82ꂼ\x82\xEA\x83}\x83b\x83s\x83\x93\x83O\x82\xB3\x82\xEA\x82܂\xB7
-			strcpy(logfont.lfFaceName, "MS Shell Dlg");
-			logfont.lfCharSet = 0;
-			logfont.lfHeight = -8;
-			logfont.lfWidth = 0;
-		}
-		result = TRUE;
-	}
-
-	if (result) {
-		TTSetDlgFontA(logfont.lfFaceName, logfont.lfHeight, logfont.lfCharSet);
-	} else {
-		TTSetDlgFont(NULL, 0, 0);
-	}
-}
-
 static void PASCAL TTXInit(PTTSet ts, PComVar cv)
 {
 	pvar->settings = *pvar->ts_SSH;
@@ -262,7 +217,7 @@
 	pvar->err_msg = NULL;
 
 	init_TTSSH(pvar);
-	_SetDialogFont(ts->UILanguageFile);
+	SetDialogFont("TTSSH", ts->UILanguageFile);
 }
 
 static void normalize_generic_order(char *buf, char default_strings[], int default_strings_len)
@@ -280,7 +235,7 @@
 	}
 
 	// \x8Ew\x92肳\x82ꂽ\x95\xB6\x8E\x9A\x97\xF1\x82𑖍\xB8\x82\xB5\x81A\x8B\x96\x89‚\xB3\x82\xEA\x82Ă\xA2\x82Ȃ\xA2\x95\xB6\x8E\x9A\x81A\x8Fd\x95\xA1\x82\xB7\x82镶\x8E\x9A\x82͍폜\x82\xB7\x82\xE9\x81B
-	// 
+	//
 	// ex. (i=5 \x82̕\xB6\x8E\x9A\x82\xF0\x8D폜\x82\xB7\x82\xE9)
 	// i=012345
 	//   >:=9<87;A@?B3026(\0)
@@ -288,7 +243,7 @@
 	//         <------------>
 	//       \x81\xAB
 	//   >:=9<7;A@?B3026(\0)
-	//         
+	//
 	for (i = 0; buf[i] != 0; i++) {
 		int num = buf[i] - '0';
 
@@ -308,7 +263,7 @@
 	}
 
 	// \x8Ew\x92肳\x82\xEA\x82Ă\xA2\x82Ȃ\xA2\x95\xB6\x8E\x9A\x82\xAA\x82\xA0\x82\xEA\x82΁Adisabled line\x82̒\xBC\x91O\x82ɑ}\x93\xFC\x82\xB7\x82\xE9\x81B
-	// 
+	//
 	// ex. (Z\x82\xF0\x91}\x93\xFC\x82\xB7\x82\xE9)
 	//                k
 	//   >:=9<87;A@?B3026(\0)
@@ -318,7 +273,7 @@
 	//   >:=9<87;A@?B30026(\0)
 	//       \x81\xAB        k
 	//   >:=9<87;A@?B3Z026(\0)
-	//       
+	//
 	for (j = 0; j < default_strings_len && default_strings[j] != 0; j++) {
 		int num = default_strings[j];
 
@@ -1582,7 +1537,7 @@
 			DlgHostFont = NULL;
 		}
 #endif
-		
+
 		// SetFocus()\x82Ńt\x83H\x81[\x83J\x83X\x82\xF0\x82\xA0\x82킹\x82\xBD\x8Fꍇ\x81AFALSE\x82\xF0\x95Ԃ\xB7\x95K\x97v\x82\xAA\x82\xA0\x82\xE9\x81B
 		// TRUE\x82\xF0\x95Ԃ\xB7\x82ƁATABSTOP\x91Ώۂ̈\xEA\x94Ԃ͂\xB6\x82߂̃R\x83\x93\x83g\x83\x8D\x81[\x83\x8B\x82\xAA\x91I\x82΂\xEA\x82\xE9\x81B
 		// (2004.11.23 yutaka)
@@ -1898,7 +1853,7 @@
 	}
 
 	cur = start;
-	while (next = GetParam(option, opt_len, cur)) {	
+	while (next = GetParam(option, opt_len, cur)) {
 		DequoteParam(option, opt_len, option);
 		action = OPTION_NONE;
 
@@ -2533,7 +2488,7 @@
 static WNDPROC g_defAboutDlgEditWndProc;  // Edit Control\x82̃T\x83u\x83N\x83\x89\x83X\x89\xBB\x97p
 static int g_deltaSumAboutDlg = 0;        // \x83}\x83E\x83X\x83z\x83C\x81[\x83\x8B\x82\xCCDelta\x97ݐϗp
 
-static LRESULT CALLBACK AboutDlgEditWindowProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) 
+static LRESULT CALLBACK AboutDlgEditWindowProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
 {
 	WORD keys;
 	short delta;
@@ -3688,8 +3643,8 @@
 	RSA *rsa;
 	DSA *dsa;
 	EC_KEY *ecdsa;
-	unsigned char *ed25519_sk; 
-	unsigned char *ed25519_pk; 
+	unsigned char *ed25519_sk;
+	unsigned char *ed25519_pk;
 	ssh_keytype type;
 } ssh_private_key_t;
 
@@ -3699,8 +3654,8 @@
 	RSA *rsa;
 	DSA *dsa;
 	EC_KEY *ecdsa;
-	unsigned char *ed25519_sk; 
-	unsigned char *ed25519_pk; 
+	unsigned char *ed25519_sk;
+	unsigned char *ed25519_pk;
 	ssh_keytype type;
 } ssh_public_key_t;
 
@@ -3765,7 +3720,7 @@
 		public_key.rsa = pub;
 		break;
 	}
-	
+
 	case KEY_DSA:
 	{
 		DSA *priv = NULL;
@@ -4123,7 +4078,7 @@
 			_snprintf_s(recvdir, sizeof(recvdir), _TRUNCATE, "%s", pvar->ts->FileDir);
 		}
 		SetDlgItemTextA(dlg, IDC_RECVFILE_TO, recvdir);
-	
+
 #ifdef SFTP_DEBUG
 		ShowWindow(GetDlgItem(dlg, IDC_SFTP_TEST), SW_SHOW);
 #endif
@@ -4350,7 +4305,7 @@
 	buffer_t *kdf = NULL;
 	buffer_t *encoded = NULL;
 	buffer_t *blob = NULL;
-	int blocksize, keylen, ivlen, authlen, i, n; 
+	int blocksize, keylen, ivlen, authlen, i, n;
 	unsigned char *key = NULL, salt[SALT_LEN];
 	char *kdfname = KDFNAME;
 	EVP_CIPHER_CTX cipher_ctx;
@@ -4392,7 +4347,7 @@
 	// \x88Í\x86\x89\xBB\x82̏\x80\x94\xF5
 	// TODO: OpenSSH 6.5\x82ł\xCD -Z \x83I\x83v\x83V\x83\x87\x83\x93\x82ŁA\x88Í\x86\x89\xBB\x83A\x83\x8B\x83S\x83\x8A\x83Y\x83\x80\x82\xF0\x8Ew\x92\xE8\x89”\\x82\xBE\x82\xAA\x81A
 	// \x82\xB1\x82\xB1\x82ł\xCD"AES256-CBC"\x82ɌŒ\xE8\x82Ƃ\xB7\x82\xE9\x81B
-	cipher_init_SSH2(&cipher_ctx, key, keylen, key + keylen, ivlen, CIPHER_ENCRYPT, 
+	cipher_init_SSH2(&cipher_ctx, key, keylen, key + keylen, ivlen, CIPHER_ENCRYPT,
 		get_cipher_EVP_CIPHER(cipher), 0, 0, pvar);
 	SecureZeroMemory(key, keylen + ivlen);
 	free(key);
@@ -5285,7 +5240,7 @@
 			} else if (private_key.type == KEY_ED25519) { // SSH2 ED25519
 				save_bcrypt_private_key(buf, filename, comment, dlg, pvar, rounds);
 
-			} else { // SSH2 RSA, DSA, ECDSA			
+			} else { // SSH2 RSA, DSA, ECDSA
 				int len;
 				FILE *fp;
 				const EVP_CIPHER *cipher;
@@ -5312,7 +5267,7 @@
 					MessageBox(dlg, uimsg1, uimsg2, MB_OK | MB_ICONEXCLAMATION);
 					break;
 				}
- 
+
 				switch (key_type) {
 				case KEY_RSA: // RSA
 					ret = PEM_write_RSAPrivateKey(fp, private_key.rsa, cipher, buf, len, NULL, NULL);
@@ -5459,7 +5414,7 @@
 static void _dquote_string(char *str, char *dst, int dst_len)
 {
 	int i, len, n;
-	
+
 	len = strlen(str);
 	n = 0;
 	for (i = 0 ; i < len ; i++) {


Ttssh2-commit メーリングリストの案内
Back to archive index