Precision Graphics Markup Language (PGML) (original) (raw)

W3C NOTE-PGML-19980410

World Wide Web Consortium Note 10-April-1998

This version:

http://www.w3.org/TR/1998/NOTE-PGML-19980410

Latest version:

http://www.w3.org/TR/1998/NOTE-PGML

Authors:

Nabeel Al-Shamma, Adobe Systems Incorporated

Robert Ayers, Adobe Systems Incorporated

Richard Cohn, Adobe Systems Incorporated

Jon Ferraiolo, Adobe Systems Incorporated

Martin Newell, Adobe Systems Incorporated

Roger K. de Bry, International Business Machines Corporation

Kevin McCluskey, Netscape Communications Corporation

Jerry Evans, Sun Microsystems, Inc.

Copyright 1998 Adobe Systems Incorporated. All rights reserved.


Status of this Document

This document is proposed to the World-Wide Web Consortium (W3C) as an initial draft. It is offered for review and comment by W3C members. This document is subject to change.

A list of current W3C Technical Reports, many of which are relevant to this proposal, can be found at: http://www.w3.org/TR/.

This NOTE is made available by the World Wide Web Consortium for discussion only. This indicates no endorsement of its content, nor that the Consortium has, is, or will be allocating any resources to the issues addressed by this NOTE. A list of current NOTEs can be found at: http://www.w3.org/TR/.

This document is part of a complete submission to the W3C. The full submission has been acknowledged by W3C and is available athttp://www.w3.org/Submission/1998/06


1. Abstract

This document is the specification for the Precision Graphics Markup Language (PGML). PGML is a 2D scalable graphics language designed to meet both the simple vector graphics needs of casual users and the precision needs of graphics artists. PGML uses the imaging model common to the PostScript® language and Portable Document Format (PDF); it also contains additional features to satisfy the needs of Web applications.


2. Introduction

2.1 Status

This is a working document. It is not meant to be a complete definition for PGML. Many sections have been left open or have been labeled Ideas for Consideration so that the working group can develop the strongest possible language specification and ensure that it is fully compatible with other W3C standards efforts.

2.2 Purpose

This is a specification for the Precision Graphics Markup Language (PGML). PGML is a 2D graphics language meant to satisfy both the Web's scalable lightweight vector graphics needs and the precision needs of graphic artists who want to ensure that their graphic designs appear on end user systems with precisely the correct fonts, color, layout and compositing that they desire.

PGML uses the imaging model common to the PostScript® language[1] and Portable Document Format (PDF)[2]. In this document, this common imaging model will be called the PDF/PostScript imaging model.

2.3 Design Principles

The following design principles have been used to guide the development of PGML:

  1. PGML should encompass the PDF/PostScript imaging model to guarantee a 2D scalable graphics capability that satisfies the needs of both both casual users and graphics professionals.
  2. PGML should extend the PDF/PostScript imaging model to satisfy the graphics requirements of the Web, particularly in terms of transparency, anti-aliasing, the hooks for animation and dynamic behaviors.
  3. PGML should be compatible with the needs of three types of Web page creators: those who want to hand-code their graphics using a text editor, those who want to generate graphics via client-side or server-side scripts, and those who want to create their graphics via a graphics authoring application.
  4. Both inline PGML (i.e., embedded within an HTML stream) and external (i.e., via URL specification) PGML should be supported.
  5. PGML and PGML processors should support progressive rendering.
  6. PGML should be highly compressible to reduce download time for complicated drawings.
  7. PGML should be scriptable.
  8. PGML needs to conveniently support simple animations such as moving a collection of objects along a motion path, transforming a collection of objects over time and changing color and opacity over time. More sophisticated animations should be possible using scripting.
  9. PGML should allow for the inclusion of private application data to enable PGML authoring applications to write then read PGML files without loss of high-level application data.
  10. PGML should be an XML[3] application and the imaging model is an instance of the RDF[14] data model.
  11. PGML should be compatible with and fully leverage all related W3C standards efforts.
  12. PGML should be fully international.
  13. Text in PGML graphics should be easily extractable by search engines and tools that aid accessibility to disabled people.

2.4 A Proven Imaging Model

PGML uses the imaging model of the PostScript language and PDF as its basis in order to provide simple-to-use graphical objects and precise visual fidelity.

This imaging model is lightweight yet robust, comprising a small number of object types, attributes and operators which can be easily leveraged to satisfy the most challenging 2D graphics needs. It is suitable for all graphics applications, from business charts and diagrams to CAD and publication-quality art. It satisfies the needs of both display applications and high-end printing. The graphic artists who build many of the most popular commercial Web sites are experienced users of PostScript-based drawing/illustration products (e.g., Adobe Illustrator, Corel Draw and Macromedia Freehand) and of PostScript-based page layout tools (e.g., Adobe PageMaker and Quark Xpress) and make considerable use of PDF in their workflow.

The PDF/PostScript imaging model has been the basis and model for many graphics systems, including PostScript language implementations in printers and PostScript display systems (e.g., NeWS, Display PostScript, ghostscript). The Macintosh OS (via QuickDraw GX), Windows (via GDI-32), various UNIX implementations (via DisplayPostScript), the Java™ programming language (via the Java 2D API) and PCL printers have all been moving in the direction of adding complete support for the PDF/PostScript imaging model.

2.5 Extensions to Satisfy the Needs of the Web

PGML extends the PDF/PostScript imaging model to add features needed for Web applications, such as transparency and anti-aliasing. Furthermore, PGML includes a simple animation component and an object model which provides the hooks necessary for sophisticated Web animation and other dynamic behaviors.

Not all graphics needs are sophisticated. To serve the needs of casual users and to improve the ability of PGML authoring applications to support save then read without data loss, PGML defines a set of simple graphics objects such as rectangles, circles, ovals and pie wedges.

2.6 Relationship to Other Web Standards

PGML is compatible to the fullest degree with the direction and specifics of other W3C standards efforts, such as HTML[4], XML[3], XSL[5], CSS[6], DOM[7] and RDF[14]. PGML is fully compatible with XML and is representable in RDF. This proposal calls for the PGML working group to work out the details of the PGML language definition to achieve the optimum compatibility and cross-standard leverage.

2.7 Relationship to the Java 2D API

The Java 2D API is a set of Java classes for advanced 2D graphics and imaging that is part of the Sun JDK 1.2[8].

The Java 2D API includes the complete PDF/PostScript imaging model together with additional features for Web applications (e.g., transparency and various extensibility features). While PGML certainly can be implemented separately from JDK 1.2, the Java 2D API does offers a potentially straightforward and cross-platform graphics engine on which to build an implementation of PGML.

The PGML working group needs to decide to what extent, if any, the PGML design should rely on the Java2D API's features and contraints.


3. PGML Features

3.1 Required Features to Achieve the PDF/PostScript Imaging Model

PGML is built upon the proven foundation of the PDF/PostScript imaging model. For the full definitions of the PostScript language and PDF, refer to the PostScript Language Reference Manual - Second Edition[1] and the Portable Document Format[2] Reference Manual (version 1.2). A summary of the components of this imaging model follows:

Appendix A contains a detailed chart which presents how the features described above correspond to the PostScript language, PDF and the proposed PGML syntax presented in this document.

3.2 Features Beyond the PDF/PostScript Imaging Model

PGML requires the following additional features to satisfy the needs of the Web: