-- Please, am I doing something wrong? -- Please, is there a workaround? -- How can I nag Adobe to fix it? (The bug-submission page on Adobe doesn't work!)
> -- Please, am I doing something wrong? > -- Please, is there a workaround? > -- How can I nag Adobe to fix it? (The bug-submission page on Adobe > doesn't work!)
Try a string false charpath. False is for stroking and true is for filling or clipping.
> Try a string false charpath. False is for stroking and true > is for filling or clipping.
Not quite. -- The boolean is only relevant when the characters are for stroking. Times-Roman is for filling. -- If that were the problem, why would it affect the intervening linetos but not the character paths themselves? -- More convincingly, when tested, changing the boolean makes no difference.
Also, the problem isn't caused by the 'hand drawn' path being open, as adding currentpoint closepath moveto to the end of the rlineto lines doesn't fix it either.
I'm stuck on this odd problem. Please could someone tell what happens with PC distiller?
In article <4a93619f-78c4-46a2-9e44- b8e64b67c...@o77g2000hsf.googlegroups.com>, jdawise...@gmail.com says...
> Bumping this as I'm sure that somebody will have a solution.
Solution in what sense ? I agree that the result appears incorrect, and is the same using Distiller 8 under Windows.
All the PostScript RIPs I have available to test with (Ghostscript, Jaws and Harlequin) agree that the PDF produced is incorrect. Those which can produce PDF output (Jaws and GS) produce 'correct' PDFs.
I don't have a copy of CPSI to test with, and the only person I know who has one has quite an old copy. Amusingly, a version we already know has a problem with charpath...
So it seems your only recourse is to use something other than Distiller, or get Adobe to accept the bug (or explain why it isn't a bug ;-)
I've seen this problem before and assumed it was related to "charpath security" i.e. preventing the unauthorized extracting of copyrighted font outlines. As such, a possible solution would be to use the "superexec" operator with that magic number Adobe published in the little black book to enable the use of "pathforall" on the character outlines to extract all the lineto's and curveto's and then draw them as a regular path (not a charpath).
> Yes, you can stroke the path in three sections but that doesn't help if ... you want to use the whole path for clipping.
Alas I do want to use it for clipping, so stroking in pieces doesn't work.
> a possible solution would be to use the "superexec" operator with that magic number Adobe published in the little black book to enable the use of "pathforall" on the character outlines to extract all the lineto's and curveto's and then draw them as a regular path (not a charpath).
That might help. Thank you for the clue. An online search reveals code using 1183615869 internaldict /superexec get exec The only documentation I can find, at www.tinaja.com/glib/pssecrets.pdf, says:
> Here's how to activate superexec: First, you do a 1183615869 internaldict begin. From that point on, a {forall} superexec or a {get} superexec will often override and ignore any possible invalidaccess errors. This greatly expands your abilities to customize PostScript code and operations.
Please, is there fuller documentation anywhere? E.g., what does "often" mean? This seems very useful.
> The 1183615869 internaldict begin command will activate superexec for your use. For instance, if a gives you an error, a often will not. The same trick will often work for {get} superexec.
> Adds superexec, an undocumented operator that is equivalent to exec but
suppresses all invalidaccess checks. NOT COMPLETED YET; currently superexec is equivalent to exec. (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/
> > Adds superexec, an undocumented operator that is equivalent to exec but
> suppresses all invalidaccess checks. NOT COMPLETED YET; currently > superexec > is equivalent to exec. (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:
----------------------- 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).
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".)
> 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.
deedub...@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.