laser-lovers@uw-beaver (07/24/85)
From: Christopher A Kent <cak@Purdue.EDU> I'm trying to get Purdue's logo (a stylized griffin) out onto our printer's cover sheets. I have a digitized version and PostScript code to print it out, but it's terribly slow. I'm defining my own font, following the example in the cookbook, and it occurs to me that the printer is probably bit tuning the logo every time it has to create it. This isn't necessary -- I'd be happy just to get exactly the bits I gave it back. Is there any way that I can construct the font machinery code so that this is what happens? Since the logo is large (about 1 square inch), and it's only used on the cover page of each job, it doesn't end up in the cache very often. Thanks, chris ----------
laser-lovers@uw-beaver (07/24/85)
From: Brian Reid <reid@Glacier> The companies that sell fonts tend to be paranoid about letting copies of the font rasters fall into the hands of users. I know that at least one of the big-name font companies will not license its fonts to laser printer manufacturers unless they put the fonts into the printer itself (rather than in some companion software external to the printer). I believe that the font companies are afraid that someone will steal their rasters and re-sell them. As Chuck Bigelow has pointed out several times, U.S. law does not prohibit the theft of fonts (only the mis-use of trademarked font names), so font companies must resort to technical schemes to protect their fonts instead of legal schemes. The bottom line of all this is that you are quite unlikely to find a way to recover font rasters from any manufacturer's laser printer, in order to make a logo or anything else. I'm reasonably certain that you can't do it on a PostScript printer. What I recommend that you do is to print the logo out in a large size (PostScript will help you here by letting you scale the logo to fill an 8.5 x 11 page), and then digitize it. The Macintosh ThunderScan is a very fine digitizer for that kind of application. You can then feed it to your PostScript printer as a scanned image instead of a synthetic image. -- Brian Reid decwrl!glacier!reid Stanford reid@SU-Glacier.ARPA
laser-lovers@uw-beaver (07/24/85)
From: Christopher A Kent <cak@Purdue.EDU> Apparently I didn't make myself very clear in my original message. Allow me to try again: Purdue has this stylized griffin as its logo; I'd like to print it on our PostScript printers' banner page for each job. I've already scanned it for another project, and have it at about 300 dpi resolution, on disk. The question is how best to load this into the printer and print it; "best" in this case means "fastest." I started off by using the Cookbook example of user-defined fonts to define my own font based on the scanned image -- using imagemask, as is done for the turkey character. I load the font definition code (and the scanned image) into system VM, so it is only sent down once per power-cycle. Then my banner program merely does a getfont scalefont setfont and prints the appropriate character. The problem is that printing the character, even when it's already loaded into the printer, takes quite a while. This is apparently (based on experiments involving printing the griffin at various point sizes) because the printer scales and bit smooths the character every time; it's a large character, printed infrequently, so it's probably never in the cache. I'm happy with the digitization, and don't need to have the image smoothed. I'm looking for a way to trick the font machinery into not smoothing the image every time, but just copying the bits I loaded onto the page (or into the cache) as fast as it can. Studying the manual last night leads me to believe that I may have gone about this whole thing in the wrong way -- what I'm going to try today is a routine that just prints the griffin using imagemask, save that routine in system VM, and have the banner routine invoke that one. Then it should end up as just a straight bitcopy (I hope.) Cheers, chris ----------
laser-lovers@uw-beaver (07/24/85)
From: Christopher A Kent <cak@Purdue.EDU> As a postscript (sorry) to my last message, I've tried just doing 100 100 moveto % 368 384 true [368 0 0 -384 0 384] { < [hexstring] > } imagemask % showpage and always get a blank page. The code between the % signs is exactly what was called by the BuildChar for my user-defined font that works perfectly. I'm at a loss ... anyone see the flaw? Thanks, chris ----------
laser-lovers@uw-beaver (07/25/85)
From: Neal Holtz <holtz%cascade.carleton.cdn%ubc.csnet@csnet-relay.arpa> Re: flaw calling imagemask At least 2 flaws: 1. imagemask does not deposit image at current point, so your first line should read '100 100 translate'; 2. It scans your image into a 1 unit square, so you should have a line to scale it, something like: 368 300 div 72 mul 384 300 div 72 mul scale to draw it pixel for pixel; What you got was 1 pt by 1 pt image at (0,0) which is off the imageable area. Re: your earlier question regarding images: I too would like to know if one can persuade PostScript to leave images alone. That seems like a fair bit of work, scan-converting all those little rectangles onto the page image (in your case 368*384=141312 of them). Even though the LaserWriter, for one, is amazingly fast at doing all that work, it would be nice to tell it not to do the work at all.
laser-lovers@uw-beaver (07/27/85)
From: Christopher A Kent <cak@Purdue.EDU> The code you sent did the trick, but it's still pathetically slow. The printer must still be doing a lot of work to scale and translate every pixel of the scanned image. There's gotta be a better way to do this. Anyone else care to try? chris ----------