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