免费下载应用软件、交流使用经验。

软件下载 经验交流 软件开发 专题论述 请君留言 网站介绍 休闲时光 返回主页
 
DOS中文标准亟待统一

作者:本人     来源:本站

    尽管许多人翘首以盼的Windows 95已经粉墨登场,尽管Windows 95创下了正式发布后四天内就零售100万套的销售记录,但并不等于就此宣告了DOS操作系统的死亡。在我国,一方面由于大多数人已经习惯了DOS的操作,一下子还较难适应Windows不断变化的图形界面(Windows 95与Windows 3.1的用户界面有较大的差异,从Windows 3.1转换到Windows 95有些不习惯);另一方面由于资金的窘迫,一时无法容忍Windows 95对硬件配置的奢求(目前国内大多数单位的硬件配置为386CPU、4M内存,离Windows 95正常运行的硬件要求相去甚远)。所以DOS操作系统仍将被很大一部分用户继续采用,与此相配套,DOS中文平台也仍将拥有相当的市场。最近一个时期国内的中文平台厂商纷纷推出其DOS中文平台的升级版本就足可以证明这一点。
    自从八月份以来,希望、天汇、中国龙等许多国产中文平台厂商纷纷推出了其升级换代的版本,给本来就不平静的DOS中文平台市场增添了新的活力。这些DOS中文平台除了具有性能优异的汉字显示功能和文字处理功能之外,大部分还具有丰富的、各具特色的特殊显示和特殊打印功能。利用特殊显示功能,用户在应用程序中可以轻而易举地进行汉字放大显示、画几何图形、演奏背景音乐等,甚至可以处理照片和图像文件,为应用程序的界面增添了不少色彩。利用特殊打印机功能,又可以打印输出形式多变、美观大方的文字和图表。按说这些锦上添花的功能,最大的受益者当是用户。但令用户们尴尬的是:由于目前尚无统一规范并强制执行的DOS中文平台国家标准,研制DOS中文平台的厂商大都自行定义了一套实现特殊显示和特殊打印功能的命令格式。甲种中文平台的特殊显示和打印命令到乙种中文平台上就不一定能达到同样的效果,使得用户们处于十分微妙的境地。笔者虽然一时不可能全部领略这些新版本中文平台的风采,也毫无指责研制中文平台厂商的意思。但是,从这些中文平台的旧版本中就尝够了标准不统一给用户所带来的苦衷了。
    例如您在UCDOS 3.1中文平台上编制了一个打印使用记录的模块,为了加强标题的效果,指定了标题用40×40点阵汉字加网格背景打印,其打印命令的格式应为:‘@D%4使用记录'。其中"‘"为特殊打印集合的引导符(即ASC码96),"@D"为选40×40点阵宋体,"%4"为选网格背景。程序若转换到CXDOS V5.0或2.13H中文平台上时,背景却被打印成了竖线,因为在这些中文平台上,选择网格背景的命令应为"%2"。如果说用什么背景打印是无关紧要的问题,可以不予计较的话,那么,移动行距就相对比较重要了。特别是在财务金融系统的应用程序中,为了加快打印速度和减少打印头磨损,许多帐表、凭证或票证大都采用在事先印制好表格的纸上套打的办法。可是,苦恼便随之而来,虽然大多数中文平台改变行距的命令为‘n’(n取0-255),但是,CXDOS V5.0与2.13H中文平台的行跨计算方法却不一样,CXDOS 5.0是指上一行底至下一行顶之间的空距,而2.13H是指两行顶之间的距离,即空距加行(字)高。UCDOS 3.1的行距计算方法基本上与CXDOS 5.0相同,但行距可取负值,也可以仿2.13H的方式,可中国龙2.00则与这些中文平台根本不同,改变行距用‘Ln’(n为十六进制00H-FFH)命令。笔者万般无奈,在编制应用软件时只好不挂汉字打印驱动程序,而直接使用打印机的控制命令。这样虽然可以避免前述麻烦,但又得指定软件使用的打印机种类,而且打印的字体又受到打印机中硬字库的限制。
   在特殊显示命令上也是同样。虽然大部分DOS中文平台的特殊显示命令是以CHR(14)作为引导符,但仍有许多细节是不一致的。例如在UCDOS 3.1中要想在程序封面以48x48点阵的楷体显示"财务管理系统"时,应用"CHR(14)+'[{@P财务管理系统}]"命令,而在2.13H和CXDO S 5.0中却不要其中的一对花括号{}。笔者在编制本单位财务管理系统软件的封面时,开始使用2.13H的画线命令"画"出了"财务管理系统"六个美术字,但是到其他中文平台上却显示不出,因为2.13H的画线过程是:先将点(即光标)用"CHR(14)+"Mx,y]"命令移到所需的位置,再用"CHR(14)+"Yn]"(n为长度)命令向右方向画线(当然可以向上、向下或向左方向画线),而UCDOS 3.1却是用"CHR(14)+"LX1,y1,x2,y2]"(x1,y1为起点坐标、x2,y2为终点坐标)命令来画线的。笔者绞尽脑汁,后来只好用不同颜色的空格在屏幕上组成"财务管理"四个大字(类似FoxPro 2.5 forDOS的封面),保证了程序封面能在任意中文平台上运行。在画线命令中更令人啼笑皆非的是:2.13H用"E长度]"表示向左上方向画线,而同样命令在CXDOS 5.0中却是表示向右上方向画线;在CXDOS 5.0中向左上方画线的命令又与2.13H中向右上方向画线的命令相同。向左下方向和右下方向画线的命令也是同样,在这两种平台上,左右正好相反。
   大多数应用软件都离不开分析模块,而方框图和圆饼图又是图形分析的重要手段。画这些图形又是件棘手的事情。2.13H和CXDOS 5.0是用CHR(14)+"B宽,高]"命令表示以当前点为左下角画方框,而UCDOS 3.1却用CHR(14)+"Bx1,y1,x2,y2]"(x1,y1为左上角、x2,y2为右下角)命令画方框。图形填充颜色更是成问题:2.13H和CXDOS 5.0使用"P内色号,边界色号]"命令、UCDOS 3.1却使用"Fx,yc]"命令(x,y为种子点坐标,c为填充色号)。画圆也是同样:在UCDOS 3.1中,画圆的命令为"CHR(14)+"Cx,y,r]"(x,y为圆心,r为半径),而在CXDOS 5.0中画圆的命令却为"CHR(14)+"Ox,y,r]",UCDOS 3.1中画圆的"C…"命令在这里却成了指定作图的颜色。
   在汉字输入方法的选择上也存在差异:常用的方法是利用Alt+F1至F9功能键选择不同的汉字输入方法,例如Alt+F1选择区位码、Alt+F2选择全拼、Alt+F3选择双拼等等。而中国龙 2.00则利用F11和F12功能键(有时要加Alt键)进行选择。CXDOS 5.0却别具一格,仅利用Alt+Ctrl+Q键轮换选择。当用户习惯了使用某种中文平台的操作时,转换到另一种中文平台上,还真有些令人"措手不及"呢。
   以上仅仅例举了DOS中文平台标准不一致的部分问题,相信用户在使用过程中还会遇到更多的不便。鉴于这些原因,应用程序的编制者为了软件的交流,要么就必须指定本软件使用的中文平台,要么就只好放着现成的特显命令不用,自己去开发所需的特殊显示模块,造成了大量的低层次的重复劳动。而大部分用户为了方便运行不同的软件,往往在同一台微机上安装两种以上的中文平台,根据应用程序来启动所需的中文平台。各种中文平台的字库格式又不兼容,多套庞大的字库文件挤占在有限硬盘空间中,造成了资源的严重浪费。
   受DOS中文平台标准不一致影响的不仅仅是用户,一些应用软件的厂商也难以免"俗",有些厂商在商品化的软件中指定所需的中文平台,有些厂商甚至在商品化软件中自带汉字系统配套使用。
   数年前,中国中文平台技术委员会DOS专委会宣告成立。许多人对此抱以希望,以为DOS中文平台标准从此将走向统一。直至前年9>月8日,等来了DO专委会制定并由国家技术监督局发布的"DOS中文信息处理接口规范国家标准",却仅仅是参考执行的国家标准。标准的具体内容也未见公布。DOS中文平台标准混乱的局面仍然依旧,广大的用户仍然面对眼花潦乱的DOS中文平台标准而不知所措。值得庆幸的是:中文字符集的国家标准并未象DOS中文平台国家标准一样"姗姗来迟"。否则的话,在一种中文平台上显示的精彩绝伦的文章,到了另一种中文平台上就有可能成为谁也不认识的"天书"了。
   笔者认为:鉴于目前国内DOS中文平台技术已经基本成熟,建议有关部门在去年4月1日起实行的"DOS中文处理接口规范"的基础上,修订成强制执行的DOS中文平台国家标准,尽快结束DOS中文平台标准的"战国时代"。

注:本文发表在1996年3月4日《计算机世界》报第9期第41版

发表日期:1999-4-23     修改日期:

备案序号:赣ICP备05002359号

建议使用1024*768分辩率浏览 ☆版权所有 摘抄或转载须得到书面许可☆ Hujiajun ©1999,2016
E-Mail: hu-jj@21cn.com