1
0
Fork 0
mirror of https://github.com/k4zmu2a/SpaceCadetPinball.git synced 2025-09-04 07:20:15 +02:00

Add System Font Name registry option

This commit is contained in:
Gábor Dobra 2022-01-18 00:34:58 +01:00
parent bec1e04dfa
commit 16fe9b0482
3 changed files with 12 additions and 6 deletions

View file

@ -473,7 +473,9 @@ void gdrv::choose_font()
static const int fontSizes_WinMenu[3] = { 17, 21, 27 }; static const int fontSizes_WinMenu[3] = { 17, 21, 27 };
const char* system_font_filename = nullptr; const char* system_font_filename = nullptr;
fontCharset = DEFAULT_CHARSET; // Only System font requires non-default charset,
// and custom charsets may break other fonts (like WinMenu).
int systemFontCharset = DEFAULT_CHARSET;
switch (options::Options.Language) switch (options::Options.Language)
{ {
@ -495,28 +497,28 @@ void gdrv::choose_font()
break; break;
case Languages::Greek: case Languages::Greek:
system_font_filename = "vgasysg.fon"; system_font_filename = "vgasysg.fon";
fontCharset = GREEK_CHARSET; systemFontCharset = GREEK_CHARSET;
break; break;
case Languages::Russian: case Languages::Russian:
system_font_filename = "vgasysr.fon"; system_font_filename = "vgasysr.fon";
fontCharset = RUSSIAN_CHARSET; systemFontCharset = RUSSIAN_CHARSET;
break; break;
case Languages::Turkish: case Languages::Turkish:
system_font_filename = "vgasyst.fon"; system_font_filename = "vgasyst.fon";
fontCharset = TURKISH_CHARSET; systemFontCharset = TURKISH_CHARSET;
break; break;
case Languages::Danish: case Languages::Danish:
case Languages::Dutch: case Languages::Dutch:
case Languages::Norwegian: case Languages::Norwegian:
case Languages::Swedish: case Languages::Swedish:
system_font_filename = "vgasys.fon"; system_font_filename = "vgasys.fon";
fontCharset = DEFAULT_CHARSET; systemFontCharset = DEFAULT_CHARSET;
break; break;
case Languages::Czech: case Languages::Czech:
case Languages::Hungarian: case Languages::Hungarian:
case Languages::Polish: case Languages::Polish:
system_font_filename = "vgasyse.fon"; system_font_filename = "vgasyse.fon";
fontCharset = EASTEUROPE_CHARSET; systemFontCharset = EASTEUROPE_CHARSET;
break; break;
default: default:
system_font_filename = "vgasys.fon"; system_font_filename = "vgasys.fon";
@ -539,6 +541,7 @@ void gdrv::choose_font()
{ {
fontFamily = "System"; fontFamily = "System";
fontSizes = fontSizes_System; fontSizes = fontSizes_System;
fontCharset = systemFontCharset;
std::string windir(MAX_PATH, '\0'); std::string windir(MAX_PATH, '\0');
DWORD result = GetEnvironmentVariableA("WINDIR", &windir[0], MAX_PATH); DWORD result = GetEnvironmentVariableA("WINDIR", &windir[0], MAX_PATH);

View file

@ -140,6 +140,7 @@ void options::ReadOptions()
Options.TargetUps = max(60, Options.TargetUps); Options.TargetUps = max(60, Options.TargetUps);
Options.TargetUps = min(Options.TargetUps, 360); Options.TargetUps = min(Options.TargetUps, 360);
Options.SystemFont = get_int(nullptr, "System Font", false); Options.SystemFont = get_int(nullptr, "System Font", false);
get_string(nullptr, "System Font Name", Options.SystemFontName, "", LF_FACESIZE);
auto defaultLanguage = Languages::English; auto defaultLanguage = Languages::English;
auto language = static_cast<Languages>(get_int(nullptr, "Language", static_cast<int>(defaultLanguage))); auto language = static_cast<Languages>(get_int(nullptr, "Language", static_cast<int>(defaultLanguage)));
@ -239,6 +240,7 @@ void options::uninit()
set_int(nullptr, "Uniform scaling", Options.UniformScaling); set_int(nullptr, "Uniform scaling", Options.UniformScaling);
set_int(nullptr, "Alternative Render", Options.AlternativeRender); set_int(nullptr, "Alternative Render", Options.AlternativeRender);
set_int(nullptr, "System Font", Options.SystemFont); set_int(nullptr, "System Font", Options.SystemFont);
set_string(nullptr, "System Font Name", Options.SystemFontName);
set_int(nullptr, "Language", static_cast<int>(Options.Language)); set_int(nullptr, "Language", static_cast<int>(Options.Language));
set_int(nullptr, "Target UPS", Options.TargetUps); set_int(nullptr, "Target UPS", Options.TargetUps);
} }

View file

@ -61,6 +61,7 @@ struct optionsStruct
bool AlternativeRender; bool AlternativeRender;
int TargetUps; int TargetUps;
bool SystemFont; bool SystemFont;
char SystemFontName[LF_FACESIZE];
Languages Language; Languages Language;
}; };