summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/circ/cicirc.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/circ/cicirc.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/circ/cicirc.mf439
1 files changed, 439 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/circ/cicirc.mf b/Master/texmf-dist/fonts/source/public/circ/cicirc.mf
new file mode 100644
index 00000000000..71631021f0e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/circ/cicirc.mf
@@ -0,0 +1,439 @@
+%%
+%% This is file `cicirc.mf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% circ.dtx (with options: `csycirc')
+%% CIRC is a LaTeX package to typeset circuit and optics diagrams.
+%% Copyright (C) 1997,1998,2003 Sebastian Tannert and Andreas Tille
+%%
+%% This program 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.
+%%
+%% This program 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 program; if not, write to the Free Software
+%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see CIRC.DVI after installation.
+%% If installation fails search thru this file for 'bug'.
+input csym;
+
+designsize:=2lLE#;
+
+fontdimen10: .4gat_ht#;
+fontdimen11: .65gat_lt#;
+
+fontdimen12: .5pin_lt#;
+fontdimen13: pin_spc#;
+fontdimen14: .5ios_wd#+.5pin_lt#;
+fontdimen15: mid_wd#+ios_wd#;
+fontdimen16: ios_wd#;
+fontdimen17: out_spc#;
+
+
+def defcircleabout(expr p, rad)=
+ z[p]=.5[z[p+1],z[p+3]]=.5[z[p+2],z[p+4]];
+ y[p+1]=y[p+3];
+ x[p+2]=x[p+4];
+ x[p]=lft(x[p+1])-rad;
+ y[p]=top(y[p+4])+rad;
+enddef;
+
+def gate=
+ charic:=.5pin_spc#;
+ z0=(0,0);
+ x20=x15=x1=x6=x7= x0+pin_lt;
+ y8=y6=-y7= y0+.5gat_ht;
+ x8=x9=x10= x1+gat_lt-2pin_lt;
+ y15=-y20= y0+.5pin_spc;
+ x25-x0= gat_lt;
+
+ y9=y7; y25=y10=y1=y0;
+ x0=x26=x27;
+ y26=y15; y27=y20;
+
+ pickup pencircle scaled thickline;
+ defcircleabout(1,inv_rad);
+ defcircleabout(10,inv_rad);
+ defcircleabout(15,inv_rad);
+ defcircleabout(20,inv_rad);
+enddef;
+
+def segment =
+ z0=(0,0);
+ x1-x0=pin_lt; y0=y1;
+ defcircleabout(1,inv_rad); % z2 z3 z4 z5 defined
+ z1=.5[z6,z7]; x6=x7=x8;
+ y7-y6=pin_spc;
+ y8-y1=out_spc;
+ x9-x8=ios_wd; y8=y9;
+enddef;
+
+def topbotsegs(expr fc, myht, mydp) =
+ beginchar(fc+0,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8--z9;
+ endchar;
+ beginchar(fc+1,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8--z9;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ endchar;
+ beginchar(fc+2,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z5;
+ draw z3--z8--z9;
+ pickup pencircle scaled normalline;
+ draw fullcircle scaled 2inv_rad shifted z1;
+ pickup pensquare scaled normalline;
+ draw z0--z4;
+ endchar;
+ beginchar(fc+3,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8--z9;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ pickup pencircle scaled normalline;
+ draw z3--z2--z5;
+ endchar;
+enddef;
+
+def midsegs(expr fc, myht, mydp) =
+ beginchar(fc+0,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8;
+ endchar;
+ beginchar(fc+1,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ endchar;
+ beginchar(fc+2,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z5;
+ draw z3--z8;
+ pickup pencircle scaled thickline;
+ draw fullcircle scaled 2inv_rad shifted z1;
+ pickup pensquare scaled normalline;
+ draw z0--z4;
+ endchar;
+ beginchar(fc+3,pin_lt#+ios_wd#,myht,mydp);
+ pickup pensquare scaled thickline;
+ segment
+ draw z6--z8;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ pickup pencircle scaled normalline;
+ draw z3--z2--z5;
+ endchar;
+enddef;
+
+"obere Segmente Eing"&ditto&"ange";
+topbotsegs(0,out_spc#,.5pin_spc#);
+
+"obere Segmente Ausg"&ditto&"ange";
+{{
+ addTF(reflectedabout((.5(ios_wd+pin_lt),0),(.5(ios_wd+pin_lt),1)));
+ topbotsegs(16,out_spc#,.5pin_spc#);
+}}
+
+"mittlere Segmente Eing"&ditto&"ange";
+midsegs(32,.5pin_spc#,.5pin_spc#);
+
+"mittlere Segmente Eing"&ditto&"ange";
+{{
+ addTF(reflectedabout((.5(ios_wd+pin_lt),0),(.5(ios_wd+pin_lt),1)));
+ midsegs(48,.5pin_spc#,.5pin_spc#);
+}}
+
+"untere Segmente Eing"&ditto&"ange";
+{{
+ addTF(reflectedabout(left,right));
+ topbotsegs(64,.5pin_spc#,out_spc#);
+}}
+
+"untere Segmente Ausg"&ditto&"ange";
+{{
+ addTF(reflectedabout(left,right));
+ addTF(reflectedabout((.5(ios_wd+pin_lt),0),(.5(ios_wd+pin_lt),1)));
+ topbotsegs(80,.5pin_spc#,out_spc#);
+}}
+
+"oberes Zwischensegment";
+beginchar(96,mid_wd#,out_spc#,.5pin_spc#);
+ pickup pensquare scaled thickline;
+ draw (0,out_spc)--(mid_wd,out_spc);
+endchar;
+
+"Zwischensegment";
+beginchar(97,mid_wd#,.5pin_spc#,.5pin_spc#);
+endchar;
+
+"unteres Zwischensegment";
+beginchar(98,mid_wd#,.5pin_spc#,out_spc#);
+ pickup pensquare scaled thickline;
+ draw (0,-out_spc)--(mid_wd,-out_spc);
+endchar;
+
+"Gatter: Eingang, Ausgang";
+beginchar(128,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z6--z8--z9--z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ draw z10--z25;
+endchar;
+
+"Gatter: Eingang negiert, Ausgang";
+beginchar(129,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z3--z6--z8--z9--z7--z5;
+ pickup pencircle scaled thickline;
+ draw fullcircle scaled 2inv_rad shifted z1;
+ pickup pensquare scaled normalline;
+ draw z0--z4;
+ draw z10--z25;
+endchar;
+
+"Gatter: Eingang, Ausgang negiert";
+beginchar(130,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z14--z9--z7--z6--z8--z12;
+ pickup pencircle scaled thickline;
+ draw fullcircle scaled 2inv_rad shifted z10;
+ pickup pensquare scaled normalline;
+ draw z0--z1;
+ draw z11--z25;
+endchar;
+
+"Gatter: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(131,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z6--z8--z9--z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z15--z26;
+ draw z20--z27;
+ draw z10--z25;
+endchar;
+
+"Gatter: zwei Eing"&ditto&"ange, Ausgang negiert";
+beginchar(132,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z14--z9--z7--z6--z8--z12;
+ pickup pencircle scaled thickline;
+ draw fullcircle scaled 2inv_rad shifted z10;
+ pickup pensquare scaled normalline;
+ draw z15--z26;
+ draw z20--z27;
+ draw z11--z25;
+endchar;
+
+"Gatter alt AND: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(133,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z1--z6{right}..z10{down}..{left}z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z15--z26;
+ draw z20--z27;
+ draw z10--z25;
+endchar;
+
+"Gatter alt NAND: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(134,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z1--z6{right}..z10{down}..{left}z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z15--z26;
+ draw z20--z27;
+ draw z10--z25;
+ pickup pencircle scaled 2inv_rad;
+ drawdot z10;
+endchar;
+
+"Gatter alt OR: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(135,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ z30=5[z26,z15];
+ z31=5[z27,z20];
+ z32= (z26--z30) intersectionpoint (z6{right}..{down}z10);
+ z33= (z27--z31) intersectionpoint (z10{down}..{left}z7);
+ pickup pensquare scaled thickline;
+ draw z1--z6{right}..z10{down}..{left}z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z26--z32;
+ draw z27--z33;
+ draw z10--z25;
+endchar;
+
+"Gatter alt NOR: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(136,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ z30=5[z26,z15];
+ z31=5[z27,z20];
+ z32= (z26--z30) intersectionpoint (z6{right}..{down}z10);
+ z33= (z27--z31) intersectionpoint (z10{down}..{left}z7);
+ pickup pensquare scaled thickline;
+ draw z1--z6{right}..z10{down}..{left}z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z26--z32;
+ draw z27--z33;
+ draw z10--z25;
+ pickup pencircle scaled 2inv_rad;
+ drawdot z10;
+endchar;
+
+"Gatter alt EQ: zwei Eing"&ditto&"ange, Ausgang";
+beginchar(137,gat_lt#,.5gat_ht#,.5gat_ht#);
+ gate;
+ pickup pensquare scaled thickline;
+ draw z1--z6{right}..z10{down}..{left}z7--cycle;
+ pickup pensquare scaled normalline;
+ draw z15--z26;
+ draw z20--z27;
+ draw z10--z25;
+ x30=x31=x34=.2[x2,x13];
+ y30=.7[y16,y2]; y30=y32;
+ y31=.7[y21,y2]; y31=y33;
+ x32=x33=x35=.8[x2,x13];
+ y35=y34=y2;
+ pickup pencircle scaled normalline;
+ draw z30--z32;
+ draw z31--z33;
+ draw z34--z35;
+endchar;
+
+"box symbol empty";
+beginchar(250,box_wd#,.5box_wd#,.5box_wd#);
+ z0=(0,0);
+ x0=x1=x2; x3=x4;
+ y0=.5[y2,y1];
+ y1=y3; y2=y4;
+ y2-y1=x3-x1=box_wd;
+ pickup pensquare scaled thickline;
+ draw z1--z2--z4--z3--cycle;
+endchar;
+
+"box symbol cutted by line";
+beginchar(251,box_wd#,.5box_wd#,.5box_wd#);
+ z0=(0,0);
+ x0=x1=x2; x3=x4;
+ y0=.5[y2,y1];
+ y1=y3; y2=y4;
+ y2-y1=x3-x1=box_wd;
+ pickup pensquare scaled thickline;
+ draw z1--z2--z4--z3--cycle;
+ pickup pencircle scaled normalline;
+ draw z1--z4;
+endchar;
+
+"Black Box analog";
+beginchar(252,bba_wd#,.5bba_ht#,.5bba_ht#);
+ z0=(0,0); x1=x0=x2;
+ z0=.5[z1,z2];
+ y1-y2=y3-y4=bba_ht; y1=y3;
+ x3=x4=x0+bba_wd;
+ pickup pensquare scaled thickline;
+ draw z1--z2--z4--z3--cycle;
+endchar;
+
+"Black Box digital";
+beginchar(253,bbd_wd#,.5bbd_ht#,.5bbd_ht#);
+ z0=(0,0); x1=x0=x2;
+ z0=.5[z1,z2];
+ y1-y2=y3-y4=bbd_ht; y1=y3;
+ x3=x4=x0+bbd_wd;
+ pickup pensquare scaled thickline;
+ draw z1--z2--z4--z3--cycle;
+endchar;
+
+"OPV";
+beginchar(254,opv_lt#,opv_ht#,opv_ht#);
+ charic:=opv_dis#;
+ numeric pl;
+ pl:=pin_lt;
+ z0=(0,0);
+ z1=z0+(pl,opv_dis);
+ z2=z0+(pl,opv_ht);
+ z3=z0+(pl+opv_frc*2opv_ht,0);
+ x4=x2; y4=-y2;
+ x5=x1; y5=-y1;
+ z6=z1-(pl,0);
+ z7=z5-(pl,0);
+ z8=z0+(opv_lt,0);
+ z9=z5+(3pt,0);
+ z10=z9+(4pt,0);
+ z11=z1+(3pt,0);
+ z12=z11+(4pt,0);
+ z13=z11+(2pt,2pt);
+ z14=z11+(2pt,-2pt);
+ pickup pensquare scaled thickline;
+ draw z2--z3--z4--cycle;
+ pickup pensquare scaled normalline;
+ draw z9--z10;
+ draw z11--z12;
+ draw z13--z14;
+ draw z6--z1;
+ draw z7--z5;
+ draw z3--z8;
+endchar;
+
+"OPV";
+beginchar(255,opv_lt#,opv_ht#,opv_ht#);
+ charic:=opv_dis#;
+ numeric pl;
+ pl:=pin_lt;
+ z0=(0,0);
+ z1=z0+(pl,opv_dis);
+ z2=z0+(pl,opv_ht);
+ z3=z0+(pl+opv_frc*2opv_ht,0);
+ x4=x2; y4=-y2;
+ x5=x1; y5=-y1;
+ z6=z1-(pl,0);
+ z7=z5-(pl,0);
+ z8=z0+(opv_lt,0);
+ z9=z1+(3pt,0);
+ z10=z9+(4pt,0);
+ z11=z5+(3pt,0);
+ z12=z11+(4pt,0);
+ z13=z11+(2pt,2pt);
+ z14=z11+(2pt,-2pt);
+ pickup pensquare scaled thickline;
+ draw z2--z3--z4--cycle;
+ pickup pensquare scaled normalline;
+ draw z9--z10;
+ draw z11--z12;
+ draw z13--z14;
+ draw z6--z1;
+ draw z7--z5;
+ draw z3--z8;
+endchar;
+
+end;
+%%
+%%
+%% End of file `cicirc.mf'.