home *** CD-ROM | disk | FTP | other *** search
-
- % This file can be loaded after PLAIN.MF.
- % It introduces conventions that are commonly used at WAITS.
- base_version:=base_version&"/WAITS";
-
- % The WAITS implementation allows an extended character set;
- % characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |;
- % character ^^L (form feed) is in a class by itself, and is like an "outer" \.
- % Files containing these special characters should not be expected to work
- % elsewhere unless the following replacements are made:
- let <= = <=;
- let <> = <>;
- let >= = >=;
- let := = :=;
-
- % Say "boise_proof" on the command line, to get proofmode on boise
- def boise_proof = lcode_:=" /";
- extra_setup:=extra_setup&"grayfont grbois;" enddef;
-
- screen_rows:=400; screen_cols:=480;
-
- % Here are conventions for local output devices:
-
- mode_def dover = % dover mode: for the Xerox Dover
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=384;
- blacker:=1.2; % make pens somewhat blacker
- fillin:=0; % no compensation for fillin
- o_correction:=.6; % but don't overshoot as much
- enddef;
-
- mode_def imagen = % imagen mode: for the Imagen 8/300 (Canon engine)
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=300;
- blacker:=0; % Canon engine is black enough
- fillin:=.2; % and it tends to fill in diagonals
- o_correction:=.6; %
- enddef;
-
- mode_def nexthi = % nexthi mode: for 400 dpi NeXT (Canon engine)
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=400;
- blacker:=0; % Canon engine is black enough
- fillin:=.2; % and it tends to fill in diagonals
- o_correction:=.6; %
- enddef;
-
- %
- % This is an approximation until I have such a printer to play with
- %
-
- mode_def nextII = % for NeXT 360 dpi color
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=360;
- blacker:=0; % Is the color engine black enough?
- fillin:=.2; % and it tends to fill in diagonals
- o_correction:=.6; %
- enddef;
-
- mode_def nextscreen = % nextscreen mode: for 100 dpi screen
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=100;
- blacker:=0;
- fillin:=0;
- o_correction:=0;
- enddef;
-
- mode_def seventwo = % nextscreen mode: for 100 dpi screen
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=72;
- blacker:=0;
- fillin:=0;
- o_correction:=0;
- enddef;
-
- mode_def FAX = % FAX mode, for 200 by 200
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=200;
- blacker:=0;
- fillin:=0.2;
- o_correction:=0.2;
- enddef;
-
- mode_def qms = % qms mode: for the QMS (Xerox engine)
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=300;
- blacker:=.75; % (this value is conjectural)
- fillin:=0; % (ditto)
- o_correction:=.5; % (ditto)
- enddef;
-
- mode_def aps = % aps mode: for the Autologic APS-Micro5
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=1; % yes, show titles online
- pixels_per_inch:=722.909; % that's roughly 10 per pt
- blacker:=.2; % make pens a teeny bit blacker
- fillin:=.2; % but compensate for diagonal fillin
- o_correction:=1; % and keep the full overshoot
- enddef;
-
- mode_def crs = % crs mode: for the Alphatype CRS
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=1; % yes, show titles online
- begingroup interim warningcheck:=0; % (we need to go past 4096)
- pixels_per_inch:=4000+4000/3 endgroup; % HIGH res
- blacker:=4; % make pens a lot blacker
- fillin:=0; % but don't compensate for fillin
- o_correction:=1; % and keep the full overshoot
- enddef;
-
- mode_def boise = % boise mode: for the HP 2680A
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=180;
- blacker:=.55; % make pens a bit blacker
- fillin:=.1; % and compensate for diagonal fillin
- o_correction:=.3; % but don't overshoot much
- enddef;
-
- mode_def DD = % DD mode: for the DataDisc (usually with mag=magstep 2=1.44)
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=70; % really lowres
- blacker:=0; % don't make the pens any blacker
- fillin:=0; % and don't compensate for fillin
- o_correction:=.2; % but suppress most overshoots
- enddef;
-
- mode_def canon = % canon mode: for the old Imagen (Canon LBP10)
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=240;
- blacker:=.2; % make pens a wee bit blacker
- fillin:=.2; % and compensate for fillin
- o_correction:=.4; % but don't overshoot as much
- enddef;
-
- mode_def newDD = % newDD mode: for DataDisc with special aspect ratio
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=70; % really lowres
- blacker:=0; % don't make the pens any blacker
- fillin:=0; % and don't compensate for fillin
- o_correction:=.2; % but suppress most overshoots
- aspect_ratio:=4/3; % this is the new feature...
- enddef;
-
- mode_def cg = % cg mode: for the Compugraphic 8600
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=1; % yes, show titles online
- pixels_per_inch:=1301.5; % a bit less than 20 per pt
- blacker:=.2; % make pens a teeny bit blacker
- fillin:=.2; % but compensate for diagonal fillin
- o_correction:=1; % and keep the full overshoot
- aspect_ratio:=1569/1301.5; % strange, no?
- enddef;
-
- mode_def linolo = % Linotronic 100 at 635
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=635; % getting up there
- blacker:=0; % don't make the pens any blacker
- fillin:=0; % and don't compensate for fillin
- o_correction:=0; % no stuff here either
- enddef;
-
- mode_def linohi = % Linotronic 100 at 1270
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=1270; % getting up there
- blacker:=0; % don't make the pens any blacker
- fillin:=0; % and don't compensate for fillin
- o_correction:=0; % no stuff here either
- enddef;
-
- mode_def linosuper = % Linotronic 100 at 2540
- proofing:=0; % no, we're not making proofs
- fontmaking:=1; % yes, we are making a font
- tracingtitles:=0; % no, don't show titles in the log
- pixels_per_inch:=2540; % getting up there
- blacker:=0; % don't make the pens any blacker
- fillin:=0; % and don't compensate for fillin
- o_correction:=0; % no stuff here either
- enddef;
-
- localfont:=imagen;
-
- % Finally, here are macros for Xerox-world font info:
-
- def font_family expr s = % string s names the font family, e.g., "CMR"
- headerbyte 49: BCPL_string(s,20);
- special "identifier "&s enddef;
- def coding_scheme expr s = % string s names the scheme, e.g. "TEX TEXT"
- headerbyte 9: BCPL_string(s,40);
- special "codingscheme "&s enddef;
- def font_face_byte expr x = % integer x gives the family member number,
- headerbyte 72: x; % which should be between 0 and 255
- special "fontfacebyte"; numspecial x enddef;
-
- def BCPL_string(expr s,n)= % string s becomes an n-byte BCPL string
- for l:=if length(s)>=n: n-1 else: length(s) fi: l
- for k:=1 upto l: , substring (k-1,k) of s endfor
- for k:=l+2 upto n: , 0 endfor endfor enddef;
-
- Xerox_world:=1; % users can say `if known Xerox_world:...fi'
-
- inner end;
- def bye=
- if fontmaking>0: font_family font_identifier_;
- coding_scheme font_coding_scheme_;
- font_face_byte max(0,254-round 2designsize); fi
- tracingstats:=1; % at least for now we want this
- end
- enddef;
-
- outer bye,end;
-