同事发来一份图纸,双击打开,AutoCAD 开始连续弹窗:“缺少 SHX 文件”,让你指定替换的字体。你不知道该选哪个,一路回车,弹了五六个窗口之后图纸总算打开了,文字却全变成了问号。这种场面,CAD 用户几乎人人都经历过。一位遇到同样问题的小红书用户完全懵了,说不知道 SHX 是什么,系统要求找指定的替换文件,但根本不知道该选哪个。小红书这类提问最近一直在冒,用一篇知乎教程的话说,打开别人发的 CAD 图纸,经常就是文字全变成问号或者乱码,根本没法看。知乎遇到这种情况,多数人的第一反应是去找一份"CAD 字体大全 6000 种",一次装完一了百了。但翻完知乎、小红书上几十个 CAD 乱码求助帖和教程帖之后,我发现了一件反直觉的事:大多数人装的字体都白装了。因为大家口中的"乱码",其实是四种完全不同的问题,只有其中两种靠装字体能解决。先看对照表:
打开时看到的现象 | 真实原因 | 装字体有用吗 |
|---|---|---|
连续弹"缺少 SHX 文件"窗口 | 缺 SHX 形字体 | 有用,但要选对替换字体 |
不弹窗,文字直接变问号 | 缺 TTF 字体或样式映射失效 | 有用,但要改映射 |
不是问号,是一堆不认识的字 | 文件编码问题 | 没用 |
建筑图问号加方块,看图软件里却正常 | 天正自定义实体 | 没用 |
第一种:连续弹"缺少 SHX 文件"窗口
这是最显眼的一种。打开图纸时,AutoCAD 把缺的 .shx 字体名字列出来,要你逐个指定替换。有知乎作者形容过这种感受,不管是指定替换还是直接忽略,打开之后图纸显示多多少少都有问题,烦死人。知乎先补个背景:CAD 的字体分两类,一类是 .shx,AutoCAD 自家的形字体,体积小,老工程图里特别常见;另一类是 .ttf,就是 Windows 系统字体,比如宋体、仿宋。别人画图时用了一些你机器上没有的 SHX 字体,CAD 找不到,就只能弹窗问你要替换。

标准处理其实就两步,小红书上有作者总结过,第一步选择"为每个 SHX 文件指定替换文件",第二步在字体下拉框里,把大字体换成 gbcbig.shx。小红书gbcbig.shx 是 CAD 自带的中文"大字体",覆盖绝大多数常用汉字,选它之后,教程里的说法是大字体选择 gbcbig.shx,图纸即可正常显示。知乎

但有两个提醒。第一,gbcbig.shx 只是兜底不是万能,治本的办法是找发图方要一份他用到的字体,把 .shx 文件放进 CAD 安装目录的 Fonts 文件夹。第二,替换完有些图纸文字会挤在一起、位置偏离,那是新旧字体字宽不一致导致的宽度因子问题,不是缺字体,再装多少字体也救不了。小红书上就有帖子专门问这个问题,CAD 图纸文字挤在一起,位置也全部偏离?小红书这种要去文字样式里调宽度因子,方向别搞错。
第二种:不弹窗,文字直接变问号
图纸安安静静打开了,字却全是问号,一般是两种情况。
第一种是缺 TTF 字体,最典型的就是仿宋_GB2312。早年不少公文、设计院图纸爱用它,而新系统里只有"仿宋",名字差一串字符,CAD 就认为是两种字体,直接渲染成问号。有小红书用户就发出过灵魂拷问,为什么我有这个字体还是显示问号。这就是典型的"字体在,但名字对不上"。
解法是把映射改对:在命令行输入 ST,回车,打开文字样式对话框。知乎找到显示问号的那个样式,把它的字体指到你机器上真正存在的字体,比如把仿宋_GB2312 改成仿宋,应用即可。

第二种情况更隐蔽:本来该弹窗,但你曾经勾过"不再显示",或者不小心关掉了提示。想让它回来,路径是输入命令 OP,打开选项对话框,点击系统,点击隐藏消息设置,再勾选"缺少 shx 文件"。小红书弹窗回来之后,按第一种处理就行。
第三种:不是问号,是压根不成字的乱码
如果图纸里出现的不是问号,而是一堆完全看不懂的字符,那多半是编码问题。典型来源:网上买的素材包、非 CAD 软件转出来的 DXF、从海外发回来的图纸。有知乎用户就撞上了,在闲鱼上买了 CAD 素材,下载后用 CAD 打开显示全是乱码,不知道是文件本身有问题,还是自己缺字体或设置。知乎这一类的关键判断是:文件里的文字编码本身就坏了,信息到你手上之前就已经"坏掉",装多少字体都救不回来。正确动作是找发图方,让对方确认编码后重新导出,或者干脆发原始 DWG。买来的素材出现这种情况,直接找卖家换,这是对方的问题,不是你的字体问题。
第四种:建筑图问号加方块,多半是天正实体
这是最容易被误诊的一种。国内大量建筑图是用天正建筑(以及天正结构、天正暖通等)在 AutoCAD 基础上画的,这些软件会在图纸里写入大量"自定义实体",纯 AutoCAD 不认识,文字就变成问号、墙体变成方块。识别特征很明显:选中那些问号文字,看特性面板,这类对象的类型往往显示为 ACAD_PROXY_ENTITY。
小红书上有个现场案例很典型,之前用天正多行文字画的图,现在用天正打开变问号,但用浩辰看图打开反而能看到文字。小红书注意,这种情况和字体完全无关,装什么字体都是问号。

解决办法两个:一是装上与画图方匹配版本的天正(或对应天正专业软件)再打开;二是让发图方在天正里把图纸"整图导出"成纯 CAD 格式,也就是业内常说的 T3 导出,协作时这是最省心的做法。
两种容易混进来的"假乱码"
顺手把另外两个常被误当成图纸乱码的问题也说清楚。一种是屏幕上看着正常,一打印、一导出 PDF,字体就没了或变问号,这属于打印设置和字体映射的问题,要动的是打印配置,不是装字体。另一种是 CAD 自己的菜单、对话框、选项板都乱码,那是软件安装或系统区域设置的问题。小红书上有帖子专门讲这个,经常有人碰到选项板文字乱码,打开打印界面、标注样式界面,全是不认识的字。小红书这种重装软件、检查系统区域设置,比折腾字体有效得多。

为什么不推荐无脑塞"6000 字体库"
先说一个很多人的真实体验:字体塞了一堆,乱码照样没好。知乎上有回答总结得很直白,一打开全是问号、文字乱码、字体缺失,折腾半天装字体也没用。知乎不弄清乱码的原因,装字体就是碰运气。
而字体库教程的套路都差不多,在使用 CAD 打开图纸过程中,经常出现缺少字体、文件内容显示不全,其实很好解决,下载字体库,安装缺少的字体就可以轻松解决。知乎听起来很美好,但一次塞几千个字体,有三个代价:
版权风险。SHX、TTF 字体各有版权方,动辄打包几千个字体传播的字体库,几乎必然包含未获分发授权的商业字体。自己本地装着装也许没事,装进公司电脑、用在商业项目里,是有风险的。
同名覆盖。批量安装时,同名字体会覆盖你系统里原有的字体,本来能正常打开的图纸反而可能被打乱。
利用率极低。每张图纸真正用到的字体就那几个,几千个字体绝大多数只是静静躺在硬盘里占空间。
字体库背后还有一条引流链。一篇小红书"字体免费领取"帖的评论区,三百多条评论几乎全是"求字体",甚至有人直接留言已关,求一个字体库。小红书你需要的其实不是字体数量,而是判断出自己属于哪种乱码。另外提醒一句,搜这类教程时还会混进不少"快速看图"类软件的软文,打着"不用装字体,打开就能看"的旗号,注意分辨。
三件现在就能做的事
如果你是收图方(多数人是),按自己的行业备一个最小必备包,比 6000 字体库轻得多:
通用看图、机械:gbcbig.shx、hztxt.shx,加宋体、仿宋
建筑专业:再加匹配版本的天正系字体
结构专业:再加探索者结构的 tssdeng.shx、tssdchn.shx(钢筋符号字体)
放置位置一个原则:.shx 放进 CAD 安装目录的 Fonts 文件夹,.ttf 直接安装到 Windows 系统字体里。字体库教程里那句经典操作可以直接照做,shx 字体,复制里面 6088 个 shx 字体,到 CAD 安装目录 Fonts 里面。知乎路径照搬即可,动手前建议先把原 Fonts 文件夹改名备份,出问题随时能还原。

如果你是发图方,两个习惯能省掉后续无数麻烦:发图前用 CAD 的"电子传递"(eTransmit)功能,把图纸、字体、外部参照打成一个包,对方再也不会弹一个窗口;天正图纸先做 T3 导出再发。如果是团队协作,统一一套文字样式规范——标注用什么字体、说明用什么字体——比囤任何字体库都有效。
写在最后
字体是图纸世界的方言,每个设计院说自己的话,每张老图纸都有自己的口音。下次遇到乱码,先别急着下载字体包,对着上面的表格看一眼:是弹窗、是问号、是乱码,还是方块?分清了症状,问题就解决了一半。