What is the difference between WebCGM and CGM?

The World Wide Web Consortium has released the WebCGM profile, which has been developed in collaboration with CGM Open. A lot of CGM users want to know about the differences between WebCGM and CGM in general, so here is an overview.

CGM (Computer Graphics Metafile) is an ISO standard (ISO 8632). This standard defines the four versions of CGM. In practice, this standard turned out to be too rich and complex to be fully implemented. Lots of sophisticated elements were not really needed, e.g. the definition of color spaces. This led to the specification of so-called Profiles of CGM. These profiles define rules for each CGM element in the standard. Some elements are prohibited, some are restricted in usage, others may be used, and this depends on the profile only. Profiles have been developed for certain industries that had a need for reliable CGM data exchange. The most important profiles today are the ATA GREXCHANGE profile of the Air Transport Association, and the WebCGM profile.

So to answer the question about the difference between WebCGM and CGM, we have to understand what we want to compare:

WebCGM vs. CGM
CGM is the entire standard; WebCGM is a profile of the standard. In other words: WebCGM defines a subset of the entire CGM standard that makes sense for web usage. It also defines specific rules for certain elements, most importantly the so-called intelligent content (hotspots and objects). You will find more about this below.

The ATA profile is used widely in the aerospace, defense, automotive, and other industry sectors. The rules for graphical elements in this profile are almost identical to the WebCGM profile. This was done intentionally to enable smooth transfer between GREXCHANGE and WebCGM in both directions.

The major differences are:

  • WebCGM supports Unicode and all web fonts, ATA supports only western encoding and certain base fonts. This means that it is possible to have east-Asian characters like Japanese Kanji characters inside a WebCGM file. Since the ATA language is English, there is no need for such support here.
  • WebCGM supports URI links on graphical objects; ATA supports only a reference that needs to be resolved externally. WebCGM users can associate a link like http://www.myserver.com/myPage.htm with a graphical object. In a web environment, the final user can then click on the object and navigate to the designated page. In the ATA environment, only a reference to an external target is supported. An application needs to resolve this reference and then control the navigation.