2012/9/15 Troy Henderson
Utilities are available in abundance which can transform raster graphics from color to grayscale, but until I created this yesterday, I have never seen a utility that keeps the graphic in vector format (i.e., never rasterizes it throughout the conversion) and converts it from color to grayscale. Until I read this thread, I guess I thought I was the only one that desired such a tool. I'm glad to see that at least I'm not alone.
Oh, there are, but I know only commercial (e.g. OneVision Asura) or in-house solutions (like what I "managed" at a newspaper several years ago). The simple (or simplistic) rgbcolor patch doesn't work with complicated EPS, of course. But then you'd need to know the structure of your EPS. It's hard to get that right for arbitrary EPS. And there aren't that many able PostScript programmers left. E.g. at that newspaper we were able to switch spot colors just before plate exposition; the trick was to use a generic spot color name throughout the workflow and to change its definition in the completed page EPS. (At that time "our" printing press was too small to print all pages in full color.) Since PostScript is a full programming language, most PS generators use shortcuts (macros/functions) that wrap the originally simple commands, so you often can't track down where the structure hides that you'd like to change. Best solution is often to do a full "expansion" with a PS interpreter and write a new, better readable, but mostly much bigger code. pstoedit is your friend for that – e.g. Hans did some nice tricks with EPS pictures converted to MetaPost. I once experimented a bit with changing colors of embedded bitmap images – it's rather easy to do, but never looks right without a deep understanding of color management and its strange implementation in PostScript... Greetlings, Hraban