bump-font-sizes.mjs 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. // 批次 1 走查反馈「文字偏小」:把驾驶舱内 <=11u 的裸像素字号统一上调 1px。
  2. // 只动 font-size 行,不碰其他声明;标题类(>=13u)已在 tokens 与组件里单独处理。
  3. import { readFileSync, writeFileSync } from 'node:fs'
  4. const targets = [
  5. ['src/modules/cockpit/CockpitShell.vue', [1796, 1859, 1874, 1922, 1985, 2016, 2125]],
  6. ['src/modules/cockpit/components/MapCoordinateBlocked.vue', [103, 162, 174]],
  7. ['src/modules/cockpit/components/PanelBlocks.vue', [607]],
  8. ['src/modules/cockpit/components/CockpitPanel.vue', [199]],
  9. ['src/modules/cockpit/components/MapCanvas.vue', [502]],
  10. ]
  11. let changed = 0
  12. for (const [file, lineNumbers] of targets) {
  13. const lines = readFileSync(file, 'utf8').split('\n')
  14. for (const n of lineNumbers) {
  15. const i = n - 1
  16. const line = lines[i]
  17. const m = /font-size:\s*calc\((\d+(?:\.\d+)?)\s*\*\s*var\(--u/.exec(line)
  18. if (!m) {
  19. console.log(`SKIP ${file}:${n} (未匹配) -> ${line.trim()}`)
  20. continue
  21. }
  22. const old = Number(m[1])
  23. const next = Math.round((old + 1) * 10) / 10
  24. lines[i] = line.replace(m[0], m[0].replace(String(old), String(next)))
  25. console.log(`${file}:${n} ${old}u -> ${next}u`)
  26. changed += 1
  27. }
  28. writeFileSync(file, lines.join('\n'))
  29. }
  30. console.log(`\n共修改 ${changed} 处`)