@mooncellwiki/prts-design-tokens 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mooncellwiki/prts-design-tokens",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "PRTS Design · 明日方舟网页设计系统的设计令牌:W3C DTCG 格式的 JSON5 源 + CSS 变量版 tokens.css(亮 / 暗 / 跟随系统 / 局部主题)+ 解析后的 tokens.json(每个令牌带 CSS 写法与亮 / 暗解析值)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -36,7 +36,12 @@
36
36
  "fs-body": { $value: "1rem", $description: "16" },
37
37
  "fs-sm": { $value: "0.875rem", $description: "14" },
38
38
  "fs-xs": { $value: "0.75rem", $description: "12" },
39
- "fs-overline": { $value: "0.6875rem", $description: "11" },
39
+ "fs-overline": { $value: "0.6875rem", $description: "11(低分屏 12,见 functional/low-dpi)" },
40
+ },
41
+ legibility: {
42
+ $description: "中文小字的字号下限:可能出现中文的 9–10px 小字(卡片副题、解锁条件、标签、页签计数…)写成 max(设计字号, var(--ak-fs-cjk-min))",
43
+ $type: "dimension",
44
+ "fs-cjk-min": { $value: "0px", $description: "高分屏 0 = 不干预、照设计字号;低分屏抬到 12px(functional/low-dpi)" },
40
45
  },
41
46
  "line-height": {
42
47
  $description: "行高",
@@ -0,0 +1,21 @@
1
+ {
2
+ typography: {
3
+ font: {
4
+ $description: "低分屏(< 1.5dppx)的正文链:把微软雅黑提到自托管的 Noto Sans SC 前面。\nNoto 的 web 切片没有 hinting——Windows(DirectWrite)在 100% / 125% 缩放下小字号中文发虚;雅黑为 ClearType 做过 hinting。\n没装雅黑的系统(macOS / Linux / 移动端)照旧落到 Noto,高分屏的 Windows 也仍用 Noto。雅黑只有 Regular / Bold:500 落 Regular,600 / 800 落 Bold。\n装机的 Source Han Sans SC 仍排最前(与 :root 的链同序)。",
5
+ $type: "fontFamily",
6
+ "font-body": {
7
+ $value: "\"Source Han Sans SC\", \"Microsoft YaHei\", \"Noto Sans SC\", \"Noto Sans CJK SC\", \"PingFang SC\", \"HarmonyOS Sans SC\", system-ui, -apple-system, sans-serif",
8
+ },
9
+ },
10
+ "font-size": {
11
+ $description: "低分屏的 overline:一个汉字只分到 11 个设备像素,粗体中文(目录 / 导航 / 页脚栏目 / 属性名 / 潜能…)笔画挤成一团——抬到 12px(文档「中文最小 12px」),纯拉丁的 overline 一并跟着大 1px。",
12
+ $type: "dimension",
13
+ "fs-overline": { $value: "0.75rem", $description: "12(高分屏 11)" },
14
+ },
15
+ legibility: {
16
+ $description: "低分屏的中文小字下限:9–10px 的中文在 1× 屏上只有 9–10 个设备像素,换哪款字都糊(雅黑也救不回来)。",
17
+ $type: "dimension",
18
+ "fs-cjk-min": { $value: "12px", $description: "= 文档「中文最小 12px」;写了 max(…, var(--ak-fs-cjk-min)) 的小字抬到这里" },
19
+ },
20
+ },
21
+ }
package/tokens.css CHANGED
@@ -116,7 +116,10 @@
116
116
  --ak-fs-body: 1rem; /* 16 */
117
117
  --ak-fs-sm: 0.875rem; /* 14 */
118
118
  --ak-fs-xs: 0.75rem; /* 12 */
119
- --ak-fs-overline: 0.6875rem; /* 11 */
119
+ --ak-fs-overline: 0.6875rem; /* 11(低分屏 12,见 functional/low-dpi) */
120
+
121
+ /* ─── typography · legibility · 中文小字的字号下限:可能出现中文的 9–10px 小字(卡片副题、解锁条件、标签、页签计数…)写成 max(设计字号, var(--ak-fs-cjk-min)) */
122
+ --ak-fs-cjk-min: 0px; /* 高分屏 0 = 不干预、照设计字号;低分屏抬到 12px(functional/low-dpi) */
120
123
 
121
124
  /* ─── typography · line-height · 行高 */
122
125
  --ak-lh-body: 1.7; /* CJK 正文 */
@@ -650,6 +653,25 @@ html.skin-theme-clientpref-night,
650
653
  --ak-canvas-attachment: scroll;
651
654
  }
652
655
 
656
+ /* ═══ 低分屏:正文链把微软雅黑提到 Noto Sans SC 前面(Windows 100% / 125% 缩放下未 hinting 的 Noto 发虚;没装雅黑的系统不受影响);中文小字抬到 12px(1× 屏上 9–11px 的汉字分不到足够像素) ═══ */
657
+ @media (max-resolution: 1.49dppx) {
658
+ :root {
659
+ /* ─── typography */
660
+
661
+ /* ─── typography · font · 低分屏(< 1.5dppx)的正文链:把微软雅黑提到自托管的 Noto Sans SC 前面。
662
+ * Noto 的 web 切片没有 hinting——Windows(DirectWrite)在 100% / 125% 缩放下小字号中文发虚;雅黑为 ClearType 做过 hinting。
663
+ * 没装雅黑的系统(macOS / Linux / 移动端)照旧落到 Noto,高分屏的 Windows 也仍用 Noto。雅黑只有 Regular / Bold:500 落 Regular,600 / 800 落 Bold。
664
+ * 装机的 Source Han Sans SC 仍排最前(与 :root 的链同序)。 */
665
+ --ak-font-body: "Source Han Sans SC", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "PingFang SC", "HarmonyOS Sans SC", system-ui, -apple-system, sans-serif;
666
+
667
+ /* ─── typography · font-size · 低分屏的 overline:一个汉字只分到 11 个设备像素,粗体中文(目录 / 导航 / 页脚栏目 / 属性名 / 潜能…)笔画挤成一团——抬到 12px(文档「中文最小 12px」),纯拉丁的 overline 一并跟着大 1px。 */
668
+ --ak-fs-overline: 0.75rem; /* 12(高分屏 11) */
669
+
670
+ /* ─── typography · legibility · 低分屏的中文小字下限:9–10px 的中文在 1× 屏上只有 9–10 个设备像素,换哪款字都糊(雅黑也救不回来)。 */
671
+ --ak-fs-cjk-min: 12px; /* = 文档「中文最小 12px」;写了 max(…, var(--ak-fs-cjk-min)) 的小字抬到这里 */
672
+ }
673
+ }
674
+
653
675
  /* ═══ 高对比偏好:只有亮色吃得到(暗色块选择器特指度更高,压过这里的 :root——沿用原行为;.ak-scope[data-theme="light"] 与 2b′ 同特指度、本块在后,作用域亮色同样吃得到) ═══ */
654
676
  @media (prefers-contrast: more) {
655
677
  :root,
package/tokens.json CHANGED
@@ -20,6 +20,7 @@
20
20
  "color.sp": "Skill SP 回复类型(对应游戏内技能框配色,近似取值)",
21
21
  "typography.font": "Typography —— 每条链的前两段都由 fonts.css 自托管(人人一致,也是「上线效果」):\n① 官网同源的 Novecento Sans Wide / Bender(ASCII 子集:· » — × ° 等非 ASCII 会逐字落到 ②)\n② OFL 的 Noto Sans SC / Oswald / Chakra Petch / JetBrains Mono\n之后是装机备选 → 系统字。fonts.css 没加载(Gadget 关掉 / 离线单文件)时自然退到后两段。",
22
22
  "typography.font-size": "字号(rem;注释为 px)",
23
+ "typography.legibility": "中文小字的字号下限:可能出现中文的 9–10px 小字(卡片副题、解锁条件、标签、页签计数…)写成 max(设计字号, var(--ak-fs-cjk-min))",
23
24
  "typography.line-height": "行高",
24
25
  "typography.tracking": "字距",
25
26
  "size.space": "Spacing (4px grid)",
@@ -1054,13 +1055,28 @@
1054
1055
  "fs-overline"
1055
1056
  ],
1056
1057
  "type": "dimension",
1057
- "description": "11",
1058
+ "description": "11(低分屏 12,见 functional/low-dpi)",
1058
1059
  "css": "0.6875rem",
1059
1060
  "resolved": {
1060
1061
  "light": "0.6875rem",
1061
1062
  "dark": "0.6875rem"
1062
1063
  }
1063
1064
  },
1065
+ {
1066
+ "name": "--ak-fs-cjk-min",
1067
+ "path": [
1068
+ "typography",
1069
+ "legibility",
1070
+ "fs-cjk-min"
1071
+ ],
1072
+ "type": "dimension",
1073
+ "description": "高分屏 0 = 不干预、照设计字号;低分屏抬到 12px(functional/low-dpi)",
1074
+ "css": "0px",
1075
+ "resolved": {
1076
+ "light": "0px",
1077
+ "dark": "0px"
1078
+ }
1079
+ },
1064
1080
  {
1065
1081
  "name": "--ak-lh-body",
1066
1082
  "path": [