Article View: comp.lang.postscript
Article #3286Re: characters in perspective
From: Woody Baker Eagle Signal
Date: Mon, 08 Oct 1990 02:49
Date: Mon, 08 Oct 1990 02:49
75 lines
3392 bytes
3392 bytes
In article <JWZ.90Oct7152822@kolyma.lucid.com>, jwz@lucid.com (Jamie Zawinski) writes:
> I find all this eexec code Woody spews forth pretty repulsive. This is a
> completely wrong way to approach such problems. It is on the level of
Well, on the earlier adobe printers you could get the points along a
character outline by stackin clippaths. The interpreter would then
forget about the charpath lockout. If Adobe had not been so paranoid
about people using thier fonts, and had made the outline available from the
start, this little bit of code would not be needed. They have documented
the details now, much to thier credit (applause....), but still have the
points locked out. I hope that they see fit to remove this restriction in
the future, as it is no longer "important" and certainly not to thier
advantage to restrict access to the character paths. Currently there is
no other way to access them.
>
> UBYTE *port;
> port = (UBYTE *)12574977L;
> *port = 0x04;
> *port = 0x06;
>
> is an acceptable way to write to a given machine's parallel port! It is
Gads no! No true hacker would stoop so low! Suppose it was not memory
mapped?
A true hacker would do something like
outport(x,y)
char *y;r
char x;
{
union REGS ireg;
ireg.h.ah=0x04;e
ireg.x.ds=y;
int86(&iregs,&iregs);
}
8=}
Thatway it is not only tied to a machine, but to an operating system
and perhaps a bios as well ;=>
> come out, and that 80% of what Woody posts works only on the current
> incarnation of Apple LaserWriters.
I don't think it is 80%, but you are right, it does work only on current
incarnations of 68000 based laserprinters in general. That happens to
cover something like 85-95% of the installed base of laser printers
out there, so why not?
At any rate, you cannot achieve certain things easily with a 2 dimensional
matrix (x and y). Sure would have been nice to have had 3D, and if I
were specifing the latest and greatest Postscript it would. Along with
a nice curve tracer that given a set of points would return the curveto
arguments...
>
>
> Anyway, retracing the path of a letter isn't going to let you draw it in
> perspective without a lot more work.
Actualy it really is not that much more work. you simply have to create
a mapping function that takes an x and y point, and modifies it. I've
seen some of the mind bending things that Don has done with perspective
work. Fixing the pathfor all sure beats pixel line remapping.
For those of you who don't know, pixel line remapping involves setting
a clipping mask to be 1 pixel wide. Then you scale a font, print it with
the clipping mask in place, move the mask over 1 pixel, rescale the font
(character) print it etc etc. It is possible to do true perspective
drawings this way, as well as wrap letters around cylinders etc.etc.
it is slow.
Cheers
Woody
Technical Details
Message-ID:
<1614@chinacat.Unicom.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!chinacat!woodyReferences:
<1990Oct5.155219.442@morrow.stanford.edu> <JWZ.90Oct7152822@kolyma.lucid.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!chinacat!woody From: woody@chinacat.Unicom.COM (Woody Baker @ Eagle Signal) Newsgroups: comp.lang.postscript Subject: Re: characters in perspective Summary: hmmmm.... Message-ID: <1614@chinacat.Unicom.COM> Date: 8 Oct 90 02:49:20 GMT References: <1990Oct5.155219.442@morrow.stanford.edu> <JWZ.90Oct7152822@kolyma.lucid.com> Organization: a guest of Unicom Systems Development, Austin Lines: 75