HOME

TheInfoList



OR:

Display PostScript (or DPS) is a 2D graphics engine system for computers which uses the
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Do ...
(PS) imaging model and language (originally developed for
computer printing In computing, a printer is a peripheral machine which makes a persistent representation of graphics or text, usually on paper. While most output is human-readable, bar code printers are an example of an expanded use for printers. Differ ...
) to generate on-screen graphics. To the basic PS system, DPS adds a number of features intended to ease working with
bitmap In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index. As a noun, the term "bitmap" is very often used to refer to a particular bitmapping application: t ...
ped displays and improve performance of some common tasks. Early versions of PostScript display systems were developed at
Adobe Systems Adobe Inc. ( ), originally called Adobe Systems Incorporated, is an American multinational computer software company incorporated in Delaware and headquartered in San Jose, California. It has historically specialized in software for the cre ...
. During development of the
NeXT Next may refer to: Arts and entertainment Film * ''Next'' (1990 film), an animated short about William Shakespeare * ''Next'' (2007 film), a sci-fi film starring Nicolas Cage * '' Next: A Primer on Urban Painting'', a 2005 documentary film Lit ...
computers, NeXT and Adobe collaborated to produce the official DPS system, which was released in 1987. NeXT used DPS throughout its history, while versions from Adobe were popular on Unix workstations for a time during the 1980s and 1990s.


Design

In order to support interactive, on-screen use with reasonable performance, changes were needed: * ''Multiple execution contexts'': Unlike a printer environment where a PS interpreter processes one job at a time, DPS would be used in a number of
window A window is an opening in a wall, door, roof, or vehicle that allows the exchange of light and may also allow the passage of sound and sometimes air. Modern windows are usually glazed or covered in some other transparent or translucent mat ...
s at the same time, each with their own settings (colors, brush settings, scale, etc.). This required a modification to the system to allow it to keep several "contexts" (sets of state data) active, one for each process (window). * ''Encoded names'': Many of the procedures and data structures in PostScript are looked up by name, string identifier. In DPS these names could be replaced by integers, which are much faster for a computer to find. * ''Interaction support'': A number of procedures were defined to handle interaction, including hit detection. * ''Halftone phase'': In order to improve scrolling performance, DPS only drew the small portion of the window that became visible, shifting the rest of the image instead of re-drawing it. However this meant that the
halftone Halftone is the reprographic technique that simulates continuous-tone imagery through the use of dots, varying either in size or in spacing, thus generating a gradient-like effect.Campbell, Alastair. The Designer's Lexicon. ©2000 Chronicle, ...
s might not line up, producing visible lines and boxes in the display of graphics. DPS included additional code to properly handle these cases. Modern full-color displays with no halftones have made this idea mostly obsolete. * ''Incremental updates'': In printing applications the PS code is interpreted until it gets a showpage at which point it is actually printed out. This is not suitable for a display situation where a large number of minor updates are needed all the time. DPS included modes to allow semi-realtime display as the instructions were received from the user programs. * ''Bitmap font support'': DPS added the ability to map PS fonts onto hand-drawn bitmap fonts and change from one to the other on the fly. Adobe PS's ability to display fonts on low resolution devices (significantly less than 300 
dpi A Daytona Prototype International (DPi) was a type of sports prototype racing car developed specifically for the International Motor Sports Association's WeatherTech SportsCar Championship, as their top class of car, acting as a direct replaceme ...
) was very poor. For example, a NeXT screen used only 96 dpi. This PS limitation was worked around by using hand-built bitmap fonts to provide passable quality. Later implementations of PS (including compatible replacements like
Ghostscript Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format (PDF) page description languages. Its main purposes are the rasterization or rendering of such page description language file ...
) provided anti-aliased fonts on grayscale or colour displays, which significantly improved quality. However, this development was too late to be of much use. Modern displays are still around 100 dpi, but have very much superior font quality without using bitmap fonts. * ''Programming language support'': DPS introduced the concept of a "pswrap", which allowed developers to wrap PostScript code into a
C language C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities ...
function which could then be called from an application. DPS did not, however, add a windowing system. That was left to the implementation to provide, and DPS was meant to be used in conjunction with an existing windowing engine. This was often the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
, and in this form Display PostScript was later adopted by companies such as IBM and SGI for their workstations. Often the code needed to get from an X window to a DPS context was much more complicated than the entire rest of the DPS interface. This greatly limited the popularity of DPS when any alternative was available.


History

The developers of
NeXT Next may refer to: Arts and entertainment Film * ''Next'' (1990 film), an animated short about William Shakespeare * ''Next'' (2007 film), a sci-fi film starring Nicolas Cage * '' Next: A Primer on Urban Painting'', a 2005 documentary film Lit ...
wrote a completely new windowing engine to take full advantage of NeXT's
object-oriented operating system An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles. An object-oriented operating system is in contrast to an object-oriented user interface or programm ...
. A number of commands were added to DPS to actually create the windows and to react to events, similar to but simpler than
NeWS News is information about current events. This may be provided through many different media: word of mouth, printing, postal systems, broadcasting, electronic communication, or through the testimony of observers and witnesses to event ...
. The single API made programming at higher levels much easier and made NeXT one of the few systems to extensively use DPS. The user-space windowing system library
NeXTSTEP NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of propri ...
used PostScript to draw items like titlebars and scrollers. This, in turn, made extensive use of pswraps, which were in turn wrapped in objects and presented to the programmer in object form.


Modern derivatives

Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
's
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lap ...
operating system uses a central window server (created entirely by Apple) that caches window graphics as bitmaps, instead of storing and executing PostScript code. A graphics library called
Quartz 2D Quartz 2D is the native two-dimensional graphics rendering API for macOS and iOS platforms, part of the Core Graphics framework. Overview Quartz 2D is available to all macOS and iOS application environments and provides resolution-independent an ...
provides PostScript-style imaging using the PDF rendering model (a subset, plus tweaks, of the PostScript model), but this is used by application frameworks—there is no PostScript present in the Mac OS X window server. Apple chose to use this model for a variety of reasons, including the avoidance of licensing fees for DPS and more efficient support of legacy
Carbon Carbon () is a chemical element with the symbol C and atomic number 6. It is nonmetallic and tetravalent—its atom making four electrons available to form covalent chemical bonds. It belongs to group 14 of the periodic table. Carbon ma ...
and Classic code; QuickDraw-based applications use bitmapped drawing exclusively. Adobe's
copyright A copyright is a type of intellectual property that gives its owner the exclusive right to copy, distribute, adapt, display, and perform a creative work, usually for a limited time. The creative work may be in a literary, artistic, educatio ...
stipulations said by some to apply to the PDF standard are thereby purported to be much less restrictive, granting, it has been claimed (i.e., here, by a previous author) conditional copyright permission to anyone to use the format in software applications free of charge.


See also

*
PostScript Standard Encoding The PostScript Standard Encoding (often spelled StandardEncoding, aliased as PostScript) is one of the character sets (or encoding vectors) used by Adobe Systems' PostScript (PS) since 1984 (1982). In 1995, IBM assigned code page 1276 (CCSID 1276) ...
(PostScript character set) *
NeXT character set The NeXT character set (often aliased as NeXTSTEP encoding vector, WE8NEXTSTEP or next-multinational) was used by the NeXTSTEP and OPENSTEP operating systems on NeXT workstations beginning in 1988. It is based on Adobe Systems' PostScript (PS) chara ...
*
NeWS News is information about current events. This may be provided through many different media: word of mouth, printing, postal systems, broadcasting, electronic communication, or through the testimony of observers and witnesses to event ...
*
Quartz 2D Quartz 2D is the native two-dimensional graphics rendering API for macOS and iOS platforms, part of the Core Graphics framework. Overview Quartz 2D is available to all macOS and iOS application environments and provides resolution-independent an ...


References


Further reading

* (NB. This edition also contains a description of Display PostScript, which is no longer discussed in the third edition.)


External links


Description at C2 Wiki

GNU/BackBone



PostScript Language Reference, Second Edition


{{XWinSys NeXT PostScript
Adobe Adobe ( ; ) is a building material made from earth and organic materials. is Spanish for '' mudbrick''. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is used to refer to any kind of ...