CADXChange
购买

指南/文字与标注

一次性修复整个 AutoCAD 项目中缺失的 SHX 字体

使用 TextSync 制作

更新于 September 26, 2026

打开一张图纸时 AutoCAD 弹出的"缺少 SHX 文件"对话框,这张图纸的文字样式使用了这台电脑上没有的字体

打开一张来自合作方或旧项目的图纸,AutoCAD 先停下来提示缺少 SHX 文件 —— 打开下一张又提示一次,再下一张还是。不管它继续用的话,文字会换成替代字体显示:中文、日文或韩文变成问号,间距变了,打印出来的图纸也和当初发出去的对不上。

常见的解决办法要么只能一张图一张图地改,要么只在你自己的电脑上有效:在 STYLE 对话框里逐个改样式、用一个别人都没有的字体映射文件,或者到处拷贝缺失的字体 —— 前提是还有人留着这些字体。这些办法都没有真正修好图纸,下一个打开它的人还会遇到同样的问题。

本教程使用 TextSync 的 Batch Edit Styles,把整套图纸中的所有文字样式列出来,标出哪些指向了这台电脑找不到的字体,一次写回就全部改成你的标准字体 —— 然后在同一个界面里统一整套图纸的宽度因子。

1. 载入图纸,看看缺了哪些字体

打开 TextSync,在标题栏的切换按钮中切换到 Batch Edit Styles。点击 Add Files… 选择图纸 —— 每个文件中的所有文字样式会立即读进同一个表格,每张图纸的每个样式各占一行。

在这台电脑上找不到的 Font 或 Big Font 会以红色显示,表格上方的提示栏会列出缺失的字体文件,以及有多少个样式、多少张图纸用到了它们。TextSync 查找字体的位置与 AutoCAD 相同:图纸所在的文件夹、AutoCAD 配置中的支持文件搜索路径、AutoCAD 的 Fonts 文件夹,以及 Windows 字体文件夹。

勾选 Show only missing fonts,隐藏所有没有问题的样式。

2. 选定替换字体

SHX 文字样式有两个字体位置。Font 负责拉丁字母和数字;Big Font 负责中文、日文或韩文字符。缺失的 Font 可以换成你们公司统一使用的字体 —— txt.shx、simplex.shx 和 romans.shx 是每个 AutoCAD 都自带的。缺失的 Big Font 需要换成另一个大字体,AutoCAD 为每种语言都装了一个:简体中文用 gbcbig.shx,繁体中文用 chineset.shx,日文用 extfont.shx,韩文用 whgtxt.shx。

Font 和 Big Font 下拉框列出的是 AutoCAD Fonts 文件夹中的 SHX 文件,已经按 AutoCAD 自己的文字样式对话框的方式分成普通字体和大字体。你也可以直接输入文件名,比如放在共享支持路径上的公司字体。

请选择每个会打开这些图纸的人都有的字体。只有你电脑上才有的字体,只会把缺字体的提示转移给下一个人。

3. 在所有图纸中替换字体

先把表格缩小到要修改的行。在 Font 列标题的筛选框里输入缺失文件名的一部分,就只剩下使用该字体的样式 —— 覆盖列表中的所有图纸。

在 Batch edit 栏里勾选 Font,选好替换字体,点击 Apply to All。它会作用于当前筛选显示的每一行,无论是否选中。缺失的大字体可以同时勾选 Big Font,一次一起替换。只勾选你要修改的字段:没有勾选的字段绝不会被改动。截图里还顺便统一了宽度因子 —— 详见第 5 步。

红色标记会随着修改实时更新,当不再有缺失字体时,提示栏就会消失。

替换样式的字体只会改变字体本身。文字高度和宽度因子保持原样,包括手动调整过宽度因子的单行文字。

4. 写回并在 AutoCAD 中检查

点击 Write Styles Back。只有你修改过的样式才会被写入,没有任何样式被修改的图纸完全不会被动到;确认对话框会说明要写入多少张图纸。

保持 Automatic backup 勾选 —— 每张图纸在修改前都会先复制到备份文件夹,之后随时可以用 Restore Backup… 恢复,即使 TextSync 已经关闭。

在 AutoCAD 中打开其中一张图纸:修复过的样式不会再触发缺少 SHX 的提示,文字也以新字体正常显示。

写回后在 AutoCAD 中打开的电气配电盘图纸,注释以替换后的字体正常显示

5. 在同一界面统一宽度因子

同一个批量编辑栏还能完成文字样式整理的另一半工作。由多个模板拼起来的项目,经常出现同一个样式在一张图里宽度因子是 0.7、在另一张图里却是 0.8 的情况。

按样式名筛选,勾选 Width Factor,输入标准值,点击 Apply to All。写回时,使用该样式的每一个单行文字(DBText)都会改为新的宽度因子,模型空间和所有布局都包括在内。MText 保留它自己的格式。

Fixed Height 的用法相同,但只在大于零时生效:Fixed Height 为 0 表示该样式不固定高度,现有文字保留各自的高度。

如果有些图纸缺少某个标准样式,Create Text Style 会把它添加到每一张还没有同名样式的已载入图纸中,已有同名样式的图纸会被跳过。

这个方法不涉及的情况:缺少 SHX 的提示还可能来自直接在 MText 内部应用的字体(在 MText 编辑器里选的,而不是通过样式)、附着的外部参照 —— 它的样式名为 XREF|样式名,需要在外部参照自己的图纸里修改 —— 或者复杂线型用到的形文件,例如 ltypeshp.shx。如果写回后 AutoCAD 仍然提示缺少 SHX 文件,原因就是其中之一。

红色标记只反映这台电脑的情况。放在只有同事的 AutoCAD 才会搜索的文件夹里的字体,在这里会显示为缺失;如果每台要打开这些图纸的电脑上都有这个字体,就没有必要替换。

关于每个界面和设置的完整说明,请参阅 TextSync 文档。想在自己的图纸上试用,可以下载 TextSync —— 免费版每批最多可处理 10 张图纸。