Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!menudo.uh.edu!nuchat!shell!leo!lee From: lee@leo (Bill Lee) Newsgroups: comp.lang.postscript Subject: Re: Obliquing fonts Keywords: Oblique, slant, tan Message-ID: <1991May28.131731.24518@shell.shell.com> Date: 28 May 91 13:17:31 GMT References: <24968@well.sf.ca.us> Sender: usenet@shell.shell.com (USENET News System) Organization: Shell Oil Lines: 40 In article <24968@well.sf.ca.us> capslock@well.sf.ca.us (Allen Crider) writes: >I'm trying to oblique a roman font. I know the pointsize and I know the >obliquing angle. The only example of obliquing type I have seen is in >the Blue book (Tutorial and Cookbook) in which they give an example of >a font obliqued 30 degrees: > [12 0 6.93 12 0 0] makefont > "The 6.93 in our last matrix above is the product of 12xtan30, so our >characters are obliqued by thirty degrees." Says the Blue Book. > >I tried doing this in C: >f = 12 * tan(30); > >and get 76.864, not 6.93. >Since I wasn't around when they passed out the trigonometry, maybe some >kind soul could guide me to the best way to figure out the correct value >to put in that matrix. Thanks Here's a procedure that I use to achieve just what you're looking for. Bill Lee lee@shell.com Shell Oil Co. -------------------------cut here-------------------------------------------- %* _________________________ Oblique __________________________________________ %* Procedure to modify the (normally) rectangular coordinate system of the %* page to a non-right angle. When used, all x and y dimensions are %* measured parallel to the new x and y axese. This results in squares %* becoming parallelograms, circles becoming ellipses, etc. It also means that %* moving off into the page will often run off the edge of the paper, so %* be careful of the positining on the page. %* %* angle Oblique %* where angle is the off-vertical of the Y axis in degrees. %* A positive angle is clockwise rotation of the Y axis %* relative to existing axis. /Oblique { /angle exch def [ 1 0 angle sin angle cos 0 0 ] concat } def