Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!decwrl!pyramid!hplabs!ucbvax!WASHINGTON.ARPA!Laser-Lovers-Request From: Laser-Lovers-Request@WASHINGTON.ARPA.UUCP Newsgroups: mod.computers.laser-printers Subject: Info-Postscript for Laser Lovers Digest V1 #11 Message-ID: <8607062027.AA14135@ucbvax.Berkeley.EDU> Date: Sun, 6-Jul-86 15:47:00 EDT Article-I.D.: ucbvax.8607062027.AA14135 Posted: Sun Jul 6 15:47:00 1986 Date-Received: Sun, 6-Jul-86 23:56:42 EDT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Info-Postscript@SU-SCORE.ARPA@WASHINGTON.ARPA Organization: The ARPA Internet Lines: 298 Approved: laser-lovers@washington.arpa Info-Postscript for Laser Lovers Digest Sunday, July 6, 1986 12:47PM Volume 1, Issue 11 Today's Topics: Adding page hack marks to LinoType film Diablo 630 emulation simple but useful postscript hack... 4.3 BSD lpr bug and TranScript... PS program to see glyph widths ---------------------------------------------------------------------- Date: 14 Mar 1986 21:39-EST From: Mike.Blackwell@ROVER.RI.CMU.EDU Subject: Adding page hack marks to LinoType film Here's a Scribe library file that allows you to redefine the page orientation, and add page hack marks (or page grid, as you like - you know, where to cut the film...), to Allied LinoType output. (We proof on Apple LaserWriters, and do final copy on a LinoTronic 300). The way this works is to redefine Scribe's standard PostScript device initialization string, adding PS code at the end to check to see if the output device is a LinoType. If it is, then the size of each page is enlarged to 9 x 11.5 inches. The BS definition (which Scribe calls at the beginning of each page) is modified to first draw .25 x .25 inch hack marks in the corners of the page, and then translate so the page will be centered between the hack marks. If the output device isn't a LinoType, then nothing is changed, so the same file can be printed on any PS printer with no ill effect. To use this library, the first two lines of the MSS file should be: @device(postscript) @librayfile(hackmarks) Note that you cannot include Macintosh generated pictures with @device(macdraw) when you use this library, because the Mac prolog information in the device initialization string will be replaced. -m- (mkb@rover.ri.cmu.edu) ---------- Begin hackma.lib ---------- @Marker(Library, HackMarks) @Begin(Comment) Device Initialization modification for the standard Scribe PostScript device to include 8.5 x 11 inch hack marks on Linotype output. 4-MAR-86 Mike Blackwell, Carnegie-Mellon University, mkb@rover.ri.cmu.edu @End(Comment) @Style(StringMax = 10000) @Style ---------- End of hackma.lib ---------- ------------------------------ Date: Mon, 17 Mar 86 17:13:35 n From: Niall Mansfield Subject: Diablo 630 emulation To: info-postscript@su-score Does anybody have a Postscript program to emulate a Diablo 630, or a program (C, Pascal, x) to translate Diablo-style output to Postscript prior to sending to the printer? (So that a LaserWriter doesn't need to be repeatedly switched between PostScript and Special modes). ------------------------------ Date: Tue 18 Mar 86 20:23:56-PST From: William "Chops" Westfield Subject: simple but useful postscript hack... Here is a simple postscript procedure that, given a box (lower right and upper left corners), and some text, scales the text to more or less exactly fill the box. I have found it very useful for composing name tags, badges, business cards, and the like.... Known bugs: It seems to run pretty slowly. Although I have concluded that the fact that charaters with descenders (gjyq) exceed the box is probably correct, it also seems that many characters with curved bottoms dip below the box when using large scales. This is probably wrong. ----------- %! fillbox % % procedure to fill a box with some text % text fontname llx lly urx ury -> - % /fillbox { gsave /height exch def % height <- urx /width exch def % width <- urx 2 copy moveto height sub neg /height exch def width sub neg /width exch def findfont height scalefont setfont % get approximate sized font gsave newpath 0 0 moveto %find bounding box of string dup true charpath flattenpath pathbbox /sheight exch def /swidth exch def pop pop grestore width swidth div % scaling for width height sheight div scale % and height show grestore } def % example follows: Make a "BillW" Personal Business Card /inch { 72 mul } def .25 inch .25 inch translate (BillW) /Helvetica-Bold 0 0 % ll corner 3.5 inch 2 inch % ur corner fillbox .5 setgray (Nice guy) /Helvetica .5 inch .66 inch 3 inch .66 inch 15 add fillbox (497-1407) /Helvetica .5 inch .66 inch 16 sub 3 inch .66 inch 1 sub fillbox showpage ------------------------------ Subject: 4.3 BSD lpr bug and TranScript... Date: Wed, 26 Mar 86 11:49:03 -0500 From: Tony Della Fera Incase anyone else has wasted any time on this: There is bug in the 4.3 BSD lpr/lpd software that prevents TranScript from doing proper printer logging. This problem is fixed by one of the more recent 4.3 patches from Berkeley. If you install the Berkeley patches in /usr/src/usr.lib/lpr everything should work properly. Tony... ------------------------------ Date: 29 Mar 1986 17:26:26 EST Subject: PS program to see glyph widths From: Glen Foster The following is a PS program, kindly provided by Ann Robinson of Adobe, that prints all encoded members of a font. She says that she will be providing a similar program that also shows un-encoded members. I haven't had a chance to run it yet so I don't know about format etc. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /Fontname (Times-Roman) def % change this to get other fonts /in {72 mul} def /y 10 in def /lm .9 in def /ptsize 10 def % size to print in /cr {/y y ptsize sub def % move down column -- at y 1 in le {/y 10 in def /lm lm 1.8 in add def} if % bottom, go to next lm y moveto } def % column /showwidth {dup cvn findfont % get font dictionary dup /fn exch def % save in /fn 1 scalefont /sfn exch def % get size X 1000 /pfn fn ptsize scalefont def % scale for printing fn /Encoding get /enc exch def % get encoding vector /schar 4 string def % string for character /ssize 5 string def % string for size /tab1 {lm .3 in add y moveto} def /tab2 {lm .6 in add y moveto} def pfn setfont gsave 3.5 in 10.4 in moveto 2 2 scale show grestore % print name at 2 x print size lm y moveto % top of page 32 1 255 % go thru all ascii chars {/i exch def sfn setfont enc i get % get encoding /.notdef ne % dont print if undefined {( ) dup 0 i put % put ascii val into string dup stringwidth pop % save copy and get width 1000.0 mul cvi ssize cvs % put width in string pfn setfont i schar cvs show % show ascii value tab1 exch show tab2 show % show char and width cr} if } for showpage} def Fontname showwidth ------------------------------ End of Info-Postscript for Laser Lovers Digest **********************************************