# 手把手教你用 AI 造一套自己的字体

> 龙虾AGI通用实验室 · 2026-11-02

我用 AI 做出了一套能安装使用的字体：格里灰丝体，收录 6788 个汉字和 18 个标点，覆盖国标 GB2312 的全部 6763 个汉字。

我自己造字，是因为别人的字不好看。市面上的字库，包括不少毛笔字库，字写得很丑，我不喜欢，所以想做一套自己喜欢的。

这篇文章讲完整做法。写字、切字、打包都能交给 AI，真正的门槛是人工选字：我仔细挑一遍，大约花了 6 到 7 小时。AI 对字好不好看没有判断力，这一步省不掉。

## 开始前要准备什么

准备	用来做什么

ChatGPT 账号和 Codex 命令行	批量写字

Python、potrace、fontTools	切字、描字、打包

一个会写代码的 AI	写全部脚本和挑字页

至少一整天的空闲时间	逐字挑选

脚本不必自己写，把下面每一步的要求讲清楚，让 AI 写就行。

## 第一步：定风格和写哪些字

先让 AI 写几种样张，挑到满意再批量写，因为后面所有字都照它写。我试了写经体、文人札记、行楷抄本三种，每种 9 个字，最后选了行楷抄本：以楷为主，带少量连笔。

![](images/287111/img_001.jpg)

字表可以直接用 GB2312 的 6763 个汉字，日常简体文章基本够用。再加上常用标点和你自己要用但表里没有的字，我就多加了 18 个标点和 25 个字。

## 第二步：用 AI 批量写字帖

写字用 Codex 命令行调用画图，一共 757 张字帖，每张写两遍，得到 1514 张图。每张字帖是 3×3 的格子，只写 9 个字。一张图塞太多字，每个字分到的像素就少，笔画会糊。

每张字帖都上传两张图：

**风格样张**：告诉 AI 要写成什么样。

**标准字形图**：用电脑字体按相同位置印好这 9 个字，告诉 AI 每个字的结构。

第二张图最关键。只给文字提示，AI 写生僻字很容易写错，有了标准字形图就准得多。

提示词要把全部硬性要求写清楚：

纯白底，不要纸纹，方便后面切字。

格线很细，字占格子七成，任何一笔都不能碰线。

除了 9 个字和格线，不要其他文字、印章、落款。

容易写成繁体的字，直接列出来，比如“财（不是財）”。

我用的提示词是这样的，换成你自己的风格描述和字就行：

不要运行任何命令，只用图片生成。 请生成 1 张正方形字帖图片：纯白色背景，3 行 × 3 列的方格，格子用很细的浅灰线画出，每格一个简体汉字，用毛笔写在格子正中。 书法风格：完全照第一张参考图（风格样张）的写法。笔画有粗细轻重，起笔收笔有笔锋，不要墨团，不要像电脑字体。 我还上传了一张“标准字形图”，就是要写的这 9 个字，位置一一对应，每个字的笔画结构必须和它完全一致。 每个字约占格子七成大小，任何一笔都不能碰到格线。背景必须是纯白，不要纸纹。除这 9 个字和格线外不要任何文字、印章、落款。 从左到右、从上到下：第1行：……；第2行：……；第3行：……。

调用时把两张图一起传进去，提示词走标准输入：

cat 提示词.txt | codex exec --skip-git-repo-check -i 风格样张.png -i 标准字形.png -

脚本要能断点续跑：画好的图跳过，额度用完就等到恢复再继续。这么大的量不可能一次跑完。

## 第三步：切字和机器筛查

程序把 1514 张图切成 13612 个单字候选，每个字两份，并顺手给每份标上疑点。

切字有一个细节：AI 画的格子不一定绝对等分，所以不能按三等分硬切，要在等分位置附近找真正的格线。找到格线后，再清掉字周围的碎墨点。

机器查三件事：

**碰线**：笔画是否碰到格子边，碰了切出来就会缺一截。

**偏小**：字是否写得太小。

**形差**：和标准字形比，是否差得太远。

这些检查只能标出可疑的字，字好不好看它判断不了。

## 第四步：人工选字，这才是人力成本大头

造字最费时间的是选字。6806 个字、每字两份候选，我仔细挑了一遍，大约花了 6 到 7 小时。这是按两段连续挑字的速度估算的：76 分钟挑了 1252 个，37 分钟挑了 768 个，平均每个字只有三四秒。

这一步不能交给 AI，因为它对字好不好看没有判断力。机器预选按的是和标准字形的相似度，最后的结果差很多：

我确认的 6774 个字里，有 1574 个没选机器预选的那份，约占 23%。

机器标为“和标准字形差得远”的 682 个字，最后只有 11 个两份都不行。

我标为“都不行”的 32 个字里，有 21 个机器根本没标出来。

挑字页是让 AI 做的，每页 40 个字。每张字卡左边是电脑字体印的标准字形，右边是两份候选：

选中的一份会自动保存，不必一次看完，可以抽空分批挑。

两份都不行就点“都不行”，放进重写名单。

机器标出的可疑字显示为红色，提醒多看一眼。

建议分批挑，不必一次看完。每确认一批，就重新打包一次字体，边挑边用。

重写时，这 32 个字每个再写 4 遍，共 16 张字帖，大约 22 分钟写完，得到 128 个候选。其中有 2 个明显写错：“躐”写成了“源”，“躞”写成了“躐”，先去掉再交给我挑。

## 第五步：打包成字体文件

图片要先描成矢量轮廓，再装进字体文件。我用 potrace 描字，用 Python 的 fontTools 生成 OTF 字体。

直接描出来不能用，因为 AI 每张字帖的大小和粗细都不一致。打包时要统一两件事：

**大小和位置**：每个字参照电脑楷体里同一个字的外框。专业字体里“口”本来就比“国”小，照着它定，不要把每个字都撑满。

**笔画粗细**：笔画多的字本来就细一些，所以先从整套字拟合出“繁简程度对应多粗”，偏粗的收细，偏细的加粗。

6806 个字全部重描一次大约 30 分钟。我把每个字的描字结果缓存下来，只改少数字时大约 5 分钟就能打完。

字体文件里还有两项容易漏的信息：

**中文字体名**：在 Word 的字体列表里才会显示“格里灰丝体”。

**简体中文标记**：标明字体支持 GB2312，软件才能明确知道它是中文字体。

## 第六步：装到 Word 里使用

字体做好后在 Word 里实测通过：能在字体列表里找到，文字正常显示，导出的 PDF 也嵌入了这套字体。

![](images/287111/img_002.jpg)

**1.**右键 格里灰丝体.otf，选“安装”。

**2.**关掉并重新打开 Word。

**3.**选中文字，在字体框里选“格里灰丝体”。

有两点要注意：

别人的电脑没装这个字体时，直接发 Word 文档会显示成别的字体。可以导出 PDF，或者把字体文件一起发过去。

导出的 PDF 比较大：我测试的一页文档有 6.7 MB。

## 踩过的坑

最大的坑都不在写字上，而在工具和规则的细节上。

**机器查不出全部错字**：我之前做的另外三套字体，机器筛查后仍有错字，我逐页核对又标出 178 个。从那以后，每个字都必须人眼确认才能进字体。

**笔画少的字被加粗**：样句里“一二三”特别显眼。全套一查，原来粗细规则在笔画很少的字上推算过头，把“一”从 21 加到了 30，“人”从 18 加到了 31。改成尽量保留这些字原来的粗细后就正常了。数字是 512 格字身上的像素宽度。

![](images/287111/img_003.jpg)

## 这套字能做什么

格里灰丝体适合排纯中文内容，比如文档、标题和带古意的文字。GB2312 的字都有，日常简体文章基本够用。

它目前没有这些字符：

**数字和英文字母**：会由其他字体代替显示。

**繁体字和大部分生僻字**：部分人名、地名用字也没有，比如“镕”“喆”“堃”。

不过也得承认，这套字里可能混杂了几种不同的风格。字是 AI 生成的，而它对字体风格差异的判断并不好，不同风格的字难免会混在一起。重新生成和人工挑选的成本又都很高，没法反复修到完全统一。所以在书法专家眼里，这套字可能会显得有些杂。不过对我们普通人来说，已经够用了。
