% $Id: xymisc10.mf,v 3.5 2010/06/10 18:45:50 krisrose Exp $ -*-tex-*-
%
% XYMISC10: miscellaneous characters for XY mode at 10 point.
% Copyright (c) 1991,1992  Kristoffer H. Rose  <krisrose@tug.org>
%
% This file is part of the XY-pic macro package.
%
% The XY-pic macro package is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or (at your
% option) any later version.
%
% The XY-pic macro package is distributed in the hope that it will be
% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
% Public License for more details.
%
% You should have received a copy of the GNU General Public License along
% with this macro package; if not, see http://www.gnu.org/licenses/.
%
% CONTENTS:
%   Metaness.
%   Testing...
%   Font.
%     Dot fitting the rule width.
%     Quarter circles with radii from 1 to 10 and 12 to 30 pt; all have
%	height = depth = .5width = radius and are centered such that they
%	enter and leave the box in the middle of the sides.
%
font_identifier "XYMISC"; font_size 10pt#;
font_coding_scheme:="XY miscellaneous";
mode_setup;

% METANESS...
%
rulew# = .4pt#; define_whole_blacker_pixels(rulew); % line thickness
%
def pickuppen = pickup pencircle scaled rulew enddef;

% TESTING...we redefine openit because the characters extend far to the
% left of the bounding box!
%
def openit = %%let echar = endchar; def endchar = echar; stop ". " enddef;
 openwindow currentwindow
  from origin to (1000,800) at (-200,300)
 enddef;

% FONT.
%
% Font dimension 8 is the rule thickness (cf. The TeXbook, app.G)
fontdimen 8: rulew#;

% DOT FOR DOTTED LINES AND DUMMY CIRCLE...
%
beginchar(0,0,0,0); pickuppen; drawdot (0,0); endchar;
beginchar(1,0,0,0); pickuppen; drawdot (0,0); endchar;
beginchar(2,0,0,0); pickuppen; drawdot (0,0); endchar;
beginchar(3,0,0,0); pickuppen; drawdot (0,0); endchar;

% QUARTER CIRCLES...  The four circles with radius N pt, 0 < N <= 10, are
% located at N*4 + QUADRANT, where 1 <= QUADRANT <= 4.  All have width as
% their radius with reference point at the level of the horizontal end of the
% arc and height, depth as the extent of the arc.
%
for radius = 1 step 1 until 10:
 beginchar(radius*4,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated 180 shifted (1,.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*4+1,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated -90 shifted (0,.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*4+2,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle shifted (0,-.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*4+3,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated 90 shifted (1,-.5) scaled (radius*2pt);
 endchar;
endfor;
%
% For 12 <= N <= 40 we step in 2pt increments... so for 10 <= N <= 40 the
% quarter circle with radius N is located at (N div 2 + 20 + QUADRANT).
%
for radius = 12 step 2 until 40:
 beginchar(radius*2+20,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated 180 shifted (1,.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*2+21,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated -90 shifted (0,.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*2+22,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle shifted (0,-.5) scaled (radius*2pt);
 endchar;
 beginchar(radius*2+23,2radius*pt#,radius*pt#,radius*pt#);
  pickuppen;
  draw quartercircle rotated 90 shifted (1,-.5) scaled (radius*2pt);
 endchar;
endfor;

bye.
%
% $Log: xymisc10.mf,v $
% Revision 3.5  2010/06/10 18:45:50  krisrose
% Reference to GPL by URL.
%
% Revision 3.4  2010/04/16 06:06:52  krisrose
% Preparing for a new release...
%
% Revision 3.3  1996/12/19 03:31:56  krisrose
% Maintenance release
%
% Revision 3.0  1995/07/07 20:14:21  kris
% Major release w/new User's Guide!
%
% Revision 2.6  1992/06/24  01:23:34  kris
% Cleaned up.
%
% Revision 2.1  1992/01/02  14:54:07  kris
% Release version.
%
% Revision 1.6  1991/11/27  06:54:21  kris
% \beta-test on DIKU.
%
% Revision 1.5  1991/10/21  23:19:08  kris
% Version described in DIKU student report 91-7-10.
%
% Revision 1.4  1991/08/22  01:07:46  kris
% Now has quarter circles to radius 40pt as required for xy.doc[1.28].
%
% Revision 1.3  1991/07/21  21:04:35  kris
% Tested with xy.doc[1.19].
%
% Revision 1.2  1991/07/19  14:52:26  kris
% Changed quarter circles to fit xy.doc[1.19?].
% 
% Revision 1.1  1991/06/24  20:57:37  kris
% Works with xy.doc [1.6] :-)
