当我们打开一张图纸时弹出一个对话框提示我们缺少字体,或者打开图纸后文字没有显示或显示问号,字体问题几乎每个CAD使用者都遇到过。一旦遇到这样的问题,不仅初学者不知道怎么处理,如果找不到图中使用使用的字体,就算CAD高手也没有办法。
之所以字体的问题在中国尤其突出,只能怪当前中国的这些CAD软件公司制作了过多的字体,而CAD的使用者的使用习惯也不太好。一些设计人员喜欢给字体文件改名字,导致相同的字体有很多的名字,于是你可以下载到两千五百种的字体库,但就算下载了两千种的字体库,却仍然有可能找不到图纸中使用的字体。
因为这种状况,我这里也只能介绍出现字体问题后的一些常规的处理办法,也无法给大家一个万全之策。
一、打开图纸时直接指定替换字体
在打开图纸前,我们并不知道图纸中使用了哪些字体,是否缺字体。在打开图纸时,如果缺字体,CAD会弹出提示对话框,告诉我们图中的使用的字体在CAD的支持文件搜索路径下没有找到。不同版本提示的方式不同。在低版本会直接让我们依次指定替换每种没找到的字体,如果缺的字体比较多的话,替换字体对话框会不停的弹出来,如下图所示。
如果缺的字体比较多,对话框会弹出多次,而如果我们并不知道替换成什么字体合适,就需要反复取消,这完全是浪费时间。
估计不少人提出这样的问题,到了CAD高版本打开图纸检测到缺少字体,首先会弹出一个对话框让我们选择是要依次指定替换字体还是暂时忽略缺少的字体,如下图所示。
如果在这个对话框中勾选”始终执行我的当前选择“并单击”忽略缺少的SHX文件并继续“的话,下次再打开图纸,就算缺少字体也不会再弹出此对话框。
一旦不弹出此对话框,缺了字体也不知道,可能会漏掉一些文字显示的问题,如果想重新打开此对话框,可以到选项OP对话框的系统选项卡的隐藏消息设置中将缺少SHX字体对话框重新打开。
替换字体对话框可以告诉我们缺图纸中用到的哪些字体,可以帮助我们正确地解决字体问题。只有对图纸有一定了解,知道应该如何替换字体才会去直接选择替换字体。
直接替换字体只是临时解决显示的问题,不是正常的解决方案。
二、如何查看图纸缺了哪些字体
开图时弹出缺少SHX字体对话框时我们可以依次查看缺了哪些字体,但如果字体多的话可以用笔记下来,但每个字体都点一次取消很麻烦,因此更多人会直接忽略。
通常我们会到文字样式ST对话框中去查看缺少的字体,打开文字样式对话框后,依次选择每种文字样式,看看哪些字体上有问号的标记,如下图所示。
低版本看起来没有那么明显,找到的字体前有图标,而没有找到的字体前是空白,如下图所示。
知道缺什么字体后才能想办法解决问题。
打开一张别人绘制的图纸时我们最好检查一下文字样式中缺哪些字体,而不要只看到图纸上文字显示有问题时才想起来到文字样式对话框去检查,有些文字可能因为缺字体根本就没有显示。
三、最佳解决方法:找到原图使用的字体并复制到字体目录
无论替换成如何相似的字体,都不能保证文字显示的效果完全相同,就算是同名的字体,如果版本不同,其中包含的字符也不尽相同,也可能会因为缺某些字符导致一些文字或符号显示为问号。
因此,解决缺字体问题的最好的解决办法就是:找到原图使用的字体并复制到字体目录。
找原图使用的字体最好的办法就是找画图的人要字体,但有时我们并不知道图纸是谁画的,这种情况只有自己下载字体库,并到字体库里去找同名字体,如果找到同名字体,跟原图使用字体相同的几率还是比较大的。
为了不给别人带来相同的困扰,我们再将图纸传给其他人的时候,如果用到了比较特殊的字体,最好将字体一起打包发给对方。打包图纸和字体的最简单方法就是电子传递功能。
四、用类似的字体进行替换
如果实在找不到原图使用的字体,可以在开图的时候临时选择一种替换字体,但下次打开还会提示,比较彻底的解决办法那是文字样式对话框中将字体直接换成相似的字体后保存图纸。
CAD中使用的小字体(常规字体)通常就那么几种,国内基本使用的小字体就3三四种,常用的有txt.shx和simplex.shx,如果图中钢筋符号显示为问号,你可以在网上找一下tssdeng.shx字体。如果缺失的是大字体文件,大字体文件你可以先统一替换成hztxt.shx或hzfs.txt等这种字体。
如果对文字没有严格要求,只需要正确显示中文和常规符号,也可以直接使用操作系统字体,如宋体和黑体。
五、设置字体映射文件。
如果有一批低版本图纸,缺字体或者文字样式中字体名没有正确识别导致文字我无法正确显示时,如果仍然需要经常查看这些图纸,我们可以设置一个字体映射文件,在打开图纸时设置一些字体自动替换的规则。
CAD的映射文件是*.fmp,AutoCAD的映射文件叫acad.fmp,浩辰CAD的映射文件叫gcad.fmp。
这个文件是一个纯文本文件,可以用记事本打开进行编辑。可以遇到一种添加一种,例如你可以将所有汉字都映射为hztxt.shx,如下表所示:
hztxto;hztxt.shx
hzdx;hztxt.shx
hztxt1;hztxt.shx
hzfso;hztxt.shx
hzxy;hztxt.shx
fs64f;hztxt.shx
hzfs;hztxt.shx
st64f;hztxt.shx
kttch;hztxt.shx
khtch;hztxt.shx
hzxk;hztxt.shx
Kst64s;hztxt.shx
ctxt;hztxt.shx
hzpmk;hztxt.shx
Pchina;hztxt.shx
ht64s;hztxt.shx
kt64f;hztxt.shx
eesltype;hztxt.shx
用这种方法并不能保证选择的字体就能完全替代原来使用的字体,打开图纸后仍有可能一些文字会显示为问号。
六、替换字体
其实CAD软件本身就设置了一种替换字体,默认的替换字体是simplex.shx,这个字体只会替换图纸中缺少的小字体文件,设置可以在选项对话框中修改,如下图所示。
七、关于万能字体
经常有人问有没有万能的字体,只用一个字体就可以所有图中所有符号都不显示为问号且显示正确。网上搜一下,确实有不少类似的字体包或工具。但我要告诉大家的是:不可能有万能的字体!这种所谓的万能字体只是包含了各种可能的符号和字符,保证所有的字符都不显示问号,但并不能保证所有字符都显示正确。原因很简单,同样的编码在不同字体文件中可能对应的是不同的符号,我找到过两个tssdeng.shx
文件,两个文件中的钢筋符号就是不同的。万能字体虽然可以解决文字显示问号的问题,但可能会让我们忽略到一些错误,所以慎用!
其实如果CAD使用者或某个行业能有统一的字体使用规范,每个设计人员都能规范使用字体,不去修改字体的文件名,可能字体的问题就不会这么突出了。比如说韩国和日本也需要使用大字体,但他们的大字体就只有几种,因此遇到打开图缺字体的问题就很少了。
综上所述,文字出现问号的最佳方法就是找到原字体,找不到时再想其他方法来替换字体。