充分利用CR3240打印机硬字库及应注意的问题 郑实 王力尧 1994-01-07 为此充分利用CR3240的硬字库取代目前广为流行的“软汉字”方案无疑是合理利用计算机硬件资源的最佳选择。我们知道,计算机所装配的“软汉字”方案是将汉字操作系统CCDOS拷贝到硬盘上,其中CCDOS汉字库分为显示字库和打印字库,通常打印字库是很庞大的,它占用了大量的硬盘空间,而且输出汉字时需向打印机输送要输出汉字的打印点阵。这样就需频繁读取硬盘,既影响了计算机的寿命又降低了打印机输出汉字的速度。利用CR3240打印机的硬字库就是在硬盘上只装载CCDOS的显示字库,不装载打印字库。充分利用CR3240提供的各种硬字库资源输出要打印的汉字。这样既提高了计算机的使用寿命的,同时又提高了打印输出汉字的速度。所以,在事务管理、财务管理等方面有着广泛的应用。 那么如何使用CR3240打印机的硬字库呢?CR3240打印机为我们提供了一系列的控制码,包括字符大小和字距命令、纵向位置控制命令、横向位置控制命令、图象控制命令、彩色打印控制命令等。通过调用这些控制码就能使CR3240打印机输出各种各样的汉字的命令字体、字型、比如CR3240设定汉字字体如下: CODE "U" n DEC 27 117 n HEX 1B 75 n 说明:根据n的值选择汉字字体 CODE控制码助记符 DEX十进制码表示命令 HEX十六进制码表示命令 n 汉字字体 1 24×24 宋体 2 24×16 宋体 3 24×12 宋体 4 32×32 宋体 5 32×16 宋体 6 40×40 楷体 7 40×40 仿宋体 8 40×40 黑体 我们在汉字操作系统上调用相应的控制码就能实现汉字的打印。 如在汉化FOXBASE中打印24×12点阵的宋体汉字命令为: SET PRINT ON PRINT CHR(27)+"u3" SET PRINT OFF 在BASIC中打印24×12点阵的宋体汉字命令为: 10 LPRINT CHR$(27);"u3";"汉字打印" 但是,笔者发现存在这样一个问题:大多数的ASCII码及汉字都可以被打印,但是空格却不能,也就是说我们从键盘输入的空格符号不能与其它汉字一起处理,从而出现输出的格式(报表)左右不齐,影响了打印机硬字库的使用。笔者认为产生的原因在于CR3240打印机硬字库的控制码是由“汉字”的内码决定的,而在汉字操作系统下,空格符号的内码与“汉字”的内码不一致,为此我采用在空白处不输入空格而输入不显示的汉字符号。如区位码5592、5593等产生空白,这样就能与其它汉字一起被处理,比较圆满地解决了这一问题。 当然使用其它带硬字库的打印机如LQ1600K等也可参照此法。这样就使带硬字库的打印机大有用武之地了。