+ All Categories
Home > Documents > Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Date post: 26-Mar-2015
Category:
Upload: lauren-mccormick
View: 223 times
Download: 1 times
Share this document with a friend
Popular Tags:
81
Typography for Automatic Markup Liam Quin Barefoot Computing, 1999
Transcript
Page 1: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Typographyfor

Automatic Markup

Liam QuinBarefoot Computing, 1999

Page 2: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Firs `ings Firs Your Insrucor: Liam Quin Your Cofe: get i while i’s hot Your Laptop: if you don’t have one,

don’t worry. It is optional. So are socks.

Stop and ask Quesions Tell me when you are confused If you’re in the wrong room, why not

say?

Page 3: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

1: Introducing Graphic DesignOverview1. Page Layout2. Text and Fonts3. Text and Paragraphs4. Discussion and Exercises5. Break

Page 4: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

1.1: Page LayoutRatios & Proportions, Motion & Res

The Golden Secion, 3:4, 1:2 Whie space adds res Use space to draw attention Use a paper size suied to the task Consider printers, binders, consumers Paper sizes used (usa letter, iso a4

etc.) 1:2:3:4 ratios for margns

Page 5: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

1.1 Page Layout: `e GridWhy use a grid?

Fewer Decisions: Simpli0es page design

Helps increase consisency Pages treated diferently sand out Precise control over ratios Reduce paper backing problems Protec and perpetuate the design

Page 6: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: `e Grid (2)Designing a Grid

Leave room for margns, binding, gutters Posiion illusrations vertically & horizontally choose sizes for main design elements Make sure text areas are exac numbers of

lines Consider paper show-through (back-up) Use pleasing proportions (Tschichold)

Page 7: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: `e Tile Page Use clumps and not cluxer If you don’t centre i, make your

design obviously not centred Check for legal wording requirements The optical centre of the page is

above the acual centre; this applies to all apecs of page design.

Page 8: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: Table of ContentsAvoid Clutter

Rows of dots like dripping blood liter the page

Leave things out to make i plainer: people won’t read a long contents page.

Use per-chapter tables if necessary Put page numbers on the left or right-

align the chapter tiles so they are next to the numbers

Don’t try to show too much information!

Page 9: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: Generated PagesSome sysems generate a table of

contents at the end of the output, and you have to move i; problem for pdf, but much faser.

Make sure your designs allow for extra long tiles; “A Rose by Any Other Name Would Smell as Sweet; But What if You Called both a Rose

and a Pansy by the Same Name?”Wriers will gladly supply multiple

versions of tiles or other text.

Page 10: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: Looking Inside`e human eye detecs lumps:Put related things near to one

another;Put unrelated things far apart.

Robin Williams calls this the Rule of Proximiy.

Page 11: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: Looking InsideBewen the Lumps Are Spaces…

Whie pace is di2cult in xml and sgml. Multiple blanks mus be coalesced; Use space before/after elements (or

low objecs) to control gaps Remember to keep vertical pace a

multiple of half the vertical line spacing (e.g. 3½ times)

If in doubt, use more whie pace.

Page 12: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: Alignment`e eye detecs misalignment of 0·002

inches;Something not quie aligned looks

wrong.`e more things that line up, the

sronger the design.Wesern eyes move rom let to right,

top to boxom; use alignment to lead the reader in the desired order.

Page 13: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Page Layout: SummaryLine things up (alignment) wih a GridKeep unaligned things well apartGroup related things (tiles and text)Treat whie pace wih careAlways srive to axain pleasing

proportions

Page 14: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Firs Brief IntermissionMore cofeDon’t pill the coffee on the examplesCompetiion: identid this ypefaceQuesionsWhat shall we talk about next?

Page 15: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Text and TypeOutline:

A Brief Hisory of Type Typographic Colour and Type Syles L e t t e r s p a c i n g and legbiliy Type Families Special Characers Puxing on the Right Face

Page 16: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

A Brief Hisory of TypeGutenberg: Moveable ype that didn’t

moveBis of metal wih srips of lead bewen

the lines (leading)Poiny fet (serifs) made by pen srokesA ypeface is a design; a font is the

implementation

Page 17: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Type in Hisorical Context (1)

Venetian (Centaur; Adobe Jenson) Old Style (Bembo; Caslon) Transiional (Baskerville) Modern (Bodoni; Century)

Page 18: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Type in Hisorical Context (2)

Grotesque Sans Serif (Franklin Gothic; Helvetica)• The word “Gothic” was used to mean

“ugly” in North America around 100 years ago!

Geometric Sans Serif (Futura) Humanis Sans Serif (Gill Sans) Flare Serifs (Aachen) Block Serifs (Enptienne) (Rockwell,

Symie)

Page 19: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Typographic ColourColour: how dark or light a block of text

appears`e colour of a printed page is determined

by the ink, paper, printing process,typeface and how i’s used.

Some fonts are darker than others. [M.E.32]

Some fonts are darker than others. [times 32]

Balance the colour of the page agains the amount of text and agains graphics.

Page 20: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Text & ContrasContras

Light/Dark, Round/Square, Roman/Italic/Bold

The human eye recognises contras quickly Whie space contrass wih areas of ype Don’t overdo i: vary one element at a

time Typographers don’t underline, rarely use

bold, and use bold ialics only for light-on-dark printing.

Page 21: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Type Families Relatively modern invention Companion Roman, ialic and bold. Sometimes a Bold Italic too. May be an Expert Set or a small caps font,

wih extra characers: DEF 2 ¼ # p c % Some sysems use the font names to

associate fonts in a family; mos use an auxiliary 0le.

Mos sysems can’t kern or hyphenate across a font change.

Page 22: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Special Characers Ligatures are joined letters: ffi vs. 2 Small Caps have diferent proportions:

EXTRAORDINARY vs. Extraordinary. Some families have smaller caps:

Extraordinary! Ranging (lining) and non-lining (old syle)

numerals: 1234567890 vs. 1234567890. Mos 0gures are 0xed width for supid table formaxers.

En dash, em dash, Pilcrow ¶ and Secion §.

Page 23: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Paragraphs: Jusi0cation (1)

Text fully jusi0ed has uneven word pacing so as to make the lines all the same length. Very corporate!Text let jusi0ed has even word pacing but all the lines are not all the same length. This can look disracing, but it’s easier to read. Watch for backup problems.

Right-aligned text is useful in a table

of contents and for a few other

special-purpose things.

Page 24: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Paragraphs: Jusi0cation (2)Some Finer Points of Spacing

The las line of a fully jusi0ed paragraph can be short.

Any line that’s almos the full length of the measure should be made the full length if possible (the alignment zone)

Hang puncuation in the right margin for a more even efec.

Page 25: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Paragraphs: Line Spacing (1)Mos fonts need a thin srip of lead

between each line to pace the letters out better. A good rule of thumb is to add 10% of the font size, measured in points (72 points/inch).

Fonts wih a smaller x-height need more spacing. You can pack Times closer than Caslon: i was designed that way.

Page 26: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Paragraphs: Line Spacing (2)What greater joy could there be in life than to wade barefoot through banana custard whilst discoursing upon the nature of the lower crustacean?

This is 24/22pt

What greater joy could there be in life than to wade barefoot through banana custard whilst discoursing upon the nature of the lower crustacean?

This is 24/29pt

What greater joy could there be in life than to wade barefoot through banana custard whilst discoursing upon the nature of the lower crustacean?

Times 24/25pt

Page 27: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

INQRVL & SECNDMorning Break

Insalling a font family and using i Exploring the characer set How would you use ligatures in your

software?

Quesions, Ruminations and Answers

Page 28: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Part 2: Automatic FormattingDocument formaxing and xml/sgml

dtdsPresentation imparts meaning, andmeaning is guided by markup.Limiations in sotware may necessiate

pecial markup.Mos sotware seems to need

containers around groups of elements to be treated alike.

Page 29: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Changing MarkupYou can edi documents, use a Perl

script jus once, or maybe xsl or Omnimark on the ly.

If you edi the insances, you’ll need to change the dtd; i helps to keep the old one around!

You can use a conversion dtd in which both old and new forms are valid, but then throw i away!

Page 30: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Elements and SylesMos sgml and xml formaxing sotware

works by taking a lis of syles and applying them to elements. Sometimes you can apply formaxing to entiies too.

To do small caps, you may want a script that surrounds ordinary capials wih markup:

perl -p -e ‘s{\b([A-Z][A-Z0-9][A-Z0-9]+)}

{<sc>\L$1\E</sc>}g;’ #( two close quotes, not ‘)

Page 31: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Siblings, Groups and BoxesIf you want every 0th PanelNumber

element to sart a new row in a table, you’ll probably need to put row elements in there.

If a sequence of elements are grouped together, i’s probably because they share a common meaning or funcion, so give them a container (list, chapter, partlist, …).

Page 32: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Axributes vs. Content Formaxers oten won’t display axribute

values in any useful way. If you can display i at all, you might not to be able to put i in a diferent font.

Axributes can contain entiy references (&amp;) but not elements.

You can usually choose a diferent syle based on an axribute value.

Really posh sotware can use an axribute value in an expression, e.g. size = $att(height) * 0.8

Page 33: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

%RunningText; and %Lumps;Mos formatters are happies wih block

elements. Real life has inline elements too

<!Entity % RunningText “(#pcdata | partNumber | shout |

warn)*”><!Entity % Lumps “(Paragraph | List | Table | Picture)*”>

Page 34: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Run-in heads and Liss (1)Consider:<Entry

pos="noun"><title>boy</title> <p>a male child.</p></Entry>Producingboy (n), a male child.

Page 35: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Run-in heads and Liss (2)<List><Item> <p>Artichokes</p> <p>Maybe also

pears.</p></Item> <Item> <p>Five pairs of pyjamas

(silk)</p></Item></List>

Page 36: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Run-in heads and Liss (3)Solution:

Make <p> syle say inline sart, break at end.

If you have lots of block elements, you may have to do that to all of them.

Not all formaxers can do that. Sometimes you have to move content:

<Entry><p><title>boy</title> a male child …and use built-in lis numbering rubbish.

Page 37: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Style AxributesStyle axributes are like <td

align="left"> or <display face="bold"> or have syle

content: <font size="7pt" face="Helvetica">Not all formaxers support both of

these. `e second ype is much harder.Not all formaxers can do arihmetic

eiher, such as Indent = point size * 3.

Page 38: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

TablesA table is a way of presenting information.

Aside about how cool Ed Tute’s books are Use markup that lets you tranpose tables Use minimal cluxer: you probably don’t ned

all the lines and boxes, and they take axention away from the information.

Don’t pread tables out more than you ned to. Avoid lixle rows of dots in tables!

Page 39: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Table Markup (1)Four kinds of tables

cals tables, in particular the sgml open model;

SoftQuad tables html tables Mrs Eaves’ Own Home-grown Organic

Tables Content tables Mos formaxers can do at leas two of

these.

Page 40: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Table Markup (2)Running Heads and Fet:

Running table headers repeat on every page.

You may need a “table continues” marker; e.g. set a variable to “continued…” at the sart of a table and clear i at the end.

`e cals and sq models put table heads and fet in separate tables; automatic calculation breaks.

Remember Proximity: put related things nearer together than unrelated things.

Page 41: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Prescriptive or Descriptive?Prescriptive Markup

controls what is allowed where, usually tightly

requires editorial authoriy

Descriptive markup describes an exising document or text can’t disallow things that acually occur oten much harder to format same problems with buq dtds!

Page 42: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Before `e Rubber ChickenExamples

converting to trof with Perl conversion to html with Perl conversion to html with xsl talking about expensive posh high-

end suff

Quesions, answers, cogtation and agtation

Rubber Du5, or, Dinner.

Page 43: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

While `ey Are Gone`is room is in use for an all-day

tutorial:

Typography for

Automatic Markup

Liam Quin Barefoot

Computing, 1999

Page 44: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Welcome BackWe shall shortly be resuming:

Typography for

Automatic Markup

Liam Quin Barefoot

Computing, 1999

Page 45: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

GOD AFQRNONPart Three: Print Technologies

PosScript, hpgl, TrueType and QuickDraw

Fonts, Encoding and Unicode Fonts on the World Wide Web Images

Part Four: Putting it all together Quick introducion to dsssl, xsl and css Detailed look at Something Managing the Files

Page 46: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Part 3: Print TechnologiesPrinter Hardware

all except cad ploxers are raser devices they print a giant array of very tiny dots some of the dots are bimer than others some of the dots are black and some are

pink the thinnes line possible is one dot thick can make offset lithography plates

direcly need to consider ink traps and blots

Page 47: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Sotware inside the Printer

Typesetters (1200 - 4500dpi) usually receive a huge bitmap image from a Raster Image Processor (rip).

Most rips run on Unix, very high-end Macs or special hardware (e.g. an Alpha under os9).

Most laser printers receive bitmaps, hpgl or PostScript programs

You can download font programs to printers and rips. We will see how to do this later.

Page 48: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

A Brief look at PostScript The output of a PostScript program is

usually a printed page. Comments start with % followed by a

space Significant Comments start with %! or %% Level One ps is in ascii Level Two can contain binary compressed

data Embedded fonts can be binary in either

case

Page 49: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

%!PS-Adobe-2.0%%Title: Liam’s Left Foot%%Creator: Liam Quin%%Pages: (atend) /Inch { 72 mul } def % define a procedure we use later%%EndProlog%%Page i 1 /Palatino-Italic findfont 22 scalefont setfont 1 Inch 9.5 Inch moveto (Liam’s Left Foot) show showpage%%Page 104 2 1 Inch 1 Inch moveto 0 4 Inch rlineto 2 Inch 0 rlineto 0 -4 Inch rlineto closepath fill showpage%%Trailer%%Pages: 2

Page 50: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Weaknesses of PostScript No access to font metrics No automatic kerning (but programs

that generate PostScript can do the kerning themselves)

Verbose (but compresses well) Multiple Levels and the three versions

of Encapsulated PostScript confusing page is usually as frozen as an image Awfully hard to debug

Page 51: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Strengths of PostScript Plain text: easy to generate from a

program, and you can read it to see if it’s right

Device independent: always 72 dpi even on an 8 000 dpi Berthold Typesetter!

Portable: a Level 1 PostScript 0le can print just about anywhere, with no special driver needed

Amenable to sed and perl Most high-quality commercial fonts are for

PostScript.

Page 52: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Other FormatsThe other print formats usually

require special drivers, and the print files can’t be copied.

The most common is hpgl, from hp. But it isn’t as general, so you keep running into things you can’t do.

Xerox have their own language, Interpress; deficiencies in that led to PostScript.

Page 53: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Font Formats 1: BitmapBitmap Fonts (very rare today for

printing) hp cartridges and soft fonts PostScript Type 3 fonts can include

bitmaps Xerox use them too; so can TEX Can have a different design for every size

(compare Big Caslon, Mrs Eaves and Adobe Caslon)

You can’t scale them in any useful way.

Page 54: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Fonts: Outline FormatsPostScript Type 1

Originally a secret format to protect royalties But all the high end printers use PS Type |

TrueType Developed by Apple and Microsoft First successful internationalised font format Fonts often automatic conversions from Type

| Microsft Windows has strong support for tt.

Page 55: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Other Outline FormatsQuickDraw GX (Macintosh Only)

Very few commercial GX fonts exist. Too complex, and only works on the

Mac.

PostScript Type 3 Unhinted (Unhinged, says the spell

checker!) You can make them yourself mostly for logos, bitmaps, or unusual

effects

Page 56: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Fonts: Encodings Input character sequence must be

turned to a sequence of shapes, called glyphs.

Formatter accesses a glyph implementation in a font using a number.

The number-to-glyph mapping is the font’s encoding vector.

You can change a Type 1 font’s encoding vector in PostScript.

Page 57: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Text Encoding Xml uses Unicode for the document

character set. Most input documents are encoded in

iso-8859-1 (Latin 1) or utf-8; this is not a font encoding.

Unicode doesn’t specify how characters are mapped to glyphs; that’s up to the formatter.

Text encoding, document character set, font encoding are all joysomely different.

Page 58: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

PostScript Font EncodingsSome standard encodings:

Latin 1 (iso 8859-1) AdobeStandardEncoding (see the Red

Book): ascii, accents, ligatures V, W, X, and some publishing symbols

Adobe Expert Set (contains small caps, ligatures Y, Z and some fractions)

Small Caps (Barefoot Barefoot)

Page 59: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Custom Font Encodings Reverse small caps (Barefoot

bAREFOOT) Font subsets, e.g. in pdf (abcde

Wherb) Logo fonts Filling the gaps in Latin 1 with extra

symbols from Adobe’s Standard Encoding

Page 60: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Adobe Font Metrics The afm is ascii; Windows uses a

binary .pfm file. Bounding box of each glyph, plus its

default encoding position List of kern pairs Tracking information for spacing

characters out further at small sizes Information about accents

Page 61: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Using font metrics Font bounding box - no character draws

outside this Character bounding box - the glyph is

entierly within the box Character advance - x and y amounts to

move by after drawing the character Kerning - amount to adjust character

advance by depending on the previous character

You can’t kern across fonts with this scheme; TEX can do that with Virtual Fonts.

Page 62: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Downloading PostScript Fonts

Read %%PageFont and %%DocumentFont comments to work out which fonts are used

Look for %%IncludeFont lines, or include all fonts just before %%EndProlog, or just before the first %%Page if that’s not found.

Use t1tools or pfb2ps on Unix to convert binary pfb fonts to ascii. Note that pfb fonts are not compressed!

Page 63: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Fonts on the WebYou can embed fonts in web pages:

Microsoft Weft (free) works only for IE4 & IE5

http://www.microsoft.com/typography/

Bitstream TrueDoc works only for Netscape

It costs approx. $200 for the encoder, so no-one uses it; www.bitstream.com; decoder is included with Netscape.

Bitmap images have no royalty problems.

Page 64: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Designing Images Avoid clutter Use a line thickness that will show up

on your printer, but that is not too much heavier than the underline in your text____font.

Consider the overall typographic colour of the page, whether it is dark or light.

Convert colour images to black and white before sending to a black & white printer.

Page 65: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Vector/Outline Image Formats

1 inch 5 inch rlineto: commands, not pictures

can scale to any resolution Encapsulated PostScript (eps, epsi),

cgm, wmf most common. Can be problems with fonts used by

images but not included in the image file

Best for engineering drawings, charts, or things you generated in a program

Page 66: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Bitmap (Raster) Images From 1 bit to 32 or more bits per pixel Compuserv gif: up to 8 bpp (256

colours); best for line drawings jpeg: up to 24-bit but lossy

compression; best for photographs Portable Network Graphics (png) new;

lossless compression. Many, many others!

Page 67: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Generating Images Fairly easy to generate PostScript

from programs you write Perl libraries make gif (gd) and

PostScript (PostScript) images Tcl/Tk can generate PostScript too Adobe’s ftp site had C code to read an

afm file netpbm, ImageMagick, giftrans, gimp,

xv are all useful on Unix; see www.freshmeat.net.

Page 68: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Images on the Web Reduce gif colours to speed download New standard, pgml, may be

supported soon If you write scripts to generate

images, make sure you get the mime Content-Type right!

Beware of copyright issues!

Page 69: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Brief walk for fresh airFor those who remain…

Making a five-line drop cap Other Questions

Page 70: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Part 4: Putting it all Together

Formatting Languages: dsssl, xsl, css Other formatters Option:

• Generated Text• Managing Files With Revision Control

Tools• Relating dtd and instance versions

Further Reading and Learning More Questions, Free-for-All Recovery Time

Page 71: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Formatting LanguagesDocument Style and Semantics

Specification Language (dsssl) Sgml and xml based Uses lisp syntax, so very hard to read no good books on it moderately powerful too difficult for most people to use few implementations

Page 72: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

& XML Style Language (xsl)

Comes from the World Wide Web Consortium

Uses xml syntax so you can edit it easily Easy things are fairly easy with templates Declarative, so hard things require

Particular and Careful Thinking Not good enough for fine paper

typography Two parts: transformation and style;

implementations can choose to do one or both, reducing interoperability.

Page 73: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Other sgml/xml formattersCommercial formatters

3b2 Miles 33 Genera Datalogics Pager Xyvision Parlance Publisher ArborText Adept/Epic (uses TEX) Exosoft See the trade show for others!

Page 74: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Other Formatters (2)Free Solutions

TEX is free and works on Unix and Macintosh; maybe Windows too?

There are free versions of troff for Unix, including James Clark’s groff.

James Tauber is working on fop, with the goal of doing reasonable quality layout; it’s in Java.

David Megginson’s nsgmls.pm can be used to write an sgml to troff (say) converter.

Page 75: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Batch Formatting Example

Convert sgml input to esis with nsgmls Convert esis to troff with nsgmls.pm and a

custom perl script (about 500 lines) Run troff with macro package (1500+

lines) to produce ascii context file Take troff output and add ligatures, hung

punctuation and spacing corrections in awk

Generate 80MByte PostScript file with sqdps

Add fonts with addpsfonts (shell script)

Page 76: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Handling Cross References (1)

Referring to generated text elsewhere: see figure 12

Referring to content elsewhere: see Figure 12, The Mating Habits of Mountains

Referring to page numbers: see Figure 12 on page 37

Never say, See page 12, if you’re on page 12!

See Figure 5 (opposite page, bottom); See Figure 12 (next page); See Table 3 (above)

Page 77: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Handling Cross References (2)Implementation

You generally need two passes to get the page number information.

Inserting the text may cause pagination to change; you have to detect this and format again

You can get an infinite loop!

Page 78: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Optional Section 1Generated Text

Tables of contents Prefixes, Postfixes and formats Indexes Effectivity Revision Bars

Page 79: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Optional Section 2Managing Automatic Formatting

Revision Control Explained RCS and SCCS A repository with CVS Printing $Id$ in the margin: keeping

track of everything used to print a document

Page 80: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Optional Section 3Relating Files

dtds, instances, style sheet and script versions

tests and checks managing manual changes using fixed attributes

Page 81: Typography for Automatic Markup Liam Quin Barefoot Computing, 1999.

Further ReadingRobin Williams, The Non-Designer’s

Design Book, Peachpit Press, bright yellow cover

Robert Bringhurst, The Elements of Typographic Style, second edition, tall thin black book

Various TeX books by KnuthStop stealing sheep and start desiginig

type, Adobe Press (small blue book)


Recommended