网上看到有人问这样的问题,文字高度设置是165,但发现写出来的汉字尺寸比165大很多,如下图所示。
问这个问题的却是够细心的,我之前还真没有注意到这个现象,为什么会这样呢?我们不妨设置几种不同的文字样式,分别写几个字母和汉字对比一下。
CAD默认的文字样式STANDARD使用的字体是ARAIL字体,如果使用此文字样式书写多行文字,英文会使用ARAIL字体,而中文会自动替换仿宋字体,我们先来书一行包含大小写字母和汉字的文字,看看各类字符的高度如何,如下图所示。
从这张图可以看出大写字母的高度跟设置的文字高度是相同的,小写字母中类似bdfh的字母与大写字母登高,aeoiu等字母高度比较下,gpqy等字母高度是300,只是下移了,而汉字高度明显差了不少。汉字被替换成了仿宋,字体跟英文不同,是不是因为这个原因导致高度不同的呢?
下面我可以分别设置几种文字样式,字体分别设置成ARIAL,仿宋,TXT.SHX+HZTXT.SHX,然后分别写上字母A和汉字,看一下文字高度有什么规律,如下图所示。
通过比较发现,操作系统的英文字体ARIAL的字母A高度和宽度都正好是300;而中文仿宋字体中的字母高度是300,但宽度明显小于300,只有200多一点,而“字”的宽度和高度都接近400;而CAD字体TXT.SHX中的英文大写字母和HZTXT.SHX中的中文高度都是300,宽度是200左右。
通过上面的对比我们对不同类型文字的字高有了一定的了解。操作系统的TTF字体中的大写字母与汉字高度本身就不相等,其实在WORD里也能看出来,如下图所示。
WINDOWS的仿宋字体中大写字母和汉字的高度比接近于3:4,如果用仿宋字体,可以尝试按照上述比例算一下,比如想让汉字的高度是300,可以将字高设置为225。但不同的汉字字体中字母和汉字的比例并不完全相同,有些字体的汉字甚至高度会低于300,如下图所示。
如果使用CAD内部的SHX字体就相对于简单多了,大写字母和汉字的高度都基本跟字高一致。用SHX字体不仅可以相对精确地控制字高,显示数据也要比TTF文字少很多,因此建议大家使用SHX字体。