原创:就说我在开发区

趣说CAD,让枯燥生动起来。

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

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

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

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

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

但是这种操作又是一次生效,下次无效的。在下一次打开同一个文件时仍然需要重复同样的操作,这才是如影随形不胜其烦。

字体替换对话框

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

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

看看下面的图片,是一位使用者的字体库截图,看起来是不是非常的复杂呢?还别嫌复杂,这张截图还只是字体库中的一部分而已。

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

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

这样的话,设计者就更加纠结了,多备齐字体无端地增加了“字体库存”,不配字体单独指定替代字体又太麻烦,有没有什么一劳永逸的方法呢?比如,让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,绝对是简体中文语言环境使用者的字体替换利器。

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

Fontalt系统变量的作用

Fontalt系统变量

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

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

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

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

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


字体映射表是什么

字体映射表长成这个样子,先来认识一下:

AutoCAD字体映像文件

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

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

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

而我们之前提到fontalt系统变量则位于shx字体映射的第三次序,优先等级高下立判。

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

字体映射表的编译规则

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

使用任何 ASCII 文字编辑器均可以在字体映射表中更改字体指定,我们可以用Windows自带的“记事本”程序来打开它。

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

字体映射表中的每行均包含字体文件的名称(不含文件扩展名或路径),名称后跟有分号 (;) 及其替换字体文件的名称。替换字体文件名包含如 .ttf 这样的扩展名。

字体映射表的编辑方法

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

jhz;gbcbig.shx

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

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

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

最后,还要提醒各位设计者,在“选项”——“文件”——“文本编辑器、词典和字体文件名”——“字体映射文件”中查看字体映射表路径是否已经关联完毕。

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

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


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

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

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


作者简介:就说我在开发区,致力于创作"有趣又易懂"的CAD技巧文章。

趣说CAD,让枯燥生动起来

上期链接

大批量图纸管理的贴心助手好管家,参照管理器,你值得拥有

cad缺失字体补全工具_CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了...相关推荐

  1. cad缺失字体补全工具_字体下载预览缺失补齐助手-链图云字体助手下载v2.9.1.9 官方版-西西软件下载...

    链图云字体助手帮助您管理本地和云端字体下载,补齐文件缺失的字体,让你随身携带一个超大的字体库,是您值得信赖的字体管家,支持字体一键补齐和一键同步云端本地字体.用户也可通过该软件进行字体的安装和卸载,是 ...

  2. 重磅!革命级AI代码补全工具,这款撸码利器让程序员界沸腾了!

    我们平时写代码的时候,多少都会依赖编辑器的代码补全功能,敲几个字母就能补全一个词.可是这么多年过去了,语言升级了很多次,而代码提示却没有升级,还是只能限定在一个词,毫无意义地按照字典表顺序排列,这对于 ...

  3. github 搜索_Fzf:Golang开发的Github高星系统模糊搜索补全工具

    工欲善其事,必先利其器,常使用Linux命令终端的人都知道,bash默认情况下提供了很多便利的功能,比如TAB命令补全等,CTRL+R命令搜索等,但是这些功能往往有这样或者那样的问题致使不够尽兴.今天 ...

  4. Linux下命令补全工具bash-completion

    Linux下超强的命令补全工具bash-completion 编写 Bash 补全脚本 参考URL: https://kodango.com/bash-competion-programming 在使 ...

  5. JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率

    1. 什么是AI编程助手 近几年,随着人工智能的迅速发展,AI在各行各业都有所应用. 特别是近两年,面向开发者的AI开发工具也是层出不穷,如GitHub Copilot.Codota.TabNine. ...

  6. sublime text + LaTex 写作生成PDF | LaTex代码自动补全工具 | MiKTeX安装宏包

    交试验报告老师要求用LaTex.本打算用网页版的,但是overleaf啊什么的不支持中文.没办法只好搞个本地的了. 网上看了一堆乱七八糟的东西教程,装完了还不好使,只好自己写. 这是一个目录 1. L ...

  7. 史上最全智能代码补全工具系列——序篇

    近几年,人工智能迅速发展,在各行各业都有所应用,特别是近两年,面向开发者的AI开发工具也是层出不穷,从这些工具中,我们看到了AI能为开发者带来的无限可能性.本系列文字主要介绍目前业界比较实用的几款智能 ...

  8. vim win装_VIM的代码补全工具YouCompleteMe在Windows上的安装攻略

    前言 用VIM写代码也有很多年了,一直使用其内嵌的自动补全.这种补全没有任何语义分析,仅仅根据当前打开的文件,收集所有的单词形成一个补全库.在输入时,根据已经输入的字母,用逐个字母匹配的方式来寻找可能 ...

  9. 20151217jqueryUI--自动补全工具

    自动补全(autocomplete),是一个可以减少用户输入完整信息的 UI 工具.一般在输 入邮箱.搜索关键字等,然后提取出相应完整字符串供用户选择. 一. 调用 autocomplete()方法 ...

最新文章

  1. iOS之HTTP和HTTPS的基本知识和应用
  2. eclipse远程调试失败
  3. What Are You Talking About
  4. 数字图像matlab心得,Matlab数字图像处理的学习建议
  5. Composer - PHP 世界里用于管理项目依赖的工具
  6. 阿里技术专家浅谈微服务架构
  7. python+tensorflow+captcha库:基于TF快速破解验证码
  8. seo该如何防止网站被挂***?!
  9. swift 获得手机IP(运营商IP和WiFi的IP)
  10. 安卓彩虹DS网网站源码去授权版 附详细视频教程
  11. 上位机与下位机的串口通信实践
  12. 上海大华条码称代码_上海大华计价电子秤 使用软件 TM-H 大华条码称设置15KG
  13. qt程序在win10正常运行win7电脑上崩溃
  14. R语言 在R中实现vlookup的功能
  15. 类和对象6:相关内置函数
  16. 你的设备遇到问题,需要重启;我们只收集某些错误信息,然后为你重新启动。
  17. JS中的click事件无反应
  18. 聚合支付PC端-支付宝
  19. 【数据结构】线段树的扩展与应用
  20. gitee如何删除仓库

热门文章

  1. rails3高端observer模式
  2. 第四篇: UpdatePanel 控件--触发机制Triggers
  3. 19.多个版本的Netcat概览
  4. 13、图解Elasticsearch容错机制:master选举,replica容错,数据恢复
  5. 文本文档代码大全简单_简单4步搞定PC版微信多开,不再重复切换
  6. java抽象方法特点_java-抽象类的特点
  7. Python:IPython性能度量
  8. 著名的用户界面设计准则
  9. Spring Cloud学习(一)
  10. avalon2学习教程11数据联动