%% @mffile{ %% filename="amsmodes.mf", %% version="2.1", %% date="30-MAY-1991", %% filetype="Metafont: ", %% copyright="Copyright (C) American Mathematical Society, %% all rights reserved. Copying of this file is %% authorized only if either: %% (1) you make absolutely no changes to your copy %% including name; OR %% (2) if you do make changes, you first rename it to some %% other name.", %% author="American Mathematical Society", %% address="American Mathematical Society, %% Technical Support Group, %% P. O. Box 6248, %% Providence, RI 02940, %% USA", %% telephone="401-455-4080 or (in the USA) 800-321-4AMS", %% email="Internet: Tech-Support@Math.AMS.com", %% codetable="ISO/ASCII", %% checksumtype="line count", %% checksum="169", %% keywords="amsfonts, tex, metafont ", %% abstract="" %% } % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AMSMODES.MF Version 2.1 3/21/91 % This file is based on Stanford's WAITS.mf. A few extra modes % are added and the file CURMODE.mf is input at the end if % the variable "mode" is unknown. % This file can be loaded after PLAIN.MF. % It introduces conventions that are commonly used at WAITS. base_version:=base_version&"/WAITS"; % The WAITS implementation allows an extended character set; % characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |; % character ^^L (form feed) is in a class by itself, and is like an "outer" \. % Files containing these special characters should not be expected to work % elsewhere unless the following replacements are made: let <= = <=; let <> = <>; let >= = >=; let := = :=; % We make the following modification of "mode_def" from PLAIN in order % to accomodate modes not preloaded in MF. Even though mode had been % set dependently on the command line (as with mode=talaris), when % mode_def came along to define "talaris" the assignment operator % (:=) wiped out that dependency and left mode hanging and undefined % when mode_setup was called. We simply add a test to see whether % "mode" has been set to the mode being defined. % Furthermore, if mode was set to a mode which was preloaded and % that mode was re-defined at run-time, the value of mode would % only pick up the old definition. So, for the other case, % that the mode being defined already has a numeric realization, % we avoid redefining that mode's (behind-the-scenes) value. % We also add the following macros to enable conditional "and" % and "or". See The MEtafontBook, pp.288-9 def cand(text q) = startif true q else: false fi enddef; def cor(text q) = startif true true else: q fi enddef; tertiarydef p startif true = if p: enddef; def mode_def suffix $ = if known($) cand (numeric $ cand ($0: font_family font_identifier_; coding_scheme font_coding_scheme_; font_face_byte max(0,254-round 2designsize); fi tracingstats:=1; % at least for now we want this end enddef; outer bye,end;