XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
Readme.md

XFE Web CJK:Noto Sans SC 2.004-H2 派生 TrueType

仅用于 Web 缺字回退,静态 Regular 400 与 Bold 700。ASCII、原有拉丁/等宽字体、桌面和终端字体路径保持原样。每个字符先检查当前主字体的真实 HasGlyph;缺字时再检查本字体,成功则使用真实 glyf 轮廓和 advance,否则明确进入原 Unifont 最后回退。不同字体的字形按主字体基线对齐,不把中文作为位图放大。

上游是 Google Fonts 官方仓库的 ofl/notosanssc/NotoSansSC[wght].ttf。官方 Contents API 固定 Git blob fb0637bafbcd804fe32152370a1225990745b4bc,完整 17,772,300 字节输入 SHA256 为 a3041811a78c361b1de50f953c805e0244951c21c5bd412f7232ef0d899af0da。直接下载过慢时通过清单记录的 GitHub 传输镜像取得,最终重新计算的 Git blob 身份与官方 API 完全相同;源字体和官方元数据一并保留,不信任镜像改变预期值。

Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. 原字体与派生字体均采用 SIL Open Font License 1.1,完整正文见 OFL.txt。为明确派生身份,静态字体重命名为 XFE Web CJK,保留原版权及许可证。没有引用或打包 Windows 字体;Noto 与参考浏览器可能采用的微软雅黑/其他 CJK 字体也不保证像素相等。

转换由固定 FontTools 4.61.1 执行:实例化 wght=400/700,生成静态 TrueType glyf,移除变量轴,按现有项目 Unicode bank 的 BMP 范围子集化。不包含 ASCII,不支持补充平面和复杂塑形。保留范围为 U+0080–07FF、U+2000–206F、U+2190–21FF、U+3000–303F、U+3400–9FFF、U+FF00–FFEF、U+FFFD。原字体在这些范围中实际提供 28,184 个 Unicode 映射;请求范围中原本没有的 1,913 个码位在 Manifest.json 的 UnavailableRequestedRanges 完整列出,不将范围声明冒充全覆盖。

完整输入、输出 SHA256、字体大小、字形数、子集范围、工具版本和转换脚本 SHA256 见 Manifest.json。重现:

python -m pip install --target build/FontTools fonttools==4.61.1
$env:PYTHONPATH = "$PWD/build/FontTools"
python Tools/BrowserCompatibility/BuildWebCjkFont.py

转换只处理本目录的固定输入,不会下载或修改其他字体。真实固定 Cosmos TrueTypeFont 的轮廓栅格、字宽和抗锯齿验证由 Tools/BrowserCompatibility/NativeFontProbe 执行;宿主验证不能代替最终 QEMU 截图。