Code Comments
Programming Forum and web based access to our favorite programming groups.On Feb 26, 7:09=A0pm, jdaw1 <jdawise...@gmail.com> wrote: > http://pages.cs.wisc.edu/~ghost/doc....41_Interpreter > (a history of Ghostscript versions 3.n) says at the end of the section > entitled "30.7 Interpreter": > > > suppresses all invalidaccess checks. =A0NOT COMPLETED YET; currently > superexec > is equivalent to exec. =A0(zcontrol.c) > > Which suggests that it doesn't work in GhostScript. > > PS: I'm adding these links to this thread so that my code can contain > a single reference leading to everything. > % groups.google.com/group/comp.lang.postscript/browse_thread/thread/ > 8599a22cfa270e5f/ You know what, now it seems that superexec isn't necessary. Maybe that restriction was removed a long time ago and I'm just showing my age? Note the line I have added between the 'charpath' and the 'stroke' below: %!PS-Bug /FontSize 100 def /Times-Bold FontSize selectfont 72 72 FontSize 3 mul add moveto (0) true charpath FontSize 2 div FontSize rlineto FontSize 2 div FontSize neg rlineto currentpoint moveto (2) true charpath mark{/moveto load}{/lineto load}{/curveto load}{/closepath load} pathforall ] newpath cvx exec stroke showpage ----------------------- One more word of warning: if Distiller attempts to do font substitution and you get the message "Font cannot be embedded", then it doesn't work. At least, that happened to me. When I used Times-Bold as you did, I got the substitution message and bad outlines. When I used TimesNewRomanPS-BoldMT (which is available on my Windows system) then it works. Also, if it's a really unknown font name, like CrazyTimes-Wacko, then Distiller just uses Courier and it works (albeit with Courier outlines). -David W.
Post Follow-up to this messageIt seems to me that the
mark{/moveto load}{/lineto load}{/curveto load}{/closepath load}
pathforall ] newpath cvx exec
just recreates the path. Please, how is that useful? (Aside: to
facilitate text editor bracket matching, I'd commence it with a "["
rather than a "mark".)
Post Follow-up to this messageOn Mar 16, 8:00=A0pm, jdaw1 <jdawise...@gmail.com> wrote:
> It seems to me that the
>
> mark{/moveto load}{/lineto load}{/curveto load}{/closepath load}
> pathforall ] newpath cvx exec
>
> just recreates the path. Please, how is that useful? (Aside: to
> facilitate text editor bracket matching, I'd commence it with a "["
> rather than a "mark".)
Well, it is useful because it fixed the bug for me (Distiller 8.1.0 on
Windows). Did you try it?
If I comment out those two lines, the path does not draw completely.
Adobe attaches a nasty attribute of some kind to the internal path
data structure if it involves a character outline. Whatever this
attribute is, it causes a bug when you try to do certain things with
the path. So by regenerating the path using only moveto, lineto,
curveto and closepath, you create a new, clean path data structure
that the interpreter thinks does not involve character outlines
(because it was not built using 'charpath'), so it does not have the
nasty attribute, so it does not have the bug when you stroke it.
-David W.
Post Follow-up to this messagedeedubman@gmail.com wrote: >Adobe attaches a nasty attribute of some kind to the internal path >data structure if it involves a character outline. Whatever this >attribute is, it causes a bug ... I think that's right. Ignoring the bug, I think it is trying to do something desirable: to recognise sequences like charpath fill charpath stroke charpath gsave fill grestore stroke and, rather than leaving them as a collection of outlines, distilling into filled and/or stroked references to a real font. ---------------------------------------- Aandi Inston Please support usenet! Post replies and follow-ups, don't e-mail them.
Post Follow-up to this messageVery logical, thank you. I will experiment.
OOI, why use
[ {/moveto load} {/lineto load} {/curveto load} {/closepath load}
pathforall ] newpath cvx exec
rather than a simpler
[ {moveto} {lineto} {curveto} {closepath} pathforall ] newpath cvx
exec
Post Follow-up to this message> [ {moveto} {lineto} {curveto} {closepath} pathforall ] newpath cvx
> exec
Please ignore that question: very foolish.
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.