mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2025-09-04 15:30:15 +02:00
Add System Font Name registry option
This commit is contained in:
parent
bec1e04dfa
commit
16fe9b0482
3 changed files with 12 additions and 6 deletions
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue