% File: forfun.tex
% A part of mfpic 1.10 2012/12/03
%
\nopagenumbers
\input mfpic.tex
\usemetapost
\usetruebbox
\opengraphsfile{fun}

\mfpicunit=2bp

\noindent
\mfpic{-1.25}{118.5}{-11.25}{40}
%
% "meta"-ness:
%
\mfsrc{h:=25;   % height of "m"  These are graph units
       s:=10;   % width of stems
}
%
% Calculate key points:
%
% "m"
%
\mfsrc{%
  z1=(0,0);
  y1=y2=y5=y6=y9=y10;
  x2-x1=x6-x5=x10-x9=s;
  x6-x1=x10-x5=h;
  z15-z1=z3-z2=z4-z5=z7-z6=z8-z9=z11-z10=(0,h/2);
  y12=y1+h; x12=.5[x6,x9];
  y14=y12; x14=.5[x2,x5];
  z13= arcppp(z7,z14,z15) intersectionpoint arcppp(z11,z12,z4);}
%
% "f"
%
\mfsrc{%
  z21=z10; % start "f" at "m"'s end
  z22=z21+(s,0);
  z23=z22+(0,h-s);
  z24=z23+(3s/4,0);
  z25=z24+(0,s);
  z26=z23+(0,s);
  z27=z26+(0,s/4);
  z28=z27+(s/4,0)+ (s/4)*dir(30);
  z29=z28+s*dir(30);
  x30=x21; y30=y27;}%
%
% "p"
%
\mfsrc{%
  x31=x24;
  y31=y21;
  z32=z31-(0,s);
  z33=z32+(s,0);
  z35=(x33,h/2);
  z39=z31+(h,h)/2; %center of round part
  z34=(z33--z35) intersectionpoint (fullcircle scaled h shifted z39);
  z36=z39+(h/2,0);
  z37=z31+(0,h/2);}%
%
% "i"
%
\mfsrc{%
  z41=(x36,y31);
  z42=z41+(s,0);
  z43=z42+(0,h);
  z44=z41+(0,h);
  x45=0.5[x41,x42]; y45=y43 + s/2 +3/50;}% Center of dot
%
% "c"
%
\mfsrc{%
  z51=z42;
  z52=z51+(h,h)/2; %center
  z53=z52+(h/2)*dir(15);
  z54=z52-(h/2,0);
  z55=z52+(h/2)*dir(-15);
  z56=z52+(s/4)*dir(-15);
  z57=z52-(s/4,0);
  z58=z52+(s/4)*dir(15);}%
%
\penwd{2.5*\the\mfpicunit}
\mfsrc{%
%
% Calculate bounding box
%
% Need to account for half the thickness of pen;
% penwd is in absolute units so we need to convert.
% This is a displacement, so use invvconv (not invzconv):
  begingroup
    save border,ll,ur;
    pair border,ll,ur; border:= invvconv((penwd,penwd))/2;
    ll=(0,y32)-border;
    ur=(x55,y27+5s/4)+border;}
%
\gfill[yellow]\rect{ll,ur} % background
\mfsrc{endgroup;}
%
\fillcolor{blue}
\drawcolor{green}
%
% "m"
\mftitle{m}
\draw\gfill\lclosed
 \connect
  \lines{z15,z1,z2,z3}
  \arc[s]{z3,z4,-180}
  \lines{z4,z5,z6,z7}
  \arc[s]{z7,z8,-180}
  \lines{z8,z9,z10,z11}
  \arc[t]{z11,z12,z13}
  \arc[t]{z13,z14,z15}
 \endconnect
%
% "f"
\mftitle{f}
\draw\gfill\lclosed
 \connect
  \lines{z21,z22,z23,z24,z25,z26,z27}
  \arc[s]{z27,z28,-150}
  \lines{z28,z29}
  \arc[s]{z29,z30,150}
 \endconnect
%
% "p"
\mftitle{p}
\draw\gfill\lclosed
 \connect
  \lines{z31,z32,z33,z34}
  \arc[t]{z34,z36,z37}
 \endconnect
\draw\gfill[yellow]\circle{z39,(h/2-s)}
%
% "i"
\mftitle{i}
\draw\gfill\polygon{z41,z42,z43,z44}
\draw\gfill\circle{z45,s/2}
%
% "c"
\mftitle{c}
\draw\gfill\lclosed
 \connect
  \arc[t]{z53,z54,z55}
  \arc[t]{z56,z57,z58}
 \endconnect
% uncoment to exhibit the points
%\pointsize2bp
%\pointfillfalse
%\penwd{.2pt}
%\point{z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14}
%\point{z21,z22,z23,z24,z25,z26,z27,z28,z29,z30}
%\point{z31,z32,z33,z34,z35,z36,z37}
%\point{z41,z42,z43,z44,z45}
%\point{z51,z52,z53,z54,z55,z56,z57,z58}
% done
\endmfpic

\closegraphsfile % {fun}
\bye
