限时优惠上线特惠 · 一次买断仅 $9(原价 $19),全档位同步折扣截止 2026-06-30 · 剩 28

把你的手写字变成字体:从一张格子纸到一份 OTF 的完整流程

2026/06/02

我学到从"模型能生成漂亮的单字"到"一份 OTF 能在 Word 里正常打开"之间,大概隔着六周的 FontForge 脚本。

这句话不是抱怨,是我做 MoFont 之前的真实进度条。那时候我以为最难的是"让 AI 写得像我",后来才发现,把六千多个漂亮的字图拼成一份系统能识别、Word 能打开、不会在某个字上崩掉的字体文件,才是真正吃掉时间的地方。

所以这篇我想把整件事拆开讲清楚:手写字变字体,到底分哪几步,哪条路适合你,以及那些"网上教程不会写、你自己撞上才知道"的坑。

先说结论:有两条路

把手写字做成字体,本质上就两条路,区别只在于"哪部分由你扛"。

第一条:全手工(硬核路线)。 又分两个分支。一是老派做法——你准备一份覆盖常用字的字稿表,逐格手写,然后用 FontForge 这类工具逐字描轮廓、调字面、设字宽。覆盖 6500 常用字意味着你要写 6500 个格子,再处理 6500 个轮廓。二是稍微聪明一点的做法——你只手写几百字当样本,自己训练一个生成模型补齐剩下的字,再用脚本把生成结果灌进字体文件。

第二条:辅助路线(MoFont)。 你只负责"写",剩下的训练、生成、矢量化、装配、修字距全部自动化。

我两条路都走过。下面分别说,顺带说清楚第一条路上大多数人是在哪一步放弃的。

硬核路线:为什么大多数人会在中途放弃

如果你只是想做"几个字的标志"或者"店招",纯手工描字是可行的,甚至更可控。但只要你想要一份"能当输入法用、打什么字都有"的完整字体,问题立刻变质。

中文常用字 6500 个起步,这不是"多写一会儿"的量级。我自己写到第 800 字的时候,手已经开始变形——前一百字写得端正,后面越写越潦草,做出来的字体风格自己跟自己打架。这是第一个坑:手写一致性。人不是打印机,你的"横"在第 50 字和第 5000 字不是一回事。

就算你扛过了写字,真正的硬骨头在后半段。每个字图要变成字体,得经过描轮廓(把像素图变成矢量曲线)、定字面框、设左右边距(side bearing)、设字宽,还要处理 hinting(让字在小字号下不糊)。这些用 FontForge 的脚本接口能批量做,但"能批量做"和"做对"中间全是细节。

我被卡最久的一个坑,是 importOutlines 导入轮廓时 Y 轴是翻转的。位图坐标系原点在左上、Y 向下;字体的坐标系原点在基线、Y 向上。你不处理这个,导入的字全是上下颠倒的,而且报错信息根本不会告诉你"因为坐标系反了"。我对着一屏倒立的"永"字调了大半天才反应过来。

类似的坑还有一堆:em 方阵该设多大、基线放哪、字宽不统一导致排版忽宽忽窄、生成的轮廓有自交叉导致某些字渲染成黑块……每一个单独看都不难,叠在一起就是六周。这就是为什么大多数人写完几百个字、生成出漂亮的单字预览之后,卡在"怎么变成一份能用的 OTF"这一步,然后放弃。

底层规则本身是公开的,微软的 OpenType 规范写得很清楚——问题从来不是没文档,是文档假设你已经懂字体工程。

辅助路线:MoFont 的实际流程

做 MoFont,本质就是我把上面那六周封进了一条流水线,让你只保留"写字"这件你本来就会的事。

具体五步:

1. 打印 A4 格子纸

从 MoFont 下载样张,A4 打印出来。每张纸是若干个田字格,印着要你抄写的字。别用太薄会透墨的纸,普通打印纸就行。

2. 用同一支笔写 30–50 个字

这一步决定了字体的下限。几条经验:

  • 全程用同一支笔。 圆珠笔、中性笔、毛笔都行,但别写一半换笔——笔锋一变,模型学到的就是"两种字"混在一起。
  • 写到边、写满格。 别在格子正中间缩成一小团,模型需要看到你字的真实大小和重心。
  • 自然地写,别太用力端正。 这点反直觉:很多人一上来就想"我要写得好看",结果写出一手不像自己的"作文本体"。模型要学的是的字,不是楷书范本。放松写,你日常什么样就什么样,最后才像你。
  • 光线均匀。 拍照那步会感谢你。

30–50 个字是覆盖足够风格样本的舒适量。

3. 逐张拍照上传

手机正对着拍,光别打偏、别有手影压在字上。逐张传进 MoFont,系统会自动切格、对齐、识别每个字。这一步你不用做任何对齐工作——当年我是手写脚本切格的,现在它自己来。

4. 模型训练约 3–4 小时

上传完,模型开始学你的风格。这一步在后台跑,大约 3–4 小时,你可以去干别的。下面那节"幕后发生了什么"会讲它具体在算什么。

5. 拿回 OTF + TTF,覆盖 6500 常用字

训练完,你下载到一份 OTF 和一份 TTF,覆盖 6500 常用字。这俩格式的区别不用纠结:Mac/Windows 装哪个都行,设计软件偶尔挑格式,所以两份都给你。

幕后发生了什么(快速祛魅)

不想看技术细节可以跳过这节,但我觉得知道原理能让你更会写样张。

风格学习。 模型从你那 30–50 个字的样本里,学的不是"逐字临摹",而是抽象出你的风格——你的笔画粗细、起收笔习惯、结构松紧。这类做法在学界叫 few-shot / one-shot 字体生成,比如 FontDiffuser 这篇论文就是用扩散模型,从一个参考字推及整套字库。所以你不用写满 6500 字,几十个有代表性的字就够它推断其余的。

生成全部字形。 学到风格后,模型按这个风格把 6500 个字一个个画出来,输出的是字图(位图)。

矢量化。 字体不能是位图——放大会糊。所以每个字图要描成矢量轮廓(贝塞尔曲线),这样任意字号都清晰。

装配成 OTF/TTF。 这是最后、也是当年最磨我的一步:把 6500 个矢量轮廓塞进字体文件的正确位置,设字宽、边距、基线,加 hinting,写好命名表让系统认得它。前面说的 importOutlines 翻 Y 轴、自交叉、字宽不齐,全在这一步被自动处理掉了。

一句话:模型负责"像你",字体工程负责"能用"。MoFont 是把这两半都做完交给你。

拿到字体后怎么用

文件到手,就是一份普通字体,跟你买的任何商业字体用法完全一样。

安装。 Mac 上双击 OTF/TTF,在字体册里点"安装",参考苹果官方的字体册说明;Windows 上右键字体文件选"安装",或拖进字体文件夹,参考微软的添加字体说明

使用。 装完重启一下 Word / Pages / PPT,字体列表里就能选到它(名字是你在 MoFont 设的)。设计软件如 Photoshop、Figma、Procreate 也一样能用。从此打字就是你的笔迹。

授权与价格。 MoFont 是买断制,做一次拿一份,不订阅、不按月扣费。导出的字体无水印,需要商用的可以选含商用授权的方案,价格都在定价页


说到底,"把手写变字体"听起来像魔法,拆开看就是两件事:让机器学像你的字,再把结果工程化成一份合格的字体文件。第一件事这些年被 AI 推得越来越好,第二件事——那六周的脏活——本来就不该是你来扛。

你只管写,带着你写错别字、横平竖不那么直的那只手。剩下的交给流水线。

—— 砚秋

顾砚秋

顾砚秋