Listary 7.1 字体显示模糊

复现步骤

  1. Windows 11,显示缩放 100%(ClearType 已开启)。
  2. 安装 Listary 7.1.0.45,界面语言选择简体中文,主题使用默认的 Porcelain。
  3. 右键点击托盘图标,然后选择「选项」。
  4. 观察左侧导航、“常规设置”标题、右侧各项正文,以及底部的“确定/取消/应用”按钮。

预期结果

文字应与系统原生控件一样锐利、笔画实心,观感至少不弱于“Windows 设置”等其他程序。V6 版本中同一位置的文字是清晰的。

实际结果

整个设置页的所有文字都使用灰度抗锯齿,笔画发虚、发灰,明显不如其他程序清楚:

  • 12–13px 的中文笔画覆盖率只有约 30–50%,看起来像“灰点连成的虚线”;
  • 同一窗口内,1px 分隔线与图标边缘是锐利的,唯独文字发虚,因此可以判断问题出在文字光栅化上,而不是位图被拉伸;
  • 对截图(1086×633)做像素统计:所有文字区域的彩色(亚像素)像素数为 0,说明完全没有 ClearType;分隔线是单行 223,237,241,卡片底色纯白 255,因此排除了整窗缩放和半透明合成。

Windows 版本

Windows 11 专业版。

Listary 版本

V7.1.0.45(beta)

附加信息

1. 程序自身日志(ListaryLog.txt)显示渲染器是软件渲染、字体链首选了 macOS 苹方:

[listary_ui::backend] renderer selected renderer=software source=default
[listary_app_host::product::rendering] font chain ready bundle=zh-Hans
    key_source=the product UI language (General.Language=zh-Hans)
    primary_family=苹方-简 fallback_family=Microsoft YaHei UI faces=3 rescued=false

source=default 说明软件渲染器来自默认配置。

2. 中文字体链疑似照搬了 macOS 版本:primary_family=苹方-简 是 macOS 的系统字体;本机装有苹方时,该字体就会被优先命中。而二进制中 zh-Hans 的兜底表写的是 Microsoft YaHei UI (msyhl.ttc / msyh.ttc / msyhbd.ttc),这说明在 Windows 上本应使用雅黑。苹方笔画本身偏细,再加上软件渲染没有 hinting,13px 下模糊会更明显。

3. 量化对比(GDI+,同 13px,同为灰度抗锯齿):

字体 墨迹平均灰度 实心暗像素
苹方-简 Regular(现状) 149.6 507
微软雅黑 UI Regular 161.0 578

正文为 12–13px,中文字符的墨迹高度实测仅 12px。

4. 建议(按收益排序)

  1. 在 Windows 上把 zh-Hans 字体链的 primary 直接设为 Microsoft YaHei UI,不要优先使用苹方(或者按平台区分字体表)。
  2. 小字号文本改用 DirectWrite 渲染,以获得 ClearType + hinting;如果继续软件渲染,请加入 stem darkening / gamma 校正,仅靠灰度 AA 在 12px 中文上无法达到可读性。
  3. 提供「界面字体 / 字号 / 字重」设置项,让用户自行规避。

截图显示: