win11 25H2 其他软件英文字体变成宋体

扎不起马马灯er 20 信誉分
2026-02-09T03:45:17.42+00:00

公司的电脑换代,新装的系统为Win11 25H2,公司内专用软件原字体Calibri变成了宋体,显示不全。咨询编写此软件的同事,并未更新修改字体。他觉得是微软调用字体改变造成的,但找不到原因。

所有win11 25H2的电脑都有相同问题,而win11 24H2的电脑字体显示正常。求教

Screenshot 2026-02-09 114735

感谢VPHAN的热心解答,问题还是存在。

补充一下:

登陆这个特定软件的界面,背景图片被缩小了,无法填充。左右两侧都有空白。

Screenshot 2026-02-09 140008

Windows 商业版 | 适用于 IoT 的 Windows
0 个注释 无注释
{count} 票

问题作者接受的答案
  1. VPHAN 24,530 信誉分 独立顾问
    2026-02-15T06:01:30.6133333+00:00

    感谢 扎不起马马灯er 提供的数据。 你的作系统构建号26200.6584表明你的系统运行的是Windows Insider Preview版本(来自“ge_release”开发分支),而不是稳定且商业支持的生产版本。你遇到的是GDI+图形栈和桌面窗口管理器(DWM)中针对该预发布代码的内核级回归,导致作系统忽视标准 FontSubstitutes 注册表指令并错误处理遗留窗口缩放。强制回退到SimSun和“黑边”裁剪现象是窗口环境实验性变更的表现,这些变更尚未在遗留 VB.NET 应用中发挥作用。

    由于这是一个业务线软件的生产环境,没有可靠的注册表补丁或变通方法来稳定这一实验性构建。您必须立即将这些机器重镜到稳定通道(Windows 11 23H2 或经过验证的 24H2 Build 26100)。Microsoft 严格建议不要在商业环境中部署 Insider Preview 版本,正是因为这些未修补的渲染漏洞;恢复到支持的稳定版本是恢复正确字体链接和窗口行为的唯一技术有效解决方案。

    希望你在这里找到了有用的信息。如果能帮你更深入了解这个问题,接受答案我会很感激****。

    副总统


2 个其他答案

排序依据: 非常有帮助
  1. VPHAN 24,530 信誉分 独立顾问
    2026-02-12T11:00:25.4+00:00

    Hello again 扎不起马马灯er,

    Just folllowing up. Please provide:

    1. The exact OS Build number (Press Win + R, type winver).
    2. The development framework of the software (e.g., VB6, MFC, or WinForms).

    Action Plan:

    Registry Hard-Mapping (The Fix for "Song Style"): Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes. Locate the String values MS Shell Dlg and MS Shell Dlg 2. Change their data values from Microsoft Sans Serif (or SimSun) to Calibri. This forces the GDI mapper to use Calibri regardless of the system locale defaults.

    Correct Scaling Mode (The Fix for Layout/Shrinkage): Return to the application's Properties > Compatibility > Change high DPI settings. Check "Override high DPI scaling behavior" but select "System" (NOT "System (Enhanced)"). Technical Context: "System" treats the application as a bitmap and stretches it. "Enhanced" tries to intercept GDI calls, which is currently failing and causing the clipping/black bars.

    Legacy Code Page Enforcement: Ensure "Beta: Use Unicode UTF-8 for worldwide language support" in Region settings is UNCHECKED. Legacy applications rely on specific ANSI code pages (e.g., CP936 or CP1252) and break when forced into UTF-8.

    Apply these three changes and reboot the machine.

    VP


  2. VPHAN 24,530 信誉分 独立顾问
    2026-02-09T04:35:59.1+00:00

    你好,

    你当务之急是验证系统区域设置,这些设置在主要版本升级或新镜像部署时通常会重置或默认。打开经典控制面板,进入区域,选择管理标签,点击更改系统区域。您必须勾选标有“测试版:全球语言支持使用Unicode UTF-8”的选项。如果25H2机器当前勾选了该框,这就是根本原因;作系统强制应用程序使用能够立即渲染完整 Unicode 范围的字体,通常默认使用 SimSun 作为中文本地,忽视开发者对 Calibri 的要求。取消勾选此框并重启电脑。反之,如果未勾选,请确认当前系统所在地与运行中的24H2机器完全匹配(很可能是中文(简体中文))。如果 Locale 设置正确且问题依旧,问题出在注册表的 FontSubstitutes,它控制作系统如何用物理字体替换逻辑字体(如“MS Shell Dlg”)。你需要打开 regedit,然后进入 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes。比较问题重的25H2机器上MS Shell Dlg和MS Shell Dlg 2的字符串值,与正常运行的24H2机器相比。很可能25H2重新映射了这些键或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink条目,导致GDI渲染器在混合文本字符串中优先使用中文字体而非英文字体。从正常运行的 24H2 单元导出 FontSubstitutes 和 FontLink 键并导入 25H2 单元(随后重启),作系统将强制遵循之前的字体渲染层级。

    希望你在这里找到了有用的信息。如果能帮你更深入了解这个问题,接受答案我会很感激。如果你还有更多问题,欢迎留言。祝你有美好的一天!

    副总统


你的答案

提问者可以将答案标记为“已接受”,版主可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。