• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision7705 (tree)
Time2019-05-22 00:20:38
Authorzmatsuo

Log Message

teraterm.iniからフォント設定を読み込む関数を追加

Change Summary

Incremental Difference

--- trunk/teraterm/ttpset/ttset.c (revision 7704)
+++ trunk/teraterm/ttpset/ttset.c (revision 7705)
@@ -224,8 +224,9 @@
224224 WritePrivateProfileString(Sect, Key, Temp, FName);
225225 }
226226
227-void WriteFont(PCHAR Sect, PCHAR Key, PCHAR FName,
228- PCHAR Name, int x, int y, int charset)
227+// フォント情報書き込み、4パラメータ版
228+static void WriteFont(PCHAR Sect, PCHAR Key, PCHAR FName,
229+ PCHAR Name, int x, int y, int charset)
229230 {
230231 char Temp[80];
231232 if (Name[0] != 0)
@@ -236,8 +237,28 @@
236237 WritePrivateProfileString(Sect, Key, Temp, FName);
237238 }
238239
240+// フォント情報読み込み、4パラメータ版
241+static void ReadFont(
242+ const char *Sect, const char *Key, const char *Default, const char *FName,
243+ char *FontName, size_t FontNameLen, POINT *FontSize, int *FontCharSet)
244+{
245+ char Temp[MAX_PATH];
246+ GetPrivateProfileString(Sect, Key, Default,
247+ Temp, _countof(Temp), FName);
248+ if (Temp[0] == 0) {
249+ // デフォルトがセットされていない & iniにエントリーがない場合
250+ FontName[0] = 0;
251+ FontSize->x = 0;
252+ FontSize->y = 0;
253+ FontCharSet = 0;
254+ } else {
255+ GetNthString(Temp, 1, FontNameLen, FontName);
256+ GetNthNum(Temp, 2, &(FontSize->x));
257+ GetNthNum(Temp, 3, &(FontSize->y));
258+ GetNthNum(Temp, 4, FontCharSet);
259+ }
260+}
239261
240-
241262 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
242263 #define CYGTERM_FILE_MAXLINE 100
243264
@@ -925,12 +946,9 @@
925946 ts->TEKColorEmu = GetOnOff(Section, "TEKColorEmulation", FName, FALSE);
926947
927948 /* VT Font */
928- GetPrivateProfileString(Section, "VTFont", "Terminal,0,-13,1",
929- Temp, sizeof(Temp), FName);
930- GetNthString(Temp, 1, sizeof(ts->VTFont), ts->VTFont);
931- GetNthNum(Temp, 2, (int far *) &(ts->VTFontSize.x));
932- GetNthNum(Temp, 3, (int far *) &(ts->VTFontSize.y));
933- GetNthNum(Temp, 4, &(ts->VTFontCharSet));
949+ ReadFont(Section, "VTFont", "Terminal,0,-13,1", FName,
950+ ts->VTFont, _countof(ts->VTFont),
951+ &ts->VTFontSize, &(ts->VTFontCharSet));
934952
935953 /* Bold font flag */
936954 if (GetOnOff(Section, "EnableBold", FName, TRUE))
@@ -942,12 +960,9 @@
942960 ts->RussFont = str2id(RussList, Temp, IdWindows);
943961
944962 /* TEK Font */
945- GetPrivateProfileString(Section, "TEKFont", "Courier,0,-13,0",
946- Temp, sizeof(Temp), FName);
947- GetNthString(Temp, 1, sizeof(ts->TEKFont), ts->TEKFont);
948- GetNthNum(Temp, 2, (int far *) &(ts->TEKFontSize.x));
949- GetNthNum(Temp, 3, (int far *) &(ts->TEKFontSize.y));
950- GetNthNum(Temp, 4, &(ts->TEKFontCharSet));
963+ ReadFont(Section, "TEKFont", "Courier,0,-13,0", FName,
964+ ts->TEKFont, _countof(ts->TEKFont),
965+ &ts->TEKFontSize, &(ts->TEKFontCharSet));
951966
952967 /* BS key */
953968 GetPrivateProfileString(Section, "BSKey", "",
@@ -1332,20 +1347,9 @@
13321347 ts->TermFlag |= TF_PRINTERCTRL;
13331348
13341349 /* Printer Font --- special option */
1335- GetPrivateProfileString(Section, "PrnFont", "",
1336- Temp, sizeof(Temp), FName);
1337- if (strlen(Temp) == 0) {
1338- ts->PrnFont[0] = 0;
1339- ts->PrnFontSize.x = 0;
1340- ts->PrnFontSize.y = 0;
1341- ts->PrnFontCharSet = 0;
1342- }
1343- else {
1344- GetNthString(Temp, 1, sizeof(ts->PrnFont), ts->PrnFont);
1345- GetNthNum(Temp, 2, (int far *) &(ts->PrnFontSize.x));
1346- GetNthNum(Temp, 3, (int far *) &(ts->PrnFontSize.y));
1347- GetNthNum(Temp, 4, &(ts->PrnFontCharSet));
1348- }
1350+ ReadFont(Section, "PrnFont", NULL, FName,
1351+ ts->PrnFont, _countof(ts->PrnFont),
1352+ &ts->PrnFontSize, &(ts->PrnFontCharSet));
13491353
13501354 // Page margins (left, right, top, bottom) for printing
13511355 // -- special option
Show on old repository browser