维刻 Vex
GitHub
维刻 Vex / 文档 / 字体资源与许可

字体资源与许可

以下相对文件名均指 apps/vex/assets/fonts 中的资源。

界面与中文正文使用系统字体,不向系统安装字体,也不额外打包 Inter、思源宋体等完整字库。Windows 优先 Segoe UI/微软雅黑,Apple 平台使用系统字体/苹方,Android 使用系统 Roboto 与中文回退,Linux 复用已安装的 Noto/系统字库。书卷排版优先系统宋体;缺少衬线中文字形时回退到可用的系统中文字体,因此各平台字形允许有合理差别。

代码内嵌 Cascadia Code v2407.24,两份静态字重 400/600 合计约 0.92 MiB,遵循 CascadiaCode-OFL.txt。原型通过 design/assets/fonts.css 引用同一份字体;源码、行内代码、渲染与编辑代码块均复用它,中文仍使用系统回退。源文件版本与 SHA256 见 sources.json。重建:python scripts/prepare_app_fonts.py <包含 cascadiacode.ttf 和 cascadiacode-OFL.txt 的目录>,需要 FontTools。

PDF 离线导出字体来自 Google Fonts 的 Noto Sans SC,遵循同目录 OFL.txt(SIL Open Font License 1.1)。

NotoSansSC.ttf.z 与 NotoSansSC-SemiBold.ttf.z 分别为字重 400/600 静态 TTF 的 zlib 无损压缩资源,导出时解压。使用 FontTools 4.67.0 从 NotoSansSC[wght].ttf 生成,未修改字形。重新生成:python scripts/prepare_export_fonts.py <变量字体路径>。使用静态实例可避免 PDF 字体解析器把可变字体渲染为默认的极细字重。

Noto Sans SC 只用于离线 PDF 导出,不替换应用界面字体。两份字体从原始 20.2 MiB 无损压缩到约 12.1 MiB,减少约 40%;解压后的字节、字形与字重完全保留。校验值与大小见 pdf-fonts.json。压缩字库不在启动时加载,也不注册为界面字体;仍是字体资源中的主要体积开销。PDF 文件仅嵌入使用到的字形子集。

💬 评论暂未开启
有疑问或建议,欢迎到 GitHub 提交 Issue 参与讨论。
tems[selIndex] as HTMLAnchorElement).click(); } } });