teraterm.iniからフォント設定を読み込む関数を追加
@@ -224,8 +224,9 @@ | ||
224 | 224 | WritePrivateProfileString(Sect, Key, Temp, FName); |
225 | 225 | } |
226 | 226 | |
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) | |
229 | 230 | { |
230 | 231 | char Temp[80]; |
231 | 232 | if (Name[0] != 0) |
@@ -236,8 +237,28 @@ | ||
236 | 237 | WritePrivateProfileString(Sect, Key, Temp, FName); |
237 | 238 | } |
238 | 239 | |
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 | +} | |
239 | 261 | |
240 | - | |
241 | 262 | #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file |
242 | 263 | #define CYGTERM_FILE_MAXLINE 100 |
243 | 264 |
@@ -925,12 +946,9 @@ | ||
925 | 946 | ts->TEKColorEmu = GetOnOff(Section, "TEKColorEmulation", FName, FALSE); |
926 | 947 | |
927 | 948 | /* 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)); | |
934 | 952 | |
935 | 953 | /* Bold font flag */ |
936 | 954 | if (GetOnOff(Section, "EnableBold", FName, TRUE)) |
@@ -942,12 +960,9 @@ | ||
942 | 960 | ts->RussFont = str2id(RussList, Temp, IdWindows); |
943 | 961 | |
944 | 962 | /* 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)); | |
951 | 966 | |
952 | 967 | /* BS key */ |
953 | 968 | GetPrivateProfileString(Section, "BSKey", "", |
@@ -1332,20 +1347,9 @@ | ||
1332 | 1347 | ts->TermFlag |= TF_PRINTERCTRL; |
1333 | 1348 | |
1334 | 1349 | /* 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)); | |
1349 | 1353 | |
1350 | 1354 | // Page margins (left, right, top, bottom) for printing |
1351 | 1355 | // -- special option |