Software:Page Interchange Language

From HandWiki

Page Interchange Language also known as Publishing Interchange Language, or "PIL" is a public domain language that allows precise description of the layout of content on pages, groups of multiple pages or any 2-dimensional area, which it calls a "canvas." It was developed between June 1990 and June 1991 by the Professional Publishers Interchange Specification Workgroup, a committee of software and hardware vendors serving the newspaper, magazine and print advertising markets. The committee was led by Quark and Atex.

At the time, typesetting and physically cut and pasting of images was still required to assemble many pages because the specialized composition, pagination, text formatting, and graphic design systems that produced the content could not operate together to produce integrated output. PIL was designed to allow electronic integration of content and layout, so that one system could print complete pages or layouts with all the typeset text and composed images that came from heterogeneous subsystems. PIL describes the layout, and allows the use of any combination of markup languages and image formats to encode the content. It enables any publishing workflow of either sequential or simultaneous layout and content creation. PIL was successfully used to integrate many publishing systems including systems from Agfa, Atex, Autologic, Information International, Inc., Quark, Inc., and Scitex.

Many languages and formats now exist to describe content for the World Wide Web, and to define documents by their logical structure, so the same content can be reformatted for multiple purposes. However, PIL exists to describe precisely a graphical design and the placement of all content within it. It is useful for those who want to define a specific visual presentation rather than the sort of fluid layout that a web browser allows. It does not directly provide any logical structure of elements such as headings, citations, captions and so on. It defines a (theoretically infinite) hierarchy of canvases with coordinate systems, tags, frames, and content of any type. These can be used as needed to draw any type of document.

The complete public domain distribution of PIL includes the language specification document (including a BNF specification, example files, a programmer's guide, and C-language source code for a parser and an output engine to produce PIL. The source code is highly portable to any platform that supports C, either in the ANSI C or earlier K&R forms.