summaryrefslogtreecommitdiff
path: root/macros/generic/diagrams/xypic/mfinputs/xydash10.mf
blob: b97d2026f23229d688a72b4c44c8aae35f077b6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
% $Id: xydash10.mf,v 3.9 2010/06/10 18:45:50 krisrose Exp $
%
% XYDASH10: dashes for Xy-pic 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/.
%
% 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: Line segments going segl# in all rightward directions...each
% character has  (width + italic correction) = cos(direction) * segl#.
% _________________________________________________________________________
%
% SETUP:
%
font_identifier "XYDASH"; font_size 10pt#;
mode_setup;

% METANESS...
%
segl# = 1/2 designsize; define_pixels(segl);		% segment length
segx# = 1/5 designsize; define_pixels(segx);		% segment height
segw# = .4pt#; define_whole_blacker_pixels(segw);	% segment thickness
%
pickup pencircle scaled segw; char_pen := savepen;
%
% chartowards makes char cc with length segl line from (0,0) towards (dx,dy)...
%
def chartowards(expr cc,dx,dy) =
 beginchar(cc, abs(dx)*segl#, 0, 0);
  a := angle(dx,dy);
  z0 = (0,0); z1 = z0 + dir a scaled segl;
  pickup char_pen; draw z0--z1;
  charic := abs ((cosd a)*segl#) - charwd;
  penlabels(0,1);
 endchar
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;

% GENERATE...
%
input xyd2

bye.
%
% $Log: xydash10.mf,v $
% Revision 3.9  2010/06/10 18:45:50  krisrose
% Reference to GPL by URL.
%
% 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  1992/12/14  01:41:26  kris
% Now uses xyd2.mf.
%
% Based on obsolete xyline10.mf  2.1  1992/01/02  14:54:07  kris