HyTime is a standard for the representaion of hypermedia. Hypermedia includes documents with audio, video, and other types of data, as well as the ability to link from one element to another. HyTime provides a robust formal mechanism to describe these links and is effectivly a superset of the type of documents we see on the Web. The relationship of one link to another can have more meaning than the simply "go to" of a Web document. A link can be the "parent" or "owner" of another link, and these relationships can be exploited by intelligent applications.
In reality, SGML is a necessary foundation to HyTime, but HyTime goes far beyond the capabilities of SGML and introduces new concepts.
HyTime introduces the concept of an architectural form. The HyTime standard itself consists of a collection of six sets of architectural forms. An architectural form is a formal mechanism, using SGML syntax, of defining extensible templates. In SGML, the Document Type Definition is the way to define, formally, the structure of the document.
In HyTime, the architectural form is also a formal definition not merely of a document structure but of an extensable template, sort of a meta-DTD. It is a way of introducing object oriented concepts into the semantics of SGML. An architectural form is similar to the definition of a class (in Smalltalk terms), from which subclasses can be created.
These are structures that can be extended into additional structures.
"Readme.1st SGML for Writers and Editors"(17) contains the following consise description of the six HyTime collections of architectural forms:
1. Base: Element and attribute architectural forms common to the other five modules and also usable independently(e.g, attributes for controlling the location and type of referenced elements).
2. Measurement: Expression of size and position ofobjects using application-chosen measurement units (e.g., seconds, inches, words, virtual units).
3. Location address: Assignment of Ids to non-SGML objects and to elements in other SGML documents (useful for hyperlink anchors).
4. Hyperlinks: Relationships among information objects, in the same or multiple documents.
5. Scheduling: Description of”finite coordinate spaces” and scheduling events to occur within those spaces.
6. Rendition: Presentation ofobjects in finite coordinate spaces.
For an application system to take advantage of HyTime encoded document, it must use a HyTime engine. Even though HyTime is an application of SGML that uses constructs from SGML, it really requires a different kind of processor. An SGML parser can successfully parse a HyTime document, but the results will essentially be meaningless for any of the HyTime constructs. The HyTime engine will take the results of the SGML parse and interpret the HyTime constructs meaningfully. Visit the HyTime Web page at UMass-Lowell maintained by Lloyd Rutledge at: http://dmsl.cs.uml.edu/standards/hytime. html for a list of companies, products and other information about HyTime.
DynaText hypermedia (HyTime) browser from Electronic Book Technologies
The value of using HyTime is the same as for using SGML. Standard accepted representations of document content will ultimatly last longer and depend less on quirky, fashionable specifications subject to the whims of the leading vendor of the day.
[SECTION 5.4] [TABLE OF CONTENTS]
Skip to chapter[1][2][3][4][5][6][7][8][9]
© Prentice-Hall, Inc.
A Simon & Schuster Company Upper Saddle River, New Jersey 07458
HTML, the proverbial coin of the realm for the Web, started out life (in CERN) as a convienent way of creating hypertext documents viewable with World Wide Web browsers. Tim Berners-Lee, father of the Web, at CERN, knew nothing about SGML; however, some other people did(18) and eventually made a case for paying more attention to "proper" SGML. Primarily, this involved the creation and distribution of an SGML DTD for HTML. This means you can take an HTML document, run it through an SGML parser, and determine if your document is structurally correct. This is important stuff! If you ever hope to use your content in several ways, you must ensure that your documents are wellstructured.
Much of the Web community and vendors responsible for Web browsers do seem to be willing to keep the SGML flame burning or at least to tolerate it. Vendors who add new features and tags to HTML, at least seem willing to give SGML good lip service. Ultimately, however, vendors must be willing to include true SGML parsers as part of their products.
So the question really becomes: if HTML and the Web work, why bother with all this SGML stuff? Mostly, it boils down to two issues. First, a desire to keep your electronic documents functioning and readable in perpetuity. Secondly, a desire to use and deliver content in a variety of ways.
Electronic documentsdigital documentswill never degrade; they will never turn yellow and corrode. However, the software and operating systems necessary to read the documents will become inoperable and render the electronic documents useless. How many have had the experience of not being able to read old Apple II diskettes or even older punch cards? The only hope is a strict adherence to a well defined standard. The Federal Aviation Administration (FAA) requires that the schematics for airplanes be archived for at least 20 years. They mandate that the drawings must be kept in the IGES graphics standard.
OK, let's now assume everyone agrees that real HTML that conforms to SGML is the accepted Web language. Now there turns out to be an explosion of HTML versions. Many companies, notably Netscape and Microsoft, introduce new HTML tags to improve the functionality of their browsers. Companies try to distinguish themselves from one another by introducing new tags and browsers that interpret those tags. Netscape is the classic example, introducing the concepts of Frames and inline Plug-ins that allow multi-paned windowed interfaces and multimedia content. It's great for the user but rough on standardization. In a competitive market, this behavior is to be expected; however documents that use these tags will be truly readable only with one vendor's browser. If
that vendor ultimately establishes the de facto standard, then all is well. If not, content will eventually be lost and rendered unreadable.
The only way to ensure uniform adoption of standards is to apply conformance tests to the use of the standard and browsers. Conformance tests are where the rubber meets the road in the world of standards. It is only by passing a conformance test that a document or browser can truly claim to comply with a standard. This type of branding is well known in the commercial world also, for proprietary specifications. A recent example is Microsoft's branding of products as "Windows 95" compliant and allowing only those products to bear the Windows 95 logo. Someday we may see the moniker "HTML Compliant" stamped on products by an authoritative organization; until then, chaos rules.
Using content in multiple ways is done reasonably only when the content itself is "authored" in a highly structured way. This is one of the principal strengths of SGML. Multimedia databases, books for the blind, talking books, printed text, and so on can be created from a single content source if that content is wellstructured. Remember that using your content in many ways makes your project more profitable and efficient.
Of course, that does not mean that SGML is the only way to structure documents. However, it is a formal internationallyaccepted standard. It functions as well as any other structuring specification, so why not use it?
5 . 4 . 1 Steve Tibbett's HTML Cheat Sheet
The collection of HTML flavors is growing. Hopefully, this trend will stop, and all vendors will agree on a "standard" HTML. But for now that's life in the HTML fast lane. What follows is the "HTML Cheat Sheet," created by Steve Tibbett and reproduced here with his kind permission :(19)
This page is a quick reference to all the HTML tags that are supported in the most popular World Wide Web browsers. This page requires that your browser support tables, or it will look terrible. I will try to indicate which browsers support which tags, where possible. Please send me comments on missing tags, incorrect documentation, etc... This page created by Steve Tibbett.
Output
Tag
Example
evel
Description
<html> |
Surrounds the entire HTML document. Browsers don't always require this. |
<html> ... </html> |
None |
1 | |
Inserts a comment into an HTML document. Not displayed. |
<!-- Steve Was Here --> |
1 | |||
Header Elements | |||||
<head> |
Surrounds document header section. |
<head> ... </head> |
None |
1 | |
<title> |
Specifies the document title. Typically displayed in the browser window title bar. |
<title> ... </title> |
None |
1 | |
<isindex> |
Specifies that the current document is a searchable index. The browser will use a mechanism of it's choice to let the user start a search. |
<isindex> |
None |
1 |
i |
<base> |
Specifies the URL of the current document, for relative links. |
<base href="basename"> |
None |
1 | |
<body> |
Contains the body of the page. One per page. |
<body> ... </body> |
None |
1 | |
Text Elements | |||||
<a> |
Begins text anchor or hypertext link. |
<a href="cheat.html"> Cheat </a> |
Cheat |
1 | |
<P> |
Begins a new paragraph. Contains a paragraph in HTML 3.0 (ie, you should include </ p>). |
One<p>Two |
One Two |
1 | |
<center> |
Centers text horizontally. This is a Netscape tag; see <p align=> |
<center>Test</center> |
Test |
N |
S |
<br> |
Inserts a line break. This may or may not be less space than inserted by the <p> tag. |
One<br>Two |
One Two |
1 |
<hr> |
Inserts a horizontal line across the browser window. |
One<hr>Two |
One Two |
1 | |
<img> |
Inserts a graphic image or the alternate text if the browser can't show the graphic. |
<img src=badurl alt="Text"> |
Text |
1 | |
Logical Text Styles | |||||
<h1> |
Header. Sizes range from 1 through 6 Use for headers, not just for big text. |
<h1>Big</h1> <h6>Small</h6> |
Big Small |
1 | |
<blockquote> |
Block quote. Quoted text from some source. Usually indented. |
<blockquote> Now is the time. </blockquote> |
Now is the time |
1 | |
<em> |
Emphasize text. Most browsers use italics. |
<em>Hello</em> |
Hello |
1 | |
<strong> |
Strong text emphasis. Typically boldface. |
<strong>Hello</ strong> |
Hello |
1 |
<code> |
Code sample -uses monospaced font |
<code>Hello</code> |
Hello |
1 | |
<kbd> |
Keyboard key - for indicating that a user should press a specific key |
<kbd>Hello</kbd> |
Hello |
1 | |
<samp> |
Sample program output. |
<samp>Hello</samp> |
Hello |
1 | |
<var> |
Program variable. |
<var>Hello</var> |
Hello |
1 | |
<dfn> |
Definition. |
<dfn>Hello</dfn> |
Hello |
1 | |
<cite> |
Citation. |
<cite>Hello</cite> |
Hello |
1 | |
<address> |
Address -typically a mailing address. |
<address>Hello</ address> |
Hello |
1 | |
Physical Text Styles | |||||
<b> |
Bold face text. |
<b>Hello</b> |
Hello |
1 | |
<i> |
Italicize the text. |
<i>Hello</i> |
Hello |
1 | |
<u> |
Underline the text. |
<u>Hello</u> |
Hello |
1 | |
<big> |
Makes text big, relative to the current font. |
<big>Hello</big> |
Hello |
3 |
<small> |
Makes text small, relative to the current font. |
<small>Hello</small> |
Hello |
3 | |
<sup> |
Displays superscript (small, raised) text. |
<sup>Hello</sup> |
Hello |
3 | |
<sub> |
Displays subscript (small, lowered) text. |
<sub>Hello</sub> |
Hello |
3 | |
<tt> |
Use a typewriter- style monospaced font, typically Courier if available. |
<tt>Hello</tt> |
Hello |
1 | |
<blink> |
Makes text flash. Hated by all. See URL about: mozilla if using Netscape. |
<blink>Yikes!</blink> |
Yikes! |
N |
S |
Definition Lists |
Begin a |
<dl> |
definition |
<dt>Header |
list. A |
<dd>Body |
definition |
<dt>Header |
list is a list |
<dd>Body |
of header/ |
</dl> |
body pairs. | |
The header | |
is left- | |
aligned, the | |
body text is | |
indented | |
and word | |
wrapped. |
1
<dl>
None
Definition term. Left-aligned text - doesn't need to be terminated.
See <dl>
1
<dt>
None
Definition
body.
Indented
text
displayed
below the
definition
term.
Doesn't
need to be
terminated.
See <dl>
1
<dd>
None
Other Lists
<ul>
Begin an |
<ul> |
None |
unordered |
<li>First | |
list. An |
<li>Second | |
unordered |
<li>Third | |
list is just a |
</ul> | |
list of items | ||
with bullets. |
1
<ol> |
Begin an ordered list. An ordered list is a list of items, with a counter of some sort. |
<ol> <li>First <li>Second <li>Third </ol> |
None |
1 | |
<menu> |
Begins an "interactive menu". Most browsers display this the same as an unordered list. |
<menu> <li>First <li>Second <li>Third </menu> |
None |
1 | |
<dir> |
Begins a "directory". Most browsers display this the same as an unordered list. |
<dir> <li>First <li>Second <li>Third </dir> |
None |
1 | |
<li> |
List Item. This is an item in an ordered or unordered list. Doesn't need to be terminated. |
See <ul> or <ol> |
None |
1 | |
Forms | |||||
<form> |
This tag contains a form. |
form [action=URL] [method=(post|get)] > ... </form> |
None |
2 |
This tag marks a text box,
password
box,
checkbox, radio button, submit or reset button on a form. Type type field can be any of these.
2
None
<input>
<input name="name" type=text value="default" size=32
maxlength=64> ... </ input>
This tag marks a rectangular text input area on the form.
2
None
<textarea>
<textarea
name="name" [rows=1] [cols=1]> Default Text </textarea>
Lets the user select an item from a list. The list items follow this tag prefaced by <option> tags.
2
None
<select>
<select name="name" size=2 multiple> <option>Cheese <option>Beans </select>
This tag is an option on a <select> menu.
See <select>.
2
None
<option>
Tables
<table>
This tag |
<table> ... </table> |
None |
contains a | ||
table. |
<tr> |
Table row. Each row of a table is contained in this tag. |
<tr> ... </tr> |
None |
3 | |
<td> |
Table data. The data in this tag will be contained in one cell on a table. |
<td>Data</td> |
None |
3 | |
<th> |
Table header. Generally like the <td> tag but centers the text. |
<th>Header</th> |
None |
3 | |
Client Side Image Maps | |||||
<map> |
Client side image map. |
<map name="map"> <area shape=rect coords="0,0,64,64" href="_URL_"> </map> <img usemap="map" src="some.bmp"> |
None |
3 | |
<area> |
Client side mage map area. |
See <map> |
None |
3 | |
Frames | |||||
<frameset> |
This tag replaces the <body> tag for pages using frames. |
<frameset rows=*,*> <frame src=this.html> <frame src=that.html> </frameset> |
None |
N |
S |
<frame> |
Specifies the source for one of the cells in a frame. |
frame src = this.html> |
None |
N |
S |
<noframes> |
Browsers with frames hide this text; others show it. Used to tell users to get a better browser. |
<noframes> Ha ha ha </noframes> |
None |
N |
S |
Microsoft-Specific Tags | |||||
<marquee> |
This tag creates an animated piece of text sliding across your browser window. |
<marquee>Hello</ marquee> |
None |
M |
S |
<bgsound> |
Loads up and plays a sound when the user enters the page. |
<bgsound src="start. wav"> |
None |
M |
S |
Miscellaneous Tags | |||||
<embed> |
Embeds foreign content in an HTML document. |
<embed src=cmx.cmx> Only visible if you have the Corel CMX Plugin for Netscape installed. |
N |
S |
The official keeper of the HTML specification is the World Wide Web Organization (W3O). The W3O is an organization jointly sponsored by INRAI (Institut National de Recherche en Informatique et en Qutomatique...The French National Institute for Research in Computer Science and Control) and MIT. It was founded by Tim Berners-
Lee, creator of the Web, when he moved from CERN (European Laboratory for Particle Physics) to MIT. The W3O is shephearding a number of specifications through the standards process.(20) In collaboration with the W3O, an HTML working Group of the IETF, was created in or around May 1994 . The W3O is coordinating testing efforts of HTML.
An SGML parser can check that an HTML document is syntactically valid. It can't check if the link in the document actually points to valid places but there are tools to help accomplish this. For example, one tool called "linkcheck", a perl script, is available at ftp:// ftp.math.psu.edu/pub/sibley.
Another useful Web management helper is a tool that aids in the relocation of Web pages. If you have a Web site or page that's popular, it becomes a problem when you have to move the page (for whatever reason). It would be nice to be able to tell other sites, that refer to your pages about the new location. The reference log file keeps track of where your visitors are coming from. (See Section 1. 3 Web Maintenance in Chapter 1 World Wide Web for more information about these type of tools.)
Some of the new Web site management products, like Interleaf’s Cyberleaf and Adobe's SiteMill, help with this arduous task. Link maintanence is nasty and sites will unquestionably degrade over time. It is an important issue that must be addressed if you hope to create a Web site that remains current.
5 . 4 . 3 A Gentle Introduction to HTML Syntax
Let's take a brief, very brief look at HTML itself. Rather than going through HTML in an overly simplistic way, let's examine the syntax and principles of HTML. Go to any book store or read the many on-line information resources for the details on HTML.(21) Look here for some syntactic and structural principles.
Keep in mind that HTML is an application of SGML. Because of this, the syntactic conventions are all derived from SGML. For example, the unbelievably baroque syntax for a comment <!-- stuff to be commented out --> derives from the nature of SGML. According to the SGML standard, a comment is defined as:
comment declaration =
mdo, (markup declaration open)
( comment,
( s | comment ) * )?,
mdc (markup declaration close)
comment =
com, (comment delimeter)
SGML character*,
com (comment delimeter)
These "production rules" are used by people who build parsers, the programs that interpret a language.
The strange look of SGML comments derives from the generality possible with SGML. One can redefine almost everything. The trick with comments is that you want to be sure that the parser does not interpret anything inbetween the start and end comment delimiters. Keep in mind that the HTML document is "parsed, " it is interpreted by a program, the browser. This is very much akin to the batchlanguage oriented document processors (see Section 4. 1. 2 Language Characteristics in Chapter 4 Form and Function of Document Processor's). In effect, the HTML document itself is a program, that drives the HTML browser, your Web browser.
Markup tags generally have a start and an end. In between the start and end tags is the content.
Start tags generally consist of a tag name surrounded by angle brackets, like <THIS>, and end tags have the same tag name preceeded by a slash and also surrounded by angle brackets, like </THIS>.
Many HTML tags require parameters. These parameters are sometimes interpreted by the browser and sometimes by the server. Let's dissect the tag for a link:
<A HREF="http://www.ability.net">Access Ability</A>
The <A> is the start of an Anchor tag.
The HREF or hypertext reference is an attribute of the Anchor tag.
The value of the HREF is either a URL or a file accessible from the point of view of the server.
The text "Access Ability" is what the browser should display to the user as a link.
Finally, the </A>, like most tags, ends with a forward slash and the tag name "A".
In general, the syntax of much HTML markup, like SGML, is as follows:
<TagName Attrib="Value1" Attrib="Value2" Attrib3="value3> content text </TagName>
where the existence of attributes is optional, and the number of attributes is variable.
Sometimes the values for an attribute are fixed, from a list; in these cases, the value does not appear within quotes. For example, the IMG tag, used to define where and how to place an image in a page, has attibutes values for the ALIGN attribute of BOTTOM, MIDDLE and TOP.
<IMG SRC="filename.gif" ALIGN=BOTTOM>
(For the geeks among us, these are the elements of an enumerated list.)
[SECTION 5.5] [TABLE OF CONTENTS]
Skip to chapter[1][2][3][4.][5][6.][7][8][9]
© Prentice-Hall, Inc.
A Simon & Schuster Company Upper Saddle River, New Jersey 07458
"Never eat more than you can lift.” - Miss Piggy
And in this corner, off to a slow start, weighing in with both an architecture and interchange format, is the Office Document Architecture (ODA) standard. ODA was the other major player in the electronic document standards game, and European users will argue that it is still relevant, so some background is useful. Not limited to the structure of a document, it addresses the complete range of visual presentation issueshow a document looks. It is important to recognize the word "architecture" in the ODA name. It is an entire framework for representing, in a complete manner, both the structure and the visual presentation of the various elements that make up the structure.
If a document is encoded using ODA, and you give it to another ODA site, you can expect it to look exactly the same when printed at the other site. Clearly, ODA is a much more ambitious standard than SGML. Just as clearly, that is the reason why the standard itself , and the implementations of ODA, have been slower to come into existence.
ODA describes a document as a hierarchical collection of objectsa tree-structured relationshipjust like SGML. But the terminology ODA uses is, of course, different from the terminology used by SGML.
ODA refers to document structure in two fundamental ways. Documents have a logical structure and a layout structure. The logical structure of a document is very similar to the SGML document structure defined in a DTD. The layout structure, however, refers to the positioning of elements as objects to be placed on paper. This layout structure divides a document into page sets, pages, frames, and blocks to describe the way information is to be placed on paper. The connection between the logical and layout structures is made via a layout directive.
Next the relationship of the logical and layout structures for this simple business letter are illustrated. Note one important property: each content object is directly associated with the lowest, most basic logical and layout objects. This makes a good deal of intuitive sense. Some small (logically indivisible) piece of content must be associated with a layout object
It is important to clearly understand that ODA is an interchange standard. To ensure, for example, that my page will appear correctly on your printer, ODA addresses the appearance of the document's many component parts. These components can include such things as fonts, raster, and geometric graphics. (Raster graphics are bitmapped objects.
to be visible. The content itself forms a sort of interface between the logical and layout trees of an ODA document.
See Section 6. 1 Bitmaps and Objects in Chapter 6 Media and Document Integration for a discussion of graphics issues.) If one systems's idea of a curved line is not the same as another's, interchange will suffer. ODA attacks this difficult problem by standardizing the representation for the component parts.
We can trace the processing of an image for a particular content object as follows. Let's consider a line. The line is represented according to the Geometric Content Architecture portion of ODA as a CGM (Computer Graphics Metafile) object. It is imaged according to a presentation attribute. The presentation attribute (from the layout structure of the overall representation) is associated with a semantic logical object (from the logical structure) via a layout directive.
ODA and SGML take fundamentally different approaches to electronic document standardization. OneSGMLis a robust extensible language that focuses on document structure and does not address document layout. The otherODAprovides an architectural framework that addresses both document structure and layout.
[CHAPTER 6.0] [TABLE OF CONTENTS]
Skip to chapter[1][2][3][4][5][6][7][8][9]
© Prentice-Hall, Inc.
A Simon & Schuster Company Upper Saddle River, New Jersey 07458
Chapter 6: Media and Document Integration
"The union ofthe mathematician with the poet, fervor with measure, passion with correctness, this surely is the ideal." -William James
The relationship between different media types such as graphics, video, and sounds with text in a document processing system is finicky. The integration of graphics, audio, and video with text into a complete electronic document is the source of many problems. This chapter examines these problems. In addition, we examine media formats and standards commonly used in electronic publishing. The decision about what media format to use has ramifications all along the document processing path, and we will also examine these. (The broader topic of compound documents is also discussed in Section 3. 4 The Engineered View.)
As the increasing availability of high performance systems and Web browsers becomes ubiquitous, documents with many different types of media sometimes have problems. Media players, such as video or sound and graphics, are dependent on the execution of helper applications or more robust Web browsers. One terrific service by the folks at Lawrence Livermore Labs is a WWW Viewer Test Page.(1) On this page, they have compiled all the data types with a test button. When the test is selected, the Web server sends back data of the selected type. This is extremely useful for checking the functionality of a Web browser and its operating environment.
Before we dive into text and graphics integration issues, let's examine some computer graphics fundamentals. There are two broad categories for representing graphic imagesbitmap and objectbased.
A bitmapped representation is the classic form used by "paint" systems. Each dot on the display screen corresponds to a bit of information in computer memory (hence the term bit, mapped). In contrast, objectbased systems (sometimes called geometric) are usually referred to as "draw" systems. Objectbased graphics use a geometric description to represent objects, such as lines, circles, and curves. These objects can be meaningfully manipulated as objects, not simply as dots on the screen. For example, to move a line, you can grab the end point and drag it to another place on the screen while the line stays intact; this is called rubber banding. The "paint" and "draw" distinctions originated with the success of MacPaint and MacDraw on the Macintosh, which use bitmap and objectbased representations, respectively.
Each approach has advantages and disadvantages. Using the bitmapped approach, you cannot select end points of lines or reshape curves. However, you can feather the edge of a shape into a soft blur or smoothly transition from one pastel shade to another. Painterly visuals such as soft edges and blurring are not practical when a system uses an objectbased approach. Image manipulations with functions such as edge detection and contrast enhancement also require a bitmap representation. Some graphics systems attempt to combine these two paradigms; however, the bitmap and object paradigms are the two fundamental representations of images.
The implementation and use of an objectbased representation for fonts was a key element in the desktop publishing revolution. Adobe's Type 1 font format allowed users virtually unlimited scaling of characters, while retaining the quality of the letterform. The object representation of the letterform is what produces this capability, along with the "hints" to maintain the quality of the strokes.(2) Jagged, blockylooking letters are the result of scaling the bitmap representation of a character.
[SECTION 6.2] [TABLE OF CONTENTS]
Skip to chapter[1][2][3][4][5][6][7][8][9]
© Prentice-Hall, Inc.
A Simon & Schuster Company Upper Saddle River, New Jersey 07458
A dot or mark is some visual blip, smudge, or collection of pixels that appears on the printed page or display. Certain kinds of images and image manipulation techniques depend on the manipulation of tiny dots, especially the images reproduced with the technique known as halftoning.
Photographs are images with continuous shades of black, white, and gray. These shades are tones. Halftoning is a technique, originally developed for the printing industry, to reproduce continuoustone images using printing techniques capable of black and white only, not shades of gray.
In halftoning, a dot pattern is created by rephotographing the original photograph through a screen. The dots blend together, both on the paper and in our eye, to give a convincing illusion of continuous tones. In the magnified section of the following figure, you'll notice that the brighter an intensity desired, the smaller the size of the dots. In addition, the darker the tone, the larger the dots. Your eye spatially fuses the small dots so that they appear as continuous tones.
The size, shape, and orientation of the holes in the screen used in creating a halftone can dramatically affect the resulting image. Digital halftoning is a computer graphic simulation of the rephotographing process. PostScript, a page description language, uses the same terminology (that is, with the setscreen command) to allow the precise manipulation of halftone screens.(3) The resolution, orientation, and shape of the dot may all be manipulated. (See Section 5. 1. 2 PostScript in Chapter 5 Document Standards )
A new form of halftoning, called stochastic halftoning, uses a semi-random arrangement of dots to create gray levels and color. The results offer smoother gradations of color.
Another technique used to create the simulation ■ of continuoustone images is dithering. Dithering is sometimes considered a type of halftone. Unlike halftones, which vary the size of the dot, dithering varies the number or density of the dots within a fixed array. For example, a dither pattern that uses a threebythree array of dots can represent 10 different intensity levels by displaying more, less, or no dots in the grid area. The trade-off is
resolution: the more gray levels you wish to display, the larger the array necessary, and, therefore, the less resolution available. Each grid area represents a single pixel. Dithering results in much poorer quality images than halftoning. But for devices such as screen displays, which cannot vary the dot size with sufficient resolution, it is very useful.(4) The way in which the dots within the dither grid are turned on and off can greatly affect the overall image, as illustrated below.
Another interesting consequence of simple mark manipulations is the advent of inexpensive resolutionenhancement devices for laser printers. The typical laser printer has a resolution of 300 dots per inch (dpi). Resolutionenhancing computer boards that plug into the controller section of a laser printer are now available. They can enhance the printing resolution from 300 to 600 or 1000 dpi by manipulations of the dot shape and some other tricks with the laser.
Resolution enhancement has spawned a small cadre of new products. They fall into two general categories: edge smoothing and gray-scale enhancement. Edge smoothing is used by Apple's FinePrint, DP-Tek's Super Smoothing Technology (SST), HP's Resolution Enhancement Technology (RET), and LaserMaster's TurboRes. Gray-scale enhancement products use various forms of halftoning to improve photographic imagery. Some of the products using this approach are Apple's PhotoGrade, DP-Tek's LaserPort Grayscale controller, and XLI's Super LGA. Simply put, both categories use very fine control of the laser's energy level (for vertical resolution) combined with a true resolution increase (horizontal) to improve the print quality.(5)
[SECTION 6.3] [TABLE OF CONTENTS]
Skip to chapter[1][2][3][4][5][6][7][8][9]
"We believe in color. Blood, guts, and color." -Dr. Steve Erde (developer of a hypertext system for pathology)
Color can be used in an almost infinite number of ways to enhance a document. While this topic is largely beyond the scope of this book, a brief overview of commonly used color concepts is useful. The addition of color to a document can significantly increase the production costs as well, so it really does pay to be careful with color.(6)
The specification of color to a printer is a difficult issue. The statement "Oh...make it a little redder and put just a touch of blue in it" is not going to suffice as a color specification. The color you see on a display screen will probably not be the color printed, unless you pay careful attention to the particular representation of colorthe color modelused both by the display system and the printer. Of course, the printing industry has developed a number of useful models, and you don't need a degree in color science to print color. However, as a little background, let's examine some of the fundamental color models.
A color model is a particular representation of color, that is useful for at least one particular application. The spectrum of light that we call color can be characterized in may ways. Wavelengths, photons, and obscure mathematical equations can characterize the physics of light. Several color models permit the precise specification of color. Each model is a different way of representing, characterizing, and categorizing color.
The Munsell and CIE models described in this section were invented independent of a particular application, such as printing or lighting. These models describe color for color's sake. They provide a useful language in which to specify color, independent of the application.
Created by Albert Munsell, the Munsell color system is accepted by many standards and professional organizations concerned with color. (See color plate 1a.) The system describes color using three variables: hue, saturation, and value. Value is sometimes called brightness. In the threedimensional space defined by this system, the central axis represents value, hues are organized around the axis, and saturation increases away from the axis. Color can be precisely specified with a notation such as 10R 6/4, where 10R
designates the hue (R is the abbreviation for red), 6 is the lightness, and 4 is the saturation. The numbers all range in a scale from 1 to 10.
One computerbased utility that uses a variation of the Munsell color space is Apple's Macintosh Color Picker. It presents the user with a twodimensional slice through this color space from which to pick a color.
In contrast to Apple's Color Picker is Adobe's Color Picker used in PhotoShop. It is oriented for fine control of saturation and brightness within a constant hue. In addition, it allows the entry of exact percentages of CMYK (Cyan Magenta Yellow blacK) colors.
In 1931, an international group of experts called the Commission Internationale d'Eclairage (CIE) developed a mathematical color model. The premise used by the CIE is that color is the combination of three things: a light source, an object, and an observer.
The CIE tightly controlled each of these variables in an experiment that produced the measurements for the system. "This system is based on the fact that three colored lights (primaries) can be mixed to match any given color. In 1931 the color matching data obtained for the visible spectrum from a set of observers under rigorously controlled conditions were averaged and adopted as the color matching functions of the normal human eye by the CIE."(7) This diagram and the associated systems that use it mathematically plot a color's wavelength and purity. An x,y coordinate system is overlaid with the diagram to provide a precise means of specifying a color. For example, 0.5x, 0.35y is tomato red.
Some electronic publishing systems, such as Adobe's PhotoShop, allow the user to specify exact x,y coordinates corresponding to a color in the CIE system. In the book Color for the Electronic Age, Watson-Guptill, 1990, Jan White aptly sums up the importance of the CIE system:
The value of the CIE system lies in its permanence. Color samples, no matter how carefully produced and preserved, tend to fade over time. The precise CIE numbers, however, can be used as controls in the preparation of replacement swatches.
While the pure color models provide an applicationindependent view of color, they are not particularly convenient for computer displays and printing. Let's examine some of the more applicationoriented color models.
6 . 3 . 2 Computer Graphic Models
In the computer graphics world, the most common color representation is called RGB (red, green, blue). Images are represented in terms of their red, green, and blue components. In addition, display screens (the video tubes) have active areas (phosphors) that emit red, green, and blue light. Combinations of red, green, and blue dots can produce simulations of continuoustone color images. The red, green, and blue dots are so small that the eye and brain blend these discrete dots into a continuous tone. A particular mix of the red, green, and blue components of a screen area corresponds directly to the perceived color of that area.
Another color representation often used in computer graphics is the hue, saturation, and brightness (HSB) model. Because brightness is often called value, the term HSV is also used. Colloquially speaking, hue is the kind of color. For example, red as opposed to blue or yellow. Saturation is the depth or intensity of colorlight red as opposed to dark red. Brightness is the overall amount or lightness of a color.
According to the ASTM Standards on Color and Appearance Measurement, 2nd Ed.,
1987, the definitions of these variable are:
Hue - The attribute of color perception by means of which a color is judged to be red, orange, yellow, green, blue, purple, or intermediate between adjacent pairs of these considered in a closed ring (redpurple being an adjacent pair).
Saturation - Attribute of a visual sensation according to which an area appears to exhibit more or less chromatic color, judged in proportion to its lightness or brightness.
Lightness - (1) The attribute of color perception by which a nonself-luminous body is judged to reflect more or less light. (2) The attribute by which a perceived color is judged to be equivalent to one of a series of grays ranging from black to white.
Another method used to display color in computer graphics is dithering. Dithering is not a color model but a particular way of using color. Dither patterns are used to increase the perceived amount of colors on a screen at one time. While a display may be capable of displaying only 256 distinct colors, dithering can be used to raise the perceived number of colors into the thousands. A good example of the use of color dithering is in Apple's Dither Picker. Documentation accompanying the Dither Picker states:
In order to avoid highlighting problems and other unpleasant color look-up table conflicts, Apple recommends strongly that developers create icons from a palette of 34 colors. The DitherPicker was developed to aid icon designers by displaying a range of dithered patterns created from two solids you choose from the recommended palette of 34 colors. By using these dithered patterns, the perceived number of colors that is available to icon designers is immensely expanded.
One of the most difficult issues in computerbased publishing is color accuracy. The color models discussed in the previous section, RGB and HSB, are directly tied to the display device. These models are strongly devicedependent.
Many color models are inherently device dependent. Output devices such as display screens have different responses to the same color levels. Go into any store with a wall full of televisions for sale, all tuned to the same station, and you'll observe the differences. This color dependency is what makes WYSIWYG color control so difficult. A number of efforts at accurate, deviceindependent color display and control are impressive. These include PostScript Level 2 and Kodak's PhotoYCC. However, the quest for accurate color display and printing is not yet over.