home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0417.ZIP / CCE_0417.PD / MF-UTIL.LZH / INPUTS / ATARI / ATARI.MF
Text File  |  1992-02-14  |  14KB  |  484 lines

  1. % This is ATARI.MF, the mode definition file for the ATARI ST PD MetaFont.
  2. %
  3. %
  4. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  5. %                                                                          %
  6. %  PLEASE NOTE: After any change in this file you must again               %
  7. %               generate a new version of all base files                   %
  8. %                                                                          %
  9. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10. %
  11. %
  12. % Version 2.0  (AUG 1990): Added 'art.mf' specials. Cleaned up some
  13. %                          parameters. Added many new modes at the end.
  14. %                          Improved explaination of mode parameters.
  15. % Version 2.1  (SEP 1990): Added experimental 'deskjet' mode.
  16. % Version 2.2  (OCT 1990): Added 'canon_bj' modes.
  17. % Version 2.3  (AUG 1991): Added 'nec_p_two' modes.
  18. % Version 2.4  (FEB 1992): Added some comments
  19. %
  20. % Mode definitions parameters (\MetaFont book, chapter 11):
  21. %
  22. % blacker : if font is too light, make it a little bit blacker
  23. %           try 0 first, then 0.2, then other values until the
  24. %           fonts look black enough. The value should not be negative.
  25. %
  26. % fillin : Represents the amount by which diagonal strokes tend to be
  27. %          darker than horizontal or vertical strokes.
  28. %          (normally  0 <= fillin < 0.3)
  29. %
  30. %          Check this value with the 'line' and 'circle' fonts. The value
  31. %          is Ok when horizontal, vertical and diagonal lines all appear
  32. %          with the same darkness.
  33. %
  34. % o_correction : Correction for overshoot. 0.1 <= o_correction <= 1
  35. %                Normally select higher values for higher resolution
  36. %                and lower values for lower resolution devices
  37. %
  38. % >>> If you want to change definitions, 'blacker' is the only thing you
  39. % >>> normally may want to change.
  40. %
  41. %
  42. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  43. %                                                                          %
  44. %  PLEASE NOTE: After any change in this file you must again               %
  45. %               generate a new version of all base files                   %
  46. %                                                                          %
  47. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  48. %
  49. %
  50.  
  51. base_version:=base_version&"/Atari";
  52.  
  53. %%%% Screen mode for the previewer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  54.  
  55. %
  56. % IniMF 2.7 // 2.5cs sets the following default values:
  57. %
  58. % screen_cols:=640; screen_rows:=800;  % ******* DO NOT CHANGE THIS ! *******
  59. %
  60.  
  61. mode_def atari=
  62.  proofing:=0;
  63.  fontmaking:=1;
  64.  tracingtitles:=0;
  65.  pixels_per_inch:=96;
  66.  blacker:=0;
  67.  fillin:=0;
  68.  o_correction:=0.1;
  69. enddef;
  70.  
  71. %%%% Canon BJ-130 ink jet printer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  72.  
  73. mode_def canon_bj_low=
  74.  proofing:=0;
  75.  fontmaking:=1;
  76.  tracingtitles:=0;
  77.  pixels_per_inch:=180;
  78.  blacker:=0.6;
  79.  fillin:=0.2;
  80.  o_correction:=0.65;
  81. enddef;
  82.  
  83. mode_def canon_bj=
  84.  proofing:=0;
  85.  fontmaking:=1;
  86.  tracingtitles:=0;
  87.  pixels_per_inch:=360;
  88.  blacker:=0.6;
  89.  fillin:=0.2;
  90.  o_correction:=0.65;
  91. enddef;
  92.  
  93. %%% NEC P6 24-pin printer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  94.  
  95. mode_def nec_p_six=
  96.  proofing:=0;
  97.  fontmaking:=1;
  98.  tracingtitles:=0;
  99.  pixels_per_inch:=180;
  100.  blacker:=0.1;
  101.  fillin:=0.1;
  102.  o_correction:=0.3;
  103. enddef;
  104.  
  105. mode_def nec_p_six_md=       % these `mixed' fonts don't look very good
  106.  proofing:=0;
  107.  fontmaking:=1;
  108.  tracingtitles:=0;
  109.  pixels_per_inch:=360;
  110.  aspect_ratio:=180/360;
  111.  blacker:=0;
  112.  fillin:=0.2;
  113.  o_correction:=0.65;
  114. enddef;
  115.  
  116. mode_def nec_p_six_hd=
  117.  proofing:=0;
  118.  fontmaking:=1;
  119.  tracingtitles:=0;
  120.  pixels_per_inch:=360;
  121.  blacker:=0;
  122.  fillin:=0.2;
  123.  o_correction:=0.65;
  124. enddef;
  125.  
  126. %%% NEC P2 18-pin printer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  127.  
  128. %
  129. % Please note: The NEC P2 is a very old 18-pin-printer which is
  130. %              *not* compatible to the 24-pin NEC P2200, P2+, and P20.
  131. %
  132.  
  133. mode_def nec_p_two=
  134.  proofing:=0;
  135.  fontmaking:=1;
  136.  tracingtitles:=0;
  137.  pixels_per_inch:=120;
  138.  blacker:=0.1;
  139.  fillin:=0.1;
  140.  o_correction:=0.3;
  141. enddef;
  142.  
  143. mode_def nec_p_two_md=       % these `mixed' fonts don't look very good
  144.  proofing:=0;
  145.  fontmaking:=1;
  146.  tracingtitles:=0;
  147.  pixels_per_inch:=240;
  148.  aspect_ratio:=120/240;
  149.  blacker:=0;
  150.  fillin:=0.2;
  151.  o_correction:=0.65;
  152. enddef;
  153.  
  154. mode_def nec_p_two_hd=
  155.  proofing:=0;
  156.  fontmaking:=1;
  157.  tracingtitles:=0;
  158.  pixels_per_inch:=240;
  159.  blacker:=0;
  160.  fillin:=0.2;
  161.  o_correction:=0.65;
  162. enddef;
  163.  
  164. %%%% HP LaserJet laser printer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  165.  
  166. mode_def laserjet_low=
  167.  proofing:=0;
  168.  fontmaking:=1;
  169.  tracingtitles:=0;
  170.  pixels_per_inch:=150;
  171.  blacker:=0;
  172.  fillin:=0.1;
  173.  o_correction:=0.3;
  174. enddef;
  175.  
  176. mode_def laserjet=
  177.  proofing:=0;
  178.  fontmaking:=1;
  179.  tracingtitles:=0;
  180.  pixels_per_inch:=300;
  181.  blacker:=0;
  182.  fillin:=0.1;
  183.  o_correction:=0.6;
  184. enddef;
  185.  
  186. %%%% HP DeskJet ink jet printer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  187.  
  188. % You may eventually find these fonts too thick. But the DeskJet can also
  189. % be used with the thinner LaserJet fonts.
  190.  
  191. mode_def deskjet=
  192.  proofing:=0;
  193.  fontmaking:=1;
  194.  tracingtitles:=0;
  195.  pixels_per_inch:=300;
  196.  blacker:=0.6;
  197.  fillin:=0.1;
  198.  o_correction:=0.6;
  199. enddef;
  200.  
  201. %%%% EPSON FX-80 family 9-pin printers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  202.  
  203. mode_def fx_eighty=
  204.  proofing:=0;
  205.  fontmaking:=1;
  206.  tracingtitles:=0;
  207.  pixels_per_inch:=240;
  208.  aspect_ratio:=216/240;
  209.  blacker:=0;
  210.  fillin:=0.1;
  211.  o_correction:=0.5;
  212. enddef;
  213.  
  214. mode_def fx_fast=
  215.  proofing:=0;
  216.  fontmaking:=1;
  217.  tracingtitles:=0;
  218.  pixels_per_inch:=80;
  219.  aspect_ratio:=72/80;
  220.  blacker:=0;
  221.  fillin:=0.1;
  222.  o_correction:=0.2;
  223. enddef;
  224.  
  225. mode_def rx_eighty=
  226.  proofing:=0;
  227.  fontmaking:=1;
  228.  tracingtitles:=0;
  229.  pixels_per_inch:=120;
  230.  aspect_ratio:=144/120;
  231.  blacker:=0.1;
  232.  fillin:=0.1;
  233.  o_correction:=0.3;
  234. enddef;
  235.  
  236. mode_def mx_eighty=
  237.  proofing:=0;
  238.  fontmaking:=1;
  239.  tracingtitles:=0;
  240.  pixels_per_inch:=60;
  241.  aspect_ratio:=72/60;
  242.  blacker:=0;
  243.  fillin:=0.1;
  244.  o_correction:=0.2;
  245. enddef;
  246.  
  247. %%%% Linotype Linotronic 300 page setter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  248. % These linotype modes are very experimental !
  249.  
  250. mode_def linotype_low=
  251.  proofing:=0;
  252.  fontmaking:=1;
  253.  tracingtitles:=0;
  254.  pixels_per_inch:=635;
  255.  blacker:=0;
  256.  fillin:=0;
  257.  o_correction:=1;
  258. enddef;
  259.  
  260. mode_def linotype=
  261.  proofing:=0;
  262.  fontmaking:=1;
  263.  tracingtitles:=0;
  264.  pixels_per_inch:=1270;
  265.  blacker:=0;
  266.  fillin:=0;
  267.  o_correction:=1;
  268. enddef;
  269.  
  270. mode_def linotype_high=
  271.  proofing:=0;
  272.  fontmaking:=1;
  273.  tracingtitles:=0;
  274.  pixels_per_inch:=2540;
  275.  blacker:=0;
  276.  fillin:=0;
  277.  o_correction:=1;
  278. enddef;
  279.  
  280. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  281. %
  282. % The following was stolen from 'art.mf' and 'waits.mf'.
  283. %
  284. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  285.  
  286. % Macros to add mode information specials to fonts. (by Pierre MacKay)
  287.  
  288. def mode_special(suffix $) =
  289.   string s,d;
  290.   s:=str$; d:=decimal scantokens s;
  291.   special s&":="&d&";" enddef;
  292.  
  293. def font_mode_specials =
  294.  p_p_i=pixels_per_inch/mag; 
  295.  if fontmaking > 0:
  296.  begingroup; save d,s,p; save pixels_per_inch;
  297.   string p;
  298.   pixels_per_inch:=p_p_i;
  299.   special jobname;
  300.   mode_special(mag);
  301.   if string mode: p:=mode;
  302.   else: p:=substring(0,length(mode_name[mode])-1) of mode_name[mode]; fi
  303.   special "mode:="&p&";";
  304.   mode_special(pixels_per_inch);
  305.   mode_special(blacker);
  306.   mode_special(fillin);
  307.   mode_special(o_correction);
  308.  endgroup;
  309.  fi
  310. enddef;
  311.  
  312. % Macros for Xerox-world font info:
  313.  
  314. def font_family expr s =  % string s names the font family, e.g., "CMR"
  315.  headerbyte 49: BCPL_string(s,20);
  316.  special "identifier "&s enddef;
  317. def coding_scheme expr s = % string s names the scheme, e.g. "TEX TEXT"
  318.  headerbyte 9: BCPL_string(s,40);
  319.  special "codingscheme "&s enddef;
  320. def font_face_byte expr x = % integer x gives the family member number,
  321.  headerbyte 72: x;          % which should be between 0 and 255
  322.  special "fontfacebyte"; numspecial x enddef;
  323.  
  324. def BCPL_string(expr s,n)= % string s becomes an n-byte BCPL string
  325.  for l:=if length(s)>=n: n-1 else: length(s) fi: l
  326.   for k:=1 upto l: , substring (k-1,k) of s endfor
  327.   for k:=l+2 upto n: , 0 endfor endfor enddef;
  328.  
  329. Xerox_world:=1;    % users can say `if known Xerox_world:...fi'
  330.  
  331. inner end;
  332. def bye=
  333.  if fontmaking>0: font_family font_identifier_;
  334.   coding_scheme font_coding_scheme_;
  335.   font_face_byte max(0,254-round 2designsize);
  336.   font_mode_specials; fi
  337.  end
  338.  enddef;
  339.  
  340. outer bye,end;
  341.  
  342. %%%%%%%%%%%%%%%%%%% Local setup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  343.  
  344. localfont:=atari;
  345.  
  346. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  347. %
  348. % You may end the input here, if you do not need the following modes
  349. %
  350. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  351.  
  352. %% endinput;  % comment out to get the following modes
  353.  
  354. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  355. %
  356. % Here are some collected modes from various sources
  357. %
  358. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  359.  
  360. %%%%%%%% modes from 'waits.mf' (1986) %%%%%%%%
  361.  
  362. mode_def dover =  % dover mode: for the Xerox Dover
  363.  proofing:=0;         % no, we're not making proofs
  364.  fontmaking:=1;       % yes, we are making a font
  365.  tracingtitles:=0;    % no, don't show titles in the log
  366.  pixels_per_inch:=384;
  367.  blacker:=1.2;        % make pens somewhat blacker
  368.  fillin:=0;           % no compensation for fillin
  369.  o_correction:=.6;    % but don't overshoot as much
  370.  enddef;
  371.  
  372. % imagen is for laser printers with canon engine
  373.  
  374. mode_def imagen = % imagen mode: for the Imagen 8/300 (Canon engine)
  375.  proofing:=0;         % no, we're not making proofs
  376.  fontmaking:=1;       % yes, we are making a font
  377.  tracingtitles:=0;    % no, don't show titles in the log
  378.  pixels_per_inch:=300;
  379.  blacker:=0;          % Canon engine is black enough
  380.  fillin:=.2;          % and it tends to fill in diagonals
  381.  o_correction:=.6;    %
  382.  enddef;
  383.  
  384. % qms is for laser printers with xerox engine
  385.  
  386. mode_def qms =    % qms mode: for the QMS (Xerox engine)
  387.  proofing:=0;         % no, we're not making proofs
  388.  fontmaking:=1;       % yes, we are making a font
  389.  tracingtitles:=0;    % no, don't show titles in the log
  390.  pixels_per_inch:=300;
  391.  blacker:=.75;        % (this value is conjectural)
  392.  fillin:=0;           % (ditto)
  393.  o_correction:=.5;    % (ditto)
  394.  enddef;
  395.  
  396. mode_def aps =    % aps mode: for the Autologic APS-Micro5
  397.  proofing:=0;         % no, we're not making proofs
  398.  fontmaking:=1;       % yes, we are making a font
  399.  tracingtitles:=0;    % no, don't show titles in the log
  400.  pixels_per_inch:=722.909;    % that's roughly 10 per pt
  401.  blacker:=.2;         % make pens a teeny bit blacker
  402.  fillin:=.2;          % but compensate for diagonal fillin
  403.  o_correction:=1;     % and keep the full overshoot
  404.  enddef;
  405.  
  406. mode_def crs =    % crs mode: for the Alphatype CRS
  407.   proofing:=0;        % no, we're not making proofs
  408.  fontmaking:=1;       % yes, we are making a font
  409.  tracingtitles:=0;    % no, don't show titles in the log
  410.  begingroup interim warningcheck:=0;  % (we need to go past 4096)
  411.   pixels_per_inch:=4000+4000/3 endgroup;  % HIGH res
  412.  blacker:=4;          % make pens a lot blacker
  413.  fillin:=0;           % but don't compensate for fillin
  414.  o_correction:=1;     % and keep the full overshoot
  415.  enddef;
  416.  
  417. mode_def boise =  % boise mode: for the HP 2680A
  418.  proofing:=0;         % no, we're not making proofs
  419.  fontmaking:=1;       % yes, we are making a font
  420.  tracingtitles:=0;    % no, don't show titles in the log
  421.  pixels_per_inch:=180;
  422.  blacker:=.55;        % make pens a bit blacker
  423.  fillin:=.1;          % and compensate for diagonal fillin
  424.  o_correction:=.3;    % but don't overshoot much
  425.  enddef;
  426.  
  427. mode_def DD =     % DD mode: for the DataDisc (usually with mag=magstep 2=1.44)
  428.  proofing:=0;         % no, we're not making proofs
  429.  fontmaking:=1;       % yes, we are making a font
  430.  tracingtitles:=0;    % no, don't show titles in the log
  431.  pixels_per_inch:=70; % really lowres
  432.  blacker:=0;          % don't make the pens any blacker
  433.  fillin:=0;           % and don't compensate for fillin
  434.  o_correction:=.2;    % but suppress most overshoots
  435.  enddef;
  436.  
  437. mode_def canon =  % canon mode: for the old Imagen (Canon LBP10)
  438.  proofing:=0;         % no, we're not making proofs
  439.  fontmaking:=1;       % yes, we are making a font
  440.  tracingtitles:=0;    % no, don't show titles in the log
  441.  pixels_per_inch:=240;
  442.  blacker:=.2;         % make pens a wee bit blacker
  443.  fillin:=.2;          % and compensate for fillin
  444.  o_correction:=.4;    % but don't overshoot as much
  445.  enddef;
  446.  
  447. mode_def newDD =  % newDD mode: for DataDisc with special aspect ratio
  448.  proofing:=0;         % no, we're not making proofs
  449.  fontmaking:=1;       % yes, we are making a font
  450.  tracingtitles:=0;    % no, don't show titles in the log
  451.  pixels_per_inch:=70; % really lowres
  452.  blacker:=0;          % don't make the pens any blacker
  453.  fillin:=0;           % and don't compensate for fillin
  454.  o_correction:=.2;    % but suppress most overshoots
  455.  aspect_ratio:=4/3;   % this is the new feature...
  456.  enddef;
  457.  
  458. mode_def cg =     % cg mode: for the Compugraphic 8600
  459.  proofing:=0;         % no, we're not making proofs
  460.  fontmaking:=1;       % yes, we are making a font
  461.  tracingtitles:=0;    % no, don't show titles in the log
  462.  pixels_per_inch:=1301.5;    % a bit less than 20 per pt
  463.  blacker:=.2;         % make pens a teeny bit blacker
  464.  fillin:=.2;          % but compensate for diagonal fillin
  465.  o_correction:=1;     % and keep the full overshoot
  466.  aspect_ratio:=1569/1301.5;    % strange, no?
  467.  enddef;
  468.  
  469.  
  470. %%%%%%%% mode from Pierre MacKay mail (1986) %%%%%%%%
  471.  
  472. % Adobe mode: for the Laser-writer at 300 pixels per inch
  473. mode_def adobe =
  474.  proofing:=0;          % no, we're not making proofs
  475.  fontmaking:=1;        % yes, we are making a font
  476.  tracingtitles:=0;     % no, don't show titles at all
  477.  pixels_per_inch:=300; % the new Canon engine at 300/inch
  478.  blacker:=0.25;        % make pens a bit blacker
  479.  fillin:=0.15;         % compensate for diagonal fillin
  480.  o_correction:=.4;     % but don't overshoot as much
  481.  enddef;
  482.  
  483. % -eof-
  484.