Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!comp.vuw.ac.nz!virtue!ccc_ldo From: ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) Newsgroups: comp.lang.postscript Subject: Re: PostScript Level II, contextual forms Message-ID: <1330.26d576c4@waikato.ac.nz> Date: 24 Aug 90 06:49:40 GMT References: <9607@goofy.Apple.COM> <1289.26d27708@waikato.ac.nz> <1990Aug22.051728.16659@ico.isc.com> Organization: University of Waikato, Hamilton, New Zealand Lines: 56 In <1990Aug22.051728.16659@ico.isc.com>, rcd@ico.isc.com (Dick Dunn) responds to my questions about support for contextual forms and interactive WYSIWYG editing as follows: "PostScript is the wrong level to make such a decision. At the level of PostScript, the output of text should be regarded as the output of a sequence of glyphs which have no inherent semantics. Characters are simply objects being placed on the page or screen...it doesn't make sense to ascribe language- dependent context to them." So, you need another layer on top of PostScript to implement these functions. Performance considerations aside, do you have a standard for this layer? Or does this mean that programs that want to be writing-system-independent cannot be operating-system-independent? Remember, virtually *all* text drawing calls would have to go through this extra layer; it no longer becomes possible to access PostScript directly, unless you either a) add special cases to your code to handle all the peculiarities of different writing systems, or b) you want your software to be useful only in places where they use the Roman alphabet. "Decisions have to be made upstream of PostScript anyway." Dick mentioned text justification as an example. To be more specific, you have the problem of deciding what's the optimum distribution of width adjustments--how much to alter the spacing between words (for writing systems that have spaces between words), and (if you really must) how much you can alter character widths. Also the rules for varying character widths depend on the writing system--for example, Arabic writing widens characters by drawing extension bars between them. Then there's the problem of word breaks at the ends of lines (the rules for finding word breaks are writing-system-dependent), and hyphenation rules (if relevant). Oh, and I forgot to mention automatic kerning... If you have a separate text-rendition layer, you'd then have to maintain *two* sets of information about each font: the standard PostScript font dictionary, and all this extra information, in order to draw sensible-looking, readable text with that font. You can look at it another way: PostScript becomes just a low-level tool for implementing a text-rendition and page-description system, rather than being such a system in itself. I'm not suggesting that you write PostScript programs to do page layout (thought I agree it would become possible). But *somewhere* there needs to be the information necessary to allow the application to do it--and it needs to be available in a standard form, or portability goes out the window. What do you think? What's the right way to do things? Lawrence D'Oliveiro fone: +64-71-562-889 Computer Services Dept fax: +64-71-384-066 University of Waikato electric mail: ldo@waikato.ac.nz Hamilton, New Zealand 37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00 To someone with a hammer and a screwdriver, every problem looks like a nail with threads.