feat(ui): 稳健跨 OS 衬线兜底栈 + 双主题 token 奇偶校验
- 决策:不自托管 CJK webfont(数 MB + 构建期外拉,违反 CSP 友好/首屏) 改用跨 OS 系统衬线栈,保证中文标题可靠命中衬线,零 webfont 字节 - 新增 themeParity 测试:paper/night 两块 --color-* 必须成对,防漏配破面
This commit is contained in:
@@ -31,9 +31,29 @@ const config: Config = {
|
||||
info: "var(--color-info)",
|
||||
},
|
||||
fontFamily: {
|
||||
serif: ['"Noto Serif SC"', '"Songti SC"', "serif"],
|
||||
sans: ['"Noto Sans SC"', '"PingFang SC"', "system-ui", "sans-serif"],
|
||||
mono: ['"JetBrains Mono"', "ui-monospace"],
|
||||
// 衬线 display 与 sans 分工是品牌声音的一部分(对标 DESIGN.md)。
|
||||
// 决策:不自托管 CJK webfont —— Noto Serif SC 全量子集达数 MB,会拖慢
|
||||
// 首屏且需构建期外部拉取(违反 CSP 友好)。改用跨 OS 系统衬线兜底栈,
|
||||
// 保证中文标题在任意设备可靠命中高质量衬线,零 webfont 字节。
|
||||
// macOS/iOS → Songti/STSong;Windows → SimSun/YaHei;Linux/Android → Noto CJK。
|
||||
serif: [
|
||||
'"Noto Serif SC"',
|
||||
'"Source Han Serif SC"',
|
||||
'"Songti SC"',
|
||||
"STSong",
|
||||
"SimSun",
|
||||
'"Noto Serif CJK SC"',
|
||||
"serif",
|
||||
],
|
||||
sans: [
|
||||
'"Noto Sans SC"',
|
||||
'"PingFang SC"',
|
||||
'"Source Han Sans SC"',
|
||||
'"Microsoft YaHei"',
|
||||
"system-ui",
|
||||
"sans-serif",
|
||||
],
|
||||
mono: ['"JetBrains Mono"', "ui-monospace", "monospace"],
|
||||
},
|
||||
fontSize: {
|
||||
// 编辑部字号刻度(衬线 display 用负字距;标签用正字距 eyebrow)
|
||||
|
||||
Reference in New Issue
Block a user