当我们打开从网上下载或他人传给我们的图纸时,经常会提示缺少字体,这种情况非常常见,在百度知道上提这类问题和找字体的人非常多,这确实是一个非常棘手的问题,因为没有字体的话或替换成不匹配的字体的话,图中的文字可能会不显示、显示为问号甚至显示为乱码。

 
  但这个问题确实没有特别好的解决方法!尤其是中国,中文首先是大字体,而且字体种类繁多,命名没有固定规则,名字还可以随便改,网上流传的字体库有2千多种字体,我们从字体文件名可以得到的信息很少,比如我知道像HZFS.SHX是汉字仿宋的单线字体,其他的连我也不清楚。但如果现在出现了HZFS1.SHX和HZFS2.SHX,你也无法知道两个是同一个文件被改成了两个名字,还是同一个文件。
 
  解决这个问题的最佳方法也是企办小编通常建议的方法就是找到并使用原字体文件。
 
  如果图纸是同事或合作单位传给你的,相对好办一点,你可以向他们要缺失的字体。
 
  如果这个字体是你从其他渠道获取的,没法找到原作者,那就只能去网上搜同名的字体了,在我的网盘里也提供了600种和2000多种的字体下载,大家也可以下载看里面有没有你使用的字体。如果有幸找到了同名字体,还不能完全确定它跟图中使用的字体完全相同,如果拷到CAD中图纸打开文字显示正确就最好了。
 
  如果没有找到同名字体,那只能找一个名称类似的字体,将名称改成图中使用的字体名称试一下了。
 
  如果这样的字体也没找到,那只有打开图纸后在文字样式(ST)对话框中将没有的字体改成其他字体,看一下文字显示效果是否正常了。如果用AutoCAD,由于缺字体的文字会不显示,修改文字样式后可能需要保存并重新打开图纸。
 
  总而言之,缺少字体时没有什么投机取巧的方法。
 
  打开图纸时如何自动替换字体?
 
  如果你对使用的字体有一定了解,那我们就可以替换成其他字体。比如说这个字体不是大字体,字体也没有包含什么特殊符号,只包含一些基本的数字、字母和常规符号的话,我们可以替换成其他小字体,例如simplex.shx或txt.shx。再比如说,单位的一些老图使用的字体不符合新的规范或规定,或者合作单位使用的字体跟本单位规定的字体不同,我们希望将缺失的字体统一替换成其他字体。
 
  CAD考虑到这种需要,专门设置了一个字体映射文件,AutoCAD的字体映射文件是acad.fmp,浩辰CAD使用的是gcad.fmp,其他同类的CAD也应该有类似文件,你在目录下搜一下*.fmp就可以。
 
  字体映射文件*.fmp是一个纯文本文件,可以用记事本打开,文件中CAD本身已经设置了一些默认的文字替换规则,浩辰CAD的字体替换文件内容如下。
 
  visiojp;bigfont.shx
 
  visiohg;whgtxt.shx
 
  acaderef;eref.shx
 
  hztxtf;hztxt.shx
 
  hztch;hztxt.shx
 
  cibt;CITYB___.TTF
 
  cobt;COUNB___.TTF
 
  eur;EURR____.TTF
 
  euro;EURRO___.TTF
 
  par;PANROMAN.TTF
 
  rom;ROMANTIC.TTF
 
  romb;ROMAB___.TTF
 
  romi;ROMAI___.TTF
 
  sas;SANSS___.TTF
 
  sasb;SANSSB__.TTF
 
  sasbo;SANSSBO_.TTF
 
  saso;SANSSO__.TTF
 
  suf;SUPEF___.TTF
 
  te;TECHNIC_.TTF
 
  teb;TECHB___.TTF
 
  tel;TECHL___.TTF
 
  前面是图中使用的字体名,分号后面是替换的字体文件。
 
  我们也可以按照这种格式添加需要替换的字体,一旦添加到FMP文件中后,再打开CAD图时缺少这些字体时就不再提示,而是自动替换成设置的字体。
 
  CAD之所以会设置一些默认的字体替换,可能是为了兼容旧版图纸。在旧版图纸中使用的一些操作系统或CAD字体在新版的操作系统或CAD中已经不提供或不支持,此外文字名的保存规则也不太相同,因此需要替换成新版的字体。
 
  我也不明白为什么在国内会出现这么多种字体,估计是上世纪90年代众多的AutoCAD二次开发商根据自己软件的需要定制的,因为对于个人用户来说定制一个字体实在不容易。各行各业对CAD图纸字体使用都是有规范的,如果大家都按照规范使用字体,真正需要的字体可能就十几种,那也就没有这种困扰了。
 
  另外小编提醒大家,千万不要为了省事将自己下载的几千种字体都放到CAD的FONTS目录下,这样不仅不会省事,还会降低效率,一方面CAD要检索几种字体需要时间,我们要在几千种字体中找到自己要使用的字体也很费事。