home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3.4.17 [SPARC, PA-RISC] / nextstep33_risc.iso / NextLibrary / TeX / mf / inputs / next.mf < prev    next >
Text File  |  1995-02-07  |  9KB  |  242 lines

  1.  
  2. % This file can be loaded after PLAIN.MF.
  3. % It introduces conventions that are commonly used at WAITS.
  4. base_version:=base_version&"/WAITS";
  5.  
  6. % The WAITS implementation allows an extended character set;
  7. % characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |;
  8. % character ^^L (form feed) is in a class by itself, and is like an "outer" \.
  9. % Files containing these special characters should not be expected to work
  10. % elsewhere unless the following replacements are made:
  11.   let <= = <=;
  12.   let <> = <>;
  13.   let >= = >=;
  14.   let := = :=;
  15.  
  16. % Say "boise_proof" on the command line, to get proofmode on boise
  17. def boise_proof = lcode_:=" /";
  18.  extra_setup:=extra_setup&"grayfont grbois;" enddef;
  19.  
  20. screen_rows:=400; screen_cols:=480;
  21.  
  22. % Here are conventions for local output devices:
  23.  
  24. mode_def dover =  % dover mode: for the Xerox Dover
  25.  proofing:=0;      % no, we're not making proofs
  26.  fontmaking:=1;      % yes, we are making a font
  27.  tracingtitles:=0;    % no, don't show titles in the log
  28.  pixels_per_inch:=384;
  29.  blacker:=1.2;      % make pens somewhat blacker
  30.  fillin:=0;      % no compensation for fillin
  31.  o_correction:=.6;    % but don't overshoot as much
  32.  enddef;
  33.  
  34. mode_def imagen =  % imagen mode: for the Imagen 8/300 (Canon engine)
  35.  proofing:=0;      % no, we're not making proofs
  36.  fontmaking:=1;      % yes, we are making a font
  37.  tracingtitles:=0;    % no, don't show titles in the log
  38.  pixels_per_inch:=300;
  39.  blacker:=0;      % Canon engine is black enough
  40.  fillin:=.2;      % and it tends to fill in diagonals
  41.  o_correction:=.6;    %
  42.  enddef;
  43.  
  44. mode_def nexthi =  % nexthi mode: for 400 dpi NeXT (Canon engine)
  45.  proofing:=0;      % no, we're not making proofs
  46.  fontmaking:=1;      % yes, we are making a font
  47.  tracingtitles:=0;    % no, don't show titles in the log
  48.  pixels_per_inch:=400;
  49.  blacker:=0;      % Canon engine is black enough
  50.  fillin:=.2;      % and it tends to fill in diagonals
  51.  o_correction:=.6;    %
  52.  enddef;
  53.  
  54. %
  55. %   This is an approximation until I have such a printer to play with
  56. %
  57.  
  58. mode_def nextII =    % for NeXT 360 dpi color
  59.  proofing:=0;      % no, we're not making proofs
  60.  fontmaking:=1;      % yes, we are making a font
  61.  tracingtitles:=0;    % no, don't show titles in the log
  62.  pixels_per_inch:=360;
  63.  blacker:=0;      % Is the color engine black enough?
  64.  fillin:=.2;      % and it tends to fill in diagonals
  65.  o_correction:=.6;    %
  66.  enddef;
  67.  
  68. mode_def nextscreen =  % nextscreen mode: for 100 dpi screen
  69.  proofing:=0;      % no, we're not making proofs
  70.  fontmaking:=1;      % yes, we are making a font
  71.  tracingtitles:=0;    % no, don't show titles in the log
  72.  pixels_per_inch:=100;
  73.  blacker:=0;
  74.  fillin:=0;
  75.  o_correction:=0;
  76.  enddef;
  77.  
  78. mode_def seventwo =  % nextscreen mode: for 100 dpi screen
  79.  proofing:=0;      % no, we're not making proofs
  80.  fontmaking:=1;      % yes, we are making a font
  81.  tracingtitles:=0;    % no, don't show titles in the log
  82.  pixels_per_inch:=72;
  83.  blacker:=0;
  84.  fillin:=0;
  85.  o_correction:=0;
  86.  enddef;
  87.  
  88. mode_def FAX =  % FAX mode, for 200 by 200
  89.  proofing:=0;      % no, we're not making proofs
  90.  fontmaking:=1;      % yes, we are making a font
  91.  tracingtitles:=0;    % no, don't show titles in the log
  92.  pixels_per_inch:=200;
  93.  blacker:=0;
  94.  fillin:=0.2;
  95.  o_correction:=0.2;
  96.  enddef;
  97.  
  98. mode_def qms =    % qms mode: for the QMS (Xerox engine)
  99.  proofing:=0;      % no, we're not making proofs
  100.  fontmaking:=1;      % yes, we are making a font
  101.  tracingtitles:=0;    % no, don't show titles in the log
  102.  pixels_per_inch:=300;
  103.  blacker:=.75;      % (this value is conjectural)
  104.  fillin:=0;      % (ditto)
  105.  o_correction:=.5;    % (ditto)
  106.  enddef;
  107.  
  108. mode_def aps =    % aps mode: for the Autologic APS-Micro5
  109.  proofing:=0;      % no, we're not making proofs
  110.  fontmaking:=1;      % yes, we are making a font
  111.  tracingtitles:=1;      % yes, show titles online
  112.  pixels_per_inch:=722.909;    % that's roughly 10 per pt
  113.  blacker:=.2;      % make pens a teeny bit blacker
  114.  fillin:=.2;      % but compensate for diagonal fillin
  115.  o_correction:=1;      % and keep the full overshoot
  116.  enddef;
  117.  
  118. mode_def crs =    % crs mode: for the Alphatype CRS
  119.   proofing:=0;      % no, we're not making proofs
  120.  fontmaking:=1;      % yes, we are making a font
  121.  tracingtitles:=1;      % yes, show titles online
  122.  begingroup interim warningcheck:=0;  % (we need to go past 4096)
  123.   pixels_per_inch:=4000+4000/3 endgroup;  % HIGH res
  124.  blacker:=4;      % make pens a lot blacker
  125.  fillin:=0;      % but don't compensate for fillin
  126.  o_correction:=1;      % and keep the full overshoot
  127.  enddef;
  128.  
  129. mode_def boise =  % boise mode: for the HP 2680A
  130.  proofing:=0;      % no, we're not making proofs
  131.  fontmaking:=1;      % yes, we are making a font
  132.  tracingtitles:=0;    % no, don't show titles in the log
  133.  pixels_per_inch:=180;
  134.  blacker:=.55;      % make pens a bit blacker
  135.  fillin:=.1;      % and compensate for diagonal fillin
  136.  o_correction:=.3;    % but don't overshoot much
  137.  enddef;
  138.  
  139. mode_def DD =  % DD mode: for the DataDisc (usually with mag=magstep 2=1.44)
  140.  proofing:=0;      % no, we're not making proofs
  141.  fontmaking:=1;      % yes, we are making a font
  142.  tracingtitles:=0;      % no, don't show titles in the log
  143.  pixels_per_inch:=70;    % really lowres
  144.  blacker:=0;      % don't make the pens any blacker
  145.  fillin:=0;        % and don't compensate for fillin
  146.  o_correction:=.2;      % but suppress most overshoots
  147.  enddef;
  148.  
  149. mode_def canon =  % canon mode: for the old Imagen (Canon LBP10)
  150.  proofing:=0;      % no, we're not making proofs
  151.  fontmaking:=1;      % yes, we are making a font
  152.  tracingtitles:=0;    % no, don't show titles in the log
  153.  pixels_per_inch:=240;
  154.  blacker:=.2;      % make pens a wee bit blacker
  155.  fillin:=.2;      % and compensate for fillin
  156.  o_correction:=.4;    % but don't overshoot as much
  157.  enddef;
  158.  
  159. mode_def newDD =  % newDD mode: for DataDisc with special aspect ratio
  160.  proofing:=0;      % no, we're not making proofs
  161.  fontmaking:=1;      % yes, we are making a font
  162.  tracingtitles:=0;    % no, don't show titles in the log
  163.  pixels_per_inch:=70;    % really lowres
  164.  blacker:=0;      % don't make the pens any blacker
  165.  fillin:=0;      % and don't compensate for fillin
  166.  o_correction:=.2;    % but suppress most overshoots
  167.  aspect_ratio:=4/3;    % this is the new feature...
  168.  enddef;
  169.  
  170. mode_def cg =    % cg mode: for the Compugraphic 8600
  171.  proofing:=0;      % no, we're not making proofs
  172.  fontmaking:=1;      % yes, we are making a font
  173.  tracingtitles:=1;      % yes, show titles online
  174.  pixels_per_inch:=1301.5;    % a bit less than 20 per pt
  175.  blacker:=.2;      % make pens a teeny bit blacker
  176.  fillin:=.2;      % but compensate for diagonal fillin
  177.  o_correction:=1;      % and keep the full overshoot
  178.  aspect_ratio:=1569/1301.5;    % strange, no?
  179.  enddef;
  180.  
  181. mode_def linolo =  % Linotronic 100 at 635
  182.  proofing:=0;      % no, we're not making proofs
  183.  fontmaking:=1;      % yes, we are making a font
  184.  tracingtitles:=0;      % no, don't show titles in the log
  185.  pixels_per_inch:=635;    % getting up there
  186.  blacker:=0;      % don't make the pens any blacker
  187.  fillin:=0;        % and don't compensate for fillin
  188.  o_correction:=0;      % no stuff here either
  189.  enddef;
  190.  
  191. mode_def linohi =  % Linotronic 100 at 1270
  192.  proofing:=0;      % no, we're not making proofs
  193.  fontmaking:=1;      % yes, we are making a font
  194.  tracingtitles:=0;      % no, don't show titles in the log
  195.  pixels_per_inch:=1270;    % getting up there
  196.  blacker:=0;      % don't make the pens any blacker
  197.  fillin:=0;        % and don't compensate for fillin
  198.  o_correction:=0;      % no stuff here either
  199.  enddef;
  200.  
  201. mode_def linosuper =  % Linotronic 100 at 2540
  202.  proofing:=0;      % no, we're not making proofs
  203.  fontmaking:=1;      % yes, we are making a font
  204.  tracingtitles:=0;      % no, don't show titles in the log
  205.  pixels_per_inch:=2540;    % getting up there
  206.  blacker:=0;      % don't make the pens any blacker
  207.  fillin:=0;        % and don't compensate for fillin
  208.  o_correction:=0;      % no stuff here either
  209.  enddef;
  210.  
  211. localfont:=imagen;
  212.  
  213. % Finally, here are macros for Xerox-world font info:
  214.  
  215. def font_family expr s =  % string s names the font family, e.g., "CMR"
  216.  headerbyte 49: BCPL_string(s,20);
  217.  special "identifier "&s enddef;
  218. def coding_scheme expr s = % string s names the scheme, e.g. "TEX TEXT"
  219.  headerbyte 9: BCPL_string(s,40);
  220.  special "codingscheme "&s enddef;
  221. def font_face_byte expr x = % integer x gives the family member number,
  222.  headerbyte 72: x;          % which should be between 0 and 255
  223.  special "fontfacebyte"; numspecial x enddef;
  224.  
  225. def BCPL_string(expr s,n)= % string s becomes an n-byte BCPL string
  226.  for l:=if length(s)>=n: n-1 else: length(s) fi: l
  227.   for k:=1 upto l: , substring (k-1,k) of s endfor
  228.   for k:=l+2 upto n: , 0 endfor endfor enddef;
  229.  
  230. Xerox_world:=1;    % users can say `if known Xerox_world:...fi'
  231.  
  232. inner end;
  233. def bye=
  234.  if fontmaking>0: font_family font_identifier_;
  235.   coding_scheme font_coding_scheme_;
  236.   font_face_byte max(0,254-round 2designsize); fi
  237.  tracingstats:=1;  % at least for now we want this
  238.  end
  239.  enddef;
  240.  
  241. outer bye,end;
  242.