home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
useful
/
text
/
tex
/
pastex
/
mf
/
inputs
/
modes.mf
< prev
next >
Wrap
Text File
|
1993-11-28
|
39KB
|
1,104 lines
% Compiled 1991 by Karl Berry from modes collected by Doug Henderson,
% Pierre MacKay, and others. This file is in the public domain.
%
% Please change the definitions of |localfont|, |screen_cols|, and
% |screen_rows| at the end of file (see explanations below).
%
% When you make a new |mode_def|, please send it to {\tt
% karl@cs.umb.edu} or {\tt dlatex@cmsa.berkeley.edu}. Please mention
% what fonts at what sizes you tested it on. This will help other
% people wondering where particular values came from. Ideally, you
% would try normal, bold, and italic variants, at sizes around 5$\,$pt,
% 10$\,$pt and 15$\,$pt.
%
% You can run this file through {\tt mft} to generate a \TeX\
% file, if you like reading typeset output instead of computer screens.
%
%%% def mode_def
%%% addto font_size coding_scheme font_face_byte landscape landscape_
%
% @mffile{
% author = "Pierre MacKay, Doug Henderson, et al."
% version = "0.7",
% date = "Tue Jul 23 14:07:37 EDT 1991"
% filename = "modes.mf",
% contact = "Karl Berry",
% email = "karl@cs.umb.edu"
% address = "135 Center Hill Rd. // Plymouth, MA 02360"
% checksum = "1103 5359 38973",
% codetable = "ISO/ASCII",
% supported = "yes",
% docstring = "
%
% This file collects all known \MF\ modes, some of which have not been
% tested. It also makes definitions to put specials identifying the
% mode in the \MF\ GF output, and to put the coding scheme and other
% so-called Xerox-world information in the TFM output. Finally, it
% defines some code to handle write-white devices better; this code
% comes into play if a |mode_def| includes the statement
% |mode_write_white_setup_;|. This only works for those fonts which
% follow Computer Modern's conventions for using |font_setup|.
%
% This file follows a naming convention that has emerged in the
% discussion of |mode_def|s in {\sl TUGboat}.
%
% \item{1)} The print engine is identified wherever possible,
% rather than the printer which incorporates that engine.
%
% \item{2)} Because |mode_def| names may not contain digits,
% each digit is spelled out; e.g., {\tt RicohFourZeroEightZero}.
%
% \item{3)} For historical reasons, some modes have synonyms of all
% lowercase letters, e.g., `cx' for `CanonCX'. These abbreviations
% mostly come from {\tt waits.mf}, a predecessor to this file.
%
% This file is typically loaded when making a \MF\ base; for example,
% the command line {\tt inimf plain input modes} makes a file {\tt
% plain.base} (or {\tt plain.bas}, or something like that) with all the
% modes herein defined (plain itself defines modes called |proof|,
% |smoke|, and |lowres|.)
%
% A user selects a particular mode when s/he runs \MF, by assigning to
% the variable |mode|. For example, typing
% {\tt \char`\\mode:=CanonCX; input cmr10}
% sets up values appropriate for the CanonCX engine.
%
% If no mode is assigned, the default is |proof| mode, as stated in {\sl
% The \MF book}. This is the cause of the ``{\tt .2602gf}'' files which
% are a periodic question in the \TeX\ community. The remedy is simply
% to assign a different mode---|localfont|, for example.
%
% Every site should define the mode |localfont| to be a synonym for the
% mode most commonly used there. This file defines |localfont| to be
% |CanonCX|. The values for |screen_rows| and |screen_cols|, which
% determine how big \MF's window for online output is, should perhaps
% also be changed; individual users should definitely change them to
% their own tastes.
%
% This file defines {\tt ?} to type out a list of all the known
% |mode_def|s (once only).
%
% A |mode_def| is a \MF\ definition that typically consists of a series
% of assignments to various device-specific variables, either primitive
% or defined in plain. These variables include the following (page
% numbers refer to {\sl The \MF book\/}:
%
% |aspect_ratio|: the ratio of the vertical resolution to the horizontal
% resolution (page 94).
%
% |blacker|: a correction added to the width of stems and similar
% features, to account for devices which would otherwise make them too
% light (page 93). (Write-white devices are best handled by a more
% sophisticated method than adding to |blacker|, as explained above.)
%
% |fillin|: a correction factor for diagonals and other features which
% would otherwise be ``filled in'' (page 94). An ideal device would
% have |fillin=0| (page 94). Negative values for |fillin| will
% probably either gross effects or none at all.
%
% |fontmaking|: if nonzero at the end of the job, \MF\ makes a TFM file
% (page 315).
%
% |o_correction|: a correction factor for the ``overshoot'' of curves
% beyond the baseline (or x-height, or some other line). High
% resolution curves look better with overshoot, so such devices should
% have |o_correction=1|; but at low resolutions, the overshoot appears
% to simply be a distortion (page 93). Here some additional comments
% about |o_correction|, courtesy of Pierre MacKay (edited by Karl):
%
% At present, I find that |o_correction| works nicely at 80 pixels per
% em, and gets increasingly disturbing as you move down towards 50
% pixels per em. Below that I do not think it ought to happen at all.
%
% The problem, of course, is that full |o_correction| is supposed to
% occur only at the zenith and nadir of the curve of `o', which is a
% small region at high resolution, but may be a long line of
% horizontal pixels at medium resolution. The full |o_correction|
% does not change a 300$\,$dpi {\tt cmr10}, but it changes a 21-pixel
% high {\tt cmr12} to be 23 pixels high. The extra height and depth
% is seen along a line of seven pixels at the bottom and five at the
% top. This is a pronounced overshoot indeed.
%
% For high-resolution devices, such as phototypesetters, the values
% for |blacker|, |fillin|, and |o_correction| don't matter all that
% much, so long as the values are within their normal ranges: between
% 0 and 1, with the values approaching 0, 0, and 1 respectively.
%
% |pixels_per_inch|: the horizontal resolution; the \MF\ primitive
% |hppp| (which is what determines the extension on the GF filename,
% as among other things) is computed from this (page 94).
%
% To be more precise, you can determine the resolution of a font given
% a |mode_def| and a magnification |m| by simply multiplying
% |pixels_per_inch| for that |mode_def| by |m|. (Of course, your
% results may differ from \MF's if you don't use equivalent
% fixed-point arithmetic routines.) Then you can determine the number
% used in the name of the GF font output by rounding. For example, a
% font generated at |magstep(.5)| (which is $\sqrt{1.2}$, which \MF
% computes as 1.09544) for a printer with |pixels_per_inch=300| will
% have a resolution of 328.63312 dots per inch, and the GF filename
% will include the number {\tt 329}.
%
% |proofing|: says whether to put additional specials in the GF file for
% use in making proofsheets with the assistance of, e.g., the utility
% program {\tt GFtoDVI} (page 323--4).
%
% |tracingtitles|: if nonzero, strings that appear as \MF\ statements
% are typed on the terminal (page 187).
%
% Neenie Billawala's article in the April 1987 issue of {\sl TUGboat}
% describes how to test your printer for the best set of values for the
% magic numbers above. Here are some brief comments on the subject,
% courtesy of {\tt rocky@ibm.com}, again edited by Karl:
%
% For medium-to-low resolution devices, you can first set the |blacker|
% and |o_correction| to~0 and decide on a |fillin| value by looking at
% the diagonal of a lowercase `z' in the typewriter font. The diagonal
% should be the same thickness as the horizontal bars of the `z'. Then I
% decide on the |blacker| value, generally by checking the smaller fonts
% for too much filling in. Finally, you can set the |o_correction|
% using the guidelines suggested above.
%
%"
% }
% Identify ourselves in the format file.
base_version := base_version & "/modes 0.7";
% Here are useful macros (also called definitions) that we will use
% throughout.
% First, some comments about how th