I'
`@48,48^4&30=0`
I`
            矢量字库汉字打印系统 （包括网络版）

    系统特点：
    1、采用矢量字体，可以无级缩放、字形美观。
    2、实现网络共享打印功能，所有字库及驱动程序均在服务器上，
各工作站均可调用，各个工作站可利用本地打印机打印，也可用网络
共享打印机打印出及其精密的汉字，极大地发挥网络打印机的作用。
    3、支持多达二十种类型的打印机，包括目前最流行的HP PeskJet
500喷墨打印机及彩色打印机。
    4、支持屏幕特显功能
    5、可在 DOS5.0以上环境使用，利用上端内存，可将驱动程序装
在高端。

    系统安装：
    一、安装方法
    将打印系统的1号盘放入驱动器中，执行安装命令
    A>INSTALL A: Z:  或  B>INSTALL B: Y:
    然后按照屏幕提示，插入相应的盘即可完成安装过程。
    执行 CXSPRT 后便可打印。

    二、打印类型的选择
    由于网络上打印机的种类很多，所以本系统采用较灵活的打印机
类型选择方式。打印机类型选择由 CXPS.EXE 文件完成。它有两种选
择方式，即用命令行与菜单选择运行CXPS.EXE不键入任何参数时，则
会出现打印机选择菜单，用户可通过菜单知道某种打印机类型的代号，
如LQ系列打印机的代号为5、HP为10等等。当用户选择使用激光打印机
时（HP系列），还要输入打印机的初始分辨（150. 300DPI）。这样就
完成用菜单形式选择打印机类型的过程。另外，打印机类型的选择还
可通过命令行方式进行：
    即：CXPS  打印机型号可 [分辨率代号]
    其中：打印机类型代号即使用菜单选择时所列出的代号。
    分辨率代号为：    0 - 150 DPI
                      1 - 300 DPI
    例如：C>CXPS 5    选择5号打印机、即LQ系列。
          C>CXPS 10 1 选择HP2打印机、并使用300DPI的分辨率。
    用户通过修改CXSPRT.BAT也可到达适应自己打印机类型的目的。
如果网络上有多种打印机，则可将CXSPRT.BAT改名，以建立多个批命
令，当要使用某种类型打印机时，键入相应的批命令即可。

    三、打印系统的动态装卸
    在DOS操作符中键入CXPOUT可将打印驱动程序卸下，这样就可重新
安装另外的打印驱动程序。

    四、打印命令
    “超想全字符型汉字系统”和“超想全字符型汉卡”的系统配置
中，矢量打印功能非常丰富：可任意改变打印行距、字符间距、字型、
页长、页间空行、左边空、行宽、单双向打印、轻打、打印背景（七
种）、反白、上下划线、左右旋转、上下角标、暂停打印、改变字型
对照表、初始化打印参数等。
    （注意：使用矢量打印命令时"标识符"要成对使用，以避免二义
性）。
    1. 特殊打印命令清单：
    标识符：` （ASCII码为60H）
    格式：  `@字型`
            功能：置字型（A～x，默认A；）

            `@高、宽`
            功能：置打印字体的大小
                  取值范围：1～255（1～2999 CXHF.EXE可用）

            `=字体`
            功能：置矢量字库字体
                 （字体＝0～33）
            “字体”   ＝0，宋体 （简）      ＝20， 宋体（繁）
                       ＝1，仿宋 （简）      ＝21， 仿宋（繁）
                       ＝2，黑体 （简）      ＝22， 黑体（繁）
                       ＝3，楷体 （简）      ＝23， 楷体（繁）
                       ＝4，标宋 （简）      ＝24， 标宋（繁）
                       ＝5，报宋 （简）      ＝25， 秀丽（繁）
                       ＝6，细圆 （简）      ＝26， 细圆（繁）
                       ＝7，准圆 （简）      ＝27， 准圆（繁）
                       ＝8，隶变 （简）      ＝28， 隶变（繁）
                       ＝9，大黑 （简）      ＝29， 大黑（繁）
                       ＝10，魏碑 （简）     ＝30， 魏碑（繁）
                       ＝11，行楷 （简）     ＝31， 行楷（繁）
                       ＝12，隶书 （简）     ＝32， 琥珀（繁）
                       ＝13，姚体 （简）     ＝33， 综艺（繁）
                       ＝14，美黑 （简）


         `$色号`
            功能：置颜色（彩色打印机用）
            其中：色号＝0黑，1红，2兰，3紫，4黄，5橙，6绿
         `@<` 或`@>`
            置纵扩字双向或单向打印（默认单向）
         `&行距`
            功能：置行距（1～255，默认20，详见打印参考数据）
             （注意：此参数设置为0可打印实线报表，即：`&0`）
         `^列数`
            功能：置字符间距（0～255，汉字间距加倍）
         `#页长`
            功能：置页长（0～255，默认为0）
         `*行数`
            功能：置页间空行（0～255，默认为0）
         `[字符数`
            功能：置左边空（0～255，以12列为1单位，默认为0）
         `]行宽`
            功能：置行宽（0～255，以12列为1单位，默认为0）
              或  置上划线打印
         `~列数`
            功能：输出空列（0~2447，一次有效）
         `%0~7`
         功能：置打印背景
         其中：0无背景，1网点，2网格，3横线，4竖线，5右斜线，
               6左斜线，7交叉线
         `{字型对照表}`
            功能：设置字型对照表（单占一行）
         `>`或 ESC+I+>
            功能：置单向打印
         `<`或ESC+I+<
            功能：置双向打印
         `;`
            功能：置抽点打印（浅色打印）
         `\`
            功能：置反白打印
                  置左斜打印
         `/`
            功能：置右斜打印
                  置上划线打印
         `_`
            功能：置下划线打印
         `=`
            功能：置正常打印（开机状态，清以上四项）
         `(`
            功能：置左旋90度打印
         `)`
            功能：置右旋90度打印
         `?`
            功能：置结束旋转打印（开机状态，清以上二项）
         `+`
            功能：置上标字符
         `-`
            功能：置下标字符
         `!`
            功能：置正常字符（开机状态，清以上二项）
         `.`
            功能：暂停打印（按回车键继续）
         `:`
            功能：打印参数初始化（恢复开机状态）
         `" "`
            把两个双引号之间的所有字符和汉字直接送打印机打印
         `w`
             ●在激光打印机上置150dpi（仿针式打印机）

             ●在针式打印机上置80列纸宽
         `W`
             ●在激光打印机上置300dpi
             ●在针式打印机上置132列纸宽
         `*` 或 ESC+I+*
             置空心打印
         ESC+I+N1+N2+
             功能：图象方式打印
             其中：N1为列数高字节，N2为低字节，后随3*(N1*256+N2)
字节图象数据。
         ESC+I+A~x
             功能：置字型（A~x）
         ESC+I+'
             功能：取消功能
         ESC+I+`
             功能：恢复功能
         ESC+W
             功能：屏幕拷贝

    注：特殊打印控制不占实际打印位置，但在高级语言或数据库中
要占打印位置；每一打印行（以回车换行结尾）字符数最大不得超过
320；左旋与右旋互锁，上标下标互锁（即设置一种，另一种就自动取
消）；九区图形符号不旋转，当有字符间距时横线以及背景依然相连：
左边空和行宽，单位是字符，以12列为一个字符。
             ESC在实际程序中输出时：
             在BASIC为CHR$(27)，
             在DBASE为CHR(27).
             例：BASIC：    LPRINT"`^18>#66`"
                 DBASE:     ?"`~1000^8@L自然码@A^`"
     2.特殊打印功能详解及举例
    （1）置字型：
         格式一：`@字型`
            或   ESC+I+字型
                 字型取值范围：A—x 默认为A
                   （请注意大小写字符所对应字型的区别）
                 用途：在程序或文件中设置或改变字型。
         此命令可以实现文件中的多种字型变化，尤其是同行中的字
型变化。
             例：`@D超想字符汉字系统@j超想字符汉字系统@A`
         格式二：`@宽，高`
                 用途：定义任意大小的汉字（取值范围：1~255）
             例：`@88，66`
         注意：同样“宽，高”尺寸的汉字在不同的打印机上输出时
实际大小有所不同，这是因为一般24针打印机是：150~180点/英寸；
而激光打印机则有：150~300点/英寸，
             400点/英寸不等。
           格式三：`=字型`（取值范围：0~33）
                     用途：定义矢量字型
                 例：`=3`
                 此命令可与`@宽，高`命令组合使用。
         格式四：`@abcd`
                 其中： a 点阵（1＝16，2＝24，3＝32，4＝40）
                        b 字体（1＝宋体，2＝仿宋，3＝黑体，4＝楷体）
                        c 横向倍数（1~4）
                        d 纵向倍数（1~4）
                注：当a=1时，b=2为隔点扩（c=字体，d=1不扩，=2横扩，
                                          d=3纵扩，d=4横纵扩）
                             b=3为16×16点阵
                             b=4为16点阵扩24
        （2）置颜色：        格式：`$色号`
             其中：色号＝0黑，1红，2兰，3紫，4黄，5橙，6绿
             用途：设置打印颜色。
         此命令仅对彩色打印机有效（如LQ2500、CR3240、M1924、
M1570等），并且只能一行一色（可逐字变色，方法是在每一个字自动
前面用"$"命令指定颜色）。
        （3）置纵扩字双向或单向打印：
             格式：双向：`@<`
                   单向：`@>`   (默认为单向）
                   用途：设置纵扩字双向或单向打印。
     置双向时：打印完上半部分汉字，回返时接着打印相应的下半部分。
     置单向时：打印完上半部分汉字，回到左端再打印相应的下半部分。
         一般情况下，在处理数据或打印一般文件时，可采用默认的
单向打印，以提高打印精度，在双向打印精度可满足要求时，可采用
双向打印，以加速打印。
         注意：本打印命令，无论是单向还是双向设置，都是针对纵
扩字（纵向大于24点）而言，对于纵向24点及以下的字型仍按普通打
印的打印方向（单向或双向）定义。
        （4）置行距
             格式：`&行距`
             行距取值：1—255 默认为20（单位：1/120英寸）
             用途定义打印时每行的走纸距离，基本单位为1/120英寸。
        （5）置字符间距
             格式：`~列数`       列数取值：0—255列   默认为0
             用途：定义打印时每个字符的间距，汉字间距加倍。
        （6）置页长
             格式：`#页长`        页长取值：0—255行  默认为0
             用途：定义打印时每页的行数
         注意：对行距和页长的设置要保证匹配，否则将不能准确换
页。一般打印纸页长为11英寸，所以在设置应保证行距×页长/120＝11
英寸如果行距及页长的参数配合不能保证为11英寸时，则需要在文件
或程序中考虑定义修正参数。
        （7）置左边空、行宽：
             格式：置左边空：`[字符数`
             字符数取值：0—255  默认为0  （以12列为一字符单位）
                   置行宽：`]行宽`
             行宽取值：0—255   默认为最宽  （以12列为一字符单位）
                   用途：置左边空：设定打印文件左边空字符数。
                         置行宽：设定打印文件每行宽度。
                    例：
                        `[12]80...文本正文...`
                        则打印时左边空12各字符，每行宽80各字符。
        （8）置输出空列和水平定位：
             格式：
                 输出空列：`~列数`
                           列数取值范围：0—2447
                 水平定位：`|列数`
                           列数取值范围：0—2447
                 用途：
                     输出空列：定义打印输出空列。
                     水平定位：定义下次打印时打印针水平定位。
         通过设定输出空列和水平定位可以确定打印头水平为之，定
义输出空列。
                  例：`|200超~150想~150自~150然~150码`
                  打印结果为距行首200列处开始打印“超”字，其
             后每字间隔150列
        （9）设置字型对照表
             格式：`{字型对照表}`
             用途：重设字型对照表。要求单独一行。
        （10）修饰打印
             格式：
                  置打印背景：`%0—7`
                  其中:  0无背景、 1网点、  2网格、  3横线
                         4竖线、   5右斜线、6左斜线、7交叉线
                  置反白打印     `\`
                  置上划线打印   `/`
                  置下划线打印   `_`
                  置浅色打印     `;`
                  置正常打印     `=`(开机状态，清以上四项打印设置）
        用途：设置打印背景后，将所有汉字和字符上打印出设定的
背景。
    设置了反白打印后，将对所有的汉字和字符进行反相打印，即字
符和背景的颜色反相颠倒，打印成黑色背景白色的字符。
    设置背景、反白、浅色打印可使打印的文件产生特殊的效果，从
而文件的打印形式更灵活多样。
    设置上、下划线打印后，将对所有的汉字和字符的顶、底部打印
出上、下划线，并且上、下划线不另占行数。此命令在编制特殊形式
的文件时尤为实用
    设置正常打印命令，可以清除反白。上划线、下划线、浅色四项
打印设置，使打印状态恢复开机时的初始状态（开机时为正常打印状
态）。
    注意：在背景、反白、上下划线、抽点浅色等各种特殊打印设置
时，应注意在设置结束时恢复原来初始正常状态的习惯，以避免出现
错误。
        （11）置单、双向打印：
              格式：
                  单向：`>` 或  ESC+"I"+">"
                  双向：`<` 或  ESC+"I"+"<"
              用途：设置单向或双向打印。
    当设置了单向打印时，每行打印时打印头都从左向右进行单方向
打印，从右向左空返不打印。此命令可以实现打印的精确对位，在打
印表格文件时能充分满足精度要求，避免打印机的机械误差。
    简易在程序中采用双向打印以提供速度，在打印精度要求较高的
表格时，采用单向打印以提高精度。
        （12）置左，右旋转90度打印及结束旋转
              格式：左旋：`(`
                    右旋：`)`
                    结束旋转：`?`  （开机状态，清以上两项旋转
打印设置）
        用途：设置旋转打印后，可使所有的汉字和字符都向左或者
向右旋转90度进行打印。左旋与右旋互锁，即设定了一种旋转方式后
另一种就自动取消。结束旋转命令可以清除以上两项旋转设置，恢复
开机时的初始状态。对于九区制表符，旋转设置不起作用。
        例：`@W(左旋打印）右旋?正常打印@A`
        (13)置上下角标字符打印：
            格式：
                置上标字符：`+`
                置下标字符：`-`
                置正常字符：`!` （开机状态，清以上两项角标设置）
        此命令一可以在打印文件中设置上下角标字符，从而实现诸
如数学、物理、化学等方程式或公式中的角标符号的打印，并且角标
只占ASCII字符位置。上标和下标互锁，即设定了一种角标方式后另一
种就自动取消。置正常字符命令可以清除以上两项角标设置，恢复开
机时的初始正常状态。
        （14）暂停打印：
              格式：`.`  （按任意一键继续）
        此命令可以在打印文件过程中设置暂停状态，以便于进行换
纸、对正纸位等操作，直至按回车键方才继续打印。
        （15）直接送打印机打印
              格式：`" "`
        本功能可将两个双引号之间的所有字符是直接宋打印机处理，
包括字符汉字、打印机本身的控制命令等。可用本功能快速打印。需
要恢复时再打印一个双引号即可。又将换页符直接送打印机有打印机
控制换页（dBASE或FOXBASE）：
                @ 12,0 SAY `"`+CHR(12)+`"`


    五. 特殊文件的打印方法

    1. 矢量汉字花式打印程序CXSP.EXE
    提供矢量汉字打印及稿纸打印功能
    格式:
         C〉CXSP  文件名  (回车)

    运行CXSP.EXE前,要启动汉字系统及矢量打印系统。需要打印的文
件用前面所述的特殊打印命令和下面的命令来控制。

    CXSP.EXE的特殊命令:
       “YOW,D”            阴影控制命令
    其中: Y表示为阴影;
          O表示阴影种类，可为B,W,F: B为空心白字，黑色阴影，字
与阴影相连。W为黑字，白色空心阴影，字与阴影相连。F为百字，黑
阴影，阴影与字不相连;
          W为阴影的宽度，现定范围是0～8;
          D为阴影方向，值为1～4: 1右下，2右上，3左下，4左上。
    例如:‘YB6,1’，生成宽度为6，向右下方的白阴影。

    ‘PB’        稿纸打印开始
    ‘PE’        稿纸打印结束

    2. 矢量汉字无级缩放程序CXHF.EXE
    格式:
         C>CXHF    文件名  (回车)
    运行CXHF.EXE之前，要先启动汉字系统。被打印文件中可用前面
所述的特殊打印命令控制字体，特别是用到@宽，高命令时，取值的范
围是：1～2999，从而达到无级缩放的目的。

    注:
    ■ CXHF.EXE只能打印实心和空心两种字形。
    ■ CXHF.EXE最大可打印3000×3000点大的汉字,而打印机目前最
大只可打印2448×2448点大的汉字，因此CXHF.EXE足以满足打印大字
的需要。

    六. 分页、折页打印(LPT.EXE):
    本打印程序，是本系统提供的高级打印程序。它可以在系统提示
符下对文本文件进行分页和折页输出打印。
    分页打印：按指定行数分页打印，可控制页号的打印。
    折页打印：按左右两页并排同时打印文本文件。
    运行本程序，屏幕提示：

             折页/分页打印程序
            __________________
              进行折页打印?
          〈Y=是  N=不是   ESC=放弃〉
    1. 按“N”键，进入分页打印
    屏幕显示:

            分页打印参数设置
           __________________
   文件名DEFAULT.DOC       需要打印的文本文件名
   主体字A                 文本文件中已定义的主题字号(此参数
                           在下面定义长度时用作计量单位)
   左  空0                 输出时左侧留空大小
   页  宽0                 打印时每页的宽度
   页  长0                 每页的输出长度
   中  空0                 (分页打印时不用此参数)
   页间距0                 每两页之间的距离
   页  号0                 打印时的起始页号
   首页空0                 首页时，上面的空行数
   存参数DEFAULT.LPT       给出文件名(或使用缺省文件名)保存上
                           面定义的参数，以便下次的使用(同名即覆盖)
   取参数DEFAULT.LPT       给出文件名,取出参数

         P  开始打印      〈ESC〉 退出
    (由于参数文件中不保存文件名，故每次都要设置文件名)
    定义了全部参数，按P准备打印，此时屏幕提示:
         换页时是否需要暂停?    〈Y=是  N=不是  ESC=放弃〉
    按需要设置后即可打印,或退出系统。
    2. 按“Y”，进入折页打印
    屏幕显示:
             折页打印参数设置
           ____________________
     文件名DEFAULT.DOC      需要打印的文本文件名
     主体字A                文本文件中已定义的主体字号
                            (此参数在下面定义长度时用作计量单位)
     左  空0               打印输出时，左侧留空大小
     页  宽0               打印时每页的宽度(折页打印时同时输出两页)
     页  长0               每页的输出长度
     中  空0               折页打印时，两页之间的宽度
     页间距0               上下页之间的距离
     页  号0               打印时的起始页号
     首页空0               首页时，上面的空行数
     存参数DEFAULT.LPT     给出文件名(或使用缺省文件名)保存上
                           面定义的参数，以便下次使用(同名即复盖)
     取参数DEFAULT.LPT     给出文件名,取出参数
       P    开始打印       〈ESC〉退出

     (由于参数文件中不保存文件名，故每次都要设置文件名)

     定义了全部的参数，按P准备打印，此时屏幕提示:
     换页时是否需要暂停?    〈Y=是 N=不是  ESC=放弃〉
     按需要设置后即可打印，或退出系统。


    七.  特殊显示功能（只能用在 TVGA 和 SVGA 上）

    通过本功能可将在屏幕上显示矢量汉字，可以指定汉字的显示位
置，以及前景色和背景色。可以显示图形、以背景方式演奏音乐、处
理图象等。这些特殊的显示功能，在各种高级语言、数据库系统和操
作系统下，均可调用，只需用显示语句即可。用户使用自己熟悉的编
程语言，利用本系统的特殊显示功能，美化屏幕显示，增强程序功能。

    1. 在常用的软件中使用“特殊显示功能”的方法：
    ★在 DOS 环境下：
      SC 命令串
    ★在 dBASE 或 FOXBASE 下：
      使用语句：  ? CHR(14)+“命令串]”
      或          @ 行，列 SAY CHR(14)+“命令串]”
    ★在 BASIC :  PRINT CHR$(14)“命令串”
    ★在 WS 编辑中： ^N命令串]
      ^N 是指WS中： “CTRL+P+N”组合键
    在高级语言或数据库中，可以使用变量来代替命令中的数字参数，
但应注意：其中的命令符和逗号、“]”是字符串常量，使用数值变量
代替数字参数时，务请处理好不同变量类型的输出。

    2. 特殊显示功能
    本系统只提供了用于TVGA的特显模块，可画椭圆、显示任意大小的
矢量汉字。

    (1). 指定显示图形的颜色
    格式:CHR[$](14)+"C色号，内色号]"
    此命令是在执行作图命令前，先设置图形的颜色，可用于画点、
画线、画矩形和画圆等。并在没有设置新的颜色之前，一直沿用下去。
其色号的开机默认为最大色号。若有“内色号”项，则指定了矩形、
圆、椭圆等闭合曲线的内部填充颜色。（不需填充内部颜色时，可设
内色号为65535）

    例:在dBASE或FOXBASE环境下，在水平位置为30、垂直位置为300
的位置上画一个绿色的点：
           @ 1,0 SAY CHR(14)+'C2]'  图形设置为绿色
           @ 1,0 SAY CHR(14)+'D30.300]'画点
          或
           @ 1,0 SAY CHR(14)+'C2D30,300]'
          在dBASE下还可以采用下面的格式
           ? CHR(14)+'C2D30,300]'
    由上面例子可以看出，特显的命令可以任意地组合，使用一条语
句完成几个图素的显示。

    (2).清屏并设置工作参数
    格式：CHR[$](14)+"Q色号]"
    此命令用于全部清除屏幕（包括提示行），并初始化工作参数。
初始化工作参数就是使工作参数恢复到开机默认值，如水平定位为0，
垂直定位为0，当前点为左上角，色号为最大色号，背景为黑，屏幕图
形的取值范围等。此外，若有“色号”项，则在清屏后将整个屏幕刷
成指定的颜色。（不指定色号，则清屏为黑色）
     例：操作系统环境，清屏并置蓝颜色。
     C>SC Q1

     (3).画点
     命令格式：CHR[$](14)+"DX,Y]"
    此命令用于在屏幕的水平坐标为X、垂直坐标为Y的位置上画一个
点， 这个点只占一个像素的位置。
     例：BASIC环境，清屏后在（320,240）的位置上画一个红色的点
     PRINT CHR$(14)"QC4D320,240]"
    此外，这条命令还常用于画线，画矩形或填充时设置当前点。
     例：操作系统环境，在以（30,200）为当前点的位置上画一个宽
400高90的矩形
     C>SC C5D30,200        置当前点
     C>SC B400,90          画矩形
    或
     C>SC C5D30,200B400,90

    (4).画线
    画线包括向上、向下、向左、向右、向右上、向右下、向左上、
向左下画线。画任意斜线及前缀控制等命令，它们的格式分别为：
      向上画线：           CHR[$](14)+"U长度]"
      向下画线：           CHR[$](14)+"X长度]"
      向左画线：           CHR[$](14)+"Z长度]"
      向右画线：           CHR[$](14)+"Y长度]"
      向右上画线：         CHR[$](14)+"E长度]"
      向右下画线：         CHR[$](14)+"F长度]"
      向左上画线：         CHR[$](14)+"H长度]"
      向左下画线           CHR[$}(14)+"G长度]"
      移当前点但不画线     CHR[$](14)+"M长度]"（命令前缀，可用于画点）
      画线但不移当前点     CHR[$](14)+"N…]"（同上）
      画任意斜线           CHR[$](14)+"LX,Y]"（X,Y为终点坐标）
                         或CHR[$](14)+"L±X,±Y]"（X,Y为相对坐标）
                         或CHR[$](14)+"L/R,A]（R为长度，A为角度）
    以上这些命令用于在屏幕上画直线，都是从当前点向不同的方向
画线，并且当前点移动到直线的终点（有前缀N和L/的不移）。开机默
认的当前点为（0,0）。
    向规定方向画线命令中的长度除向上、向下画线为垂直长度外，
均指水平宽度，长度单位为像素点。因为有些显示器的水平方向的扫
描点数大于垂直方向的扫描点数，所以向规定方向画斜线（右上、右
下、左上、左下）的命令在屏幕上显示的斜线与水平方向的夹角大于
45度。
    两条前缀命令是用来在画点或画线时控制当前点的，M命令可将当
前点移动到屏幕上的任意位置，但不画线也不显示当前点；N命令在从
当前点向屏幕各方向画线后，使当前点不移动。也可用于画点命令。
    向任意方向画线命令（即L命令）中的X的取值有符号时，其值不
是终点的绝对坐标，而是对应当前点的相对坐标，符号可取正或负。
    综合使用几种画线命令可在屏幕的任意位置灵活地画出各种直线
或指向组合的图形。

  例：操作系统环境下，在屏幕画出一个米字形并用矩形将其框住：
  C>SC D320,200NY100NE100NU100NH100Nz100NG100NX100NF100 画米字
  C>SC ME100                                            移当前点
  C>SC E200X200Y200U200                                 画矩形
    或
  C>SC D220,100F200U200G200U200Y200MX200Z200MU100Y200MG100U200
    或用画矩形命令
  C>SC D220,100F200MU200G200MY100U200MF100Z200MX100B200,200

  例：dBASE 环境下VGA显示方式，画出屏幕边框线并画出这个矩形的对角线
  ?CHR(14)+`D0,0NL639,479Y640NL0,479X480Z640U480]`
    或利用画矩形功能
  ?CHR(14)+`BL639,479MZ640L639,0]`

    (5).画矩形
    格式：CHR[$](14)+"B宽、高]"
    此命令用于在屏幕上画一个矩形，当前点为矩形左下角的点，其
宽和高的取值均是以像素点为单位，不得超出取值范围。若宽为0或高
为0时，屏幕不显示图形；若宽和高都等于0时，画出屏幕的边框线。
    若已在C命令中定义了“内色号”参数，便可在矩形内部填色。

    例：dBASE环境，EGA显示方式，清屏后在屏幕上显示边框和上、
下、左、右距边框线位置均为20的矩形，颜色为黄色
    ?CHR(14)+`QC14B0,0D20,330B600,310]`
    或
    ?CHR(14)+`QC14BD20,220B600,310]`
    例：BASIC环境，VGA显示方式，清屏后在屏幕的中间位置显示红
色的字体24×24点阵汉字“超想自然码”，并给显示内容加加上黄色
的边框:
    PRINT CHR[$](14)"Q[250|228^2*4@A超想自然码]"    显示汉字
    PRINT CHR(14)"C14D248,254B144,28]"                加边框
    或
    PRINT CHR$(14)"QC14D248,254B144,28[_250|228^2*4@A超想自然码]"

    (6).矩形区域填线
    格式： CHR[$](14)+"V色号，X,Y,宽,高,类型,间隔,线宽，方式]"
    此命令用于向矩形区域内填充线条，可以使屏幕显示的多个矩形
区域有所区别，也使屏幕显示的图形在打印机输出后有不同的效果，
避免了屏幕的图形有各种颜色的区别，而打印输出后全是黑色的色块。
    命令中的色号：是值填充线条的颜色；
            X、Y坐标：是指矩形区左下角的坐标，单位为像素；
            宽和高:指矩形区的宽和高；
            类型: 指填充线条的类型，取值范围为1—4，其中1表示横线，
                  2表示竖线，3表示左斜线，4表示右斜线；
            间隔：指填充线条线与线之间的间隔，取值范围0—255，
                  0表示没有间隔，数字越大间隔越大；
            线宽：指填充线条的宽度，取值范围0—255，0表示不填
                  充，数字越大线条越宽。使用这条命令将间隔设
                  成0、线宽设成255，也可以很快地在定义的矩形
                  区域内填充各种颜色。
            方式：＝1可自动画边框矩形，颜色用C命令指定。不设
                  这个参数，则不画边框矩形。

    例：操作系统环境下，VGA显示方式，在屏幕的中间显示一个白色
边框、400×300的矩形，并将其填充红色的右斜线
    C>SC C15D120,390B400,300         画边框
    C>SC V4,120,290,400,300,4,5,7    矩形区域填线
    或
    C>SC V4,120,390,400,300,4,5,7C15D120,390B400,300
    例： dBASE环境下，VGA显示方式，将下列一组数据：100、80、
50、110、60用直方图的形式在屏幕上加以比较，并要求打印输出后，
也要有所区别
    解决这个问题可以采用矩形区域填线的命令，编一段dBASE的小程
序来实现。程序清单如下：
   DB.PRG:
    ? CHR(14)+'QBC15D,400Y540[_200:40^10*4@数据比较]'
    ? CHR(14)+C15V9,120,400,80,200,1,3,5]'
    ? CHR(14)+C15V11,200,400,80,160,2,3,5]'
    ? CHR(14)+C15V10,280,400,80,100,3,3,5]'
    ? CHR(14)+C15V13,360,400,80,220,4,3,5]'
    ? CHR(14)+C15V14,440,400,80,120,3,3,1]'
   RETURN

    (7). 画圆
    格式:CHR[$](14)+“O圆心X，Y，长半径，方式，填充，短半径，
                      起始角，终止角，K]”

    此命令用于在屏幕上画圆、椭圆、弧、扇形。
    其中：X和Y：圆心的横纵坐标；
         长半径、短半径：指椭圆或扇形的长短半径，画圆时可省略
短半径参数；方式：=0画半圆；=1画半圆弧；＝"其他数字"为整圆（
包括弧和扇形），非0非1时可省略此参数；起始角、终止角：画弧或
扇形时使用（单位：度）；
         K：＝0时画弧；＝1时画扇形
    例如：操作系统下，（200，200）处，画一个半径为100、绿色边
框、蓝色填充、0度起始角、120度终止角的扇形：
         C>SC C2,3O200,200,100,,1,,0,120,1
    参数省略时，可将两个逗号紧连在一起。

    注意:除了VGA和TVGA显示方式以外，显示的圆将成为椭圆，但屏
幕图形拷贝将打成圆。
    例：BASICA环境，VGA显示方式。画一组不同颜色的同心圆再用黑
色复盖。
    10 PRINT CHR$(14)"QR0C2D320,240C10]";
    20 FOR I=1 TO 239:LOCATE 1,1:PRINT
       CHR$(14)"C"I MOD 16"O320,240,"I"]";:NEXT
    22 FOR I=239 TO 1 STEP -1:LOCATE 1,1:PRINT
           CHR$(14)"C0O320,240,"I"]";:NEXT
    30 PRINT CHR$(14)"R1]"

    (8). 光标的控制
    格式：CHR[$](14)+"R控制字]"
    此命令用于控制光标是否在屏幕上出现，控制字内容是数字，为
1时建立光标，为0时取消光标。在执行特殊显示命令显示图形前取消
光标，避免光标干扰屏幕图形显示效果；在画图命令的最后加入一条
建立光标的语句，使程序继续执行时，光标存在。

    (9). 填充
    命令格式：CHR[$](14)+"P内色号，边界色号]"

    此命令用于向屏幕上的封闭区域内填充颜色：
    命令中的内色号指向封闭的区域内填充颜色的色号；
            边色号指封闭区域的边界的颜色色号。

    应注意的是使用此命令时须将当前点移到封闭区域内，定义的边
界色号一定要与原封闭区域的边界色号相同，且封闭区域必须是绝对
的封闭，否则有可能填满整个屏幕。另外，当前点的颜色不要与边界
色相同，否则不填充。
    例：操作系统环境下，VGA显示方式，在屏幕的中间显示一个50×
50的蓝色的正方形
    C>SC C15D295,256B50,50MD320,240P1,15
      此例也可以采用矩形区域填线的命令来实现
    C>SC V1,295,265,50,50,1,0,9C15D295,256B50,50
    例：操作系统环境下，VGA显示方式，在屏幕的中间显示一个红色
的三角形，每个边为100
    C>SC C15D320,189G50Y100H50MX50KP4,15
    或
    C>SC C15D320,190NL-50,+100L+50,+100ML320,240P4,15
    或
    C>SC C15D270,290NY100L+50,-100NL+50,+100MX50P4,15

  (10).定义命令串，执行命令串和设计比例因子。    格式：
    定义命令串          CHR[$](14)+"W...]"（命令行最后）
    执行命令串          CHR[$](14)+"J]"
    设置比例因子        CHR[$](14)+"K比例因子]"
    这三条命令的综合使用，可以大大减轻编程人员的劳动，并可使
程序清晰明确，增强可读性。

    定义命令串可以将画图中的一个或多个图素（点、线、矩形和圆
等）定义为一组命令串，需要时随时可以执行。如在操作系统下定义
一个正方形，只要键入；
    C>SC WB50,50
    即可将画这个正方形的命令串保存起来。
    执行命令串是将定义好的命令串加以执行，使定义的图素在屏幕
上显示出来，需要调用执行命令串命令，便可以在屏幕上显示。如画
上面的正方形：
     C>SC C2D30,200J      左上角为（30，200），绿色
    还可以多次执行命令串，并改变一些设置（如当前点、色号等）
直接作出定义图素的组合。如键入：
     C>SC C2D30,200JC3D80,200JC4D30,200JC5D30,150J
    屏幕上便可以显示出几个前面定义大小的不同颜色的正方形。
    比例因子的设置指对以像素为单位定义长度变化或坐标的相对移
动的命令，给出一个比例，其命令执行时，定义长度的变化或坐标的
相对移动均按这个比例放大或缩小。
    比例因子的取值范围为1—255，其实际的比例大小为取值的1/16。
即若比例因子为1时，实际为取值的1/16；比例因子等于16时，显示图
形按比例等于实际取值的图形大小。比例因子大于16时，显示图形按
比例大于实际取值的图形大小。

    设置比例因子、定义命令串和执行命令串的巧妙组合使用，可以
非常简单地实现有一定规律变化的图形组合。
    例：BASIC环境下，VGA显示方式，清屏后以屏幕的（30，400）点
为当前点画一组矩形，使矩形的左下角点总为（30，400），矩形的宽
和高都为20，且矩形的宽和高按每次增加20（单位为点）的规律增大。
     PRINT CHR$(14)"WD30,400B20,20]"
     定义命令串
     PRINT CHR$(14)"QC2JC3K32JC4K48JC5K64JC6K80JC1K96J]"
    画六个矩形请比较不使用设置比例因子及定义、执行命令串的命
令的结果:
     PRINT CHR$(14)"QC2D30,400B20,20C3D30,400B40,40]"
     PRINT CHR$(14)"C4D30,400B60,60C5D30,400B80,80]"
     PRINT CHR$(14)"C6D30,400B100,100C1D30,400B120,120]"
    例:BASIC环境下，VGA显示方式，在屏幕的不同位置显示5个颜色
不同的不同大小的五角星程序清单:
     WJX.BAS:
     10 PRINT CHR$(14)"WL+12,36L+38,0L_31,2L+12,36L_31,_22L_31,22
                           L+12,_36L_31,_22L+38,0L+12,_36]"
     20 PRINT CHR$(14)"QC14D150,100JC10D440,100K40JC9D150,280K10J
                           C13D440,280K50JC12D300,200K8J]"
    不难看出，此例若不使用保存和执行命令串，程序将会非常繁琐。

     (11).设置字符和汉字的颜色
    格式：CHR[$](14)+“S前景色号，背景色号]”
    此命令用于设置按行显示的字符的颜色(即一般以16×16点阵显示
的汉字或字符)。命令中前景色号指字符显示颜色色号，背景色号指字
符背景颜色的色号。
    请注意：用此命令设置颜色后，高层软件的颜色控制语句均无效，
除非在用本命令将前景背景颜色均设置为0。
    例：操作系统环境下，EGA或VGA显示方式，将屏幕显示置为字符
和汉字显示为红色，背景为绿色。
    C>SC S4，2

    (12).直接执行INT10中断
    格式:CHR[$](14)+"I寄存器参数串]"

    本功能可直接执行INT10中断，以利用显示模块提供的功能。
    其中，寄存器参数串为八个寄存器AH,AL,BH,BL,CH,CL,DH,DL的值，
按此顺序排列，每个寄存器取值范围0~255。功能号在AH寄存器中（参
看附录）。
    例如局部清屏，FOXBASE下以红色清除窗口（左上角第3行第10列，
右下角第8行第20列）@1,0 SAY CHR(14)+`16,04,0,3,10,8,20]`

    (13).按字符行列画线或框线
    命令格式：
    画横线          CHR[$](14)+"_行，列，长]"
    画竖线          CHR[$](14)+"|行，列，长]" �
    画框线          CHR[$](14)+#行，列，宽，高]"
    上述三条命令也是用于在屏幕上画线或画矩形的。
    命令中的“行”指显示字符的行位置（最上行为0）；
            “列”指字符位置（最左列为0）；
            画横线命令的长，指横线的长度，单位为字符数；
            画竖线命令的长指竖线的长度，单位为行数；
            画框线命令的高和宽，分别指框线纵向的字符行数和横
线的字符数。

    这三条命令的综合使用，可以在屏幕上显示一个表格线不占字符
位置的表格，按dBASE、BASIC或其它数据库及高级语言中是非常实用
的。
    例：dBASE环境下，用特殊显示功能画线及画框线命令设计一个屏
幕格式，对QAZ.DBF进行修改程序清单：
    SCREEN.PRG
    SET TALK OFF
    CLEAR
    USE QAZ.DBF
    DO WHILE .T.
    @2,22 SAY "人 员 情 况 表（示范程序）"
    @5,3 SAY "人  姓  名"
    @ 5,23 GET 姓名
    @ 5,37 SAY "性别"
    @ 5,49 GET 性别
    @ 7,3  SAY "员"
    @8,64 SAY "奖  金"
    @9,3  SAY "情"
    @8,35 SAY "学   历"
    @8,48 GET 学历
    @10,64 GET 奖金
    @11,3 SAY "况   工    资"
    @11,27 SAY 工资
    ? CHR(14)+'C2#4,0,9,76|4,8,9|7,8,68|4,34,3]'
    ? CHR(14)+'_10,8,54|7,26,3|7,62,6|10,40,3]'
    ? CHR(14)+'R1]'
      READ
       SKIP
       ENDDO

    (14).模拟功能键
        格式：CHR[$](14)+"A扩展ASCII码]"

        此命令用于模拟功能键，即将功能键的扩展ASCII码送入键盘
管理模块，去执行系统定义的某种功能。命令中的扩展ASCII码指要模
拟该功能键的扩展ASCII码值。

    (15).演奏音乐
    格式：CHR[$](14)+“%功能符或音符]”  (命令行最后)

    其中：功能符为 t节拍
          指定节拍(默认100,每分钟节拍数)
          CDEFGAB  定调(开机为C调)

             1234567    音名      0   休止符
                #    升半音        b   降半音
                q    升八度        d   降八度
                .    附点          -   延长音
                _    八分音符      =   十六分音符
      注：升降八度、升降半音在音名前，延长、附点、四八分音符
在音名后
      例: 小提琴协奏曲《梁山泊与祝英台》选段
        1＝F    每分钟50拍

      3 5.6⊥1.2 615⊥5.1 6535⊥2-⊥2.3 76⊥5.6 12⊥31 6561⊥5-⊥
        - =  - = = =  - = = == =        -=  -   - = -- -- = ===
      3.5 72⊥615.⊥353 5672⊥6.56⊥1.2 53⊥232 165⊥3 1⊥6165 3561⊥5-⊥
      - = --   ==.    ==- =====  .  ==  - = --- -==  -==  .    ====  ===

       使用本功能用FOXBASE演奏，程序段如下:
     @ 1,0 SAY CHR(14)+'%t50Fd3d5_d6=1_2=d6=1=d5_5_q1=6=5=3=5=
       2_3=d7_d6_d5_d6=1__2__2_d3_1_d6=d5=d6=1=d5-3_5=d7_2_d6=1=d5.
       d3=d5=d3_d5=d6=d7=2=d6.d5=d6=1_2=5_3_2_3==2=1_d6=d5=
       d31d6=1=d6=d5=d3=d5=d6=1=d5--t100]'


     (16).停止演奏或设置重复演奏次数
     格式:CHR[$](14)+"^次数]"

     此命令用于临时关闭或打开音乐的演奏(无选项次数)，若有次数
项，则设置一个命令行演奏的次数(默认1次)。若次数为0则认为是无
限循环演奏。

     注意：这里的“一个命令行”指从“CHR[$](14)”开始到“]”
为止的命令字符串，若设置成无限循环演奏，当使用“TYPE  文件”
来演奏多行音乐时，由于第一行就无限循环演奏，下一行将永远不能
执行，造成死循环!
     例:C>SC  ^3     设置演奏次数为3

    (17). 保存或恢复窗口(字符型卡)
    格式:  CHR[$](14)+“{窗口左上角行，列，高，宽]”   (保存)
           CHR[$](14)+“}窗口左上角行，列]”     (恢复)
   本功能用于弹出式菜单或屏幕图型图象的快速处理。格式中的行、
列均为按行显示的字符行列，“宽”单位是字符，“高”单位是字符
行。
   恢复命令中若无其中的所有各项则在屏幕原来位置上恢复上一次保
存的图形图象，否则在指定位置显示。
   Q命令（清屏）和DOS下的CLS命令将保存的图形图象也一起清除，
可使用I命令局部清屏方式清除整个屏幕。
   注：本功能只用于EGA和VGA显示方式。
   例：FIXBASE环境，VGA显示方式，用于弹出式菜单：
    @ 1,0 SAY CHR(14)+"{2,20,10,8]"(保存窗口)
   ......                     (菜单处理)
    @ 1,0 SAY CHR(14)+"}]"   (恢复窗口)

   (18).显示汉字或字符
     格式:CHR[$](14)+"功能符,汉字或字符]"(命令行最后)
     此命令用于在屏幕上显示汉字或字符。“功能符”指一些控制命
令，用以控制显示字形、汉字和字符的前景和背景颜色、行间距、字
符间距、显示位置等。下表列出了功能符的内容：

                    特显汉字控制功能符内容

    ┏━━━┯━━━━┯━━━━━┯━━━━┯━━━━━━┓
    ┃功能符│ 内容   │ 取值范围 │开机默认│   备注     ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  @   │设置字形│ A-X,a-x  │  A     │            ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  ^   │字符间距│ 0--255   │  0     │汉字间距加倍┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  &   │  行间距│ 0--255   │  1     │            ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  -   │水平定位│ 参见一表 │  0     │            ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  |   │垂直定位│ 参见一表 │  0     │在程序中使用┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  *   │前景颜色│ 参见一表 │最大色号│            ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃  #   │背景颜色│ 参见一表 │  0     │            ┃
    ┠───┼────┼─────┼────┼──────┨
    ┃      │背景是否│          │        │            ┃
    ┃      │        │          │        │  0为复盖   ┃
    ┃  \   │覆盖原图│   0 或 1 │   1    │            ┃
    ┃      │        │          │        │ 1为不复盖  ┃
    ┃      │  形    │          │        │            ┃
    ┗━━━┷━━━━┷━━━━━┷━━━━┷━━━━━━┛

    “@”的用法有三种：
    ①  @字型
                特  显  汉  字  字  型  表
    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃代号    字  型              代号       字  型           ┃
    ┠────────────────────────────┨
    ┃A 宋体24×24点阵基本字形    K 黑体24×24点阵纵扩字型    ┃
    ┠────────────────────────────┨
    ┃B 宋体24×24点阵横扩字形    L 黑体24×24点阵横纵扩字型  ┃
    ┠────────────────────────────┨
    ┃C 宋体24×24点阵纵扩字形    M 楷体24×24点阵基本字型    ┃                                                     ┃
    ┠────────────────────────────┨
    ┃D 宋体24×24点阵横纵扩字形  N 楷体24×24点阵横扩字型    ┃
    ┠────────────────────────────┨
    ┃E 仿宋体24×24点阵基本字形  O 楷体24×24点阵纵扩字型    ┃
    ┠────────────────────────────┨
    ┃F 仿宋体24×24点阵横扩字形  P 楷体24×24点阵横纵扩字型  ┃
    ┠────────────────────────────┨
    ┃G 仿宋体24×24点阵纵扩字形  u 显示16×16点阵基本字型    ┃
    ┠────────────────────────────┨
    ┃H 仿宋体24×24点阵横纵扩字形v 显示16×16点阵横扩字型    ┃
    ┠────────────────────────────┨
    ┃I 黑体24×24点阵基本字形    w 显示16×16点阵纵扩字型    ┃
    ┠────────────────────────────┨
    ┃J 黑体24×24点阵横扩字形    x 显示16×16点阵横纵扩字型  ┃
    ┠────────────────────────────┨
    ┃q 宋体24×24点阵横扩纵扩型 (同D字形)                    ┃
    ┠────────────────────────────┨
    ┃r 宋体24×24点阵横扩八倍纵扩一倍字型(即192×48点阵)     ┃
    ┠────────────────────────────┨
    ┃s 宋体24×24点阵横扩一倍综扩八倍字型(即48×192点阵)     ┃
    ┠────────────────────────────┨
    ┃t 宋体24×24点阵横纵扩八倍字型(即192×192点阵)          ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ②  @字型,旋转
        旋转=1不旋转             =2向右旋转90度
            =3旋转180度          =4向左旋转90度
    ③  @宽度,高度,字体,旋转
        “字体”   ＝0，宋体 （简）      ＝20， 宋体（繁）
                   ＝1，仿宋 （简）      ＝21， 仿宋（繁）
                   ＝2，黑体 （简）      ＝22， 黑体（繁）
                   ＝3，楷体 （简）      ＝23， 楷体（繁）
                   ＝4，标宋 （简）      ＝24， 标宋（繁）
                   ＝5，报宋 （简）      ＝25， 秀丽（繁）
                   ＝6，细圆 （简）      ＝26， 细圆（繁）
                   ＝7，准圆 （简）      ＝27， 准圆（繁）
                   ＝8，隶变 （简）      ＝28， 隶变（繁）
                   ＝9，大黑 （简）      ＝29， 大黑（繁）
                   ＝10，魏碑 （简）     ＝30， 魏碑（繁）
                   ＝11，行楷 （简）     ＝31， 行楷（繁）
                   ＝12，隶书 （简）     ＝32， 琥珀（繁）
                   ＝13，姚体 （简）     ＝33， 综艺（繁）
                   ＝14，美黑 （简）


    注:表中未列出a-p字形是在A-P字形的基础上再纵横扩一倍.如a字
形是宋体24×24点阵纵横扩字形(同D字形),b字形是宋体24×24点阵横
扩四倍.纵扩一倍字形(即B字形再纵横扩一倍=96×48点阵).

    例:dBASE环境下，EGA显示方式，用特显命令在屏幕上显示一个菜
单，菜单内容为：
    "1.查询，2.修改，3.打印，0.退出"。
    程序清单:
    MENU.PRG
    ? CHR(14)+'Q[_100⊥50#4*2@A1,查询]'
    ? CHR(14)+'[_250⊥50@A2,修改]'
    ? CHR(14)+'[_250⊥100@A3,打印]'
    ? CHR(14)+'[_250⊥100@A0,退出]'
      RETURN
    例：操作系统环境下，在屏幕上显示红色背景，绿色的汉字“软
件展示会”，汉字为48×48点阵：
     C>SC [#4*2@D软件展示会

    (21).一些说明
    超想汉字系统的特殊显示功能的命令可以任意组合使用，从而简
单明确地叙述一幅屏幕显示画面各个图素的组合。其中显示24×24点
阵汉字命令必须在整个命令串的最后。组合使用特显命令时，功能符
的字母(A--Z)大小写均可，参数应用逗号隔开，且参数可自动四舍五
入为整数，数字前的空格相当于0，命令行的长度应遵守系统环境的约
定，不得大于200个字符，命令行尾必须加方括号"]"，否则可能造成
死机。

               ———————————————————————
                            北京超想电脑技术开发公司
                                 一九九三年二月
I`
