之前介绍了文字样式使用中可能遇到的问题,以及打开图缺少字体应该如何处理,今天再来具体说说字体可能导致出现哪些问题。
之前遇到过各种各样的字体问题,这里将之前遇到的各种跟字体相关的问题系统整理一下,让大家在遇到类似问题的时候马上能判断出是什么原因,而且知道如何去解决。
在介绍问题之前,首先大家要了解一下CAD使用字体的一些基本原则:
- 字体并不是多多益善,够用就好!
- 不光缺字体会导致问题,多了字体也会导致出现各种问题!
- 只将要用的字体拷到字体目录中,而不要将下载的字体库全部拷贝到字体目录中。
- 不光CAD的FONTS目录下的字体会被搜到,拷到CAD任何支持文件搜索路径的字体都会被搜到,图纸目录中的字体也会被搜到。
- 如果不同搜索路径下有同名的字体,只有第一个被搜到的字体会起作用,后面搜到的字体会被忽略。
- 同名的字体不一定相同,不同名的字体却有很多是相同的。
一、对话框出现乱码原来是字体的问题!
之前很多人都遇到过对话框乱码的问题,如下图所示。
一开始我都没有CAD界面显示乱码会跟CAD的字体有关系,最后通过排查发现果然如此,在网上流传很广,本公众号也提供了下载的字体库中有一些操作系统的TTF字体,其中有一个字体SIMSUN.TTC有问题,如果将这个字体拷到CAD的FONTS目录下就会导致CAD的一些对话框出现乱码。
解决办法就是:将CAD字体目录下*.TTC*.TTF这类字体都删除。
二、脚本*.SCR执行不正常原来也是因为多了字体?
同样的脚本在同事机器上执行正常,在自己机器上却执行始终不成功,以为少字体,将同事的字体全部拷贝过来还是不行,最后发现原来是多了个字体。脚本中想使用的是操作系统的宋体,但由于字体目录下有一个宋体.shx,跟操作系统文字重名了。但在用命令方式输入文字的时候,使用SHX字体多一个垂直选项取消确认,从而导致了脚本无法继续执行。
三、选择了宋体怎么文字是空心的或者还是单线字体?
想在字体列表中选择一种操作系统的字体,如宋体,结果没想到选择了一个宋体.SHX或宋体.TTF.SHX,其实使用的还是CAD的字体,只能是空心或单线的,是无法创建出操作协同字体的粗线填充效果的。
四、CAD的字体目录中字体完全相同但打开图纸文字显示还是不同
这种问题也遇到过好几次,明明一台机器的两个版本CAD或两台机器上的CAD的FONTS目录中的字体完全相同,但同一张图纸在一个CAD中可正常显示,在另一个CAD打开却无法显示,或者打开后文字显示效果不相同。
遇到这种情况,我们首先要记得不光FONTS目录下的字体会起作用。先看看图纸所在目录下是否有字体,在看看CAD有哪些支持文件搜索路径,在这些路径搜一下,看是否有同名的字体。
可能图纸使用的字体在这些目录中而不是在FONTS目录中,又或者这些目录中有同名但版本不同的字体被线搜索到了。
五、图纸用的是操作系统的字体换了机器打开文字却显示问号了
图纸中用的是操作系统字体,保存的时候显示一切都正常,但换了一台机器打开时,没有提示让替换字体,却发现这些文字会变成了问号。操作系统字体为什么也会找不到呢?
图纸是在XP操作系统上保存的,选择一种XP系统中的字体:仿宋_GB2312,而WIN7以上系统没有的操作系统字体。
如果此图纸在XP操作系统下打开,文字就不会出现问号,因为字体就可以正常读取,XP系统中此样式的字体名显示如下图所示。
在高版本操作系统上不仅没有这个字体,即使从XP系统上将对应的字体文件:simfang0.ttf复制到高版本WINDOWS的FONTS目录下,字体也无法识别,文字仍显示为问号。
因为CAD默认有替换字体:simplex.shx,TTF字体找不到时自动替换成这种字体,这样就不支持中文了,中文就会显示为问号。
六、有字体为什么有些字符还会显示为问号
比较常见的是图纸中的一些特殊符号,例如钢筋符号显示为问号,当然也存在其他情况。跟画图的人使用的相同的字体,我们打开的时候仍然会有问号呢?
因为字体名是可以随意改的,同名的字体可能有不同的版本,出现问号就是因为我们使用的字体版本缺少某些字符。
因为没有原图使用的字体,也无法判断们使用的字体是否是原图使用的字体,只能是再去找找文件名相同但跟我们使用的字体字节数不同的字体文件,替换后试试看是否能恢复正常。
七、明明有同名的字体CAD为什么还提示缺字体呢?
开图时提示缺字体,但去字体目录下看明明有同名的字体,却为什么找不到呢?
这种情况比较少见,是前几天刚遇到的,是以为图纸中使用了一种小字体,文件名居然跟比较常用的符号形文件相同,字体目录中同名的符号形文件是无法用来替换小字体的。
八、图纸中的文字不显示或显示为问号?
在CAD低版本无论是缺字体或字体却字符,文字都会显示为问号,但到了AUTOCAD高版本,如果文字使用的字体没有找到,文字根本就不显示。
这个才是真正的缺字体的问题,解决办法之前已经讲得很清楚了:最好能找到原图使用的字体并复制到CAD的字体目录下,实在找不到只能用其他字体替换了。
九、为什么文字会显示为乱码?
有时图面上的文字不是显示问号,而是显示一些我们不认识的文字,大家统统把他称为乱码。乱码的原因有好几种,有些可以想办法解决,有些则无法解决。
1、选用了错误的字体
如果是繁体文字我们使用了简体的大字体,或者使用了日文、韩文的大字体,根据文字编码在字体文件中找到的字符跟原文字完全不相同,因此看上去会比较乱。
遇到这种情况只需要在文字样式里换一下大字体看一下,看是否有哪个大字体能使文字显示正常。
2、图纸文件代码页错误
每张图纸都有一个代码页,这个代码页是针对不同国家不同语言的,比如中文的代码页是ANSI_936,中文繁体的代码页是ANSI_950,如果是一张中文简体的图纸,代码页给保存成了ANSI_950,所有文字都会解析错误,导致显示乱码。至于为什么会出现代码页错误,可能跟低版本的CAD和操作系统的语言设置有关系。
如果整篇所有的文字都乱码,可以输入DWGCODEPAGE命令查看一下代码页,也可以自己想办法存成DXF文件处理一下。
3、文字编码保存错误
如果图中其他文字都显示正常,只有一段文字显示乱码,而且其他使用相同文字样式的文字也正常,这种情况说明这段文字的编码的保存时候已经错了。估计跟保存和打开低版本有关系,这种情况遇到很多次,但束手无策,只能看看以前还有没有备份图纸文字显示正常,可以拷过来,如果没有,只能是重写了。
如果将默认的保存格式设置为2004及以下版本,可能出现这种问题的几率会比较高,因为低版本是非UNICODE的,高版本是UNICODE的。
上面总结了我之前遇到的各种由于字体引起的问题,可以看到缺字体并不是最难办的,缺字体去找字体就好了,找不到就换一种,很多时候出现问题是因为多了字体和用错了字体。所以再次提醒大家:
字体目录只保存用到的字体,不要随意改字体文件名,一张图不必使用太多字体。