不用买订阅服务,用 Claude Code 把手写照片直接转成 TTF 字体文件
我最近在研究一个基于开源方案的替代路径,它最核心的突破在于:不再依赖死板的物理模版,而是利用 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 的语义识别完美结合,把一个原本需要专业设计软件操作半小时的任务,缩减到了一个指令的时间。