% $Id: xyline10.mf,v 3.5 2010/06/10 18:45:50 krisrose Exp $ -*-tex-*- % % XYLINE10: line segments 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: Line segments going either segl# down or to the right. Codes % range from 0 to 127, distributed evenly in each of the % intervals between the `purely' horizontal/ % vertical/diagonal characters with code 31, ..../ % 63, 95, and 127 (code -1 would be pure as : /: % well if it existed): : / : % :/ : % ..../ ..../ | o o.... o.... o---- o...: % : /: : /: | | :\ : :\ : % : / : : / : | | : \ : : \ : % :/ : :/ : | | : \: : \: % o...: o...: o | :...\ :...\ % % Code: [-1] 0 30 31 63 64 95 127 % font_identifier "XYLINE"; font_size 10pt#; font_coding_scheme:="XY line segments"; mode_setup; % METANESS... % segl# = 1/2 designsize; define_pixels(segl); % line segment length rulew# = .4pt#; define_whole_blacker_pixels(rulew); % line thickness % % drawsegment draws a line from (0,0) to the argument point... def drawsegment expr endpoint = z0 = (0,0); z1 = endpoint; pickup pencircle scaled rulew rotated (angle (z1-z0) - 90); draw z0--z1; penlabels(0,1) enddef; % TESTING...we redefine openit because the characters extend far to the % left of the bounding box! % def openit = openwindow currentwindow from origin to (screen_cols,screen_rows) at (-200,300) enddef; % FONT. % % Font dimension 8 is the rule thickness (cf. The TeXbook, app.G) fontdimen 8: rulew#; % % The characters follow... % for cc = 0 step 1 until 30: beginchar(cc,(31-cc)/32*segl#,segl#,0); drawsegment (w,h); endchar; endfor; % for cc = 31 step 1 until 63: beginchar(cc,(cc-31)/32*segl#,0,segl#); drawsegment (w,-d); endchar; endfor; % for cc = 64 step 1 until 94: beginchar(cc,segl#,0,(95-cc)/32*segl#); drawsegment (w,-d); endchar; endfor; % for cc = 95 step 1 until 126: beginchar(cc,segl#,(cc-95)/32*segl#,0); drawsegment (w,h); endchar; endfor; % beginchar(127,segl#,segl#,0); drawsegment (w,h); endchar; bye. % % $Log: xyline10.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.1 1992/01/02 14:54:07 kris % Release version. % % Revision 1.7 1991/12/17 04:51:16 kris % Version distributed with `final draft' on Usenet. % % 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/07/28 22:16:18 kris % Inverted char0..30 to avoid negative widths. % % Revision 1.3 1991/07/26 01:22:28 kris % Set bounding box completely! % % Revision 1.2 91/06/09 21:59:49 kris % separated METANESS and CHARACTERS % % Revision 1.1 91/06/06 22:52:31 kris % furst succesful attempt