Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!sun!pitstop!sundc!seismo!uunet!munnari!munnari.oz!mwp From: mwp@munnari.oz (Michael Paddon) Newsgroups: comp.lang.postscript Subject: Re: Question from Ignorant Message-ID: <2379@munnari.oz> Date: 19 Sep 88 03:14:27 GMT References: <692@clinet.FI> Sender: news@munnari.oz Reply-To: mwp@munnari Lines: 37 From article <692@clinet.FI>, by toweri@clinet.FI (Jukka Lindgren): > > But I am not so sure... Until now I have thought that the postscript > doesn't "draw" individual letters, but merely "tells" the type-setter > that > "there is the beginning of text column (x1,y1) and it ends at (x2,y2) > and it contains the following text with following type- and size setting. > > Am I right or am I right ? Wrong. Sets of postscript characters (fonts) may be described as arbitrary graphical shapes. As such, they are subject to all forms of manipulation that other general shapes are subject to (transformations etc). In general, a character's definition is "a procedure body that executes...to produce the character's shape" (Red book, page 86) Of course, this level of generalisation could be very inefficient in practice, so some optimizations have been made. The abstract definition, however, is probably good enough for people not actually building fonts of their own. Because fonts are very widely used in page descriptions, Adobe specified some higher level operations to simplify their use in everyday situations. The "show" operator is one such example (there are many others). These specialised operators do not alter the fact that characters are merely arbitrary shapes. Some PostScript systems I have used also allow characters to be defined as bit maps and the corresponding bit masks. This system is not as flexible as the more general font model, but is occasionally useful as many fonts already exist as bitmap descriptions. ======================================================== | Michael Paddon (mwp@munnari.oz.au) | | Department of Computer Science, Melbourne University | ========================================================