Skip to content

v0.3.2 — 字体可选本机全部字族

Choose a tag to compare

@AaronKate AaronKate released this 22 Oct 02:29
· 6 commits to main since this release

v0.3.2 — 字体可选本机全部字族

新增

  • 字体下拉列出本机全部字体:插件新增主进程路由 /api/dsh-eye-comfort/fonts,
    由系统接口读取真实字体清单(Windows 用 GDI+,macOS 用 system_profiler,
    Linux 用 fc-list),前端启动时拉取并合并进下拉。
    本机实测 305 个字族,此前只能从 56 个内置候选中探测出少数几个。
  • 下拉按「内置四类 / 本机字体」分组;手输任意字体名也会保留,不再被重置回系统字体。

修复

  • 字体设置完全不生效:DSH 各组件用 font-family: var(--dsw-font-family) 消费样式,
    写在 body 上的 font-family 会被子元素覆盖。改为设置 ui-theme 预留的覆盖入口
    --dsh-font-family-text / --dsh-font-family-code。
  • CSS 生成写的是查表结果:选中自定义字体时输出 font-family: undefined,
    浏览器直接丢弃该声明。
  • 代码字体样式(常规/紧凑/舒适)不生效:代码块用 font: 简写消费
    --dsw-font-markdown-code-block,简写会重置 line-height。改为设置
    --dsh-code-font-size / --dsh-code-font-delta,行高 19 / 17 / 22 px。
  • 中文字体名丢失:powershell.exe 默认按系统 ANSI 码页输出,Node 按 UTF-8 解码,
    导致微软雅黑、宋体、黑体、华文楷体等 29 个纯中文字体名整条丢失;已强制 UTF-8 输出。

安全

  • 字体路由经 connection.admit() 鉴权(Host/Origin 校验 + 浏览器会话 cookie),
    鉴权异常时 fail-closed 返回 403,避免任意网页读取本机字体清单。

其他

  • 移除未被引用的 lib/fonts.json 与 tools/(早期静态清单方案的残留)。

安装

dsh plugin --profile desktop add ./dsh-eye-comfort-0.3.2.tgz