初入 Vibe Coding 成果介绍

  最近用 Codex 一通 Vibe Coding,试着做了两个项目,分别是「Sarasa Ui PropDigits」与「Windows System Font Modifier」。拢共应该花了 500M Tokens。下面是两个项目的 README.md 的摘录。

  10 月 11 日更新:现在应该花了 5B Tokens 不到。

更纱黑体 Ui PropDigits SC

Sarasa Ui
Sarasa Ui

为什么要制作它?

  曾几何时,我试图使用更纱黑体(Sarasa Gothic)作为 Android 手机的默认字体(因为个人更喜欢 SF Pro / Inter 而非 Roboto),但由于修改软件只支持一个字体,我需要一个可变字体。但可惜的是,原版更纱并不支持,我只好自己动手,用 Codex 中的 GPT-6 Astra 制作了本字体的可变版本;静态版本以及比例宽数字则是源于我对其成为 Unigram / Windows 默认字体的需要。

  而到了 2026 年 8 月,随着上游、各个工具链(如 Node 版本)及我自身需求的更新,我用 GPT-6 Astra 将版本号刷到了 1.0.40(上游更新的是 Mono 版本,与本项目没有直接关系),同时添加了 chws / vchw 这两个 OpenType 特性,以方便在不能使用 CSS 的 text-spacing-trim 的情况下启用标点挤压。

简介

  Sarasa Ui PropDigits 是面向中西文混排的更纱 Ui 衍生字体。当前版本为 v1.0.42,上游同步到 Sarasa Gothic 1.0.42;2026-10-06 修订版同步更新该 tag 的源码和 Release 发布文件。

  字体菜单中的家族名缩写为 Sarasa Ui PD <地区>,可变系列为 Sarasa Ui VF PD <地区>,本地化名称同样使用 PD。字重名称不缩写;文件名和 ZIP 名仍保留 PropDigits。

  六地区共 12 个 VF、144 个原生静态 TTF。每地区提供可变、hinted 静态、unhinted 静态三个包,加上三个全地区包,共 21 个 ZIP;不制作 TTC 或 SuperTTC。

地区CJK 字形来源OS/2 码页范围 1
CLSource Han K 基底,Shanggu Sans TC 1.028 的传统旧字形及 CJK 全宽破折号0x8010019F
SCSource Han Sans SC0x8004019F
TCSource Han Sans TC0x8010019F
HCSource Han Sans HC0x8010019F
JSource Han Sans J0x8002019F
KSource Han Sans K0x8028019F

  CL 的公开 cmap 和 layout 按 Sarasa Ui CL 的地区边界裁剪;西文标点仍使用 Source Han K。静态字体的 post 使用 format 3,不人为生成持久化字形名称。家族名、样式、实例名和 PostScript 名一起更新,并检查 Windows 的 31 字符限制。

下载与使用

以 SC 为例:

包名内容
Sarasa-Ui-VF-PropDigits-SC-TTF-1.0.42.zip正体、斜体两个可变 TTF
SarasaUiPropDigitsSC-TTF-1.0.42.zip六字重正斜体,共 12 个 hinted 静态 TTF
SarasaUiPropDigitsSC-TTF-Unhinted-1.0.42.zip六字重正斜体,共 12 个 unhinted 静态 TTF

  只接受单个字体文件且支持可变 TTF 的工具,可选对应地区的正体 VF;斜体另有文件。实际字重、语言、文字系统和 OpenType 特性由应用选择。字体本身不包含 Android 或 Windows 的系统字体替换工具。

  从旧版升级后,请在应用字体菜单重新选择带 PD 的家族;文件名沿用 PropDigits,内部家族名已更新。

字重

公开坐标样式Source Han 内部坐标Inter 坐标
200ExtraLight250200
300Light300300
400Regular400400
600SemiBold500600
700Bold700700
900Heavy900900

  350 仅为隐藏 avar 锚点,CJK 与 Inter 均映射到 350,不提供命名实例。构建先应用 Source Han public axis,再重映射 Inter 的 gvar 和 GPOS 变化;顺序不可反转。公开 600 是 Source Han Medium 500 与 Inter SemiBold 600 的组合。

Windows System Font Modifier

为什么要打造它

  起初,我长期习惯于使用 4K 分辨率的显示器,可在我接触 Vibe Coding 以后,因为各种众所周知的缘故,我被迫拾起了家中那台饱经风霜的 Surface Go 3(屏幕分辨率为 1920 x 1200)作为远程桌面用机。可由于 Windows 设计糟糕的默认字体(同样字号,Chrome 中的思源黑体看上去十分优雅,而输入法中的微软雅黑却是古老的像素风格)与其渲染机制(短暂地试用过 MacType,其实效果不错,但其覆盖面太窄),我只好拿出 Codex 使用 GPT-5.5 做出了此脚本。

这是什么

  这是一套 Python 脚本,能把 Windows 系统界面字体换成你电脑上已经安装好的字体。

  这个工具是离线的:不下载字体,不访问网络,不自带字体文件。你先在 Windows 里安装好想用的字体,然后用本工具把它生成成 Windows 系统 UI 会识别的 surrogate 字体,再写入相关注册表。

它能改什么

  它会尽量覆盖这些地方:

  • 传统 Win32 界面:文件资源管理器、旧式对话框、部分桌面程序。
  • DirectWrite / WinUI:设置、开始菜单、任务栏、搜索、部分输入法界面。
  • 中文 fallback:Microsoft YaHei / Microsoft YaHei UI。
  • 英文 UI:Segoe UI / Segoe UI Variable。

  它不会覆盖微软原始字体文件,例如:

  • segoeui.ttf
  • SegUIVar.ttf
  • msyh.ttc