|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.