% $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 % % 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] :-)