|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U
Length: 11640 (0x2d78) Types: TextFile Names: »U_Wash.mf«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./utilityfonts/bases/U_Wash.mf«
% File: MF Inputs U_Wash.mf % Author: Pierre A. MacKay % Internet: mackay@cs.washington.edu % Date: November 27, 1988 % % This is the University of Washington collection of |mode_defs| % together with the macros to provide font-wide specials describing the % |mode_def| that is used for each generated font, and the Xerox-world % comments in the tfm file. If a "?" is typed as the first response % to the "*" prompt after this or a derived base file is loaded, % a list of all current |mode_def|s will be given. % % This file follows a convention that has emerged in the discussion % of |mode_def|s in TUGboat. % 1. The print engine is identified wherever possible, rather than % the printer which incorporates that print-engine. % 2. Because |mode_def| names may not contain digits, each digit is % given its full name, as in RicohFourZeroEightZero. % % WARNING: 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;