| United States-English |
|
|
|
![]() |
HP OpenVMS Systems Documentation |
字符管理程序(CMGR)用户手册本手册描述字符管理程序 (CMGR) 公用程序的概念、特性及命令。
机密计算机软件。必须有 HP 授予的有效许可证,方可拥有、使用或复制本软件。 根据供应商的标准商业许可证的规定,美国政府应遵守 FAR 12.211 和 12.212中有关“商业计算机软件”、“计算机软件文档”与“商业货物技术数据”条款的规定。 本文档中的信息如有更改,恕不另行通知。随 HP 产品及服务提供的明示性担保声明中列出了适用于此 HP 产品及服务的专用担保条款。本文中的任何内容均不构成额外的担保。HP 对本文中的技术或编辑错误以及缺漏不负任何责任。 Intel 和 Itanium 是 Intel Corporation 及其子公司在美国及其他国家或地区的商标或注册商标。 序言 vii4.5 CMGR SHOW TABLE 和 CMGR SHOW BITMAP 命令 4-32 4.6 CMGR REMOVE 和 COPY 命令 4-36 4.7 CMGR EXTRACT CODE 和 CMGR EXTRACT REFERENCE 命令 4-38 4.8 CMGR CONVERT FONT_SIZE 4-39 附录 A 整理值列表4-4 按 <SELECT> + <KP3> X 6 + <KP6> X 11 选择区域 4-10 4-5 按 <REMOVE> 把选定部分剪切到 Paste 缓冲区 4-11 4-6 按 <GOLD> + <KP0> 返回到原来的位映象 4-12
4-7 按 <GOLD> + <KP7> 前去适当的位置并按 <INSERT HERE> 4-8 键入关键字 "MEMORY" 使用内存记录 4-14
4-11 按 <Gold> + <KP.> 并键入 "MEMORY 10102" 以在其中一个 4-12 内存记录的 10102 字形显示在最左面的 REFER 窗口中 4-18 4-15 按 <Gold> + <M> 标记当前光标位置 4-21 4-16 使用 <KP6> 和 <KP8> 画三角形的两边 4-22 4-18 通过按 <Gold> + <G> 完成选择, 光标会直接跳到标记位置 4-24 4-20 用于编辑 32x32 大小字形的屏幕编排设计 4-26 4-22 把 24x24 大小的字形转换成 32x32 4-28 序言手册中所用的常规引言字符管理程序 (CMGR) 是一个软件部件, 用以管理中文字符的属性。这些中文字符主要是指 DEC 汉字字符集中的用户定义字符。用户可以操纵的属性包括字形和整理特征。 这软件取代 OpenVMS/Hanzi 5.4 及之前版本的字形系统。第 3 章会详细描述如何从旧的字形系统迁移到 CMGR 的系统属性数据库和用户属性文件。 CMGR 让用户建立用户定义字形和用户定义整理值、操纵系统属性数据库及建立用以参考的属性列表。按照默认, CMGR 命令仅在用户定义字符上操作, 但用户可以使用一些命令的 /RESERVED 限定词来操纵保留用户定义字符。 1.1 语言转换与 OpenVMS/Hanzi 的其他软件部件/公用程序一样, CMGR 能提供中英文求助文本和信息。用户可以使用 HANZIGEN 公用程序来转换中英文, 如下所示: 1.2 如何调用 CMGR$ CHARACTER_MANAGER COPY 10101 10102 如有需要, 用户可随时在 CMGR 提示符处键入 HELP 以取得求助资料。 CMGR> help Information available: Character_attributes CONVERT COPY EDIT EXIT EXTRACT HELP REMOVE SET SHOW System_Attribute_Database UPDATE User_Attribute_Files Topic? 1.3 字符属性字符代码可与几个字符属性有关联。用户可以自行定义 DEC 汉字字符集的用户定义区域和保留用户定义区域内代码的属性。CMGR 2.0 版本支持两个用户操纵属性,即位映象字形模式和整理特征。字形模式的大小可以是 24x24、32x32 或 40x40。支持的整理特征包括拼音、部首和笔画数。24x24 字形可用于在终端/行式打印机上执行按需装入和预装入。通过 DECprint Printing Services, 便可在激光打印机上打印各种可支持其大小的字形模式。如果定义了整理特征, 便可用 HSORT/HMERGE 公用程序来给包含用户定义字符的文件执行排序/合并。此后, "字符属性" 这术语即指这两个受支持的属性。 1.4 系统属性数据库和用户属性文件1.4.1 系统属性数据库CMGR 2.0 版本中有三个系统属性数据库, 可存储用户定义字符和保留用户定义字符的系统范围字符属性。这些属性会用以执行按需装入、预装入、打印及HSORT/HMERGE。这三个数据库的名称分别为 CMGR_DEFAULT、SONG 和 HEI。每一个数据库都可以存储所有用户定义字符和保留用户定义字符的全部属性。具备三个数据库可让用户建立和使用不同字体的字形。 CMGR 命令在当前数据库上操作。除非系统经理另行设置1, 否则注册后的当前数据库应是 CMGR_DEFAULT。要存取其他数据库, 可使用 SET DATABASE 命令。 1.4.2 用户属性文件对应于每个字符属性, 有两类用户属性文件, 即预装入文件和整理数据文件。预装入文件用以存储 CMGR 操作所用的位映象字形模式, 也可用以把用户定义的字形模式预装入到终端。CMGR 给预装入文件提供一个默认扩充名 .PRE。整理数据文件是另一类的用户属性文件,用以存储用户定义字符的整理特征。这文件只用于 CMGR 操作。同样地, CMGR 也给整理数据文件提供一个默认扩充名 .CVD。 对 CMGR 来说, 用户属性文件跟任何一个系统属性数据库都没有关系。因此, 同一个用户属性文件可以用于任何一个数据库。然而, 不同的数据库通常存储不同字体的字形。所以, 具有一种字体字形的用户属性文件可能不适用于另一种字体的数据库。 1.5 字符管理程序的主要功能
DEC 汉字字符集DEC 汉字字符集是由遵循 GB-2312-80 标准2的汉字和非汉字字符组成的一套字符集。 DEC 汉字字符集占了 DEC 汉字字符平面的两个象限。右下面的象限包含 DEC GB-2312 字符集, 左下面的象限包含扩充 GB 字符集。图 2-1 展示 DEC 汉字字符平面。 这两个象限共提供了 7,445 个字符和 8,836 个字符位。图 2-2 展示 DEC 汉字字符集中字符和字符位的分布。 扩充 GB 字符集中的字符位划分为两个区域 -- 用户定义区域和保留用户定义区域, 用户可在其中定义他们自己的字符属性, 以便按自己的需要来扩充 GB-2312字符集。CMGR 便是 OpenVMS/Hanzi 提供用来定义和操纵这些属性的工具。按照默认,CMGR 命令仅允许用户操纵用户定义区域内的属性。然而, 用户也可以通过在CMGR 命令中指定 /RESERVED 限定词来操纵保留用户定义区域内的属性。 图 2-3 和 图 2-4 说明 DEC 汉字字符集的两个象限中的代码分布。用户必须注意, 每一个象限可再分成 94 区, 每一区对应于象限中的一行。同时, 每一区又分为 94 个位置或 "位"。有关 DEC 汉字字符集的详情, 请参阅OpenVMS/Hanzi 用户手册第 2 章。 要联机观看字符集的资料, 可使用 CMGR 命令 SHOW CHARACTER_SET。
从字形系统迁移到 CMGR本章适用于已在使用字形系统而现在需要迁移到 CMGR 环境的 OpenVMS/Hanzi 5.5 版本以前的所有用户。 在 OpenVMS/Hanzi 5.5 版本之前, 用以存储、操纵和使用用户定义字形模式的环境称为字形系统。用户定义的字形模式存储在字形数据库内。OpenVMS/Hanzi 提供若干公用程序以帮助用户定义他们的字形、在字形数据库中更新这些字形, 并以表的格式列出它们。在字形数据库以外, 字形模式会存储在字形文件中。例如, FDESIGN是建立字形模式的公用程序。FDESIGN 的输出便是字形文件。 字形数据库内定义的字形可在按需装入时供字形处理程序使用, 或用户可用PRELOAD 公用程序 (自 OpenVMS/Hanzi 5.0 版本以来) 来建立预装入文件并把字形预装入到他们的终端。 自 OpenVMS/Hanzi 5.5 版本推出 CMGR 后, 便正式取代字形系统。CMGR 的系统属性数据库将取代旧字形系统的字形数据库。在属性数据库以外, 字形模式会存储在预装入文件中, 而不再会有字形文件。此外, 所有随字形系统而来的公用程序都将废弃, 取而代之的是 CMGR 的扩充命令集。 3.1 转换命令要协助用户从旧字形系统迁移到 CMGR, CMGR 提供了两个命令。CONVERT DATABASE命令把旧字形数据库中的字形转换成 CMGR 使用的格式, 并把它们存储在新的系统字形数据库中。从字形系统升级到 CMGR (OpenVMS/Hanzi 升级) 以后, 系统经理应执行一次这命令。CONVERT FONT_FILE 命令把字形文件转换成预装入文件。用户应使用这命令来把他们的字形文件转换成 CMGR 可操纵的预装入文件。 3.1.1 转换数据库在旧的字形系统中, 字形数据库在 HSY$SYSTEM 系统目录中有一个称为 FONT1.DAT的文件。该文件存储着所有用户定义的字形模式。在 CMGR 中, 字形模式都存储在系统属性数据库内, 部件 (如字形处理程序) 会使用 CMGR 数据库中的字形,而不再使用 FONT1.DAT 中的字形。 安装 OpenVMS/Hanzi 期间, 并不会删除 HSY$SYSTEM 中的 FONT1.DAT。如果用户要使用存储在字形数据库中的字形, 系统经理便必须使用 CONVERT DATABASE 命令来把那些字形转换至 CMGR 的系统字形数据库中。 CONVERT DATABASE 命令读取 FONT1.DAT 中的字形模式, 并把已转换的字形写入当前的系统字形数据库。CMGR 有三个系统字形数据库 -- CMGR_DEFAULT、SONG和 HEI。通过使用 SET DATABASE 命令, 可把当前数据库设置为上述的其中一个数据库3。由于字形处理程序会使用 CMGR_DEFAULT 数据库中的字形来执行按需装入, 大多数用户很可能想把旧字形数据库中的字形转换至 CMGR_DEFAULT 数据库。要做到这点, 可使用以下的命令: CMGR> SET DATABASE CMGR_DEFAULT %CMGR-I-DBSET, 当前数据库设定为 "CMGR_DEFAULT" %CMGR-I-FDBCONVNG, 正在把旧数据库转换成 CMGR_DEFAULT 数据库 ... %CMGR-I-READFIL, 正在读文件 HSY$SYSTEM:FONT1.DAT %CMGR-S-FONTCONVTD, 已转换 10101 的字形数据 %CMGR-I-FDBCONVEND, 总共把 1 个模式转换至 CMGR_DEFAULT 数据库 这例子中, 旧字形数据库中只找到代码为 101014 的一个字形模式。于是, 便把该字形模式转换并存储到 CMGR_DEFAULT 数据库。 旧的字形系统只支持 24x24 大小的字形。但 CMGR 已扩充至可支持 32x32 和40x40 大小的字形。因此, 系统字形数据库可以存储所有这般大小的字形。在执行 CONVERT DATABASE 操作期间, 旧字形数据库中的 24x24 字形会给转换成各种可支持其大小的字形, 并存储到系统字形数据库中。 CMGR 也支持旧字形系统不支持的用户定义整理特征。CONVERT DATABASE 命令仅把旧数据库的字形转换至 CMGR 的数据库, 但不会变换系统整理数据库中的整理值。因此, 转换以后, 用户仍要自行定义整理特征, 否则, 便不能正确地给包含用户定义字符的文件排序。 CONVERT DATABASE 命令的默认是 /LOG/CONFIRM。这表示在转换过程中会显示通知信息, 并且, 如果系统字形数据库已定义了字形模式, 便会请求用户确认。 3.1.2 转换字形文件在旧的字形系统中, FDESIGN 公用程序建立字形文件以存储用户定义的字形模式。虽然自 OpenVMS/Hanzi 5.0 版本以来, 便有建立预装入文件的 PRELOAD 公用程序,但用户大都把他们的用户定义字形模式只存储在字形文件中。然而, CMGR 会直接操纵预装入文件, 因此不再使用字形文件。 预装入文件将会是系统属性数据库以外唯一用以存储字形模式的方法。为协助用户使用字形文件中的字形模式, CMGR 提供 CONVERT FONT_FILE 命令来把字形文件的字形转换成预装入文件中的预装入序列。 把旧的字形系统升级到 CMGR 之后, 如果用户要使用字形文件中的一些字形模式,他必须执行类似以下的 CONVERT FONT_FILE 命令: CMGR> CONVERT FONT_FILE OLD1.FON, OLD2.FON NEW.PRE 在这例子中,字形文件 OLD1.FON 和 OLD2.FON 中的字形会转换成预装入序列,并存储到预装入文件 NEW.PRE 中。执行转换后, 用户便可使用 CMGR 的命令来操纵这包含原来存储在字形文件中的所有字形模式的预装入文件。 注意, 字形文件的文件名没有默认的扩充名, 因此, 用户必须给他的字形文件指定正确的文件扩充名。预装入文件的默认扩充名则已定义为 ".PRE"。 3.2 废弃的字形系统公用程序所有随旧字形系统而来的公用程序都会废弃, 取而代之的是 CMGR 的命令。这些公用程序包括 FDESIGN 公用程序、FUPDATE 公用程序、CTABLE 公用程序和PRELOAD 公用程序。本节将描述哪个 CMGR 命令会取代哪个废弃的公用程序, 以便熟悉旧字形系统的用户可以此作为起点, 渐渐迁移到使用 CMGR。 3.2.1 FDESIGN 公用程序FDESIGN 公用程序是一个让用户建立用户定义字形模式的字形编辑程序, 现由以EDIT 命令调用的 CMGR 字形编辑程序取代。这字形编辑程序除了支持 FDESIGN的所有特性外, 还提供许多其他的特性。同时, 它也支持编辑整理特征。但用户必须注意, 他们需要在 VT382 终端上运行字形编辑程序。有关详情, 请参阅第 6 章。 3.2.2 FUPDATE 公用程序FUPDATE 公用程序更新字形数据库中的字形模式, 并建立字形模式的位映象列表。在 CMGR 中, 字形模式存储在预装入文件中。用户应该使用 CMGR 的 UPDATE 命令在系统数据库中更新其字形。如果用户想用字形文件中的一些字形来更新系统字形数据库, 他可用 CONVERT FONT_FILE 命令来把字形文件转换为预装入文件,然后使用 UPDATE 命令。 要显示字形模式的位映象列表, 用户可使用 CMGR 的 SHOW BITMAP 命令。该命令显示预装入文件和系统属性数据库的位映象。 使用 CMGR本章会示范如何选择一个数据库作为当前数据库、如何建立一些用户定义字符、如何把对应的属性文件更新到当前的系统属性数据库中, 并如何建立字符属性列表文件以供参考。然后, 会简要描述其他 CMGR 命令, 如 REMOVE、EXTRACT 和 CONVERT FONT_SIZE。本章不会谈及诸如 CONVERT DATABASE 和 CONVERT FONT_SIZE 的命令。这些命令在第 3 章中已有描述。用户应参阅第 5 章的命令参考以了解每个 CMGR 命令的详细描述。 4.1 CMGR 中的字符代码和区说明字符代码由区位码或字符的内码指定。在 CMGR 中, 内码以十六进制代码表示,首个字符为 "H"。例如, 如果具有两个八位字节的用户定义字符的第一个字节等于 161, 而使它的第二个字节等于 33 (两者均为十进制), 它的内码便应为"HA121"。此外, 这代码是在 DEC 汉字字符平面内左下象限的第一区中。在图 2-4中, 用户可看到用户定义区域是从 "HA121" 至 "HF77E", 而保留用户定义区域是 从 "HF821" 至 "HFE7E"。 另一个普遍地用以指定字符代码的方法是使用它的 "区位"。DEC 汉字字符平面的每个象限可以再分成 94 区, 每区有 94 个位置 (位)。图 2-3 和图 2-4 所示,每一区对应于象限中的一行。因此, 第一行便是第 1 区, 而最后一行是第 94 区。要区分在两个象限的代码, 右下象限中的区位码以 "0" 开头, 左下象限中的区位码则以 "1" 开头。如果不是以 "0" 或 "1" 开头, 默认为 "0" (右下象限)。 因此, 区位码 "00101" 或 "0101" 等于内码 "HA1A1"。区位码 "10101" 等于 "HA121"。注意, 如果区号或位号是单个数字, 便会添加一个零。 如果使用区位, 用户定义区域的范围是从 10101 至 18794, 而保留用户定义区域则从 18801 至 19494。 用户必须注意, 区位码输入方法与 VT382 终端所提供的输入方法相同。
区号是以 /QUADRANT 限定词来指定的。限定词可取 LOWER_RIGHT、LR5 或 0 作为值来指定右下象限。也可取 LOWER_LEFT、LL6 或 1 作为值来指定左下象限。/QUADRANT 的默认值是 4.2 选择当前数据库CMGR 共有三个系统属性数据库, 即 CMGR_DEFAULT、SONG 和 HEI 数据库。在任何时候, 其中一个数据库会成为当前数据库, CMGR 命令便在该当前数据库上操作。除非系统经理另行设置7, 否则注册后的当前数据库应为默认数据库CMGR_DEFAULT。用户可以使用下述命令来转换到另一个数据库: 或者, 如果要知道系统中所有数据库的名称, 可使用下列命令: CMGR> SHOW DATABASE/ALL 数据库名 ------------------------------- CMGR_DEFAULT SONG -> HEI 4.3 使用 CMGR 字形编辑程序在 CMGR 中输入以下命令以调用编辑程序。由于 EDIT 命令的默认限定词是 /FULL/SIZE=ALL/LOG/LOAD_GLYPH, 因此允许您编辑用户定义字符的所有字符属性。请注意, 由于 CMGR 会自动添加 .PRE 和 .CVD 两个默认扩充名到两个输出文件, 因此不得在 /FULL 限定词中使用文件扩充名。 然而, 用这命令来调用的字形编辑程序不允许用户编辑保留用户定义区域的属性。如果需要编辑或使用保留用户定义字符, 应该发出以下命令: 这样, 便撤销所有与整理特征有关的特性, 只建立一个输出入文件 -- TEMP.PRE。 由于默认是 /SIZE=ALL, 因此用户可编辑任何一种可支持其大小的字形, 如 24x24、32x32 和 40x40。如果不需要编辑 32x32 和 40x40 大小的字形, 便应使用下列命令: 在启动编辑程序时, 编辑程序会装入一些字块模式以作显示。除非曾重置终端或关掉电源, 否则只需装入一次。为节省时间, 用户可在第二次 (或以后) 启动编辑程序时指定 /NOLOAD_GLYPH。 假定没有 TEMP.PRE 和 TEMP.CVD, 编辑程序便会在 EXIT 编辑程序时建立这两个文件。如果用户选择放弃编辑程序, 便不会建立输出文件。如果目录已包含其中一个或这两个文件, 编辑程序便把文件的内容读入内存 (称为内存记录) 以供编辑。在 EXIT 时, 便给这些文件建立新版本。 调用编辑程序以后, 便会在屏幕上显示象图 1-1 (或图 1-2, 取决于语言设置)所示的屏幕显示。用户可在任何时间按 <PF2> 以取得关于小键盘的求助资料。 <====== 编辑小键盘 ======> <=========== 应用小键盘 ===========> +--------+--------+--------+ +--------+--------+--------+--------+ | | | | | Gold | Help | Output | Delete | | | Paste | Cut | | |Key Help|Curs Mo.|Past Mo.| +--------+--------+--------+ +--------+--------+--------+--------+ |Sel. All| | | |ULcorner| Top |URcorner| Cancel | | Select |Prv Size|Nxt Size| | U&L | Up | U&R |Type Mo.| +--------+--------+--------+ +--------+--------+--------+--------+ | | | L side | Center | R side | Quit | | Up | | Left | Toggle | Right |Wrap Mo.| +--------+--------+--------+ +--------+--------+--------+--------+ | | | | |LLcorner| Bottom |LRcorner| | | Left | Down | Right | | D&L | Down | D&R | Exit | +--------+--------+--------+ +--------+--------+--------| | | Return from USE | REFER | Enter | | USE |DISPLAY | Code | +-----------------+--------+--------+ Additional information available: Application-keypad Editing-keypad Control-keys Main-keypad KEYPAD Subtopic? 在编辑字形之前, 用户必须输入字符代码以作编辑。字符代码以区位码或内码格式指定 (第 4.1 节)。按 <ENTER> 来输入字符代码 (见图 4-1)。如果命令行中没用指定 /RESERVED, 用户只可输入用户定义区域内的代码, 否则会有出错信息显示出来。如果指定了 /RESERVED, 便可同时使用用户定义和保留用户定义字符代码。 有关用户定义字符的有效代码范围的详情, 请参阅第 2 章或在 CMGR 输入以下的命令: CMGR> show character_set DEC GB-2312 汉字字符集 代码范围 象限 区范围 字符种类 -------------- -------- ------------- --------------- 00101 - 00994 LR 1 - 9 DEC GB-2312 字符 01001 - 01594 LR 10 - 15 DEC GB-2312 保留字符 01601 - 08794 LR 16 - 87 DEC GB-2312 字符 08801 - 09494 LR 88 - 94 DEC GB-2312 保留字符 10101 - 18794 LL 1 - 87 用户定义字符 18801 - 19494 LL 88 - 94 保留用户定义字符
用户现在可以使用小键盘、功能键、或控制键的各种功能来执行编辑。用户应注意所有 EDIT 态的默认设置: 光标态的 ON/OFF、贴补态的 OVERWRITE、字符类型的 LETTER 和绕回态的 OFF。这设置会影响编辑功能的大部分操作。用户可按小键盘功能键来更改任何一个 EDIT 态, 如按 <PF3> 来更改光标态。 用户可从当前的系统属性数据库中取出位映象字形模式来执行 CUT 功能, 然后使用 PASTE 功能把贴补缓冲区 (里面包含从字形剪切出来的部分) 插入正编辑的字形模式。USE 功能有助于执行这操作。 如果用户要使用的字形存储于默认数据库以外的另一个数据库内, 在启动编辑程序之前必须执行以下命令: 此命令把当前数据库设置为 HEI, 随后的 CMGR 命令都将在 HEI 数据库上操作(在这情形下, 编辑程序的 USE 功能将从 HEI 数据库读取字形)。 要调用 USE, 用户应按 <KP0> 键并输入关键字 (任选的) 和用户定义字符代码(或如果在命令行中指定了 /RESERVED, 亦可输入保留用户字符代码)。关键字可以是 "DATABASE" 或 "MEMORY"8, 默认是 "DATABASE"。它指定字形模式的源。 如果关键字是 "DATABASE" 或没有指定, CMGR 会从当前系统属性数据库中检索指定的用户定义字形模式。如果关键字是 "MEMORY", CMGR 便会从内存记录9取出字形。 然后, 用户便可执行 SELECT 和 CUT 操作, 把合适的字形部分放进贴补缓冲区。最后, 按 <GOLD + <KP0> 返回原来的位映象, 并把该部分贴补 (按 <INSERT HERE>) 到当前编辑的位映象。在执行 PASTE 操作之前, 用户必须按光标移动功能键 (如 <GOLD> + <KP7>), 把光标移到适当的位置。 图 4-2、图 4-3、图 4-4、图 4-5、图 4-6 和 图 4-7 展示每一操作的屏幕显示。字形是从 HEI 系统属性数据库取出的。 用户可以执行类似的操作来组合最终的字形模式, 或使用编辑程序功能来建立新的字形模式。完成字形模式后或在编辑期间, 用户可以按 <KP.> 来在 DISPLAY窗口以实际大小显示字形 (见图 4-10)。 此外, 用户可能希望看到其他字符代码的实际大小字形。REFER 可提供这方面功能,它最多可显示当前系统属性数据库或内存记录中的三个字形。按 <GOLD> + <KP.>, 便有提示要求提供字符代码, 用类似 USE 功能那样的关键字和字符代码来回答, 字形便在其中一个 REFER 窗口内显示出来 (见图 4-11 和图 4-12)。 字形编辑程序也提供画几何图形或重新编排字形模式的功能。例如,用户可以首先 SELECT 一个区域并按 <O> 来画一个椭圆。图 4-13 和 图 4-14 展示此例子。 CMGR 编辑程序提供 MARK 功能以协助编辑。用户按 <GOLD> + <M> 便可在当前光标位置作标记。标记座标会展示出来。然后, 用户可以把光标移到任何位置。如有需要, 便可在任何时候按 <GOLD> + <G> 来跳回到标记的位置。图 4-15、图4-16、图 4-17、图 4-18 和图 4-19 展示使用标记功能来画三角形的例子。
图4-4 按 <SELECT> + <KP3> X 6 + <KP6> X 11 选择区域
图4-5 按 <REMOVE> 把选定部分剪切到 Paste 缓冲区
图4-6 按 <GOLD> + <KP0> 返回到原来的位映象
图4-7 按 <GOLD> + <KP7> 前去适当的位置并按 <INSERT HERE> 贴补该 Paste 缓冲区
图4-11 按 <Gold> + <KP.> 并键入 "MEMORY 10102" 以在其中一个 REFER 窗口显示内存字形
图4-12 内存记录的 10102 字形显示在最左面的 REFER 窗口中
图4-16 使用 <KP6> 和 <KP8> 画三角形的两边
图4-18 通过按 <Gold> + <G> 完成选择, 光标会直接跳到标记位置
在 24x24 大小的字形模式的编辑完成之后, 用户可能希望编辑其他大小的字形。要这样做, 可按 <Next Screen>, 编辑程序的编排设计便更改成图 4-20 那样。现在, 用户可以编辑 32x32 大小的字形。 大小的次序是 24x24、32x32 和 40x40。按 <Next Screen> 便从 24x24 大小向前去到 40x40 大小, 然后再回到 24x24 大小。按 <Prev Screen> 便从 40x40大小反向前去到 24x24 大小, 然后再回到 40x40。用户可使用这两个键来转换到任一个大小并编辑该大小的字形。 为了帮助用户建立不同大小的字形, CMGR 提供了一个转换大小的功能。用户可以把同一代码另一大小的字形转换成当前大小。例如, 在使用 <Next Screen> 来转换成 32x32 大小之后, 按 <F18>, 便有提示询问转换前的大小。输入 24 并按<Return>, 24x24 大小的字形便会转换成 32x32 大小并装入 EDIT 缓冲区。图4-21 和图 4-22 说明整个过程。
编辑字形后, 按 <F17> 以输入整理特征。如果用户需要排序/合并字符, 此步骤是必需的。用户会收到提示要求他输入每个整理特征的值 (图 4-23)。输入所有整理特征后, 便会象图 4-24 所示的那样显示出来。
假定再编辑了两个用户定义字符 10102 和 10103, 然后输入 EXIT (<GOLD> + <ENTER>), 便产生 TEMP.PRE 和 TEMP.CVD 两个输出文件。这两个输出文件保存了用户的编辑结果 ( TEMP.PRE 保存位映象字形模式, 而 TEMP.CVD 保存整理特征)。之后, 编辑对话期便结束, 用户也返回 CMGR> 提示符。 4.4 CMGR UPDATE 命令在产生用户属性文件 (TEMP.PRE 和 TEMP.CVD) 以后, 用户便可以用下述命令以这两个文件来更新当前的系统属性数据库: 默认限定词是 /FULL/SIZE=ALL/CONFIRM=ALL/LOG, 意思是会按输入文件更新用户定义字符的所有属性, 并要求确认将要执行的所有更新。实际上, 用户可以输入 /NOCONFIRM 来撤销确认, 或输入 /CONFIRM=CONFLICT 来表示只在当前系统属性数据库中已有对应字符代码的属性时才需要确认。此外, 用户可以指定 /NOLOG 来撤销在更新操作期间显示通知信息。请注意, 此命令必须有 SYSPRV 特权才可执行。 与 EDIT 命令相同, 使用 /FULL 限定词时不能指定文件扩充名, 原因是 CMGR 会自动添加这两个扩充名。这说明这命令会以 TEMP.PRE 和 TEMP.CVD 来更新当前的系统属性数据库。 如果用户属性文件包含保留用户定义字符的属性, 用户便必须使用 /RESERVED 限定词, 否则, 更新操作便会失败。 以下展示该 UPDATE 操作 (假定当前系统属性数据库是 CMGR_DEFAULT 并且已包含字符 10102 的两个属性)。 %CMGR-I-UPGFONT,正在用文件DISK$:[USER]TEMP.PRE;1更新CMGR_DEFAULT 更新代码 10101 的 24x24 大小的字形模式吗 ? [N]: Y %CMGR-I-FONTUPD, 已更新代码 10101 的 24x24 大小的字形模式 %CMGR-I-FONTEXIST, 代码 10102 的 24x24 大小的字形模式已存在 更新代码 10102 的 24x24 大小的字形模式吗 ? [N]: ALL %CMGR-I-FONTUPD, 已更新代码 10102 的 24x24 大小的字形模式 %CMGR-I-FONTUPD, 已更新代码 10103 的 24x24 大小的字形模式 %CMGR-I-FONTUPD, 已更新代码 10101 的 32x32 大小的字形模式 %CMGR-I-FONTEXIST, 代码 10102 的 32x32 大小的字形模式已存在 %CMGR-I-FONTUPD, 已更新代码 10102 的 32x32 大小的字形模式 %CMGR-I-FONTUPD, 已更新代码 10103 的 32x32 大小的字形模式 %CMGR-I-FONTUPD, 已更新代码 10101 的 40x40 大小的字形模式 %CMGR-I-FONTEXIST, 代码 10102 的 40x40 大小的字形模式已存在 %CMGR-I-FONTUPD, 已更新代码 10102 的 40x40 大小的字形模式 %CMGR-I-FONTUPD, 已更新代码 10103 的 40x40 大小的字形模式 %CMGR-I-UPGCOLL,正在用文件DISK$:[USER]TEMP.CVD;1更新 CMGR_DEFAULT %CMGR-I-COLLUPD, 已更新代码 10101 的整理值 %CMGR-I-COLLEXIST, 代码 10102 的整理值已存在 %CMGR-I-COLLUPD, 已更新代码 10102 的整理值 %CMGR-I-COLLUPD, 已更新代码 10103 的整理值 4.5 CMGR SHOW TABLE 和 CMGR SHOW BITMAP 命令CMGR SHOW TABLE 命令允许用户建立字符属性表, CMGR SHOW BITMAP 命令建立字形位映象的输出。这两个命令的主要目的是以表或位映象的格式展示系统属性数据库和用户属性文件的内容。使用 SHOW TABLE 命令来展示系统属性数据库中的字形属性表时, 可显示 DEC 汉字字符集内的所有区。至于在数据库上的其他SHOW TABLE 和 SHOW BITMAP 操作, 只限于展示用户定义字符或保留用户定义字符 (如果指定了 /RESERVED)。 4.5.1 展示用户属性文件的属性资料如果用户只要展示属性文件 (TEMP.PRE 和 TEMP.CVD) 的内容但不展示位映象,他们可以输入: CMGR> SHOW TABLE/USER=TEMP/OUTPUT=LIST1.LIS /USER 限定词是指属性资料要从用户属性文件取出, 而不是从系统属性数据库取出。用户属性文件说明是这限定词的值。同样地, 如果指定 /FULL 限定词 (是默认限定词), 便不允许给用户属性文件指定扩充名。 如果用户要在屏幕上显示资料, 由于 /OUTPUT 的默认是 /OUTPUT=SYS$OUTPUT,因此他们可以省略限定词 /OUTPUT=LIST1.LIS。 图 4-25 展示输出列表文件 LIST1.LIS 的内容。
如果用户只以字形编辑程序建立预装入文件而不建立整理数据文件,他们必须添加限定词 /FONT: CMGR> SHOW TABLE/USER=TEMP/OUTPUT=LIST1.LIS/FONT 要展示预装入文件 TEMP.PRE 的位映象字形模式及其对应的整理特征, 用户可以输入: CMGR> SHOW BITMAP/USER=TEMP/OUTPUT=LIST2.LIS/WIDTH=80 而且, /FULL/SIZE=ALL 会是默认。图 4-26 展示此命令中输出列表 LIST2.LIS部分。注意, 限定词 "/WIDTH=80" 限制输出列表的宽度为 80 列。宽度的有效值是 132 和 80, 默认是 132。
4.5.2 展示系统属性数据库的属性资料要展示 HEI 系统属性数据库的属性表而不展示位映象, 用户应输入: CMGR> SET DATABASE HEI CMGR> SHOW TABLE/OUTPUT=LIST3.LIS 1-87 要展示 CMGR_DEFAULT 系统属性数据库的字符位映象, 应输入: CMGR> SET DATABASE/DEFAULT CMGR> SHOW BITMAP/OUTPUT=LIST4.LIS 10101-18794 再一次, /FULL/SIZE=ALL 是这两个命令的默认。如果用户要在终端屏幕上显示资料, 由于 /OUTPUT 的默认是 /OUTPUT= SYS$OUTPUT, 因此他们可以省略限定词 /OUTPUT。 每一个命令都接受一个参数。SHOW TABLE 的参数是区号, 而 SHOW BITMAP 的参数是字符代码。 CMGR> SHOW TABLE 1-10, 30-40/QUADRANT=1 "1-10" 和 "30-40" 指定区的范围。用户必须使用连字符 "-" 来分隔该范围的上下限。 CMGR> SHOW BITMAP 10101-11094, 13001-14094 注意, 没有 /RESERVED 限定词, 便不能显示保留用户定义区域内的代码属性 (仅用 SHOW TABLE 的字形除外)。因此, 如果用户要展示保留用户定义区域内有关属性的资料, 应使用下列命令: CMGR> SHOW TABLE/RESERVED 88-94/QUADRANT=1 CMGR> SHOW BITMAP/RESERVED 18801-19494 用户应该尝试指定不同组合的 /FULL、/FONT、/COLLATING、/SIZE、/USER、/SYSTEM 和 /RESERVED 来看看输出有什么差别。 4.6 CMGR REMOVE 和 COPY 命令REMOVE 和 COPY 命令都需要有 SYSPRV 特权来执行, 它们在当前系统属性数据库上操作。REMOVE 用以除去当前系统属性数据库的字符属性, 而 COPY 则用以把字符属性从一个代码复制到另一个代码。 这两个命令都以 /FULL/SIZE=ALL 和 /LOG 作为默认。另外, REMOVE 命令以/CONFIRM 作为默认, 而 COPY 命令则以 /CONFIRM=ALL 为默认。 REMOVE 命令接受代码列表或代码范围作为其参数。COPY 命令只接受两个参数。第一个是源代码列表, 第二个是目的地代码列表。当源代码列表和目的地代码列表中的代码数目不同时, CMGR 便截断较长的那个参数。注意, 除非指定/RESERVED 限定词, 否则两个命令都不允许处理保留用户定义字符。 以下展示每个命令的例子, 当前数据库已设置为 CMGR_DEFAULT。 %CMGR-I-RMGFONT, 正在从 CMGR_DEFAULT 数据库除去 24x24 大小的字形 模式... 除去代码 10101 的 24x24 大小的字形模式吗 ? [N]: Y %CMGR-I-FONTRMD, 已除去代码 10101 的 24x24 大小的字形模式 除去代码 10102 的 24x24 大小的字形模式吗 ? [N]: N 除去代码 10103 的 24x24 大小的字形模式吗 ? [N]: ALL %CMGR-I-FONTRMD, 已除去代码 10103 的 24x24 大小的字形模式 %CMGR-I-RMGFONT, 正在从 CMGR_DEFAULT 数据库除去 32x32 大小的字形 模式 ... %CMGR-I-FONTRMD, 已除去代码 10101 的 32x32 大小的字形模式 %CMGR-I-FONTRMD, 已除去代码 10102 的 32x32 大小的字形模式 %CMGR-I-FONTRMD, 已除去代码 10103 的 32x32 大小的字形模式 %CMGR-I-RMGFONT, 正在从 CMGR_DEFAULT 数据库除去 40x40 大小的字形模式 ... %CMGR-I-FONTRMD, 已除去代码 10101 的 40x40 大小的字形模式 %CMGR-I-FONTRMD, 已除去代码 10102 的 40x40 大小的字形模式 %CMGR-I-FONTRMD, 已除去代码 10103 的 40x40 大小的字形模式 %CMGR-I-RMGCOLL, 正在从 CMGR_DEFAULT 数据库除去整理值 ... %CMGR-I-COLLRMD, 已除去代码 10101 的整理值 %CMGR-I-COLLRMD, 已除去代码 10102 的整理值 %CMGR-I-COLLRMD, 已除去代码 10103 的整理值 %CMGR-I-DBUPD, 已更新 CMGR_DEFAULT 系统数据库 CMGR> COPY/FONT/SIZE=24 10101-10102 12101 %CMGR-I-CPGFONT, 正在复制 CMGR_DEFAULT 数据库中的 24x24 大小的字 形模式... %CMGR-I-FONTEXIST, 代码 12101 的 24x24 大小的字形模式已存在 把代码 10101 的 24x24 大小的字形模式复制至代码 12101 ? [N]: Y 4.7 CMGR EXTRACT CODE 和 CMGR EXTRACT REFERENCE 命令EXTRACT 命令从系统属性数据库抽取字符属性资料来产生用户属性文件。用户可以用 EXTRACT CODE 命令来抽取字形和整理属性, 或用 EXTRACT REFERENCE 命令来只抽取字形属性。 EXTRACT CODE 命令的主要功能是为编辑或预装入 (只就预装入文件而言) 建立用户属性文件。EXTRACT REFERENCE 命令则为预装入建立预装入文件。 EXTRACT CODE 接受两个参数。一个是代码列表, 另一个是用户属性文件的说明: CMGR> EXTRACT CODE 10101-10103 USER1 EXTRACT CODE 命令的默认限定词是 /FULL/SIZE=ALL, 因此, 上述命令会建立两个文件, 即 USER1.PRE 和 USER1.CVD。这两个文件分别包含代码 10101 至 10103 的所有大小的预装入序列和整理值。而且, 如果使用了 /FULL 限定词 (或默认), 便不允许在用户属性文件说明中指定文件扩充名。产生预装入文件和整理数据文件后, 用户便可以使用字形编辑程序来编辑文件或把 USER1.PRE 预装入到 终端以供显示。 如上所述, EXTRACT REFERENCE 只建立预装入文件, 它不具有 /FULL、/FONT 或/COLLATING 中的任何一个限定词。这命令的功能是检索一遍一些文本文件以找出用户定义字符, 并给那些用户定义字符建立预装入文件。建立的预装文件可以预装入到终端/打印机上。因此, 用户在发送文本文件前, 应把这文件发送到设备以便显示或打印那些用户定义字符。当然, 系统属性数据库必须包含那些用户定义字符代码的字形属性。 EXTRACT REFERENCE 也接受两个参数。一个是待检索的文本文件列表, 另一个是预装入文件的说明: CMGR> EXTRACT REFERENCE USERDATA1.TXT, USERDATA2.TXT USER2 用户可在这两个命令上使用限定词 /ENTRY_LIMIT 来控制最多只可输出多少属性记录到用户属性文件。原因是所有设备 (如 VT382) 都只有有限的内存空间来存储预装入字形模式。如果用完了内存空间, 任何输入的预装入字形模式便会重写到内存的现有字形模式上。因此, 如果必需的话, 用户应查看有关的设备参考手册来指定 /ENTRY_LIMIT 的值, 从而使预装入文件内的所有字形模式都可有效地预装入到设备上。如果不指定这限定词, CMGR 便不限制输出属性记录的数目。 再者, 如果用户要抽取保留用户定义字符, 便必须指定 /RESERVED。如果没有指定该限定词而 EXTRACT CODE 的代码列表却包含保留用户定义字符代码, 命令便会失败。至于 EXTRACT REFERENCE, 如果此命令在文本文件中找到一个保留用户定义字符, 便会显示一个警告信息。 如果用户要抽取其中一种或两种大小的字形而不是所有大小的字形,可使用/SIZE 限定词, 并指定大小作为限定词的值。例如: CMGR> EXTRACT REFERENCE/SIZE=24 USERDATA1.TXT, USERDATA2.TXT USER2 4.8 CMGR CONVERT FONT_SIZECONVERT FONT_SIZE 命令把预装入文件中的字形模式从一种大小转换成另一种大小。这命令接受两个参数, 即输入预装入文件列表和输出预装入文件。系统会读取输入预装入文件中的预装入序列, 并把它们转换成 /SIZE 限定词指定的字形大小。转换后的预装入序列会写入输出预装入文件。例如: CMGR> CONVERT FONT_SIZE FONT.PRE FONT32.PRE/SIZE=32 这命令会读取 FONT.PRE 中的所有字形, 并把它们转换成 32x32 的字形大小, 然后输出到 FONT32.PRE 文件。如果 FONT.PRE 包含同一个代码的重复预装入序列(可能属不同的字形大小), 那么会用最后一个预装入序列来执行转换。还有, 如果 FONT.PRE 中的预装入序列已是 32x32 大小的, 那么便只会复制该预装入序列到输出文件。 4.9 CMGR SHOW CHARACTER_SET 和 CMGR SHOW VERSION 命令SHOW CHARACTER_SET 命令用以展示字符集资料。用户可以使用这些资料来确定CMGR 操作的有效代码范围和区范围。例如, 用户必须在 CMGR 的所有命令中指定有效的用户定义字符代码, 或者用户必须在一些具有 /RESERVED 限定词的命令中输入保留用户定义字符的有效代码范围。SHOW CHARACTER_SET 的输出展示如下。 CMGR> show character_set DEC GB-2312 汉字字符集 代码范围 象限 区范围 字符种类 -------------- -------- ------------- --------------- 00101 - 00994 LR 1 - 9 DEC GB-2312 字符 01001 - 01594 LR 10 - 15 DEC GB-2312 保留字符 01601 - 08794 LR 16 - 87 DEC GB-2312 字符 08801 - 09494 LR 88 - 94 DEC GB-2312 保留字符 10101 - 18794 LL 1 - 87 用户定义字符 18801 - 19494 LL 88 - 94 保留用户定义字符 SHOW VERSION 命令展示当前 CMGR 的版本号, 如下所示: CMGR> SHOW VERSION %CMGR-I-VERSION, CMGR 第 2.0 版 4.10 CMGR HELP 和 EXIT 命令任何时候用户都可在 CMGR 中键入 HELP, 然后在 "Topic?" 提示符处选择要阅读的题目。每当用户对使用任何一个 CMGR 命令有疑问, 都可以使用这命令。 CMGR> help Information available: Character_attributes CONVERT COPY EDIT EXIT EXTRACT HELP REMOVE SET SHOW System_Attribute_Database UPDATE User_Attribute_Files Topic? copy COPY COPY 命令把源字符代码的字符属性复制到当前 "系统属性数据库" 的目的地字符代码。对每对源/目的地代码执行操作时不设任何缓冲, 因此, 下列命令会使 10101的属性被复制到从 10102 到 10194 的所有代码(10101 复制到 10102, 然后 10102复制到 10103, 如此类推。): 有关怎样选择当前数据库的详情, 请参阅 SET DATABASE 命令的题目。 COPY [/qualifiers] source-code[,...] destination-code[,...] Additional information available: /COLLATING /CONFIRM /FONT /LOG /RESERVED /SIZE CMGR 命令参考CMGR> 提示符表示已进入 CMGR 子系统, 用户现在可以输入本区中描述的命令。 另一个使用 CMGR 命令的方法是在 DCL 命令级上直接地使用它们: $ CMGR cmgr-commands [qualifiers] [parameters] 5.1 CONVERT DATABASE把旧字形数据库文件 FONT1.DAT 中的字形转换到当前系统属性数据库。 推出 CMGR 后, 便不再使用旧的 FONT.DAT、FONT1.DAT 系统字形数据库。要使用在 FONT1.DAT 中定义的字形模式, 系统经理必须在系统升级后使用 CONVERT DATABASE 命令来执行转换。 CONVERT DATABASE 命令读取在 HSY$SYSTEM:FONT1.DAT 中定义的字形模式, 并把他们转换成新的格式, 然后把字形存储到当前的系统属性数据库。 旧的字形系统仅支持 24x24 大小的字形。但采用 CMGR 后, 32x32 和 40x40 大小的字形也得到支持。在执行 CONVERT DATABASE 时, 系统会从 FONT1.DAT 中读取 24x24 大小的字形, 并把它们转换成 32x32 和 40x40 的大小。转换后的字形会装入当前的系统属性数据库。 然而, 旧的字形系统不支持整理特征。CMGR 无法从旧的字形系统中获得整理值。因此, 在执行 CONVERT DATABASE 命令后,整理特征仍未定义。 可用 SET DATABASE 命令来设置当前数据库。在多数情况下, 系统经理都需要把当前数据库设置为 CMGR_DEFAULT, 然后用 CONVERT DATABASE 来执行转换。这是因为 OpenVMS/Hanzi 的字形处理程序会在按需装入时使用 CMGR_DEFAULT 数据库的字形。 指定如果当前系统属性数据库内已有字形模式的定义时是否需要用户确认。 %CMGR-I-READFIL, 正在读文件 HSY$SYSTEM:FONT1.DAT %CMGR-S-FONTCONVTD, 已转换 10101 的字形数据 %CMGR-S-FONTCONVTD, 已转换 10102 的字形数据 %CMGR-S-FONTCONVTD, 已转换 10103 的字形数据 %CMGR-I-FDBCONVEND, 总共把 3 个模式转换至 CMGR_DEFAULT 字形数据库 此命令转换 HSY$SYSTEM:FONT1.DAT 中的三个字形模式并把它们存储到当前的系统属性数据库 - CMGR_DEFAULT。 5.2 CONVERT FONT_FILE
一个或多个字形文件的文件名。将转换这些字形文件中找到的用户定义字符和保留用户定义字符的所有字形模式。 在旧的字形系统中, 用户字形存储在字形文件里。在 CMGR 中, 用户字形存储在预装入文件里。要在 CMGR 下使用在字形文件中定义的字形,必须首先使用 CONVERT FONT_FILE 命令来把这些字形文件转换成预装入文件。 用户可在 CONVERT FONT_FILE 命令中输入字形文件列表, 便可把文件中的所有字形转换成预装入序列。这命令可转换用户定义字符和保留用户定义字符。这里没有 /RESERVED 限定词。 5.3 CONVERT FONT_SIZE把一个或多个预装入文件中的所有字形转换成其中一种支持的字形大小。
_Input File: source-file[,...] _Output File: destination-file 一系列源预装入文件, 里面包含要转换的预装入序列。默认扩充名是 .PRE。 存储已转换的预装入序列的输出预装入文件。转换后, 这文件中的所有预装入序列都会有指定的大小。 CONVERT FONT_SIZE 命令把一个或多个预装入文件中的所有字形转换为其中一个支持的字形大小, 并把它们输出到一个目的地预装入文件。这命令可转换用户定义字符和保留用户定义字符。这里没有 /RESERVED 限定词。 要指定输出字形大小, 可使用 /SIZE 限定词。如果输入预装入文件已包含指定大小的字形, 预装入序列就只复制到输出文件。如果输入文件包含一个以上的同码预装入序列, 便使用最后的预装入序列来作转换。 指定要转换的字形大小。font-size 的有效值是 24、32 和 40, 它们分别表示24x24、32x32 和 40x40 的字形大小。 CMGR> CONVERT FONT_SIZE/SIZE=32 MYFILE24.PRE MYFILE32.PRE 假定 myfile24.pre 包含 10101 的 24x24 字形。这命令会把该字形转换为 32x32 大小, 并把它存储入 myfile32.pre 。 5.4 COPY把指定的源字符代码的字符属性复制到当前系统属性数据库的目的地字符代码。 代码或代码范围的列表。代码可以是 "区位" 码或内码。代码范围是两个代码,以连字符分隔, 中间无空格。 "区位" 码由 5 个十进制数字组成, 第一位数字是任选的, 可以是 "0" 或 "1"。"0" 指定右下象限, 而 "1" 指定左下象限。如果不指定, 默认为 "0"。接下来的两位数字指定 "区", 最后两位数字指定 "位"。 内码是前面带 "H" 的十六进制代码。例如, HA121 即等于 10101。 如没有 /RESERVED 限定词, 只能对属于用户定义区域的代码执行复制。有关详情,请参阅 /RESERVED 的描述。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||