home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD2.img
/
d4xx
/
d487
/
mfsrc
/
mfsrc.lzh
/
device.mf
< prev
next >
Wrap
Text File
|
1990-02-14
|
11KB
|
248 lines
% This is the University of Washington collection of mode_defs, and some
% other things as well. This file was created on 24 January, 1988
% by Pierre MacKay, mackay@june.cs.washington.edu
% Some of the modes have never actually been tested
base_version:=base_version&"/U_Wash";
input white_setup
% if a mode_def includes the statement: let font_setup = white_setup,
% it will replace the cmbase.mf font_setup with this corrected version
mode_def help = % What modes exist in this preload?
for i=1 upto number_of_modes:
message mode_name[i];
endfor;
save ?; % only use this once. it doesn't make sense to repeat
enddef;
let ? = help_;
% Canon CX mode: for the Laser-writer (same as WAITS.MF Imagen)
mode_def CanonCX =
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=300; % the new Canon engine at 300/inch
blacker:=0; % Canon engine is black enough
fillin:=.2; % very small compensation for diagonal fillin
o_correction:=.6; % but don't overshoot as much
enddef;
% Ricoh 4080: for the TI Omnilaser (Stan Osborne's values TUGboat 8,2,134)
mode_def RicohFourZeroEightZero =
let font_setup=white_setup; % use the write-white font_setup
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=300; % Ricoh write-white engine.
blacker:=.2; % Don't overblack the small fonts
fillin:=-.2; % reverse compensation for diagonal fillin
o_correction:=.5; % but don't overshoot as much
enddef;
% Varityper 600: for the Varityper Laser 600.
mode_def VarityperSixZeroZero =
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=600; % Good but not perfect
blacker:=0; % Seems black enough. Lighter than 300dpi
fillin:=0; % but it ought to be. Closer to true
o_correction:=0; % Modern proportions. Real problem is
enddef; % toner irregularity
% Canon LBP 10: for the Symbolics LGP-10 (same as WAITS.MF canon)
mode_def CanonLBP =
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=240; % the old Canon engine at 240/inch
blacker:=.2; % make pens a wee bit blacker
fillin:=.2; % compensate for diagonal fillin
o_correction:=.4; % but don't overshoot as much as lowres
enddef;
mode_def crs = % crs mode: for the Alphatype CRS (WAITS.MF)
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 OneTwoZero= % Micro-TeX, (maybe bitgraph and sun)
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:=120; % for the 120pxl fonts
blacker:=.35; % make pens a bit blacker (Karl Berry's value)
fillin:=.1; % and compensate for diagonal fillin
o_correction:=.3; % but don't overshoot much
enddef;
mode_def bitgraph = % bitgraph and sun (the original settings)
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:=118; % for the oversize *.590pxl fonts
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 sun = % bitgraph and sun screens (true size)
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; % try it to see if it will do
blacker:=.35; % make pens a bit blacker (Karl Berry's value)
fillin:=.1; % and compensate for diagonal fillin
o_correction:=.3; % but don't overshoot much
enddef;
% Three Macintosh values -- Pure guesswork, since no conversion
% program available.
mode_def truemac=
screens (true size)
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; % too small to be really useful
blacker:=.35; % make pens a bit blacker (Who knows?)
fillin:=.1; % and compensate for diagonal fillin
o_correction:=.3; % but don't overshoot much
enddef;
mode_def bettermac = % same as a magstep up from preceding
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:=86.4; % Considerable improvement at this resolution
blacker:=.35; % make pens a bit blacker (Karl Berry's value)
fillin:=.1; % and compensate for diagonal fillin
o_correction:=.3; % but don't overshoot much
enddef;
mode_def imagewriter = % could be reached by magsteps from 100 or 120
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:=144; % Image-writer is twice screen density
blacker:=0; % assume same as Epson owing to ink flow
fillin:=0.3; % try correcting fillin at this resolution
o_correction:=.2; % don't overshoot much
enddef;
% End of Macintosh values
mode_def epson = % Epson (Charles Karney's values TUGboat 8,2 p. 133)
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; % 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:=9/10; % 216 dots/inch vertical
enddef;
% This pair is hopeful, that maybe Ultre*setter may become
% usable one day
mode_def ultre = % Ultre*setter normal 1200dpi good fonts.
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=1200; % the normal 1200 dot/inch font
blacker:=0; % probably unnecessary at this resolution
fillin:=0; % This unneeded too
o_correction:=0; % keep an eye on this
enddef;
mode_def supre = % Ultre*setter 2400dpi for super fonts.
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles at all
pixels_per_inch:=2400; %
blacker:=0; % probably unnecessary at this resolution
fillin:=0; % This unneeded too
o_correction:=0; % keep an eye on this
enddef;
localfont:=CanonCX; % the mode most commonly used to make fonts
% It is customary to input another file to supplement the PLAIN base.
% This supplementary file adds analogous modes, corresponding to
% local output devices, and it redefines `localfont' as appropriate.
% The values of screen_rows and screen_cols should also be updated.
% The auxiliary file should set base_version:=base_version&"/localname".
% Remember that the present file PLAIN.MF should not be changed;
% all local changes should be confined to a separate file.
% Macros to add mode information specials to fonts.
def mode_special(suffix $) =
string s,d;
s:=str$; d:=decimal scantokens s;
special s&":="&d&";" enddef;
def font_mode_specials =
p_p_i=pixels_per_inch/mag;
if fontmaking > 0:
begingroup; save d,s,p; save pixels_per_inch;
string p;
pixels_per_inch:=p_p_i;
special jobname;
mode_special(mag);
if string mode: p:=mode;
else: p:=substring(0,length(mode_name[mode])-1) of mode_name[mode]; fi
special "mode:="&p&";";
mode_special(pixels_per_inch);
mode_special(blacker);
mode_special(fillin);
mode_special(o_correction);
endgroup;
fi
enddef;
% Finally, here are macros for Xerox-world font info.
% These can be useful even if you never use a Xerox printer.
% For instance, crudetype uses the |coding_scheme|
% and it is nice to have the font family on record. Some
% of this goes into the TFM, rather than the GF file.
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);
font_mode_specials; fi
end
enddef;
outer bye,end;