Michael Williams <williams@astro.ox.ac.uk> on Tuesday, February 27, 2007 at 4:20 AM -0800 wrote:
as described on http://article.gmane.org/gmane.comp.printing.a2ps.bugs/2583, there is a bug in a2ps that makes its postscript output incompatible with Adobe's distiller (and therefore OS X's Preview.app and its printing system).
e.g. do:
$ sudo port install a2ps $ echo "Test text" >> test.txt $ a2ps -o test.ps test.txt
Then either open test.ps in Preview.app or run
$ pstopdf test.ps
Which results in the error:
%%[ Error: undefined; OffendingCommand: iso1dict; ErrorInfo: CharOffsets %%[ Flushing: rest of job (to end-of-file) will be ignored ]%% %%[ Warning: PostScript error. No PDF file produced. ] %% pstopdf failed on file test.ps with error code -31000
Shorter, less useful errors with the same origin result if you open test.ps in Preview.app or send a2ps's output straight to printer (omit -o test.ps).
That post includes a fix, which I've applied (post-installation) to my MacPorts a2ps installation and confirmed working.
a2ps itself is currently without a maintainer, so it seems unlikely that the proposed fix (or any other) will be picked up for inclusion in the gnu tree any time soon.
The a2ps port is also without a maintainer. Since this is a bug which makes a2ps of extremely limited use on OS X, is the fix worth including in MacPorts? I am completely new to MacPorts (migrated from Fink a week ago), so I am certain that someone more experienced could add this patch to the a2ps Portfile in five minutes. If no one has the time, I'd be happy to take a look at what's involved myself (pointers welcome).
Michael, It would be great if you could create the patch and pick up maintainership. Making a patch is easy, Just download manaully the tarball the port uses, make a backup copy of the file to be changed, make the changes, and diff the old against the new. cd ap2s-x.xx cp file file.org edit file diff -u file.org file >patch-file Now you've got a patch. Now add the line: patchfiles patch-file to the portfile, and make your address the maintainer if you wish, and then do the same to the portfile. diff -u Portfile.org Portfile >Portfile.diff Now make a trac ticket and submit both patch files and that's it. If no one notices it you could ping the list. Mark