cad自动替换字体怎么解决(CAD一直显示simplex替换)

导读:字体映射表是CAD的配置文件之一,随程序启动加载,通过修改其内容,可以对缺少的字体进行替代,解决字体缺失的困扰。今天将从字体缺失现象入手,分析原因并提出解决的方法,修改字体映射表是有效解决字体缺失的方法之一。

全文约2800字,阅读时间约需6分钟。

引言 字体不全好烦,逐个指定替代字体又好繁

字体缺失,CAD操作中的“老大难问题”,与外部参照、打印样式、线型的缺失并称“四大恶人”,CAD使用者虽然深恶痛绝却又无可奈何。

当收到外单位的CAD图纸后,打开文件,弹出“指定字体为xxx”的对话框,需要在右侧的“大字体”栏中选择想要用以替代的字体,非常麻烦。

但是这种操作又是一次生效,下次无效的。在下一次打开同一个文件时仍然需要重复同样的操作,这才是如影随形不胜其烦。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

字体替换对话框

配齐字体看来是解决问题的办法,毕竟缺什么就准备什么是解决问题的第一反应。

没错,但是这样又会造成另外一种问题:字体冗余严重

看看下面的图片,是一位使用者的字体库截图,看起来是不是非常的复杂呢?还别嫌复杂,这张截图还只是字体库中的一部分而已。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

备齐所有字体很麻烦又很繁琐

有些字体可能只是用过一次或者几次,然后就要一直沉睡在字体库中,被束之高阁,无人问津。

这样的话,设计者就更加纠结了,多备齐字体无端地增加了“字体库存”,不配字体单独指定替代字体又太麻烦,有没有什么一劳永逸的方法呢?比如,让CAD在打开文件时自动将字体库中不存在的字体用已有的字体代替,这种方案是否可行呢?

当然可以,我们可以通过修改“字体映射表”来实现我们的目的。

下面,我们就从字体文件开始,一步一步地理清字体缺失的原因以及如何解决字体缺失的困扰。


字体缺失的原因

浅谈CAD字体类型

CAD中使用的两种字体分别Truetype字体和shx形文件。

其中Truetype字体与Windows字体库一致,例如我们在文本编辑软件中使用“仿宋”、“宋体”、“黑体”、“Times New Roman”等。

而shx形文件字体则只在AutoCAD中使用,因为其是以CAD图形对象的形式存在的,所以在节约系统资源方面表现出色。

我们经常使用的中文shx形文件字体被称作亚洲大字体 SHX 文件

亚洲字母表包含数千个非 ASCII 字符。为支持这种文字,CAD程序提供了一种称作大字体文件的特殊类型的形定义。

用户可以将样式设定为同时使用常规文件和大字体文件。

以shx形文件字体为主的图形在“移动”、“缩放”等加入了重新生成过程的文件明显要比Truetype字体(如宋体等中文字体)为主的图形表现要更为流畅。

所以,shx形文件字体成为了设计者们的首选。

造成字体种类繁多的主要原因:shx形文件字体的可编译性

顾名思义,形文件的以“形”为主,在CAD中,“形”是一种图元对象,其用法与块类似。

与形相比,块更容易使用和插入。但是,对于程序而言,形的存储和绘制则更加高效。正是这个明显的优点,才使得设计者们对其视若珍宝。

形文件定义方式以编译方式实现,这样就给其最终的使用结果造成了极大的不确定性。

在一个设计团队、设计院所等标准化普及程度较高的设计环境下,会根据自身的设计需求编译一些特定的shx形文件字体,一方面是设计需要,另一方面则隐含其所使用字体标准的独特性。

在多年的CAD使用过程中,逐渐形成了一部分常用Truetype字体的形文件转化,如fs.shx代替了仿宋,kt.shx代替了楷体等,在公共使用的形文件部分一般来说不会有太大的问题,而在特殊形文件字体的编译则千奇百怪层出不穷,这也正是造成了字体缺失的根本原因。

关于替换字体

关于替换字体,我们需要记住一个简体中文的通用字体shx文件:gbcbig.shx,作为替换字体的“万金油”,万物皆可gbcbig,绝对是简体中文语言环境使用者的字体替换利器。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

gbcbig适用于简体中文设计环境

Fontalt系统变量的作用CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

Fontalt系统变量

如果图形中指定的字体当前不在系统中,将自动使用用户指定的替换字体取代该字体。

默认情况下,将使用“simplex.shx”文件。

如果要指定不同的字体,通过修改 FONTALT 系统变量来输入替换字体文件名,或者通过在系统的选项中予以手动修改。

以上内容从字体缺失的原因入手,逐步介绍了大字体以及大字体的替代,这一切都是为了最终解决问题而做铺垫,接下来,我们就进入今天的重点环节:

巧用字符映射表,解决字体缺失困扰。


字体映射表是什么

字体映射表长成这个样子,先来认识一下:CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

AutoCAD字体映像文件

其文件名称为acad,扩展名为fmp。

字体映射表是文字字体及其替换字体的列表,在无法找到图形中使用的文字字体情况下,可以通过编辑字体映射表用已有的字体替换缺少的字体。

从字体映射表的替换规则来看,在替换ttf字体、shx字体和pfb字体时都被归类为第一映射次序,具有最高的优先等级。

而我们之前提到fontalt系统变量则位于shx字体映射的第三次序,优先等级高下立判。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

字体替换的映射顺序(优先等级)

字体映射表的编译规则

字体映射表是带有 .fmp 扩展名的普通 ASCII 文本文件。

使用任何 ASCII 文字编辑器均可以在字体映射表中更改字体指定,我们可以用Windows自带的“记事本”程序来打开它。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

字体映射表可用“记事本”打开

字体映射表中的每行均包含字体文件的名称(不含文件扩展名或路径),名称后跟有分号 (;) 及其替换字体文件的名称。替换字体文件名包含如 .ttf 这样的扩展名。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

字体映射表的编辑方法

例如,可以在字体映射表中输入以下内容,以指定用“gbcbig.shx” 字体文件替代“jhz”字体文件,编译格式如下:

jhz;gbcbig.shx

保存后,重新启动CAD使字体映射表加载成功,之前选择代替字体的对话框将不再出现。

当然,字体映射表的编辑是纯手动输入的,在有多个字体缺失的情况下,需要一点一点地将替代规则输入进去,虽然麻烦,但是确实一劳永逸的,当然我们也可以借助excel的“&”功能提前将需要修改的内容编译好再粘贴进去,这样也会节省一部分时间。

辛辛苦苦编译的字体映射表当然要保存好,建议作为常用的配置文件定期进行保存,如备份在移动存储或云存储中,以免前功尽弃从头再来。

最后,还要提醒各位设计者,在“选项”——“文件”——“文本编辑器、词典和字体文件名”——“字体映射文件”中查看字体映射表路径是否已经关联完毕。CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了

检查字体映射文件的路径是否存在关联

在某些设计院所的标准化系统中可能会移动到其他的位置,并不一定与CAD程序的字体映射表绑定,如果没有关联成功,那才是白忙了一场,也空欢喜了一场。


对于CAD工具软件,设计者既是使用者,也是管理者。

当CAD中的一些功能为我们造成了一定的困扰时,我们就要通过学习、研究来发现解决问题的方法,更好地了解软件的内核功能,也能够让软件为我们的设计过程提供更加全面的支持和协助。

探索举步维艰,然而乐在其中。