2024年3月24日发(作者:)

什么是CAD大字体

什么是CAD大字体

由于shx字体与windows的truetype字体互有所长,在工程中可取长补短,关于

CAD大字体的问题,恐怕不仅仅要回答字体方面的,可能还要说说更广更多的内容。比

如计算机处理文字的方式,文字编码等方面的内容。

先说说计算机处理文字的方式吧。计算机应该叫做数字计算机,它只能处理数码,储

存的都是数字。而文字是什么呢?是图形。比如汉字结构的横、竖、撇、折等都是图形,

英文也是图形,所有文字都是图形。那计算机如何处理文字呢?必须给文字取个代号,这

就像学校班上每个学生都有一个学号一样。计算机处理文字就像老师点学号一样,点到哪

个号,就代表着那个学号所对应的学生。计算机就是这样处理文字的。

这就出现一个问题了。我这个班可能是只有八个学生的艺术班,学号用一位数表示就

够了。普通的班级可能就不止这些了,可能有三十人,用一位数学号就不够用了,怎么办?

得用两位数表示。八个学生的艺术班也可以用两位数表示,01号、02号....08号,但是两

位数与一位数是不同的。这就好比信封上的邮政编码,有六个框填六个数码。如果有八个

码,六个框肯定就不够用了。计算机储存数码的时候也面临这样的问题,如果文字不是很

多,一个字节可能就够了,如果文字很多,可能就要两个字节,一个字节就不够了。一个

字节可以储存256个文字,两个字节可以储存65536 个文字,四个字节可以储存40多亿

个文字。计算机是洋人发明的,洋文(英文)有26个字母,加上特殊字符和标点符号,也不

会超过256个,只用一个字节就够了。所以,美国国家标准字符集的每一个字符(也就是

ANSI字符、ASCII字符)在计算机里,是用一个字节表示的,而这种编码也称为ANSI码、

ASCII码。那么,ANSI和ASCII是什么关系呢?ANSI是美国国家标准学会的英文名称的

缩写,它是一个很大的组织,涉及各行各业,制定的标准也很多,每个标准都冠以ANSI。

计算机美国国家标准编码也就简称ANSI编码,ANSI编码所对应的字符也就简称ANSI字

符。实际上,这个编码发布的时候起的名字是美国信息交换标准码,英文缩写ASCII,所

以也简称ASCII码,字符简称ASCII字符。这就相当于我们的学名和乳名,学名要冠以姓,

而乳名就不用了。实际都是一个人。

美国的计算机要卖到亚澳欧非拉,美国的软件也要卖到世界各地,语言就多了,256

个字符肯定不够用了,一个字节也放不下了。于是,国际标准出来了,那就是Unicode

标准(简称UCS标准)。Unicode标准的编码称为Unicode编码,对应的'字符称为

Unicode字符。Unicode字符包含了其他国家的文字,当然也包含英文字符,或者说也

包含ANSI字符。Unicode有两个标准,UCS-2和UCS-4。UCS-2最多可以包含65536

个文字,用两个字节储存,通常我们说的Unicode标准就是指这个标准。但是,65536

个文字也不一定够用,据说我国的康熙字典里包含的就不止这么多个文字。于是,另一个

标准,UCS-4就起作用了。UCS-4最多可包含40多亿个文字,足够用了,它采用四个字

节储存。UCS-4只在特殊行业里使用。

通常,以一个字节存储的字符也称为窄字符,以多于一个字节存储的字符称为宽字符。

宽与窄的区别不在于字符本身,而在于字符占用的存储空间的大小。比如,以一个字节存

储的字符“a”称为窄字符,而以汉字形式(Unicode形式)存储的时候就叫做宽字符了。

现在再来说说shx字体。

其实,cad里所称的shx字体和大字体(也叫bigfont),都是autocad自己专用专有

的字体。大字体也是shx字体,是shx字体的一种特殊形式。要说shx字体,还得说说字

体在cad里的发展过程。

上面说了文字和编码的关系。这就好比一个人,他小的时候叫王五,大了以后叫王五,

老了的时候还叫王五。王五这个名字和人是对应上的,这不会错。但是,王五的各个时期

的形象是不同的,四季穿戴也可能不同。于是,字体的概念就出来了。字体实际上是表示

了文字表象的不同。在操作系统的早期时代DOS时代,各个应用软件在文字显示上是超

前的。这也是无奈的做法,微软的操作系统只提供标准的字符显示,满足不了软件的需要。

于是,诸侯争霸,各软件都带有自己的字库,各软件的字库也很少能互通。autocad也有

自己的字库,在fonts目录里。字体文件以shx为扩展名,称为shx字体。最初的shx字

体支持的是ANSI字符,后来扩大到支持非ANSI字符,也就是大字体或bigfont,用双

字节储存,这也就是为什么叫大字体的原因。但也仅作为文字处理上的补丁,要单独指定。

应该说,这个时候的大字体还不一定都符合Unicode标准,于是有时就出现了显示乱码

的现象。shx字体是cad早期的产物,从r14开始,autocad开始支持windows的字体,

这恐怕也是cad发展的趋势。但由于shx字体(包括大字体)是为cad专门制作的,就目前

的情况来看,还有诸多优势,表现在:

1、在dwg文件的存储上占用的空间小,在显示的速度上比较快。特别是文字比较多

的情况下,regen的重显的速度上的差异更明显,在实时移动(pan)的更新上不存在时差

现象。

2、由于windows字体为外来字体(相对于shx字体),在生成及编辑的过程中,还不

能做到完美无缺。比如,truetype字体(windows字体)的文字在移动、拷贝的过程中,

句子的长度可能与实际的长度不同,影响了参考定位。再如,truetype字体的实际高度

可能与指定的高度之间有差异,不能精确地指定字高,只能通过试错的方式确定,影响了

绘图的速度,也影响了编程控制的难度。

3、由于shx字体为线型字体,可以像线段一样指定特别属性,产生特殊效果。比如,

可以指定厚度值,从而产生立体效果。

4、与truetype字体相比,shx字体美观效果不够理想,但在工程中尚可满足需要。

shx字体相当于硬笔书法,在模拟毛笔书法上存有差距。

【什么是CAD大字体】