-
Notifications
You must be signed in to change notification settings - Fork 62
Open
Description
jdk 的 jawt.dll 中使用 DEFAULT_GUI_FONT 检索默认字体,源码(awt_DesktopProperties.cpp)参考 :
SetFontProperty(dc, ANSI_FIXED_FONT, TEXT("win.ansiFixed.font"), 1.0f);
SetFontProperty(dc, ANSI_VAR_FONT, TEXT("win.ansiVar.font"), 1.0f);
SetFontProperty(dc, DEVICE_DEFAULT_FONT, TEXT("win.deviceDefault.font"), 1.0f);
SetFontProperty(dc, DEFAULT_GUI_FONT, TEXT("win.defaultGUI.font"), invScaleY);
SetFontProperty(dc, OEM_FIXED_FONT, TEXT("win.oemFixed.font"), 1.0f);
SetFontProperty(dc, SYSTEM_FONT, TEXT("win.system.font"), 1.0f);
SetFontProperty(dc, SYSTEM_FIXED_FONT, TEXT("win.systemFixed.font"), 1.0f);
而 FontMod.cpp MyGetStockObject 方法中遗漏了此项,导致jdk中使用 FontMod 时开启 fixGSOFont 选项也没有效果。
HGDIOBJ WINAPI MyGetStockObject(int i)
{
switch (i)
{
case OEM_FIXED_FONT:
case ANSI_FIXED_FONT:
case ANSI_VAR_FONT:
case SYSTEM_FONT:
case DEVICE_DEFAULT_FONT:
case SYSTEM_FIXED_FONT:
return newGSOFont;
}
return addrGetStockObject(i);
}
ysc3839
Metadata
Metadata
Assignees
Labels
No labels