%%%% ========================================================================
%%%%  @MFT-file{
%%%%     author              = "Ulrik Vieth",
%%%%     email               = "vieth@thphy.uni-duesseldorf.de",
%%%%     filename            = "mp2.mft",
%%%%     version             = "0.10",
%%%%     date                = "29 January 1996",
%%%%     time                = "00:30:06 MET",
%%%%     codetable           = "ISO/ASCII",
%%%%     checksum            = "00449 146 841 6351",
%%%%     supported           = "yes",
%%%%     keywords            = "MFT, METAFONT, MetaPost, pretty-printing",
%%%%     abstract            = "",
%%%%     docstring           = "",
%%%%  }
%%%% ========================================================================
%%%%
%%%% MFT commands for METAPOST including "plain" and "mfplain"
%%%%
%%%% This file is loosely based on the file "mp.mft" by Andreas Scherer
%%%% <scherer@genesis.informatik.rwth-aachen.de>, but numerous changes
%%%% have been made. In particular, support for some standard MetaPost
%%%% packages like "graph.mp" and "boxes.mp" has been added.
%%%%
%%%%
%%%% METAPOST primitives not found in METAFONT
%%%% (METAFONT primitives are hard-wired in the MFT program)
%%%%
%%% step within %%%% boldface binary operators
%%% addto btex verbatimtex readfrom write %%%% boldface unary operators
%%% addto clip setbounds
%%% enddef etex %%%% boldface closing
%%% true mpxbreak %%%% boldface nullary operators
%%% length redpart greenpart bluepart %%%% unary operators in roman
%%% length fontpart textpart pathpart penpart dashpart fontsize
%%% length llcorner lrcorner ulcorner urcorner arclength
%%% length stroked filled textual clipped bounded
%%% and infont %%%% binary operators in roman
%%% penoffset arctime %%%% operators that take "of"
%%% withpen withcolor dashed %%%% drawing options
%%% pair color %%%% data types
%%% pausing tracinglostchars %%%% internals
%%% pausing linejoin linecap miterlimit prologues truecorners
%%%%
%%%% Variables and macros defined both in "plain.mf" and "plain.mp"
%%%% (from "plain.mft", but severly edited)
%%%%
%%% } ( ) ]] ! ^ %%%% tokens that need no special formatting
%%% .. ... -- --- %%%% path operators made of dots and dashes
%%% ++ ** %%%% binary operators made of two special characters
%%% step upto downto thru %%%% boldface binary operators
%%% addto fill unfill draw undraw %%%% boldface unary operators
%%% addto filldraw unfilldraw drawdot undrawdot cutdraw cutoff culldraw
%%% addto erase pickup penstroke
%%% addto exitunless stop incr decr range
%%% pencircle pensquare penrazor penspeck
%%% true relax blankpicture %%%% boldface nullary operators
%%% true clearit shipit cullit openit showit clearxy clearpen savepen
%%% length abs dir byte %%%% unary operators to be in roman type
%%% length unitvector inverse ceiling round hround vround counterclockwise
%%% length tensepath reflectedabout rotatedaround rotatedabout
%%% length magstep max min
%%% and mod div dotprod
%%% and intersectionpoint softjoin %%%% binary operators to be roman
%%% penoffset direction directionpoint %%%% operators that take "of"
%%% penoffset takepower
%%% pausing pen_top pen_bot pen_lft pen_rt
%%% pausing lft rt top bot llft lrt ulft urt
%%% end bye
%%%%
%%%% Variables and macros defined only in "plain.mp"
%%%%
%%% addto beginfig %%%% boldface opening
%%% enddef endfig %%%% boldface closing
%%% addto dashpattern image bbox %%%% boldface operators
%%% addto label dotlabel thelabel %%%% FIXME: handling of suffixes?
%%% addto makelabel labels dotlabels penlabels
%%% addto arrowhead drawarrow drawdblarrow drawoptions
%%% length center on off %%%% unary operators in roman
%%% and cutbefore cutafter %%%% binary operators in roman
%%% pausing beveled butt mitered rounded squared evenly withdots
%%% pausing EOF
%%%%
%%%% Variables and macros defined only in "mfplain.mp"
%%%% (for METAFONT compatibility, partly from "plain.mft")
%%%%
%%% addto beginchar %%%% boldface opening
%%% enddef endchar %%%% boldface closing
%%% addto define_pixels define_whole_pixels define_whole_vertical_pixels
%%% addto define_good_x_pixels define_good_y_pixels define_blacker_pixels
%%% addto define_whole_blacker_pixels define_whole_vertical_blacker_pixels
%%% addto define_corrected_pixels define_horizontal_corrected_pixels
%%% addto lowres_fix screenrule proofrule proofoffset proofrulethickness
%%% addto makebox makegrid maketicks
%%% addto italcorr font_size font_slant
%%% addto font_normal_space font_normal_stretch font_normal_shrink font_quad
%%% addto font_x_height font_extra_space font_identifier font_coding_scheme
%%% addto mode_def capsule_def
%%% true mode_setup
%%% true nodisplays notransforms screenchars screenstrokes
%%% true imagerules gfcorners
%%% pausing tolerance pixels_per_inch blacker o_correction %%%% internals
%%% pausing screen_rows screen_cols currentwindow displaying proofing
%%%%
%%%% Variables and macros defined in "graph.mp", "marith.mp", "sarith.mp"
%%%%
%%% addto begingraph %%%% boldface opening
%%% enddef endgraph %%%% boldface closing
%%% addto gdraw gfill gdata %%%% boldface operators
%%% addto glabel gdotlabel augment %%%% FIXME: handling of suffixes?
%%% addto gdrawarrow gdrawdblarrow gdrawoptions
%%% addto setcoords setrange
%%% good auto
%%% addto itick otick grid autogrid frame
%%% addto format
%%% length Mabs Sabs Scvnum Mlog_str %%%% unary operators in roman
%%% and Madd Msub Mmul Mdiv Mleq %%%% binary operators in roman
%%% and Sadd Ssub Smul Sdiv Sleq Sneq
%%% pausing linear log OUT %%%% internals
%%%%
%%%% Variables and macros defined in "boxes.mp" and "rboxes.mp"
%%%%
%%% addto drawboxes drawboxed drawunboxed boxjoin boxit circleit rboxit
%%% pausing defaultdx defaultdy
%%%%
%%%% Last minute items: override some builtin defaults
%%%%
%%% addto step fi makepen makepath
%%%%
%%%%
%%%% Finally some TeX hackery:
%%%%
%%%% - comments are normally flush left, not flush right
%%%% - comments starting with %\[ are set flush right
%%%% - comments starting with %\  are set off by \qquad
%%%%
%%%% - comments ending with \] are also set flush left
%%%%   (defined in mftmac.tex)
%%%%
%%\def\9{$\futurelet\next\doit}
%%\let\[=\relax
%%\def\doit{\ifx\next\[\def\next{\hfill{\rm\%}}%
%%     \else\ifx\next\ \def\next{\qquad{\rm\%}}%
%%     \else\def\next{{\rm\%}}\fi\fi\next}
%%%%
%%%% End of file `mp2.mft'.
