JavaScript · 项目报告

danilo-znamerovszkij/draw-your-font

Turn a photo of your handwriting into a real font (TTF/WOFF/WOFF2) - free, open source, no uploads. Node CLI + Claude Code skill.

已完成 打开 GitHub
D
434星标
40Fork
1Issue
MIT许可证

分析结果

项目分析

draw-your-font 是一个开源工具,可将手写字母照片转换为可安装和可用于网页的字体文件,支持 TTF、WOFF、WOFF2 和 CSS。项目提供两种使用方式:一是作为 Claude Code skill,通过视觉能力自动识别、标注、预览并迭代优化手写字体;二是作为纯 Node.js CLI,在不使用 AI 的情况下通过字符顺序或模板生成字体。它强调本地运行、无需上传照片、无服务端依赖,适合重视隐私和开源可控性的个人与开发者。

适用领域 字体生成 / 手写字体数字化 / Node.js CLI 工具 / Claude Code Skill / 图像处理 / 矢量化 / 网页字体 / 创意工具 / 设计自动化
配置难度 中等。普通用户使用模板和 npx 命令可以较快上手;前端或 Node.js 开发者集成 WOFF/WOFF2 也较简单。但如果要优化字形质量、处理复杂照片、扩展字符集或二次开发图像分割与字体度量逻辑,需要一定的图像处理、字体工程和 Node.js 经验。
商业价值 该项目的商业价值主要体现在低成本、隐私友好的个性化字体生成。它可用于个人品牌、创作者网站、文创商品、教育材料、活动物料和轻量级设计工作流,能够替代部分在线手写字体生成服务。对中国开发者而言,它更适合作为英文手写字体、品牌辅助字体或字体生成技术原型,而不是完整中文字体生产工具。由于 MIT 开源、无需服务端成本,也适合被集成到本地创意软件、设计自动化工具或 AI Agent 工作流中。
01

技术亮点

  • 完全本地运行,手写照片不需要上传到服务器,隐私友好。
  • MIT 协议,商业使用限制较少,适合个人和商业项目二次使用。
  • 零系统依赖,基于 npm 即可运行,降低跨平台安装门槛。
  • 同时支持 CLI 和 Claude Code skill,兼顾确定性工作流和 AI 辅助交互体验。
  • 支持从照片直接生成 TTF、WOFF、WOFF2 以及网页 CSS,覆盖桌面安装和 Web 使用场景。
  • 提供模板生成能力,相比完全自由书写更容易获得稳定输出。
  • 使用 potrace 矢量化,并处理统一 em-square、cap height、x-height、descender 等字体度量,让输出更像真实字体。
  • Claude Code skill 可帮助识别、标注、预览、评估可读性,并通过自然语言迭代调整。
02

目标用户

  • 希望把个人手写体制作成字体的开发者和设计师
  • 需要为网站、应用或品牌制作个性化字体的前端开发者
  • 使用 Claude Code 的 AI 辅助开发用户
  • 关注隐私、不希望上传手写样本到第三方服务的用户
  • 教育、手账、文创、个人品牌相关创作者
  • 想研究字体生成、图像分割、potrace 矢量化流程的开发者
03

配置要求

  • 运行环境需要 Node.js >= 18。
  • 支持 macOS、Linux、Windows,只要可运行 Node.js 即可。
  • 不需要系统级 FontForge、ImageMagick 或 potrace 二进制依赖。
  • 如果使用 Claude Code skill,需要本机配置 Claude Code,并具备可调用 skill 的环境。
  • 如果不用 AI,需要用户明确提供字符顺序,例如 --chars "ABCabc",或使用模板与 --charset。
  • 输入图片应尽量包含清晰、深色笔迹;虽然项目声称可处理阴影、装订线和较差光照,但高质量照片仍会显著提升结果。
  • 常用参数包括 --smooth 0..2 控制曲线圆滑度,--weight=-2..2 控制粗细,--formats 控制输出格式。
  • 字体名称可通过 --name 指定,字符集可通过 --charset minimal 或 spanish 指定。
04

适用场景

  • 将纸上手写英文字母拍照后生成可安装的 TTF 字体
  • 生成 WOFF/WOFF2 和 @font-face CSS,用于个人网站或产品页面
  • 通过打印模板采集手写字符,提高字体生成质量
  • 在 Claude Code 中通过对话方式修正字形,例如加粗、变圆、调整某个字符
  • 为博客、简历、作品集、海报、文创产品制作个人化字体
  • 离线处理手写样本,避免上传隐私图片到在线字体生成服务
  • 学习从照片到字体文件的端到端处理流程
05

部署与配置

  • 确保本机已安装 Node.js 18 或更高版本。
  • 如使用 Claude Code skill,执行:npx skills add danilo-znamerovszkij/draw-your-font。
  • 在 Claude Code 中调用 /draw-your-font,并将手写照片拖入终端或提供图片路径。
  • 如仅使用 CLI,可直接执行:npx draw-your-font make photo.jpg --chars "ABCabc" --name "My Hand"。
  • 若希望获得更稳定的结果,可先生成模板:npx draw-your-font template -o template.pdf --charset minimal。
  • 打印模板并填写字符后拍照,再执行:npx draw-your-font make page1.jpg page2.jpg --charset minimal --name "My Hand"。
  • 根据需要添加输出格式参数,例如:--formats ttf,woff,woff2,css。
  • 生成后双击 TTF 安装,或将 WOFF/WOFF2 与 CSS 集成到网页项目中。
06

风险与注意事项

  • 当前 README 明确提到 kerning、ligatures、letter randomization 等高级排版能力属于 v2 计划,当前版本可能不适合高质量商业字体制作。
  • 对于中文开发者而言,该项目主要围绕拉丁字母示例,中文汉字字符数量巨大,实际不适合直接制作完整中文字体。
  • 自由拍摄照片的结果可能受光照、角度、阴影、纸张纹理和笔迹连通性影响,需要多次重拍或调参。
  • Claude Code skill 的智能识别和修正依赖 Claude Code 环境,纯 CLI 模式不会自动理解照片中每个字符是什么。
  • 生成字体质量取决于输入样本和分割效果,可能出现字形裁切、基线不齐、字符比例不自然等问题。
  • 项目 star 数中等,生态和长期维护稳定性仍需观察。
  • 若用于品牌或商业设计,仍需人工检查字形、版权声明、可读性和不同平台渲染效果。
  • README 没有展示完整 API 或内部架构文档,深度二次开发可能需要阅读源码。

历史记录

热榜历史快照

2026-07-29 第16名 新收录 · github_search
2026-07-28 第15名 新收录 · github_search
2026-07-27 第25名 新收录 · github_search