Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

HP OpenVMS Systems Documentation

Content starts here

 

 

字符管理程序(CMGR)用户手册

产品号: BA322-90021

2005 年 5 月

本手册描述字符管理程序 (CMGR) 公用程序的概念、特性及命令。

 

 

 

修订/更新资料:

本手册取代 OpenVMS/Hanzi V1.5 AXP 的CMGR 用户手册

软 件 版 本:

CMGR 2.0 版本

OpenVMS/Hanzi I64 8.2 版本

OpenVMS/Hanzi Alpha 7.3-2 版本

 

 

 

 

 

 

 

 

 

 

 

Hewlett-Packard Company

Palo Alto, California

(c) Copyright 2005 Hewlett-Packard Development Company, L.P.

机密计算机软件。必须有 HP 授予的有效许可证,方可拥有、使用或复制本软件。

根据供应商的标准商业许可证的规定,美国政府应遵守 FAR 12.211 和 12.212中有关“商业计算机软件”、“计算机软件文档”与“商业货物技术数据”条款的规定。

本文档中的信息如有更改,恕不另行通知。随 HP 产品及服务提供的明示性担保声明中列出了适用于此 HP 产品及服务的专用担保条款。本文中的任何内容均不构成额外的担保。HP 对本文中的技术或编辑错误以及缺漏不负任何责任。

Intel 和 Itanium 是 Intel Corporation 及其子公司在美国及其他国家或地区的商标或注册商标。

Printed in Singapore。

 

序言 vii

第 1 章 引言

1.1 语言转换 1-1

1.2 如何调用 CMGR 1-1

1.2.1 调用 CMGR 字形编辑程序 1-2

1.3 字符属性 1-4

1.4 系统属性数据库和用户属性文件 1-5

1.4.1 系统属性数据库 1-5

1.4.2 用户属性文件 1-5

1.5 字符管理程序的主要功能 1-5

第 2 章 DEC 汉字字符集

第 3 章 从字形系统迁移到 CMGR

3.1 转换命令 3-1

3.1.1 转换数据库 3-1

3.1.2 转换字形文件 3-3

3.2 废弃的字形系统公用程序 3-3

3.2.1 FDESIGN 公用程序 3-4

3.2.2 FUPDATE 公用程序 3-4

3.2.3 CTABLE 公用程序 3-4

3.2.4 PRELOAD 公用程序 3-4

第 4 章 使用 CMGR

4.1 CMGR 中的字符代码和区说明 4-1

4.2 选择当前数据库 4-2

4.3 使用 CMGR 字形编辑程序 4-3

4.4 CMGR UPDATE 命令 4-31

4.5 CMGR SHOW TABLE 和 CMGR SHOW BITMAP 命令 4-32

4.5.1 展示用户属性文件的属性资料 4-33

4.5.2 展示系统属性数据库的属性资料 4-35

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

4.9 CMGR SHOW CHARACTER_SET 和 CMGR SHOW VERSION 命令 4-39

4.10 CMGR HELP 和 EXIT 命令 4-40

第 5 章 CMGR 命令参考

5.1 CONVERT DATABASE 5-1

5.2 CONVERT FONT_FILE 5-3

5.3 CONVERT FONT_SIZE 5-5

5.4 COPY 5-6

5.5 EDIT 5-9

5.6 EXIT 5-12

5.7 EXTRACT CODE 5-13

5.8 EXTRACT REFERENCE 5-16

5.9 HELP 5-18

5.10 REMOVE 5-19

5.11 SET DATABASE 5-22

5.12 SHOW BITMAP 5-23

5.13 SHOW CHARACTER_SET 5-27

5.14 SHOW DATABASE 5-28

5.15 SHOW TABLE 5-29

5.16 SHOW VERSION 5-32

5.17 UPDATE 5-33

第 6 章 字形编辑程序参考

6.1 终端支持 6-1

6.2 调用字形编辑程序 6-1

6.2.1 字符属性 6-2

6.2.2 装入字块 6-2

6.3 内部操作 6-3

6.4 屏幕编排设计 6-3

6.5 缓冲区 6-6

6.6 编辑功能 6-7

6.6.1 启动 6-7

6.6.2 Gold 状态 6-7

6.6.3 移动光标 6-7

6.6.3.1 步进 6-7

6.6.3.2 仅移动 6-8

6.6.3.3 跳跃 6-8

6.6.4 编辑态 6-8

6.6.4.1 光标态 6-8

6.6.4.2 贴补态 6-8

6.6.4.3 类型态 6-8

6.6.4.4 绕回态 6-9

6.6.5 DISPLAY 与 REFER 窗口 6-9

6.6.6 USE 缓冲区 6-10

6.6.7 选择区域 6-10

6.6.8 剪切与贴补 6-10

6.6.9 标记 6-11

6.6.10 几何图形 6-11

6.6.11 特殊功能 6-12

6.6.12 编辑不同大小的字形 6-13

6.6.13 转换不同大小的字形 6-13

6.6.14 输入整理值 6-13

6.6.15 输出、删除、取消 6-14

6.6.16 保存 6-14

6.6.17 取得求助 6-14

6.6.18 终止字形编辑程序 6-15

6.7 快速参考 6-15

6.7.1 小键盘图 6-15

6.7.2 字形编辑程序功能列表 6-17

附录 A 整理值列表

A.1 拼音整理值 A-1

A.2 部首整理值 A-3

A.3 笔画数整理值 A-4

CMGR 词汇表

1-1 编辑程序编排设计 (英文) 1-3

1-2 编辑程序编排设计 (中文) 1-4

2-1 DEC 汉字字符平面 2-2

2-2 DEC 汉字字符集 2-2

2-3 DEC GB-2312 字符集的编排设计 2-3

2-4 扩充 GB 字符集的编排设计 2-4

4-1 按 <Enter> 输入代码 4-5

4-2 按 <KP0> 调用 USE 功能 4-8

4-3 从 HEI 数据库装入字形模式 4-9

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>
贴补该 Paste 缓冲区 4-13

4-8 键入关键字 "MEMORY" 使用内存记录 4-14

4-9 内存字形装入 USE 缓冲区 4-15

4-10 按 <KP.> 以实际大小显示当前字形 4-16

4-11 按 <Gold> + <KP.> 并键入 "MEMORY 10102" 以在其中一个
REFER 窗口显示内存字形 4-17

4-12 内存记录的 10102 字形显示在最左面的 REFER 窗口中 4-18

4-13 按 <O> 之前首先选择区域 4-19

4-14 按 <O> 画椭圆 4-20

4-15 按 <Gold> + <M> 标记当前光标位置 4-21

4-16 使用 <KP6> 和 <KP8> 画三角形的两边 4-22

4-17 按 <Select> 开始选择 4-23

4-18 通过按 <Gold> + <G> 完成选择, 光标会直接跳到标记位置 4-24

4-19 按 <L> 完成三角形 4-25

4-20 用于编辑 32x32 大小字形的屏幕编排设计 4-26

4-21 按 <F18> 并键入 24 4-27

4-22 把 24x24 大小的字形转换成 32x32 4-28

4-23 按 <F17> 输入整理特征 4-29

4-24 显示的整理特征 4-30

4-25 LIST1.LIS 的输出 4-33

4-26 LIST2.LIS 的输出列表 4-34

6-1 编辑程序编排设计 6-3

6-2 编辑 40x40 大小字形时的编辑程序编排设计 6-6

A-1 部首列表 A-4

6-1 支持的字符属性 6-2

6-2 编辑态与画几何图形 6-11

6-3 应用小键盘 6-17

6-4 编辑小键盘 6-19

6-5 控制键 6-20

6-6 主键盘键 6-20

A-1 常规拼音 A-1

A-2 特殊拼音 A-3

 

 

 

序言

对象

本手册的对象为所有 OpenVMS/Hanzi 系统的用户。

手册结构

本手册包含六章、一个附录及一份 CMGR 词汇表。

  • 第 1 章是字符管理程序这公用程序的综述。
  • 第 2 章简要描述 DEC 汉字字符集。
  • 第 3 章提供如何从旧字形系统迁移到 CMGR 的资料。
  • 第 4 章提供能助您认识软件的资料。会运用例子来指导您怎样使用CMGR 命令。
  • 第 5 章提供所有 CMGR 命令的参考。
  • 第 6 章提供 CMGR 字形编辑程序的完整参考资料。
  • 附录 A 提供关于拼音、部首和笔画数的有效整理值。
  • 词汇表是本手册中经常出现的一些特定术语及其定义的列表。

手册中所用的常规

 

"Hanzi"

世界不同的地方正使用着不同的中文字符集: 中华人民共和国及新加坡使用简体汉字、香港及台湾使用繁体汉字、日本使用 Kanji,而朝鲜则使用 Hanja。为针对这复杂的情况并避免混淆, 本手册采用了 "Hanzi" 字来说明所指的简体汉字是由中华人民共和国国家标准信息交换用汉字编码字符基本集 (GB-2312-80) 所定义的简体汉字。

<Return>

回车

在例子或格式中, 除非另有声明, 否则用户输入的每一行的末尾都出现一个隐含的回车。用户必须在输入行的末尾按 Return 键。

键符号

在例子中, 键和键序列都会以符号表示, 如 <PF2> 和 <CTRL/Z> 或 <PF2> 和 <CTRL/Z>。

CTRL

CTRL/x 表示用户必须在按住标号为 CTRL 键的同时按另一个键。例如, <CTRL/C>、<CTRL/Y> 及 <CTRL/O>。

.

.

.

纵向省略号表示不展示系统在应答某一命令时要显示的所有数据,或者不展示用户输入的所有数据。非直接与讨论主题有关的资料会被省略。

...

横向省略号表示可输入附加参数、值或资料。

相关手册

  • OpenVMS/Hanzi 用户手册

 

 

第 1 章

引言

字符管理程序 (CMGR) 是一个软件部件, 用以管理中文字符的属性。这些中文字符主要是指 DEC 汉字字符集中的用户定义字符。用户可以操纵的属性包括字形和整理特征。

这软件取代 OpenVMS/Hanzi 5.4 及之前版本的字形系统。第 3 章会详细描述如何从旧的字形系统迁移到 CMGR 的系统属性数据库和用户属性文件。

CMGR 让用户建立用户定义字形和用户定义整理值、操纵系统属性数据库及建立用以参考的属性列表。按照默认, CMGR 命令仅在用户定义字符上操作, 但用户可以使用一些命令的 /RESERVED 限定词来操纵保留用户定义字符。

1.1 语言转换

与 OpenVMS/Hanzi 的其他软件部件/公用程序一样, CMGR 能提供中英文求助文本和信息。用户可以使用 HANZIGEN 公用程序来转换中英文, 如下所示:

转换成英文:

HANZIGEN> set/output=ascii_msg

转换成中文:

HANZIGEN>set/output=hanzi_msg

注册后的默认语言是中文。

1.2 如何调用 CMGR

以下列 DCL 命令调用 CMGR:

$ CHARACTER_MANAGER

CMGR>

$ CHARACTER_MANAGER COPY 10101 10102

(这个命令调用 CMGR 并执行 COPY 命令。)

如有需要, 用户可随时在 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?

建议用户定义外部命令, 如下所示:

$ CMGR == "$HSY$SYSTEM:CMGR"

从而可以下述方式调用 CMGR:

$ CMGR

CMGR>

1.2.1 调用 CMGR 字形编辑程序

在 CMGR 提示符处键入 EDIT 命令, 便可调用 CMGR 字形编辑程序。图 1-1 展示英文接口的编辑程序编排设计, 图 1-2 展示中文接口的编辑程序编排设计。在CMGR 2.0 版本中, 字形编辑程序仅支持 VT382 终端。

 

 

 

 

 

 

 

 

 

 

图1-1 编辑程序编排设计 (英文)

 

 

 

 

 

 

 

 

 

 

 

 

 

图1-2 编辑程序编排设计 (中文)

 

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 命令。

注意, 虽然系统的一般用户均可存取 (只读) 数据库, 但只有具有 SYSPRV 特权的帐户才可以执行更新。

1.4.2 用户属性文件

对应于每个字符属性, 有两类用户属性文件, 即预装入文件和整理数据文件。预装入文件用以存储 CMGR 操作所用的位映象字形模式, 也可用以把用户定义的字形模式预装入到终端。CMGR 给预装入文件提供一个默认扩充名 .PRE。整理数据文件是另一类的用户属性文件,用以存储用户定义字符的整理特征。这文件只用于 CMGR 操作。同样地, CMGR 也给整理数据文件提供一个默认扩充名 .CVD。

对 CMGR 来说, 用户属性文件跟任何一个系统属性数据库都没有关系。因此, 同一个用户属性文件可以用于任何一个数据库。然而, 不同的数据库通常存储不同字体的字形。所以, 具有一种字体字形的用户属性文件可能不适用于另一种字体的数据库。

1.5 字符管理程序的主要功能

下面列出字符管理程序的主要功能/命令及其简单描述。

  • CONVERT DATABASE : 把旧字形系统中的字形转换到 CMGR 的系统属性数据库。
  • CONVERT FONT_FILE : 把旧字形文件中的字形转换到 CMGR 的预装入文件。
  • CONVERT FONT_SIZE : 把预装入文件中的字形模式从一个大小转换成另一大小。
  • COPY : 把字符属性从当前系统属性数据库的一个字符复制到另一个字符。
  • EDIT : 编辑字符属性。
  • EXTRACT CODE, EXTRACT REFERENCE : 从当前系统属性数据库抽取用户属性到用户属性文件。
  • SET DATABASE, SHOW DATABASE : 设置当前数据库并展示数据库的资料。
  • SHOW BITMAP, SHOW TABLE : 显示有关字符属性的资料。
  • SHOW CHARACTER_SET : 显示字符集的资料。
  • SHOW VERSION : 展示 CMGR 的版本号。
  • REMOVE : 从当前系统属性数据库除去字符属性。
  • UPDATE : 以用户属性文件的用户属性来更新当前系统属性数据库。
  • HELP : 请求求助。
  • EXIT : 退出 CMGR。

 

参考第 5 章以了解命令的详细描述。

 

 

 

第 2 章

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。

 

 

 

 

 

 

图2-1 DEC 汉字字符平面

 

图2-2 DEC 汉字字符集

 

图2-3 DEC GB-2312 字符集的编排设计

 

 

 

 

 

 

 

 

 

 

图2-4 扩充 GB 字符集的编排设计

 

 

 

 

 

第 3 章

从字形系统迁移到 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> CONVERT DATABASE

%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"。

命令的默认是 /LOG, 因此会显示通知信息以告诉用户正在转换字符代码。

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 命令。该命令显示预装入文件和系统属性数据库的位映象。

3.2.3 CTABLE 公用程序

CTABLE 公用程序可用以生成字符代码表, 展示在字形数据库中定义的字符。这公用程序现由 SHOW TABLE 命令取代, 可显示所有属性表。用户也可以使用 /FONT 限定词来显示只包含字形的表。这限定词所生成的输出跟 CTABLE 公用程序的输出相类似。此外, SHOW TABLE 也显示系统属性数据库和用户属性文件的属性表。

3.2.4 PRELOAD 公用程序

PRELOAD 公用程序生成预装入文件以便预装入到终端。在 CMGR 中, EXTRACT CODE 和 EXTRACT REFERENCE 命令提供这方面的功能。它们从系统属性数据库抽取字形模式到预装入文件。EXTRACT CODE 命令从命令行指定的字符代码中抽取字符属性; EXTRACT REFERENCE 命令则为指定的一列表文本文件中的用户定义字符抽取字符属性。

 

 

第 4 章

使用 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 的默认值是
/QUADRANT=LOWER_LEFT。

有关象限和平面的详情, 请参阅本手册的第 2 章或 OpenVMS/Hanzi 用户手册的第 2 章。

4.2 选择当前数据库

CMGR 共有三个系统属性数据库, 即 CMGR_DEFAULT、SONG 和 HEI 数据库。在任何时候, 其中一个数据库会成为当前数据库, CMGR 命令便在该当前数据库上操作。除非系统经理另行设置7, 否则注册后的当前数据库应为默认数据库CMGR_DEFAULT。用户可以使用下述命令来转换到另一个数据库:

CMGR> SET DATABASE HEI

这命令把当前数据库设置为 HEI。

要转换回默认数据库, 用户可以使用:

CMGR> SET DATABASE/DEFAULT

要展示当前数据库是哪一个, 用户可以使用:

SHOW DATABASE

或者, 如果要知道系统中所有数据库的名称, 可使用下列命令:

      CMGR> SHOW DATABASE/ALL
         数据库名
         -------------------------------
         CMGR_DEFAULT
         SONG
      -> HEI

注意, 在数据库名左边的箭头指明该数据库是当前数据库。

在选择一个数据库作为当前数据库后, 用户便可开始使用其他 CMGR 命令来操纵该数据库。

4.3 使用 CMGR 字形编辑程序

第 1 步:

在 CMGR 中输入以下命令以调用编辑程序。由于 EDIT 命令的默认限定词是 /FULL/SIZE=ALL/LOG/LOAD_GLYPH, 因此允许您编辑用户定义字符的所有字符属性。请注意, 由于 CMGR 会自动添加 .PRE 和 .CVD 两个默认扩充名到两个输出文件, 因此不得在 /FULL 限定词中使用文件扩充名。

CMGR> EDIT TEMP

然而, 用这命令来调用的字形编辑程序不允许用户编辑保留用户定义区域的属性。如果需要编辑或使用保留用户定义字符, 应该发出以下命令:

CMGR> EDIT/RESERVED TEMP

如果不需要编辑整理特征, 输入以下命令:

CMGR> EDIT/FONT TEMP

这样, 便撤销所有与整理特征有关的特性, 只建立一个输出入文件 -- TEMP.PRE。

由于默认是 /SIZE=ALL, 因此用户可编辑任何一种可支持其大小的字形, 如 24x24、32x32 和 40x40。如果不需要编辑 32x32 和 40x40 大小的字形, 便应使用下列命令:

CMGR> EDIT/FONT/SIZE=24 TEMP

在启动编辑程序时, 编辑程序会装入一些字块模式以作显示。除非曾重置终端或关掉电源, 否则只需装入一次。为节省时间, 用户可在第二次 (或以后) 启动编辑程序时指定 /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?

 

第 2 步:

在编辑字形之前, 用户必须输入字符代码以作编辑。字符代码以区位码或内码格式指定 (第 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    保留用户定义字符

 

图4-1 按 <Enter> 输入代码

 

 

第 3 步:

用户现在可以使用小键盘、功能键、或控制键的各种功能来执行编辑。用户应注意所有 EDIT 态的默认设置: 光标态的 ON/OFF、贴补态的 OVERWRITE、字符类型的 LETTER 和绕回态的 OFF。这设置会影响编辑功能的大部分操作。用户可按小键盘功能键来更改任何一个 EDIT 态, 如按 <PF3> 来更改光标态。

EDIT 态:

1

光标态 -

有四种光标态 : ON/OFF、ON、OFF 和 MOVE。ON/OFF 态互换光标移过的象素。用户可利用应用小键盘来移动光标。ON 和 OFF 态分别用以开关光标移过的象素。MOVE 态仅允许光标移动, 对象素没有任何影响。

光标态也影响画几何图形。详情请参阅 6.6.10 节。

2

贴补态 -

贴补态可以是 OVERWRITE 或 OVERLAY。OVERWRITE 贴补态把贴补缓冲区重写到现有的象素上, 而 OVERLAY 贴补态则贴补到现有的象素上而不清除原来的象素。

贴补态也影响画几何图形。详情请参阅 6.6.10 节。

3

字符类型 -

在 CMGR 中定义了两种字符类型, 即 LETTER 类型和 BODY 类型。LETTER 类型不允许用户在位映象的最外边界 (24x24 大小的是一个象素, 而 32x32 及 40x40 大小的是两个象素) 编辑。BODY 类型则允许用户编辑整个位映象而没有任何限制。

4

绕回态 -

绕回态可以是 ON 或 OFF。它决定在光标移动超过边界时是否绕回。

用户可从当前的系统属性数据库中取出位映象字形模式来执行 CUT 功能, 然后使用 PASTE 功能把贴补缓冲区 (里面包含从字形剪切出来的部分) 插入正编辑的字形模式。USE 功能有助于执行这操作。

如果用户要使用的字形存储于默认数据库以外的另一个数据库内, 在启动编辑程序之前必须执行以下命令:

CMGR> SET DATABASE HEI

此命令把当前数据库设置为 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 系统属性数据库取出的。

图 4-8 和图 4-9 展示字形从内存记录取出时的情形。

用户可以执行类似的操作来组合最终的字形模式, 或使用编辑程序功能来建立新的字形模式。完成字形模式后或在编辑期间, 用户可以按 <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 展示使用标记功能来画三角形的例子。

有关详细的编辑程序功能列表和描述, 请参阅第 6 章。

图4-2 按 <KP0> 调用 USE 功能

 

10

 

 

图4-3 从 HEI 数据库装入字形模式

 

 

 

 

 

 

 

 

 

 

 

 

图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-8 键入关键字 "MEMORY" 使用内存记录

 

 

 

 

 

 

 

 

 

 

 

图4-9 内存字形装入 USE 缓冲区

 

 

 

 

 

 

 

 

 

 

 

图4-10 按 <KP.> 以实际大小显示当前字形

 

 

 

 

 

 

 

 

 

 

 

图4-11 按 <Gold> + <KP.> 并键入 "MEMORY 10102" 以在其中一个 REFER 窗口显示内存字形

 

 

 

 

 

 

 

 

 

 

 

图4-12 内存记录的 10102 字形显示在最左面的 REFER 窗口中

 

 

 

 

 

 

 

 

 

 

 

 

图4-13 按 <O> 之前首先选择区域

 

11

 

 

 

 

 

 

 

 

图4-14 按 <O> 画椭圆

 

 

 

 

 

 

 

 

 

 

 

图4-15 按 <Gold> + <M> 标记当前光标位置

 

 

 

 

 

 

 

 

 

 

 

图4-16 使用 <KP6> 和 <KP8> 画三角形的两边

 

 

 

 

 

 

 

 

 

 

 

图4-17 按 <Select> 开始选择

 

 

 

 

 

 

 

 

 

 

 

图4-18 通过按 <Gold> + <G> 完成选择, 光标会直接跳到标记位置

 

 

 

 

 

 

 

 

 

 

 

图4-19 按 <L> 完成三角形

 

 

第 4 步:

在 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 说明整个过程。

图4-20 用于编辑 32x32 大小字形的屏幕编排设计

 

 

 

 

 

 

 

图4-21 按 <F18> 并键入 24

 

 

 

 

 

 

 

 

 

 

 

图4-22 把 24x24 大小的字形转换成 32x32

 

第 5 步:

编辑字形后, 按 <F17> 以输入整理特征。如果用户需要排序/合并字符, 此步骤是必需的。用户会收到提示要求他输入每个整理特征的值 (图 4-23)。输入所有整理特征后, 便会象图 4-24 所示的那样显示出来。

参阅附录 A 以了解有效整理值的完整列表。

 

 

 

 

 

图4-23 按 <F17> 输入整理特征

 

 

 

 

 

 

 

 

 

 

 

图4-24 显示的整理特征

 

第 6 步:

用户完成编辑后, 他可以选择:

  • 按 <ENTER> 来把当前字形保存到内存记录, 并编辑另一个字形。
  • 按 <GOLD> + <KP-> 来取消当前的编辑, 自上次按 <ENTER> 以来的更改都会丢失。例如, 用户先建立代码为 10101 的字形, 然后编辑代码为 10102 的字形。之后, 他回去编辑 10101 字形, 但对该字形作了一些更改之后, 他按 <GOLD> + <PF->。他所作的这些更改都会丢失, 但原来的内存字形模式则不受影响。
  • 按 <GOLD> + <PF4> 来删除内存记录, 当前字符代码的所有数据都会丢失。
  • 按 <GOLD> + <KP,> 来放弃编辑程序, 而不把驻留在内存中的当前编辑结果写入文件。
  • 按 <GOLD> + <ENTER> 来退出编辑程序, 并把驻留在内存中的编辑结果保存到文件。

 

请参阅第 6 章以了解更多选项。

假定再编辑了两个用户定义字符 10102 和 10103, 然后输入 EXIT (<GOLD> + <ENTER>), 便产生 TEMP.PRE 和 TEMP.CVD 两个输出文件。这两个输出文件保存了用户的编辑结果 ( TEMP.PRE 保存位映象字形模式, 而 TEMP.CVD 保存整理特征)。之后, 编辑对话期便结束, 用户也返回 CMGR> 提示符。

4.4 CMGR UPDATE 命令

在产生用户属性文件 (TEMP.PRE 和 TEMP.CVD) 以后, 用户便可以用下述命令以这两个文件来更新当前的系统属性数据库:

CMGR> UPDATA TEMP

默认限定词是 /FULL/SIZE=ALL/CONFIRM=ALL/LOG, 意思是会按输入文件更新用户定义字符的所有属性, 并要求确认将要执行的所有更新。实际上, 用户可以输入 /NOCONFIRM 来撤销确认, 或输入 /CONFIRM=CONFLICT 来表示只在当前系统属性数据库中已有对应字符代码的属性时才需要确认。此外, 用户可以指定 /NOLOG 来撤销在更新操作期间显示通知信息。请注意, 此命令必须有 SYSPRV 特权才可执行。

与 EDIT 命令相同, 使用 /FULL 限定词时不能指定文件扩充名, 原因是 CMGR 会自动添加这两个扩充名。这说明这命令会以 TEMP.PRE 和 TEMP.CVD 来更新当前的系统属性数据库。

如果用户属性文件包含保留用户定义字符的属性, 用户便必须使用 /RESERVED 限定词, 否则, 更新操作便会失败。

如果用户只想更新预装入文件, 可输入:

CMGR> UPDATE/FONT TEMP

如果用户只要更新整理特征, 可输入:

CMGR> UPDATE/COLLATING TEMP

以下展示该 UPDATE 操作 (假定当前系统属性数据库是 CMGR_DEFAULT 并且已包含字符 10102 的两个属性)。

CMGR> UPDATE TEMP

%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 的整理值

%CMGR-I-DBUPD, 已更新 CMGR_DEFAULT 系统数据库

 

用户可以看到通知信息, 这些信息说明您当前系统属性数据库已经包含字符10102 的属性。

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 的内容。

图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-26 LIST2.LIS 的输出列表

 

 

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" 指定区的范围。用户必须使用连字符 "-" 来分隔该范围的上下限。

SHOW BITMAP 的参数是一个代码列表或代码范围:

      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> REMOVE 10101-10103

%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

%CMGR-I-FONTCPD, 已把代码 10101 的 24x24 大小的字形模式复制至代 码 12101

%CMGR-I-DBUPD, 已更新 CMGR_DEFAULT 系统数据库

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

以上命令只建立一个文件 USER2.PRE。

用户可在这两个命令上使用限定词 /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_SIZE

CONVERT FONT_SIZE 命令把预装入文件中的字形模式从一种大小转换成另一种大小。这命令接受两个参数, 即输入预装入文件列表和输出预装入文件。系统会读取输入预装入文件中的预装入序列, 并把它们转换成 /SIZE 限定词指定的字形大小。转换后的预装入序列会写入输出预装入文件。例如:

CMGR> CONVERT FONT_SIZE FONT.PRE FONT32.PRE/SIZE=32

这命令会读取 FONT.PRE 中的所有字形, 并把它们转换成 32x32 的字形大小, 然后输出到 FONT32.PRE 文件。如果 FONT.PRE 包含同一个代码的重复预装入序列(可能属不同的字形大小), 那么会用最后一个预装入序列来执行转换。还有, 如果 FONT.PRE 中的预装入序列已是 32x32 大小的, 那么便只会复制该预装入序列到输出文件。

默认是 /SIZE=24。因此, 如果不指定限定词, 所有字形都会转换成 24x24 大小。

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, 如此类推。):

COPY 10101-10193 10102-10194

有关怎样选择当前数据库的详情, 请参阅 SET DATABASE 命令的题目。

您必须有 SYSPRV 特权, 才能执行这个命令。

语法:

COPY [/qualifiers] source-code[,...] destination-code[,...]

Additional information available:

Parameters Command_Qualifiers

/COLLATING /CONFIRM /FONT /LOG /RESERVED /SIZE

Examples

COPY Subtopic?

EXIT 命令用以退出 CMGR 并把用户送回 DCL 提示。

CMGR> EXIT

$

用户也可以使用 <CTRL/Z> 来退出 CMGR。

 

 

第 5 章

CMGR 命令参考

本章包含 CMGR 中所有可用命令的完整参考资料。

以下 DCL 命令可调用 CMGR 子系统:

$ CHARACTER_MANAGER

CMGR>

建议用户定义以下的外部命令:

$ CMGR :== $HSY$SYSTEM:CMGR

从而, CMGR 可以下列命令调用:

$ CMGR

CMGR>

CMGR> 提示符表示已进入 CMGR 子系统, 用户现在可以输入本区中描述的命令。

另一个使用 CMGR 命令的方法是在 DCL 命令级上直接地使用它们:

$ CMGR cmgr-commands [qualifiers] [parameters]

5.1 CONVERT DATABASE

把旧字形数据库文件 FONT1.DAT 中的字形转换到当前系统属性数据库。

语法

 

CONVERT DATABASE [/qualifiers]

命令限定词

默认

/[NO]CONFIRM

/CONFIRM

/[NO]LOG

/LOG

 

限制

  • 用户必须有 SYSPRV 特权, 才能执行这命令。

提示

没有。

参数

没有。

描述

推出 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 数据库的字形。

命令限定词

/CONFIRM

/NOCONFIRM

指定如果当前系统属性数据库内已有字形模式的定义时是否需要用户确认。

默认是 /CONFIRM。

回应确认请求时可接收的回答是:

 

YES, TRUE, 1

肯定的回答

NO, FALSE, 0

否定的回答

<RETURN>

默认的回答 (否定)

<CTRL/Z>

终止该命令

回答可以缩写。

/LOG

/NOLOG

控制是否显示通知信息。

默认是 /LOG。

例子

1 CMGR> CONVERT DATABASE

%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

把一个或多个字形文件中的所有字形转换到一个预装入文件。

语法

 

CONVERT FONT_FILE [/qualifiers] font-file[,...] preload-file

命令限定词

默认

/[NO]LOG

/LOG

 

限制

没有。

提示

_Font File: font-file[,...]

_Preload File: preload-file

参数

font-file[,...]

一个或多个字形文件的文件名。将转换这些字形文件中找到的用户定义字符和保留用户定义字符的所有字形模式。

preload-file

输出预装入文件的文件名。将建立这文件以包含转换的字形模式。

描述

在旧的字形系统中, 用户字形存储在字形文件里。在 CMGR 中, 用户字形存储在预装入文件里。要在 CMGR 下使用在字形文件中定义的字形,必须首先使用 CONVERT FONT_FILE 命令来把这些字形文件转换成预装入文件。

用户可在 CONVERT FONT_FILE 命令中输入字形文件列表, 便可把文件中的所有字形转换成预装入序列。这命令可转换用户定义字符和保留用户定义字符。这里没有 /RESERVED 限定词。

指定的预装入文件会建立起来以存储这些已转换的预装入序列。

命令限定词

/LOG

/NOLOG

控制是否显示通知信息

默认是 /LOG。

例子

1

CMGR> CONVERT FONT_FILE MYFONT.FON MYFONT.PRE

这命令把 MYFONT.FON 中的位映象字形模式转换成预装入序列, 并把它们放入 MYFONT.PRE。

5.3 CONVERT FONT_SIZE

把一个或多个预装入文件中的所有字形转换成其中一种支持的字形大小。

语法

 

CONVERT FONT_SIZE [/qualifiers] source-file[,...] destination-file

命令限定词

默认

/[NO]LOG

/LOG

/SIZE=font-size

/SIZE=24

限制

没有。

提示

_Input File: source-file[,...]

_Output File: destination-file

参数

source-file[,...]

一系列源预装入文件, 里面包含要转换的预装入序列。默认扩充名是 .PRE。

destination-file

存储已转换的预装入序列的输出预装入文件。转换后, 这文件中的所有预装入序列都会有指定的大小。

描述

CONVERT FONT_SIZE 命令把一个或多个预装入文件中的所有字形转换为其中一个支持的字形大小, 并把它们输出到一个目的地预装入文件。这命令可转换用户定义字符和保留用户定义字符。这里没有 /RESERVED 限定词。

要指定输出字形大小, 可使用 /SIZE 限定词。如果输入预装入文件已包含指定大小的字形, 预装入序列就只复制到输出文件。如果输入文件包含一个以上的同码预装入序列, 便使用最后的预装入序列来作转换。

 

命令限定词

/LOG

/NOLOG

控制是否显示通知信息。

默认是 /LOG。

/SIZE=font-size

指定要转换的字形大小。font-size 的有效值是 24、32 和 40, 它们分别表示24x24、32x32 和 40x40 的字形大小。

默认是 /SIZE=24

例子

1

CMGR> CONVERT FONT_SIZE/SIZE=32 MYFILE24.PRE MYFILE32.PRE

假定 myfile24.pre 包含 10101 的 24x24 字形。这命令会把该字形转换为 32x32 大小, 并把它存储入 myfile32.pre 。

5.4 COPY

把指定的源字符代码的字符属性复制到当前系统属性数据库的目的地字符代码。

语法

 

COPY [/qualifiers] source-code[,...] destination-code[,...]

命令限定词

默认

/COLLATING

/FULL

/[NO]CONFIRM=[condition]

/CONFIRM=ALL

/FONT

/FULL

/FULL

/FULL

/[NO]LOG

/LOG

/RESERVED

None

/SIZE=(font-size[,...])

/SIZE=ALL

限制

  • 用户必须有 SYSPRV 特权, 才能执行这命令。

提示

_From: source-code[,...]

_To: destination-code[,...]

参数

source-code[,...]

destination-code[,...]

代码或代码范围的列表。代码可以是 "区位" 码或内码。代码范围是两个代码,以连字符分隔, 中间无空格。

"区位" 码由 5 个十进制数字组成, 第一位数字是任选的, 可以是 "0" 或 "1"。"0" 指定右下象限, 而 "1" 指定左下象限。如果不指定, 默认为 "0"。接下来的两位数字指定 "区", 最后两位数字指定 "位"。

内码是前面带 "H" 的十六进制代码。例如, HA121 即等于 10101。

如没有 /RESERVED 限定词, 只能对属于用户定义区域的代码执行复制。有关详情,请参阅 /RESERVED 的描述。

星号 "*" 可用来指定用户定义区域的所有代码。也就是说, "*&quo