summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/xypic/xycirc10.mf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-12 00:48:49 +0000
committerKarl Berry <karl@freefriends.org>2010-06-12 00:48:49 +0000
commitb7d09128d54f9b6bb737e80e906499037529904e (patch)
tree68ea16ac010aeee726f77bcec9162525feb14a7e /Master/texmf-dist/fonts/source/xypic/xycirc10.mf
parent457703ea12a711958a619ba5f9e665242c1dcfe7 (diff)
xypic 3.8.1 (11jun10)
git-svn-id: svn://tug.org/texlive/trunk@18907 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/xypic/xycirc10.mf')
-rw-r--r--Master/texmf-dist/fonts/source/xypic/xycirc10.mf162
1 files changed, 162 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/xypic/xycirc10.mf b/Master/texmf-dist/fonts/source/xypic/xycirc10.mf
new file mode 100644
index 00000000000..9ff773dc8ce
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/xypic/xycirc10.mf
@@ -0,0 +1,162 @@
+% $Id: xycirc10.mf,v 3.10 2010/06/10 18:45:50 krisrose Exp $
+%
+% XYCIRC10: 1/8 circles with varying radii for Xy-pic at 10 point.
+% Copyright (c) 1992,1993 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/.
+%
+% As a special exception, you may use this file and all files derived
+% from it without restriction. This special exception was added with
+% version 3.7 of Xy-pic.
+% _________________________________________________________________________
+%
+% CONTENTS: 1/8 circles with radii from 1 to 32pt dissected into the 1/8
+% circle segments shown below
+% 6 5
+% ....... _
+% 7 .. | .. 4 |
+% : | | | : | radius
+% : | | | : |
+% Reference point ---> ___:__|___|___|__:_____|
+% : | | | :
+% : | | | :
+% 0 .! | !. 3
+% ...|...
+% 1 2
+%
+% such that each group of 8 characters cc+0 to cc+7 constitute a full circle
+% with the given radius when typeset on the same baseline (as shown).
+%
+% The bounding box of each segment is the vertical slice of the unit square
+% around the circle.
+%
+% The radius is given for each character group g = cc mod 8 by the formula
+%
+% radius [pt] = g+1, if 0 <= g < 8
+% 2(g-8) + 10, if 8 <= g < 12 [= 2g-6]
+% 4(g-12) + 20, if 12 <= g < 16 [= 4g-28]
+%
+% The bounding box of each segment is the smallest box enclosing it (not
+% including the rule width) with reference point on the horizontal line
+% through the center of the circle---so segment 1256 have either height or
+% depth negative.
+% _________________________________________________________________________
+%
+font_identifier "XYCIRC"; font_size 10pt#;
+mode_setup;
+
+% METANESS...
+%
+rulew# = .4pt#; define_whole_blacker_pixels(rulew); % line thickness
+%
+pickup pencircle scaled rulew; char_pen := savepen;
+
+% 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)
+%
+font_coding_scheme:="xycirc.enc";
+fontdimen 8: rulew#; % default_rule_thickness
+
+% Use the following macro that generates an entire group from character cc
+% to cc+7 with radius:
+%
+def makeg(expr g,radius) =
+
+ minor# := (1 - sqrt 1/2) * radius;
+ major# := radius - minor#;
+ full# := radius;
+ define_pixels(minor,major,full);
+
+ beginchar(8g ,minor#,full#,full#); pickup char_pen;
+ z0=(0,0); z1=(minor,-major); draw z0{0,-1}..{1,-1}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+1,major#,full#,full#); pickup char_pen;
+ z0=(0,-major); z1=(major,-full ); draw z0{1,-1}..{1,0}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+2,major#,full#,full#); pickup char_pen;
+ z0=(0,-full); z1=(major,-major); draw z0{1,0}..{1, 1}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+3,minor#,full#,full#); pickup char_pen;
+ z0=(0,-major); z1=(minor,0); draw z0{1, 1}..{0, 1}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+4,minor#,full#,full#); pickup char_pen;
+ z0=(0, major); z1=(minor,0); draw z0{1,-1}..{0,-1}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+5,major#,full#,full#); pickup char_pen;
+ z0=(0, full); z1=(major, major); draw z0{1,0}..{1,-1}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+6,major#,full#,full#); pickup char_pen;
+ z0=(0, major); z1=(major, full); draw z0{1, 1}..{1,0}z1;
+ penlabels(0,1); endchar;
+
+ beginchar(8g+7,minor#,full#,full#); pickup char_pen;
+ z0=(0,0); z1=(minor, major); draw z0{0, 1}..{1, 1}z1;
+ penlabels(0,1); endchar
+
+enddef;
+
+% Make groups:
+%
+for g = 0 step 1 until 7: makeg(g, (g+1)*pt#); endfor;
+for g = 8 step 1 until 11: makeg(g, (2g-6)*pt#); endfor;
+for g = 12 step 1 until 15: makeg(g,(4g-28)*pt#); endfor;
+
+bye.
+
+% $Log: xycirc10.mf,v $
+% Revision 3.10 2010/06/10 18:45:50 krisrose
+% Reference to GPL by URL.
+%
+% Revision 3.9 2010/05/17 23:29:21 krisrose
+% Experiment: generate all the Type1 fonts with METAPOST.
+%
+% Revision 3.8 2010/04/16 06:06:52 krisrose
+% Preparing for a new release...
+%
+% Revision 3.7 1999/02/16 15:12:50 krisrose
+% Interim release (Y&Y fonts now free).
+%
+% 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.13 1995/07/04 15:11:17 kris
+% Ready to release v3?
+%
+% Revision 2.7 1994/03/08 02:09:27 kris
+% Release 3alpha.
+%
+% Revision 2.6.9.1 1994/03/07 04:22:46 kris
+% Last internal 3alpha and pre-2.7 release.
+%
+% NEW file to go in version 2.7!
+% Based on xymisc10.mf [Revision 2.6 1992/06/24 01:23:34 kris]