Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!samsung!munnari.oz.au!cluster!metro!natmlab.dap.csiro.au!ditsyda!macuni!mqccsunc!ifarqhar From: ifarqhar@mqccsunc.mqcc.mq.OZ (Ian Farquhar) Newsgroups: comp.lang.postscript Subject: Re: ruler.ps - an inch/point ruler of your very own Summary: Floating point is used anyway. Keywords: floating point, custom Postscript processors Message-ID: <100@macuni.mqcc.mq.oz> Date: 17 Jan 90 11:04:52 GMT References: <21772@uflorida.cis.ufl.EDU> <1990Jan14.180821.18711@trigraph.uucp> <17662@rpp386.cactus.org> Sender: news@macuni.mqcc.mq.oz Reply-To: ifarqhar@mqccsunc.mq.oz (Ian Farquhar) Organization: Macquarie University, Sydney Lines: 89 In article <17662@rpp386.cactus.org> woody@rpp386.cactus.org (Woodrow Baker) writes: >In article <1990Jan14.180821.18711@trigraph.uucp>, bruce@trigraph.uucp (Bruce Freeman) writes: >> The great thing about points is that there are so many of them to the inch. >> PostScript has decided that there are exactly 72 to the inch but the industry >> standard is generally that there are 72.3 points to the inch. As a typesetting >Yup, For whatever reason, Adobe definitly decided to thumb it's nose at >the very industry that it was/is trying to bring into the 20th centry. >Methinks that perhaps they wanted to use integers or some such, so they >decided to use integral "point" size. They certainly, with a tad bit more >effort could have used a scaled binary integer i.e. a fixed point integer >format to do the work , but I can certainly understand why they might >have decided to use 72 points rather than 72.3. Of course, if Adobe wanted to really join the rest of the world they would use metric. >Of course floating point is be fine, but it does >indeed slow things down, and with no FPU in the standard printers, you need >all the speed that you can get. Actually, you can make your user space be >72.3 if you want to. consider that 300/72 is 4.1666 pixels per point >and 300/72.3 is 4.14937 pixels per point, you certainly can modify the >scaling matrix to get exactly 72.3 points per inch. There will still be >the problem with the varying dot boundries. 1/300 inch is .0033333 >inches .003333+4.14937 is 4.15270. If you are using a finer resolution than >1/300th of an inch, it can be made exact. Actually, if memory serves correctly, postscript does practically everything in floating point anyway (save the internal procedures that we don't know about ;-) ). If you look at the printer drive optimization case study (p.6) you will notice that Adobe states that: 0 0 moveto is slower than: 0.0 0.0 moveto because the interpreter does not need to perform integer to floating point conversion. Actually, considering the price of many of the Postscript printers on the market it is surprising that more do not include FPU's. In quantity they would be fairly cheap. It is also interesting to ponder that if you REALLY wanted to speed up PostScript, then it might be best to develop a processor that is optimized for it. Such optimizations would include: String comparison instruction Bit-blit operators Floating point instructions Graphics primitives etc. Such a RIP could be highly pipelined to increase throughput. It could JUST be done in a couple of VLSI chips with today's technology. After all, the Amiga already has a chipset with hardware line draw, area fill and a highly sophisticated bit-blitter in a low-cost machine. Worth thinking about... +-----------------------------------+-------------------------------+ | Ian Farquhar | Phone : (02) 805-7420 (STD) | | Microcomputer Support | (612) 805-7420 (ISD) | | Office of Computing Services | Fax : (02) 805-7433 (STD) | | Macquarie University NSW 2109 | (612) 805-7433 (ISD) | | Australia | Also : 805-7205 | +-----------------------------------+-------------------------------+ "A cynic is what an idealist calls a realist." Sir Humphrey Appleby (Patron Saint of Public Servants) Yes, Minister. Yes, Prime Minister. +-----------------------------------+-------------------------------+ | Ian Farquhar | Phone : (02) 805-7420 (STD) | | Microcomputer Support | (612) 805-7420 (ISD) | | Office of Computing Services | Fax : (02) 805-7433 (STD) | | Macquarie University NSW 2109 | (612) 805-7433 (ISD) | | Australia | Also : 805-7205 | +-----------------------------------+-------------------------------+ D