Annotation of researchv10no/cmd/postscript/devpost/charlib/LH.example, revision 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.