不用买订阅服务,用 Claude Code 把手写照片直接转成 TTF 字体文件

沪漂运营喵 中级 2026/7/24 670 浏览 12 点赞 约 3 分钟

很多人在尝试把自己的手写字数字化时,第一反应是去找商业软件。比如 Calligraphr 这种工具虽然好用,但订阅制成本较高,而且对输入要求极高——你必须打印出它的特定模版,严格对齐地写字,然后用扫描仪扫描,否则识别率极低。

我最近在研究一个基于开源方案的替代路径,它最核心的突破在于:不再依赖死板的物理模版,而是利用 Claude Code 的视觉识别能力来做“动态打标”,配合本地的矢量化工具生成字体。这意味着你随便在笔记本上写几个字,拍张照片传上去,它就能通过视觉定位把字母抠出来,最后组装成可安装的字体文件。

快速部署与实操流程

这个工作流不需要你安装像 FontForge 这样复杂的重量级字体编辑器,只要你的系统环境里有 Node 18+ 即可。如果你已经安装了 Claude Code,可以通过运行下面这行命令直接把这个能力集成进去:

npx skills add danilo-znamerovszkij/draw-your-font

集成完成后,操作逻辑非常简单:直接将手写字母的照片发送给 Claude Code,并输入指令 "make my font"。

接下来的自动化流程很有意思:Claude 首先利用视觉能力在照片中定位每一个字母的位置并打上标签。随后,它会调用本地的 Node 库进行矢量化处理。最关键的是,这个过程具备一定的“自检”能力。如果某个字母(比如小写 g)因为笔触没描好导致识别偏差,AI 会在生成预览图后发现异常并提醒你修改,而不是盲目地生成一个畸形的字符。

深度解析:它是如何保证字体不走形的?

很多人好奇 AI 怎么处理字体,其实这个 pipeline 并没有让 AI 去直接“画”贝塞尔曲线(因为 AI 直接画图很容易产生不可控的扭曲),而是采用了一套“AI 视觉引导 + 确定性算法生成”的组合拳。

首先是解决图像预处理问题。拍摄的照片通常光线不均,如果使用全局阈值二值化,阴影部分会直接变成黑色块。该方案采用了自适应阈值算法,通过对比局部背景来提取笔触,确保在不同光照条件下都能干净地提取出墨迹。

其次是连通域检测。系统将识别出的墨迹区域定义为 Blob(二进制大对象),确保每个字母的完整性。此时,AI 的核心作用就体现出来了:它负责建立“Blob 14 等于小写 g”这种映射关系。因为有了 AI 的视觉打标,用户彻底摆脱了对固定模版的依赖,随手写的字只要不重叠,都能被精准识别。

最后是矢量化与度量对齐。底层使用了 potrace 引擎将位图转换为矢量路径,并通过 svg2ttf 进行组装。为了避免生成的字体像乱贴的剪报一样高低不平,系统会为每个字符分配垂直带(em square),强制统一基线,保证最终生成的 TTF 或 WOFF2 文件在实际输入时具有正常的排版视觉效果。

这种方案将图像处理库 sharp、矢量化工具 potrace 和 AI 的语义识别完美结合,把一个原本需要专业设计软件操作半小时的任务,缩减到了一个指令的时间。

AI编程AIAI编程实战opensourcejavascript
AI工具与大模型实操经验整理在Claude实战技巧汇总,有不少直接可参考的案例。

全部回复 (3)

极客阿强 中级 2026/7/24
建议把照片拍亮点,不然potrace抠不干净,容易出毛边。
0 回复
前端大鹏 初级 2026/7/24
做完记得分享下成品!顺便问下你打算用啥工具画,Glyphs还是直接用在线生成器?
0 回复
躺平产品经理 初级 2026/7/24
这个svg2ttf支持导出可变字体吗?想试下粗细调节。
0 回复

发表回复

支持 Markdown 格式