文/张巨海
随着计算机和自动控制技术的不断发展,机器设备的更新换代不断提速,淘汰落后的产能,这是大势所趋。但是在实际的生产实践中,企业基于各种考虑,一些陈旧的机器设备依旧需要继续使用。Laser BasicForm是美国DATACARD DC7000的一个模块,DC7000是一个模块化设计的产品,采用OS/2 Warp 操作系统和CIS中央发卡系统软件,主要包括写磁、智能卡编程、单色印刷、凸字/凹字打印、烫色、信笺打印、插入信封等功能模块。Laser BasicForm以Olympus Deltis PagePlex 24 M24NS打印机为核心,采用HP LaserJet IIID打印机驱动,在信笺纸上打印客户资料及相关信息后,将前序模块处理好的卡片插入信签纸,最后折叠成Z字型。在可折叠的信签纸上打印汉字(双字节信息)就是其中的一个难题。本文的目的就是为BasicForm打印双字节字符寻找一种切实可行的途径和方法。
(1)在OS/2 WARP P4.0(中文版)操作系统、IBMWorks for OS/2和美国DATACARD公司的中央发卡系统软件(CIS V6.2及以上)的基础上,将CIS制卡数据中的简体汉字通过BasicForm的打印机打印出来,并保证汉字字体的正确、美观(针对点阵字库质量)。
(2)在改造过程中不影响所有硬件设备及软件系统的功能及所有技术指标。
(3)在保留以前所有英文字体支持的基础上,实现简体汉字、英文字体独立或混合排版,字体及类型可自由设定,本项目既不包括繁体汉字的打印,也不包括不同内码之间的数据转换。
(4)支持的字库有四种:黑体、宋体、仿宋体和楷体。
(5)字库标准语种类:GB2312标准,即6763个汉字。
资料显示:BasicForm支持Postscript Type 1兼容字库,但是DATACARD 公司本身不提供这些字库,需要从二级市场购买。因此需要找到一个打印汉字的解决办法。可能的思路如下:
(1)尝试利用OS/2 WARP P4.0、CIS V6.3软件和打印机的软硬件设置解决;
(2)向字库厂家寻找可用的中文字库;
(3)查找可能的转换软件。
按照自己准备的中文打印的测试数据,尝试在BasicForm打印机上打印,主要包括尝试如下设置的改变:主要按照如下思路和步骤进行:“使用打印机内部字体”、打印机“仅缺省字体无效”、将打印机“sys=HP_PCL改为Auto”、打印机增加内存和SCSI硬盘,都证明无效。
从字库厂家找到标准的PostScript字库,支持中文,该字库不是装在打印机中的,而是前段字库。测试结果表明DELTIS PagePlex24是仿真PS打印机,所以不能打印PS字库。因此找厂家的这条路彻底行不通了。
综上所述,经过六天的各种尝试和测试,两种办法穿插进行,结果表明前述第一和第二种解决的思路都行不通。目前只剩下一个可以尝试的方法了:寻找转换软件。
仔细研究DATACARD软件中BasicForm的字库文件,偶然发现POSTNET1.SFP、POSTNET2.SFP和POSTNET3.SFP这三个字库文件,都具有相同的文件后缀*.SFP,那么这是否说明是打印机能够正常识别的字库的格式呢?为了验证这个设想,并节省时间,在CIS Simulator(模拟软件)上进行测试。只要在CIS Simulator能够识别的出这个字体,在实际上机生产中就肯定能够使用。
在银行卡个人化行业里,至少DATACARD公司和Atlantic Zeiser公司都有各自Font Converter,只不过DATACARD公司的Font Converter是为其UltraGrafix(单色平面印刷,简称UG)模块准备字体使用的,而且需要两个转换步骤才能完成;这个字体转换软件的中间结果有一种正好是*.SFP,因此这个结果很可能有用;但是由于这个转换软件的中间结果会被系统自动删除,因此需要及时复制保存。Atlantic Zeiser的Font Converter,是为了给喷墨打印机准备点阵字库的。
(1)打 开Datacard的Fonter Converter软件,从FONT CONSTRUCTION SET的菜单->Font Maker->TrueType->Select Font,选择汉字字库,包括字体名称、字形、大小、效果、颜色,然后“确定”;Make PCL->选择默认文件夹C:FONTCNVTTEMP,将文件保存为类型Portrait [*.sfp],给文件命名,“确定”后,在默认文件夹C:FONTCNVTTEMP中就能看到这个文件了。值得注意的是,这个文件是软件运行的中间结果,必须在退出软件之前复制到别的文件夹保存,否则一旦退出该软件,这些转换后形成的字库文件就会被软件自动清除。
用上述方法制作了三个文件,YouYuan.sfp,YouYuan.vp和HWZS.sfp,其中两个*.sfp文件时PCL格式;大小均为15324;*.vp文件大小均为12628;转换时有选择PCL5,也有未选择PCL5的。文件的大小随着选择的字体名称、字形、大小、效果、颜色不同而不同。
(2)用CIS6.2-11.52 Simulator,软 件
Utilities->File Management->Laser BasicForm->Add,可以找到A:盘的YouYuan.sfp和HWZS.sfp为Laser BasicForm字体。
(3)增加这两种字体时速度较慢。
(4)字体增加后的位置在c:custInserterFont目录下。
(5)增加后的字体大小均为64426byte,而且字体名称是黑色的,说明该字库可用。
(6)后来想到自己还有另外一种Atlantic Zeiser的Font Converter,选择Convert True->Type Font to sfp->Select字体“隶书规则12”->应用->确定->Convert->隶书12.afp(大小为13726);同样方式制作楷体_G12.sfp;
(7)隶书12.afp的大小为13726,楷体_G12.sfp的大小为10126;
(8)直接拷贝到c:custInserterFont目录下,然后在Utilities->File Management->Laser BasicForm中可以看到该两种字体是灰色的,即不可用;
(9)用软件Utilities->File Management->Laser BasicForm->Add,将A:盘的“隶书12.afp”和“楷体_G12.sfp”成功ADD后,大小分别为15502和11902, 而且字体名称是黑色的,该字库可用。
(10)用这个Fonter Converter,分别转换黑体、楷体、仿宋体、宋体,字体大小从8到24(步长为1),按规则体、斜体、粗体、粗斜体分别保存在LaserBasicFormFont目录下,并将后缀改为以字体大小为扩展名的文件(不足三位前面补0);将粗体格式改为“字体粗”;将粗斜体目录下改为:“字体粗斜”;将规则体目录下的字体文件未动;将斜体样式目录下的字体改为“字体斜”。
(11)至此,这两种转换软件都可以用于解决了BasicForm打印汉字的问题。
本研究发现的方法,对于GBK编码同样有效,只是需要安装GBK版本的中文OS/2 WARP P4.0,而且在字体转换时,同样需要用GBK编码的windows。
本研究发现的方法,对于繁体字库同样有效,只是需要安装繁体版的OS/2 WARP TC4.0、而且在字体转换时,同样需要用繁体中文版的windows。