Annotation of researchv10no/cmd/postscript/devpost/charlib/LH.example, revision 1.1.1.1

1.1       root        1: %
                      2: % An example logo character. Building the PostScript program that prints
                      3: % your company logo is not addressed here; we assume you already have
                      4: % such a program, that it's relatively simple, and that it prints the
                      5: % logo by itself on a page. What you'll find here are instructions for
                      6: % converting that logo program into a character that can be accessed by
                      7: % troff and dpost.
                      8: %
                      9: % Building a new charlib character involves some PostScript programming.
                     10: % We've tried to isolate parameters that you'll need to change (Xoffset,
                     11: % Yoffset, and Scaling), but we can't guarantee things will work properly
                     12: % with every logo program. PostScript is a complex language and subtle
                     13: % interactions between your logo program and what we've done here can
                     14: % cause problems.
                     15: %
                     16: % Tuning the new character is an iterative process. You may want to adjust
                     17: % the size of the logo (via Scaling), it's position relative to adjacent
                     18: % characters and the baseline (Xoffset and Yoffset), and the distance troff
                     19: % moves after printing the character (width field in file ../S1). The steps
                     20: % to follow are:
                     21: %
                     22: %      1: Create a simple troff test file for the new character. Something
                     23: %         like,
                     24: %
                     25: %              .sp 1i
                     26: %              .ps 10
                     27: %              size 10: \(LH
                     28: %              .sp 1i
                     29: %              .ps 18
                     30: %              size 18: \(LH
                     31: %              .sp 1i
                     32: %              .ps 36
                     33: %              size 36: \(LH
                     34: %              .sp 1i
                     35: %              .ps 10
                     36: %              four logo characters: \(LH\(LH\(LH\(LH
                     37: %
                     38: %         is sufficient. The test file can go anywhere.
                     39: % 
                     40: %      2: Change into directory /usr/lib/font/devpost/charlib. All file
                     41: %         pathnames will be relative to that directory.
                     42: %
                     43: %      3: Save a copy of the working LH logo file. Then replace LH with
                     44: %         this file (i.e. LH.example). Changes described below should be
                     45: %         be made in the new LH file (not in LH.example).
                     46: %
                     47: %      4: Your PostScript logo program will eventually replace whatever
                     48: %         you find between the <<StartLogo>> and <<EndLogo>> comment lines
                     49: %         in the PostScript build_LH procedure (below). What's there now
                     50: %         prints an example logo that you can use until you understand the
                     51: %         remaining steps.
                     52: %
                     53: %      5: Print your troff test file using (assuming your making changes
                     54: %         in the devpost charlib directory),
                     55: %
                     56: %              troff -Tpost testfile | dpost | lp ...
                     57: %
                     58: %      6: Adjust the logo positioning by changing the numbers assigned to
                     59: %         Xoffset and Yoffset (below). Both are in units of 72 per inch.
                     60: %         Positive offsets should move the logo to the right and up the
                     61: %         page.
                     62: %
                     63: %      7: Adjust the logo size by changing the the number assigned to
                     64: %         Scaling. Unitsize also controls scaling, but there's no good
                     65: %         reason to change both Scaling and Unitsize.
                     66: %
                     67: %      8: Control the horizontal distance troff moves after printing the
                     68: %         new LH character by changing the width (i.e. the number in the
                     69: %         second column) assigned to LH in file ../S1. Character width
                     70: %         adjustments should probably wait until you're satisfied with
                     71: %         the Scaling set in step 7.
                     72: %
                     73: %      9: Back to step 5 until your satisfied with the output.
                     74: %
                     75: % The remaining steps are suggested but not required:
                     76: %
                     77: %      10: Delete PostScript comments in your new LH charlib file - comments
                     78: %         start with % and go to the end of the line.
                     79: %
                     80: %      11: Update the width field assigned to LH in file ../shell.lib. The
                     81: %         new width should reflect what's currently in your S1 font file.
                     82: %
                     83: %      12: Make a similiar set of changes in /usr/lib/font/devLatin1/charlib.
                     84: %         You can use the devpost version of LH to devLatin1/charlib/LH,
                     85: %         but changes to files devLatin1/S1 and devLatin1/shell.lib must be
                     86: %         entered by hand.
                     87: %
                     88: 
                     89: /Logo_Dict 100 dict dup begin
                     90:        /Xoffset 0 def                  % 72 dpi with positive to the right
                     91:        /Yoffset 0 def                  % 72 dpi with positive up the page
                     92:        /Scaling 1.0 def                % adjust this number to change the size
                     93:        /Unitsize 36 def                % for point size scaling - leave it be
                     94:        /showpage {} def
                     95: end def
                     96: 
                     97: /build_LH {                            % don't bind this procedure
                     98:        Logo_Dict begin
                     99:                gsave
                    100:                /charwidth exch def
                    101:                currentpoint translate
                    102:                resolution 72 div dup scale
                    103:                Xoffset Yoffset translate
                    104:                Scaling Scaling scale
                    105:                ptsize Unitsize div dup scale
                    106: 
                    107:                %% Replace everything between the <<StartLogo>> and <<EndLogo>>
                    108:                %% comment lines by the PostScript program that prints your
                    109:                %% logo.
                    110: 
                    111:                %% <<StartLogo>>
                    112:                        newpath
                    113:                        .5 .5 scale
                    114:                        0 0 moveto
                    115:                        100 0 lineto
                    116:                        100 100 lineto
                    117:                        closepath
                    118:                        .5 setgray
                    119:                        fill
                    120:                        0 setgray
                    121:                        10 10 translate
                    122:                        45 rotate
                    123:                        0 5 moveto
                    124:                        /Helvetica findfont 18 scalefont setfont
                    125:                        (Example Logo) show
                    126:                %% <<EndLogo>>
                    127: 
                    128:                grestore
                    129:        end
                    130: } def
                    131: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.