mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 01:02:24 +00:00
Kaisuke Nakajima points out that it's unnecessary to translate
negative font sizes (meaning pixels) into positive ones (points) in winstore.c, since it gets done anyway at the point of font creation; and removing the code in winstore.c means that the precise font entered by the user is saved in the config, rather than being rounded. [originally from svn r3755]
This commit is contained in:
parent
2379e69619
commit
1527565ad7
@ -2282,8 +2282,9 @@ void dlg_fontsel_set(union control *ctrl, void *dlg, FontSpec fs)
|
||||
if (fs.height == 0)
|
||||
buf = dupprintf("Font: %s, %sdefault height", fs.name, boldstr);
|
||||
else
|
||||
buf = dupprintf("Font: %s, %s%d-point", fs.name, boldstr,
|
||||
(fs.height < 0 ? -fs.height : fs.height));
|
||||
buf = dupprintf("Font: %s, %s%d-%s", fs.name, boldstr,
|
||||
(fs.height < 0 ? -fs.height : fs.height),
|
||||
(fs.height < 0 ? "pixel" : "point"));
|
||||
SetDlgItemText(dp->hwnd, c->base_id+1, buf);
|
||||
sfree(buf);
|
||||
}
|
||||
|
12
winstore.c
12
winstore.c
@ -182,18 +182,6 @@ int read_setting_fontspec(void *handle, const char *name, FontSpec *result)
|
||||
ret.height = read_setting_i(handle, settingname, INT_MIN);
|
||||
sfree(settingname);
|
||||
if (ret.height == INT_MIN) return 0;
|
||||
if (ret.height < 0) {
|
||||
int oldh, newh;
|
||||
HDC hdc = GetDC(NULL);
|
||||
int logpix = GetDeviceCaps(hdc, LOGPIXELSY);
|
||||
ReleaseDC(NULL, hdc);
|
||||
|
||||
oldh = -ret.height;
|
||||
newh = MulDiv(oldh, 72, logpix) + 1;
|
||||
if (MulDiv(newh, logpix, 72) > oldh)
|
||||
newh--;
|
||||
ret.height = newh;
|
||||
}
|
||||
*result = ret;
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user