The correct value name is 'FontFamily'.
-- v2: conhost: Migrate from FontPitchFamily to FontFamily
From: Hugh McMaster hugh.mcmaster@outlook.com
To ensure a seamless transition between value names, we try loading the registry value from FontFamily first and FontPitchFamily second.
Any changes to the console font family are saved to the new value name. --- programs/conhost/window.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/programs/conhost/window.c b/programs/conhost/window.c index 3db4b159696..0a44186beb1 100644 --- a/programs/conhost/window.c +++ b/programs/conhost/window.c @@ -166,7 +166,8 @@ static void load_registry_key( HKEY key, struct console_config *config ) RegQueryValueExW( key, L"FaceName", 0, &type, (BYTE *)&config->face_name, &count );
count = sizeof(val); - if (!RegQueryValueExW( key, L"FontPitchFamily", 0, &type, (BYTE *)&val, &count )) + if (!RegQueryValueExW( key, L"FontFamily", 0, &type, (BYTE *)&val, &count ) || + !RegQueryValueExW( key, L"FontPitchFamily", 0, &type, (BYTE *)&val, &count )) config->font_pitch_family = val;
count = sizeof(val); @@ -330,7 +331,7 @@ static void save_registry_key( HKEY key, const struct console_config *config, BO if (save_all || config->font_pitch_family != default_config.font_pitch_family) { val = config->font_pitch_family; - RegSetValueExW( key, L"FontPitchFamily", 0, REG_DWORD, (BYTE *)&val, sizeof(val) ); + RegSetValueExW( key, L"FontFamily", 0, REG_DWORD, (BYTE *)&val, sizeof(val) ); }
if (save_all || config->cell_height != default_config.cell_height ||
Thanks, @epo. I'd only considered new prefixes, but modifying the console font in an existing prefix could change the font family, so we should handle that case too.
I've updated the patch.
On Mon Jan 2 08:34:49 2023 +0000, Hugh McMaster wrote:
Thanks, @epo. I'd only considered new prefixes, but modifying the console font in an existing prefix could change the font family, so we should handle that case too. I've updated the patch.
looks good to me.