|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||Computer Graphics Metafile (CGM) File Format Family|
The Computer Graphics Metafile (CGM) format family is a family of free and open international standard file formats for 2D vector graphics, raster graphics, and text, which are defined by the current ISO/IEC 8632-1:1999 standard. As stated in ISO 8632-1:1999, “[CGM]… is a graphics data interchange standard which defines a neutral computer interpretable representation of 2D graphical (pictorial) information in a manner that is independent from any particular application or system. The purpose of the standard is to facilitate the storage and retrieval of graphical information between applications, software systems, and/or devices." A CGM file can contain:
There are various versions of CGM files as defined by ISO standards. As stated by IANA (The Internet Assigned Numbers Authority): "Valid version numbers are those specified in ISO 8632:1992 and any amendments. (Currently Versions 1, 2 and 3 are specified in ISO 8632:1992 and version 4 is specified in ISO 8632:1992 Amendment 2 (1995) which adds Application Structures which can be used to support hyper-links.) The versions are upward compatible in the sense that a valid Version 1 metafile is a valid Version 2 metafile, Version 2 is a subset of Version 3, and Version 3 is a subset of Version 4.The version number in this parameter must be the same as the version number within the CGM file itself. It is recommended that only Version 1 CGMs be used initially because most current software handles Version 1 CGMs. It is expected that software will be upgraded to handle version 3 and 4 CGMs. Version 2 is not expected to be widely used as a target implementation level."
The versions of CGM are listed as follows:
The 1999 ISO standard specifies two types of encoding formats and contain data encoded using either of the following methods:
CGM files consist of a collection of elements, one of the primary elements being graphical primitives. Based on the current standard, ISO 8632-1:1999 section 6.6, "Graphical primitive elements are those elements that describe the visual components of a picture." Some of these primitive elements include polylines, polymarkers, text, polygons, and ellipses. Section 7.1 introduces other types of elements including:
Formal grammar for functional specifications for Version 1 metafiles can be found in Appendix A of the ISO 8632-1:1999 standard, while Annex B contains the same specifications for Version 2 and Annex C for Version 3 metafiles.
CGM has a variety of associated application profiles. As stated by NIST "An application profile (AP) defines the options, elements, and parameters of ISO 8632 necessary to accomplish a particular function and maximize the probability of interchange between systems implementing the profile. Profiles are defined by application constituencies who agree to adhere to the same subset of CGM for the purpose of graphical data interchange using ISO 8632." There are varieties of industry specific profiles pertaining to the format of technical information and illustrations, which include:
|Production phase||Designed as a final-state (end-user delivery) format for suitable storage and retrieval of image information for 2D vector graphics, raster graphics, and text.|
|Relationship to other formats|
|Has extension||XML, XML (Extensible Markup Language). Beginning with WebCGM 2.0 and upgraded with version 2.1, WebCGM files can contain WebCGM XML Companion File (XCF) for a variety of purposes. Defined by W3C, see https://www.w3.org/Graphics/WebCGM/drafts/REC/WebCGM21-XCF.html.|
|LC experience or existing holdings||None.|
|LC preference||The Library of Congress Recommended Formats Statement (RFS) designates CGM and WebCGM as acceptable formats for other digital graphics images. The Recommended Formats Statement for 2D and 3D Computer Aided Design vector formats also designates both CGM and WebCGM as acceptable formats. The RFS does not specify a version of CGM.|
|Disclosure||Open standard from ISO. The CGM standard is maintained by the British Standards Institution and republished by ISO/IEC.|
The current published and publicly available ISO 8632 CGM standard can be found in the ISO/IEC Publicly Available Standards. Other sources of documentation, especially for developments on WebCGM can be found at W3C. CGM Open provides documentation on WebCGM but has been inactive since 2015. Comments welcome.
Since its publication, a variety of industry profiles have utilized CGM. According to NIST, "Profiles are defined by application constituencies who agree to adhere to the same subset of CGM for the purpose of graphical data interchange using ISO 8632."
The S1000D is an international XML specification for producing technical publications which has specified the use of CGM for vector graphics. Since CMG Open and W3 published WebCGM in 2001, SD1000 has adapted the WebCGM profile. Issue 5.0 of the S1000D specification, the specification’s CGM profile is defined as a "cascading profile" based on the W3 recommendation in 2010.
The Department of Defense’s CALS profile (Continuous Acquisition and Life-Cycle Support) was first published in 1988 as Digital Representation for Communication of Illustration Data: CGM Application Profile (MIL-D-28003A). The CALs profile was first amended in 1991. The profile was later revised in 2000 and again in 2010.
The aerospace industry has also utilized CGM through the ATA (Air Transport Association) specification in ATA Spec 100, and iSpec 2200. Both specifications document the technical documentation for airplane manufacture as well as airplane operations. The specification sets the standard for using CGM and is referenced in the J2008 automotive profile.
The automotive industry’s J2008 profile is a standard for the exchange of technical documentation that states that graphics should be in the CGM format. According to the J2008 Executive Overview, "The selected standard for vector graphics is the Computer Graphics Metafile (CGM) defined by Air Trans-port Association (ATA) Specification 2100 Digital Data Standards for Aircraft Support (Data Interchange 3.3.2 Graphics Exchange GREXV24)."
Larson Software Technology provides technical graphics software and works with a variety of industries including; aerospace and defense, oil and gas, and general manufacturing. Larson offers conversion products including a CGM to Image and CGM to Vector tool as well as professional CGM viewer tools. Larson Software Technology also supports industry profiles that utilize CGM including S1000D, iSpec 2200, and CGM PIP profiles. SDI Software, another software company graphics file editing for the oil and gas, aerospace, and automotive industries maintains a CGM image conversion tool for desktop applications and the command line. They are also one of the most current sources of conversion tools.
The several versions of CGM complicate viewing options in software applications. CGM does not appear to be a widely used format on PCs. The example CGM files provided here, at FileFormat.Info, illustrate this:
New Mac computers do not provide any built-in applications to view CGM files. Both classic and current Mac operating systems can run GraphicConverter, a software program that displays and edits raster graphics files. The latest version (11) of GraphicConverter supports the import of CGM files.
The following graphics editors and software programs offer the functionality to open and manipulate CGM files:
PTC, an American software company, creates CGM filters for import and export of CGM files in Adobe Framemaker. According to PTC's website, "The stability and reliability of these filters has since enabled FrameMaker users to work with CGM files in compliance with international standards such as the CALS and ATA specifications." PTC’s site provides access to a variety of zip file versions of CGM filters for Adobe Framemaker.
|Licensing and patents||None.|
|Transparency||As stated by W3, "ISO CGM defines two encodings of the CGM functionality: Binary, and Clear Text. WebCGM, like other leading industry profiles of CGM, limits the encoding to Binary for the purposes of conforming interchange. It is the Binary encoding, which is registered as a MIME type. Using available encoding converters, the Clear Text encoding can be used for debugging, hand authoring, demonstration, etc." The binary encoding is the complete opposite of transparent. It uses codes instead of element names and compresses all the data as much as possible for storage and transfer while retaining the possibility for a computer to render it efficiently. For the clear text ASCII encoding, as a geometric description language, elements are described and named to indicate their function. It is human-readable and straightforward for computer readability, but this encoding is not used in practice.|
Version 4 CGM files include “Application Structure” elements, which were designed to add metadata to a group of primitives. The WebCGM profile was developed in part to enhance metadata association with CGM files. Initial CGM files published on the Web were not interchangeable with other CGM viewers primarily due to associated metadata differences. As stated by a CGM Open technical paper published in 1999, WebCGM was developed to standardize metadata behavior in CGM files. Metadata elements were standardized in WebCGM files to support:
According to W3, the WebCGM XML Companion file can "bind standardized metadata to a hierarchical object tree in a WebCGM instance."
|Technical protection considerations||None.|
|Normal rendering||Good support.|
The current CGM specification, ISO/IEC 8632-1:1999 section 6.7.6 defines RGB, CIELAB, CIELUV, CMYK, and RGB-related as compatible color models. RGB is the only color model available in both Version 1 and Version 2 metafiles.
The current 1999 specification also highlights CIE colored spaces in relation to CGM. "Two CIE (International Commission on Illumination) recommended, approximately uniform colour spaces, CIELAB and CIELUV, are allowed in the CGM. These colour spaces are non-linear transformations of the CIE 1931 XYZ tristimulus space, into the approximate perceptual correlates of lightness, hue, and chroma."
Annex G in ISO/IEC 8632-1:1999 details the conversion between each CGM color space.
|Support for vector graphics, including graphic effects and typography||Rich support. See Description above.|
|Support for multispectral bands||Not applicable.|
|Functionality beyond normal rendering||Not applicable.|
||The cgm standard recommends the use of cgm as extension.|
|Internet Media Type||image/cgm
||See registration at IANA|
||ASCII version 1. As of November 29, 2011 PUID x-fmt/142 is the only PUID that offers descriptive information about cgm. The remaining PUIDs are outline records only.|
||ASCII version 3. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/301|
||ASCII version 4. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/302http://www.nationalarchives.gov.uk/PRONOM/fmt/302|
||Binary version 1. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/303|
||Binary version 2. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/304|
||Binary version 3. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/305|
||Binary version 4. Outline record only. See http://www.nationalarchives.gov.uk/PRONOM/fmt/306|
|Wikidata Title ID||Q1122267
||See CGM family wikidata ID at https://www.wikidata.org/wiki/Q1122267|
|Wikidata Title ID||Q26719966
||CGM Version 1. See https://www.wikidata.org/wiki/Q26719966|
|Wikidata Title ID||Q26719970
||CGM Version 3. See https://www.wikidata.org/wiki/Q26719970|
|Wikidata Title ID||Q26719973
||CGM Version 4. See https://www.wikidata.org/wiki/Q26719973|
CGM was initially published under the ANSI (American National Standards Institute) X3.122-1986 standard entitled, “Computer Graphics - Metafile for the Storage and Transfer of Picture Description Information.” ISO published this standard a year later known as ISO 8632-1:1987, which includes a variety of vector primitives including; lines, polylines, arcs, circles, rectangles, ellipses, polygons, and text. ISO/IEC 8632 drew extensively for its model of a graphics system on GKS (Graphical Kernel System, ISO/IEC 7942), the first ISO standard for low-level computer graphics, introduced in 1977. ISO 8632-1:1987/AMD 1:1990, the first amendment to the 1987 standard was then superseded by the ISO 8632 standard published in 1992.
The ISO/IEC 8632-1:1992 defines three versions of increasing capability and functionality. The addition of graphical segments was one of the most notable capabilities of Version 2. Version 2 also introduced closed figures (a filled primitive comprised of other primitives) and added over 30 additional elements, including all elements that were used in Version 1 metafiles. As indicated by NIST, "A segment is a group of primitives that is saved once and named, and then may be used repeatedly in the metafile.” Version 3 expands on the amount of available elements with over 40 new elements added to format’s capabilities. “Version 3 metafile functionality includes: the capability to represent compressed tiled images, define external symbol libraries, and greater control of drawing aspects for graphics arts, presentation graphics, and electronic publishing.” The 1992 standard established 3 encodings for the CGM format.
The following descriptions of the binary and clear-text encodings can be found in the ISO/IEC Publicly Available Standards for the current CGM standard:
There were two amendments to the 1992 standard, published in 1994 and 1995 respectively. The first amendmentto the 1992 standard establishes rules for profiles. According to NIST, the first amendment provides:
The PPF (profile proforma) establishes a template for writing these profiles. Amendment establishes the completion of a PPF as a requirement.
The second amendment published in 1995, focused on functional specifications and application structuring, specifically the application extensions to access pieces of the metafile or image. According to NIST, "Application areas targeted for this 'intelligent graphics' capability include: electronic review of documents, graphical object databases, network distributed graphical applications, and multi-media and hyper-media documents."
The 1999 ISO Standard (the current standard for CGM) extended application structuring. Version 4 stipulates that CGM files can now contain non-graphical information as well as graphical content. In 2001, W3 and the CGM Open Consortium developed a new profile called WebCGM specifically for the use and exchange of CGM files on the web. 2 later versions of WebCGM were published in 2007, WebCGM 2.0 and 2008, WebCGM 2.1 respectively. CGM Larson’s CEO, Don Larson, authored a proposal for a WebCGM 3.0 profile in March 2015.