| % |
| % An example logo character. Building the PostScript program that prints |
| % your company logo is not addressed here; we assume you already have |
| % such a program, that it's relatively simple, and that it prints the |
| % logo by itself on a page. What you'll find here are instructions for |
| % converting that logo program into a character that can be accessed by |
| % troff and dpost. |
| % |
| % Building a new charlib character involves some PostScript programming. |
| % We've tried to isolate parameters that you'll need to change (Xoffset, |
| % Yoffset, and Scaling), but we can't guarantee things will work properly |
| % with every logo program. PostScript is a complex language and subtle |
| % interactions between your logo program and what we've done here can |
| % cause problems. |
| % |
| % Tuning the new character is an iterative process. You may want to adjust |
| % the size of the logo (via Scaling), it's position relative to adjacent |
| % characters and the baseline (Xoffset and Yoffset), and the distance troff |
| % moves after printing the character (width field in file ../S1). The steps |
| % to follow are: |
| % |
| % 1: Create a simple troff test file for the new character. Something |
| % like, |
| % |
| % .sp 1i |
| % .ps 10 |
| % size 10: \(LH |
| % .sp 1i |
| % .ps 18 |
| % size 18: \(LH |
| % .sp 1i |
| % .ps 36 |
| % size 36: \(LH |
| % .sp 1i |
| % .ps 10 |
| % four logo characters: \(LH\(LH\(LH\(LH |
| % |
| % is sufficient. The test file can go anywhere. |
| % |
| % 2: Change into directory /usr/lib/font/devpost/charlib. All file |
| % pathnames will be relative to that directory. |
| % |
| % 3: Save a copy of the working LH logo file. Then replace LH with |
| % this file (i.e. LH.example). Changes described below should be |
| % be made in the new LH file (not in LH.example). |
| % |
| % 4: Your PostScript logo program will eventually replace whatever |
| % you find between the <<StartLogo>> and <<EndLogo>> comment lines |
| % in the PostScript build_LH procedure (below). What's there now |
| % prints an example logo that you can use until you understand the |
| % remaining steps. |
| % |
| % 5: Print your troff test file using (assuming your making changes |
| % in the devpost charlib directory), |
| % |
| % troff -Tpost testfile | dpost | lp ... |
| % |
| % 6: Adjust the logo positioning by changing the numbers assigned to |
| % Xoffset and Yoffset (below). Both are in units of 72 per inch. |
| % Positive offsets should move the logo to the right and up the |
| % page. |
| % |
| % 7: Adjust the logo size by changing the the number assigned to |
| % Scaling. Unitsize also controls scaling, but there's no good |
| % reason to change both Scaling and Unitsize. |
| % |
| % 8: Control the horizontal distance troff moves after printing the |
| % new LH character by changing the width (i.e. the number in the |
| % second column) assigned to LH in file ../S1. Character width |
| % adjustments should probably wait until you're satisfied with |
| % the Scaling set in step 7. |
| % |
| % 9: Back to step 5 until your satisfied with the output. |
| % |
| % The remaining steps are suggested but not required: |
| % |
| % 10: Delete PostScript comments in your new LH charlib file - comments |
| % start with % and go to the end of the line. |
| % |
| % 11: Update the width field assigned to LH in file ../shell.lib. The |
| % new width should reflect what's currently in your S1 font file. |
| % |
| % 12: Make a similiar set of changes in /usr/lib/font/devLatin1/charlib. |
| % You can use the devpost version of LH to devLatin1/charlib/LH, |
| % but changes to files devLatin1/S1 and devLatin1/shell.lib must be |
| % entered by hand. |
| % |
| |
| /Logo_Dict 100 dict dup begin |
| /Xoffset 0 def % 72 dpi with positive to the right |
| /Yoffset 0 def % 72 dpi with positive up the page |
| /Scaling 1.0 def % adjust this number to change the size |
| /Unitsize 36 def % for point size scaling - leave it be |
| /showpage {} def |
| end def |
| |
| /build_LH { % don't bind this procedure |
| Logo_Dict begin |
| gsave |
| /charwidth exch def |
| currentpoint translate |
| resolution 72 div dup scale |
| Xoffset Yoffset translate |
| Scaling Scaling scale |
| ptsize Unitsize div dup scale |
| |
| %% Replace everything between the <<StartLogo>> and <<EndLogo>> |
| %% comment lines by the PostScript program that prints your |
| %% logo. |
| |
| %% <<StartLogo>> |
| newpath |
| .5 .5 scale |
| 0 0 moveto |
| 100 0 lineto |
| 100 100 lineto |
| closepath |
| .5 setgray |
| fill |
| 0 setgray |
| 10 10 translate |
| 45 rotate |
| 0 5 moveto |
| /Helvetica findfont 18 scalefont setfont |
| (Example Logo) show |
| %% <<EndLogo>> |
| |
| grestore |
| end |
| } def |
| |