48 lines
4.2 KiB
Markdown
48 lines
4.2 KiB
Markdown
# Ygent 字体渲染对齐与验收(2026-10-08)
|
||
|
||
本轮对齐真实字库、字号继承、六档管理、行高和用户文字行框。两端真实视口1335×916、DPR1;WorkBuddy9223、YG原生WebView2 9335,同一真实会话。通过真实键盘快捷键逐档变化,测试后两端恢复默认2档;没有替换IPC或模拟会话。
|
||
|
||
## 统一管理
|
||
|
||
- 六档Markdown根字号:16、17.143、18.286、20.571、22.857、26.286px。
|
||
- 普通UI偏移:-1、0、1、2、2、2px;用户文字、输入、折叠标题、取消提示采用15px基准,即14、15、16、17、17、17px。
|
||
- 正文通过Markdown根字号的`.875em`缩放;不要用UI封顶规则覆盖Markdown正文。
|
||
- `--yg-font-sans`显式加入Noto Sans SC,匹配本机WorkBuddy真实中文字体;Latin仍使用Segoe UI。
|
||
- `--yg-font-agent`遵循参照名称栈,本机实际命中Arial Bold。
|
||
- `--yg-font-markdown-code`使用SFMono-Regular/Consolas/Liberation Mono/Menlo;终端使用独立`--yg-font-terminal`,本机实际命中Courier New、中文回退NSimSun。
|
||
- 本机Noto Sans SC为已安装系统字库,本轮没有把字体文件复制进项目;其他机器若缺少字库会回退,不能声称跨机器字形已经保证一致。
|
||
- 字号变化由设置与Ctrl+-/Ctrl++/Ctrl+0共用Zustand/SQLite链路。没有新增运行时样式表扫描,现有组件通过CSS变量显式接入,剩余裸字号已清理;新增组件遵守AGENTS约束。
|
||
|
||
## 内层文字与行框
|
||
|
||
用户气泡外壳保持13px基准,内层15px/1.75;p为1.78行高、1.78em最小高度,内容span垂直居中,对齐Slate混合中英文的实际行框。没有为了对标引入Slate或改变消息数据。
|
||
|
||
输入textarea实际文字15px/1.75;过程/工具组摘要15px/1.75;取消提示15px、固定20px行高。命令与结果拆成两块:命令12px/1.6,stdout/stderr固定18px行高,块间4px。UI偏移只应用字号一次,结果行高不随字号变化,这是参照实测规则。
|
||
|
||
设置界面只显示字号档位,移除Markdown像素数值。普通行内代码和Markdown代码块保持Consolas族,不能一并换成终端Courier New。
|
||
|
||
## 原生验证结果
|
||
|
||
[两端六档原始测量摘要](reference/workbuddy/font-parity-2026-10-08.json)仅含字号、行高、字体族和几何,不含对话正文或凭据。
|
||
|
||
| 验收项 | 结果 |
|
||
| --- | --- |
|
||
| 六档根字号 | 两端全部一致 |
|
||
| 9个位置×6档×字号/行高 | 108组对比全部一致:助手名称、正文、用户编辑器、用户p、输入、过程标题、取消、命令、输出 |
|
||
| 用户文字宽度、p实际高度、名称宽度 | 每项六档均一致,共18组几何对比 |
|
||
| 实际命中字库 | 中文Noto Sans SC及Bold、名称Arial Bold、终端Courier New/NSimSun;平台字体接口确认 |
|
||
| 默认用户气泡 | 外框355.15625×44.59375,与参照一致,未硬编码宽高 |
|
||
| 设置滑杆 | 原生输入ArrowRight:2→3,根17.143→18.286;ArrowLeft恢复2 |
|
||
| 调试版桌面重启 | 原会话5、829条消息恢复;默认档从真实设置恢复,窗口1335×916 |
|
||
|
||
以上不等于整个对话区1:1通过。工具意图独立折叠、reasoning占位、回合尾部操作栏、滚动条等仍以原差异清单为准;第三方widget iframe的自带字体不在本轮9位置验收内。
|
||
|
||
## 重复验收
|
||
|
||
按[原生调试SOP](ygent-debug.md)连接两端,确认同一字号和视口。可通过DevTools的Computed查看内层实际文字,DOM/CSS接口读取`CSS.getPlatformFontsForNode`确认字库。先Ctrl+0回默认,Ctrl+-到1档,再连续Ctrl++采集1—6档,最后恢复原档。设置测试使用真实滑杆,不直接写style模拟字号。
|
||
|
||
测试时保存草稿,不发送对话。先记录原档位,验证后恢复;本轮原档为2。更新差异状态时须保留原测量记录并说明已修范围,不能删除未修的结构问题。
|
||
|
||
|
||
2026-10-08 视觉优化补充:按用户要求,工作台与对话的 Markdown 围栏代码共同使用根字号 0.8125em、行高 1.7,取代原 0.75em;表格使用 0.875em、行高 1.65。六档仍由同一根字号管理,终端字体不受该 Markdown 样式影响。此调整优先可读性,不再代表这两个行高/比例与 WorkBuddy 原始值完全一致。
|