支持的文件格式 -- CGM

# CGM

CGM 格式，即计算机图形元文件格式，由于其良好的图形原语处理功能而被制图和设计行业所采用；同时由于它具有地震扩展功能（ZEHRaster Plus 不支持此功能），允许将地震数据合成为 CGM 格式并对该数据进行存储、打印和查看，因而被石油和天然气行业所采用。

此格式的普及有以下原因：

- 它独立于设备
- 它的非专有性
- 文件为二进制文件，因而比较小，处理起来比 ASCII 格式（如 PostScript）文件更快
- 单个 CGM 可以包含多个图象。

CGM 标准最初由美国国家标准协会在 1986 年颁布，1987 年由国际标准化组织 (ISO) 重新颁布，并在不断地发展。当前的 CGM 标准为 ISO 8632:1992。

CGM 标准由国家标准技术研究所 (NIST) 批准，此研究所负责确认从 CGM 产品输出的文件是否符合 CGM 标准。CGM 标准具有许多配置文件或测试套件，包括 ATA（航空运输协会）配置文件和 PIP（石油工业配置文件）配置文件，其中 ATA 配置文件是由国防部开发的 CALS（持续采办与寿命周期保障）测试套件的扩展集）。

有关计算机图形元文件的详情，请参阅 Lofton R. Henderson 和 Anne M. Mumford (ISBN 0-12-510560-6) 所著 The CGM Handbook。

ZEHRaster Plus 不但支持二进制编码的 CGM 文件，也支持 CGM-ATA 和 CGM-CALS 文件。

CGM 详述

色彩方式

缩放方式

CGM 可以使用抽象缩放方式或公制缩放方式。

抽象缩放方式 CGM 不具有以英寸、毫米或象素为度量单位的实际物理尺寸。它的测量单位是“虚拟设备坐标”或 VDC，这表示可将其映射至所需的任一物理单位。

公制缩放方式 CGM 具有以毫米为度量单位的物理尺寸。

ZEHRaster Plus 可处理这两种方式的文件。如果文件是抽象缩放方式，则其尺寸被设为 HP DesignJet 打印机使用的宽度尺寸。如果文件是公制缩放方式，则从文件本身读取物理单位。

字体和文本

CGM 可以包含文本字符串并使用特殊字体渲染文本。正确的 CGM 会包含一个字体列表，它定义了用于文本字符串的字体名称。CGM 可使用多种字体。

ZEHRaster Plus 使用 ZEH 程序目录中存储的 font.aliases 文件，此文件使用 ZEH 提供的字体名称映射字体列表中出现的字体名称。如果字体列表元素中使用的名称和 ZEH 支持的字体名称不完全匹配，则 ZEHRaster Plus 会用最接近的 ZEH 字体名称代替 CGM 字体名称。

如果由 ZEHRaster Plus 输出的 CGM 上的字体不正确，则可通过以下方法纠正字体：更改安装目录下 font.aliases 文件中的字体映射。

font.aliases 条目显示如下：

Helvetica=CG:Triumvirate

左侧字体 (Helvetica) 是 CGM 中使用的字体，右侧字体 (CG:Triumvirate) 是应使用的字体。

可以使用文本编辑器对 font.aliases 文件进行编辑。

提供几种字体。

Hershey 字体

- Hershey:Simplex_Roman
- Hershey:Simplex_Script
- Hershey:Simplex_Greek
- Hershey:Duplex_Roman
- Hershey:Complex_Roman
- Hershey:Complex_Script
- Hershey:Complex_Greek
- Hershey:Complex_Italic
- Hershey:Complex_Cyrillic
- Hershey:Triplex_Roman
- Hershey:Triplex_Italic
- Hershey:Gothic_German
- Hershey:Gothic_Italian
- Hershey:Symbol_1
- Hershey:Symbol_2
- Hershey:Symbol_3
- Hershey:Symbol_4
- Hershey:Symbol_5
- Hershey:Symbol_6
- Hershey:Symbol_7
- Hershey:Simplex_Roman_Monospace

符合 NIST 标准的 ZEH 字体

- CG:Triumvirate
- CG:Triumvirate Italic
- CG:Triumvirate Bold
- CG:Triumvirate Bold Italic
- CG:Times
- CG:Times Italic
- CG:Times Bold
- CG:Times Bold Italic
- CG:Courier
- CG:Courier Oblique
- CG:Courier Bold
- CG:Courier Bold Oblique
- CG:Symbol
- CG:Triumvirate Condensed
- CG:Triumvirate Condensed Italic
- CG:Triumvirate Bold Condensed
- CG:Triumvirate Bold Condensed Italic