diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 23:38:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 23:38:21 +0000 |
commit | 215012a8d684889983ec2c0629e1c704e6853d9c (patch) | |
tree | ebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/circ | |
parent | 1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff) |
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/circ')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cibimos.mf | 261 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cicirc.mf | 439 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cidiod.mf | 108 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cioptic.mf | 539 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/ciphysic.mf | 237 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cirest.mf | 740 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/cisym.mf | 181 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/ciwidko.mf | 160 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/csym.mf | 499 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/circ/defcirc.mf | 160 |
10 files changed, 3324 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/circ/cibimos.mf b/Master/texmf-dist/fonts/source/public/circ/cibimos.mf new file mode 100644 index 00000000000..e4a6d4c9ada --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/cibimos.mf @@ -0,0 +1,261 @@ +%% +%% This is file `cibimos.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csybimos') +%% 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'. +font_identifier:="cibimos"; + +string optionname; optionname:=""; + +input defcirc.mf; + +input csym; +designsize:=1lLE#; + +def mosfet = % ok + z0=(0,0); + x1=x2=x3=x4; + y2-y1=mos_SD; + y4-y3=mos_sd; + .5[z2,z1]=.5[z4,z3]; + y6=y4; y7=y3; + x4-x6=x3-x7; + .5[z8,z9]=.5[z6,z7]=z5; + x9=x8; + y8-y6=mos_soSD; + x10=x11; + x0+mos_Gsub=x10+mos_ox=x7; + x1-x0=mos_GSx; + y0=y10=y1+mos_GSy; + y6-y11=y10-y7; + z12=.5[z1,z2]; + z6=.5[z13,z8]; + z7=.5[z14,z9]; + z15-z16=z8-z13; + z5=.5[z15,z16]; + pickup pencircle scaled mos_rad; + drawdot round(z3); + pickup pensquare scaled normalline; + draw z1--z3--z7; + draw z2--z4--z6; + draw z0--z10--z11; + draw z5--z12--z3; + pickup pensquare scaled thickline; +enddef; + +def mosfet_V = % ok + mosfet; + draw z8--z9; +enddef; + +def mosfet_A = % ok + mosfet; + draw z8--z13; + draw z9--z14; + draw z15--z16; +enddef; + +def fet = % ok + z0=(0,0); + z1=z0+(fet_Gsub,0); + y2=y1; + x2=x3=x4=x0+fet_GSx; + y3=y2-fet_GSy; + z2-z3=z4-z5; + y4-y3=fet_SD; + y6=y5; + x1=x6; + x8=x7; + y8=y1-fet_soSD; + .5[z4,z3]=.5[z5,z2]; + .5[z7,z8]=.5[z1,z6]; + z9=z1-(fet_sarr+tri_lt,0); + pickup pensquare scaled normalline; + draw z0--z1--z2--z3; + draw z6--z5--z4; + pickup pensquare scaled thickline; + draw z7--z8; +enddef; + +def transistor_without_basis = % "uberarbeiten + numeric pl; + pl:=.5(tst_ht-tst_iht); + z1-z2=(0,tst_iht); + z0=.5[z1,z2]; + z3=tst_fac[z0,z1]; + z4=tst_fac[z0,z2]; + z5=z1+(tst_wd,0); + z6=z2+(tst_wd,0); + z7=z5+(0,pl); + z8=z6+(0,-pl); + z9=tst_dis[z4,z6]; + pickup pensquare scaled normalline; + draw z1--z2; + draw z3--z5--z7; + draw z4--z6--z8; + pickup pencircle scaled thinline; + triangle(z9,tst_rad,tri_phi,angle(z6-z4)); +enddef; + +def npn_no_basis = % "uberarbeiten + numeric tst_rad,tst_dis; + tst_rad:=-tri_lt; + tst_dis:=npn_dis; + z0=(0,0); + transistor_without_basis; +enddef; + +def npn_photo = % "uberarbeiten +numeric pl; + z0=(0,0); + pl:=.5(tst_ht-tst_iht); + y0=y1=y2=y3; + x1=x0+tst_ht; + x2-x0=x1-x3=pl; + y5=y4=y6=y7=y8=y0+tst_wd; + x5-x6=tst_iht; + x4=.5[x5,x6]=.5[x0,x1]; + x7=tst_fac[x4,x5]; + x8=tst_fac[x4,x6]; + z9=tst_dis[z2,z8]; + pickup pensquare scaled normalline; + draw z0--z2--z8--z7--z3--z1; + draw z5--z6; + pickup pencircle scaled thinline; + triangle(z9,tst_rad,tri_phi,angle(z8-z2)); +enddef; + +def pnp_no_basis = % "uberarbeiten + numeric tst_rad,tst_dis; + tst_rad:=tri_lt; + tst_dis:=pnp_dis; + z0=(0,0); + transistor_without_basis; +enddef; + +def npn = % "uberarbeiten + numeric tst_rad,tst_dis; + tst_rad:=-tri_lt; + tst_dis:=npn_dis; + z0=(tst_wd,0); + z20=(0,0); + transistor_without_basis; + pickup pensquare scaled normalline; + draw z20--z0; +enddef; + +def pnp = % "uberarbeiten + numeric tst_rad,tst_dis; + tst_rad:=tri_lt; + tst_dis:=pnp_dis; + z0=(tst_wd,0); + z20=(0,0); + transistor_without_basis; + pickup pensquare scaled normalline; + draw z20--z0; +enddef; + +"Transistor NPN ohne Basis"; +eightchars(0) + (npn_no_basis) + (tst_wd#,.5tst_ht#,.5tst_ht#,0); + +"Transistor PNP ohne Basis"; +eightchars(8) + (pnp_no_basis) + (tst_wd#,.5tst_ht#,.5tst_ht#,0); + +"Transistor NPN"; +eightchars(16) + (npn) + (tst_wd#+tst_wd#,.5tst_ht#,.5tst_ht#,0); + +"Transistor PNP"; +eightchars(24) + (pnp) + (tst_wd#+tst_wd#,.5tst_ht#,.5tst_ht#,0); + +"FET n-Kanal"; +eightchars(32) + (fet; + pickup pencircle scaled thinline; + triangle(z1,tri_lt,tri_phi,180); + ) + (fet_GSx#,fet_GSy#,fet_SD#-fet_GSy#,0); + +"FET p-Kanal"; +eightchars(40) + (fet; + pickup pencircle scaled thinline; + triangle(z9,tri_lt,tri_phi,0); + ) + (fet_GSx#,fet_GSy#,fet_SD#-fet_GSy#,0); + +"MOSFET n-Kanal V"; +eightchars(48) + (mosfet_V; + pickup pencircle scaled thinline; + triangle(z5,tri_lt,tri_phi,0); + ) + (mos_GSx#,mos_GSy#,mos_SD#-mos_GSy#,0); + +"MOSFET p-Kanal V"; +eightchars(56) + (mosfet_V; + pickup pencircle scaled thinline; + triangle(z12,tri_lt,tri_phi,180); + ) + (mos_GSx#,mos_GSy#,mos_SD#-mos_GSy#,0); + +"MOSFET n-Kanal A"; +eightchars(64) + (mosfet_A; + pickup pencircle scaled thinline; + triangle(z5,tri_lt,tri_phi,0); + ) + (mos_GSx#,mos_GSy#,mos_SD#-mos_GSy#,0); + +"MOSFET p-Kanal A"; +eightchars(72) + (mosfet_A; + pickup pencircle scaled thinline; + triangle(z12,tri_lt,tri_phi,180); + ) + (mos_GSx#,mos_GSy#,mos_SD#-mos_GSy#,0); + +current_char_code:=80; + +twopincharfourfour("npnPH")("T")("E")("C")("photo transistor") + (tst_ht#,tst_wd#+1.6lLE#,0) +( +shiftpoint:=z1; +npn_photo; +lightarrows(z4+(.8lLE,1.7lLE),240); +) + +end; +%% +%% +%% End of file `cibimos.mf'. 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'. diff --git a/Master/texmf-dist/fonts/source/public/circ/cidiod.mf b/Master/texmf-dist/fonts/source/public/circ/cidiod.mf new file mode 100644 index 00000000000..9027a14038b --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/cidiod.mf @@ -0,0 +1,108 @@ +%% +%% This is file `cidiod.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csydiod') +%% 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:=1lLE#; + +def diode = % "uberarbeiten + numeric pl; + pl:=.5(did_lt-did_wd); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(did_wd,0); + z3=z2+(pl,0); + z4-z5=z6-z7=(0,did_ht); + z1=.5[z4,z5]; + z2=.5[z6,z7]; + z8=z4+(did_zlt,0); + z9=z0+(0,thy_ht); + + z10=.35[z5,z7]; + z11=z10-(.5Dcap_spc,0); + z12=z10+(.5Dcap_spc,0); + y13=y15; y14=y16; + x13=x14; x15=x16; + y13-y14=Dcap_ht; + z11=.5[z13,z14]; + z12=.5[z15,z16]; + z17=z11-(Dcap_wd,0); + z18=z12+(Dcap_wd,0); + + pickup pensquare scaled normalline; + draw z0--z3; + draw z4--z5; + draw z1--z6--z7--cycle; +enddef; + +def Dcap = + pickup pensquare scaled normalline; + draw z17--z11; + draw z13--z14; + draw z15--z16; + draw z12--z18; +enddef; + +def led_arrows = % "uberarbeiten + numeric pl; + numeric x[],y[]; + transform arr_a,arr_b; + pickup pencircle scaled thickline; + pl:=.5(did_lt-did_wd); + z0=(0,0); + z4=z0+(pl,0); + z1=z0+(led_lt,0); + (z1-z2)=(led_wd,0) rotated led_phi; + (z1-z3)=(led_wd,0) rotated -led_phi; + arr_a:=identity rotated led_psi shifted + (z4+(led_spx+.5led_spc*cosd(led_psi),led_spy-.5led_spc*sind(led_psi))); + arr_b:=identity rotated led_psi shifted + (z4+(led_spx-.5led_spc*cosd(led_psi),led_spy+.5led_spc*sind(led_psi))); + draw (z0--z1) transformed arr_a; + draw (z0--z1) transformed arr_b; + fill (z2--z1--z3--cycle) transformed arr_a; + fill (z2--z1--z3--cycle) transformed arr_b; +enddef; + +"Diode"; +fourchars(0)(diode)(z3)(.5did_ht#,did_lt#,.5did_ht#); + +"Z-Diode"; +fourchars(4)(diode; draw z4--z8)(z3)(.5did_ht#,did_lt#,.5did_ht#); + +"LED"; +fourfourchars(8)(diode; lightarrows(.5[z1,z6]+(0,.5lLE),120))(z3) +(.5did_ht#+.5led_spy#+led_lt#*sind(led_psi),did_lt#,.5did_ht#); + +"Kapazit"&ditto&"atsdiode"; +fourchars(16)(diode; Dcap)(z3)(.5did_ht#,did_lt#,.65did_ht#); + +"Thyristor"; + +end; +%% +%% +%% End of file `cidiod.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/cioptic.mf b/Master/texmf-dist/fonts/source/public/circ/cioptic.mf new file mode 100644 index 00000000000..01425b55449 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/cioptic.mf @@ -0,0 +1,539 @@ +%% +%% This is file `cioptic.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `optic') +%% 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; + +string optionname; optionname="optics"; + +font_identifier="cioptic"; + +input defcirc; + +hsoa:=.128CIu; + +slens_ht# := 2CIu#; +slens_lt# := 2CIu#; +slens_phi := 60; +slens_spc := .55CIu; +define_pixels(slens_lt,slens_ht); + +blens_ht# := 2CIu#; +blens_lt# := 2CIu#; +blens_phi := 45; +blens_spc := .88CIu; +define_pixels(blens_lt,blens_ht); + +sklens_ht# := 2CIu#; +sklens_lt# := 2CIu#; +sklens_phi := 60; +sklens_spc := .58CIu; +sklens_bt := 1CIu; % Breite Bottom und Top +define_pixels(sklens_lt,sklens_ht); + +mir_ht# := 2CIu#; +mir_lt# := 2CIu#; +mir_wd := .5CIu; % Schraffurl"ange +define_pixels(mir_ht,mir_lt); + +omb_wd# := 3CIu#; +omb_ht# := 2CIu#; +lab_wd# := 4CIu#; +lab_ht# := 2CIu#; +define_pixels(omb_wd,omb_ht,lab_wd,lab_ht); + +pol_ht# := 2CIu#; +pol_lt# := 2CIu#; +pol_spc := .2CIu; +define_pixels(pol_ht,pol_lt); + +pin_ht# := 2CIu#; +pin_lt# := 2CIu#; +pin_spx := .16CIu; +pin_spy := .08CIu; +pin_spz := .5CIu; +define_pixels(pin_ht,pin_lt); + +cam_ht# := 2CIu#; +cam_lt# := 3CIu#; +cam_spx := 2CIu; +cam_spy := 1CIu; +define_pixels(cam_ht,cam_lt); + +scr_ht# := 4CIu#; +scr_lt# := 2CIu#; +scr_spx := 1CIu; +scr_spy := 1CIu; +define_pixels(scr_ht,scr_lt); + +def rectangle(expr width, height, xs, ys) = + draw (xs,.5height+ys)--(width+xs,.5height+ys)--(width+xs,-.5height+ys)-- + (xs,-.5height+ys)--cycle; +enddef; + +def small_lens = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(slens_lt-slens_spc); + z0=(.5slens_lt,-.5slens_ht); + z1=(.5slens_lt,.5slens_ht); + z2=(.5CIu,0); z3=z2+(hsoa,0); + z4=(slens_lt-.5CIu,0); z5=z4-(hsoa,0); + draw z0{dir slens_phi}..z1; + draw z0{dir (180-slens_phi)}..z1; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def half_small_lens = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(slens_lt-slens_spc); + z0=(.5slens_lt,-.5slens_ht); + z1=(.5slens_lt,.5slens_ht); + z4=(slens_lt-.5CIu,0); z5=z4-(hsoa,0); + draw z0{dir slens_phi}..z1; + draw z1--z0; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def bold_lens = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(blens_lt-blens_spc); + z0=(.5blens_lt,-.5blens_ht); + z1=(.5blens_lt,.5blens_ht); + draw z0{dir blens_phi}..z1; + draw z0{dir (180-blens_phi)}..z1; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def half_bold_lens = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(blens_lt-blens_spc); + z0=(.5blens_lt,-.5blens_ht); + z1=(.5blens_lt,.5blens_ht); + draw z0{dir blens_phi}..z1; + draw z1--z0; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def small_konkav_lens = + pickup pensquare scaled normalline; + numeric pl, ql; + pl:=.5(sklens_lt-sklens_spc); + ql:=.5(sklens_lt-sklens_bt); + z0=(ql,-.5sklens_ht); + z1=(sklens_lt-ql,-.5sklens_ht); + z2=(ql,.5sklens_ht); + z3=(sklens_lt-ql,.5sklens_ht); + z4=(.5CIu,0); z5=z4+(hsoa,0); + z6=(sklens_lt-.5CIu,0); z7=z6-(hsoa,0); + draw z0{dir sklens_phi}..z2--z3{dir (180+sklens_phi)}..z1--z0; + draw z4--z5; draw z6--z7; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def half_small_konkav_lens = + pickup pensquare scaled normalline; + numeric pl, ql; + pl:=.5(sklens_lt-sklens_spc); + ql:=.5(sklens_lt+sklens_bt); + z0=(.5sklens_lt,-.5sklens_ht); + z1=(ql,-.5sklens_ht); + z2=(.5sklens_lt,.5sklens_ht); + z3=(ql,.5sklens_ht); + draw z0--z2--z3{dir (180+sklens_phi)}..z1--z0; + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def mirror = + pickup pensquare scaled normalline; + opticalaxis(normalline)(0); + opticalaxisdown(normalline)(.5mir_lt,0); + halfmirror; + pickup pensquare scaled thinline; + for i=.125 step .125 until .875: + draw (i*mir_lt,(.5-i)*mir_ht)--(mir_wd+i*mir_lt,mir_wd+(.5-i)*mir_ht); + endfor +enddef; + +def halfmirror = + pickup pensquare scaled thickline; + draw (.5mir_wd,.5(mir_ht-mir_wd))--(mir_lt-.5mir_wd,.5(mir_wd-mir_ht)); +enddef; + +def halfmirrorline = + pickup pensquare scaled normalline; + opticalaxis(normalline)(0); + opticalaxisdown(normalline)(.5mir_lt,.5mir_ht); + opticalaxisdown(normalline)(.5mir_lt,0); +enddef; + +def polarizer = + pickup pensquare scaled thinline; + numeric pl; + pl:=.5(pol_lt-pol_spc); + z0=(pl,.5pol_ht); + z1=z0+(0,-pol_ht); + z2=z1+(pol_spc,0); + z3=z0+(pol_spc,0); + draw z0--z1--z2--z3--cycle; + % optical axis + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def pinhole = + pickup pensquare scaled thinline; + numeric pl; + pl:=.5(pin_lt-pin_spx); + fill (.5pin_lt,.5pin_spy)--(pl,.5pin_spz)--(pl,.5pin_ht)-- + (pl+pin_spx,.5pin_ht)--(pl+pin_spx,.5pin_spz)--cycle; + fill (.5pin_lt,-.5pin_spy)--(pl,-.5pin_spz)--(pl,-.5pin_ht)-- + (pl+pin_spx,-.5pin_ht)--(pl+pin_spx,-.5pin_spz)--cycle; + % optical axis + opticalaxis(normalline)(0); + opticalaxis(normalline)(1CIu); +enddef; + +def screenleft (expr gray) = + pickup pensquare scaled normalline; + path a, b; + numeric pl; + pl:=.5(scr_lt-scr_spx); + z0=(pl,.5scr_ht); + z1=(pl+scr_spx,scr_spy); + z2=(pl+scr_spx,-.5scr_ht); + z3=(pl,-scr_spy); + draw z0--z1--z2--z3--cycle; + a:=z0--z1; + b:=z2--z3; + vshade(b, a, gray, unitsquare); +enddef; + +def screenright (expr gray) = + pickup pensquare scaled normalline; + path a, b; + numeric pl; + pl:=.5(scr_lt-scr_spx); + z0=(pl,-.5scr_ht); + z1=(pl,scr_spy); + z2=(pl+scr_spx,.5scr_ht); + z3=(pl+scr_spx,-scr_spy); + draw z0--z1--z2--z3--cycle; + a:=z1--z2; + b:=z3--z0; + vshade(b, a, gray, unitsquare); +enddef; + +def opticalaxis(expr linethickness)(expr offset) = + pickup pensquare scaled linethickness; + draw (offset,0)--(offset+hsoa,0); + draw (offset+3hsoa,0)--(offset+5hsoa,0); + draw (offset+7hsoa,0)--(offset+1CIu,0); +enddef; + +def halfopticalaxis(expr linethickness)(expr offset) = + pickup pensquare scaled linethickness; + draw (offset,0)--(offset+hsoa,0); + draw (offset+3hsoa,0)--(offset+.5CIu,0); +enddef; + +def opticalaxisdown(expr linethickness)(expr xoffset, yoffset) = + pickup pensquare scaled linethickness; + draw (xoffset,yoffset)--(xoffset,yoffset-hsoa); + draw (xoffset,yoffset-3hsoa)--(xoffset,yoffset-5hsoa); + draw (xoffset,yoffset-7hsoa)--(xoffset,yoffset-1CIu); +enddef; + +def halfopticalaxisdown(expr linethickness)(expr xoffset, yoffset) = + pickup pensquare scaled linethickness; + draw (xoffset,yoffset)--(xoffset,yoffset-hsoa); + draw (xoffset,yoffset-3hsoa)--(xoffset,yoffset-.5CIu); +enddef; + +def camera = + pickup pensquare scaled thickline; + numeric pl; + pl:=cam_lt-cam_spx; + draw (pl,.25cam_spy)--(0,.5cam_spy)--(0,-.5cam_spy)--(pl,-.25cam_spy); + draw (pl,.5cam_ht)--(pl,-.5cam_ht)--(cam_lt,-.5cam_ht)--(cam_lt,.5cam_ht)--cycle; +enddef; + +"SmalCIuns"; +twochars(0)(small_lens)(.5slens_ht#,slens_lt#,.5slens_ht#); + +"HalfSmalCIuns"; +fourchars(2)(half_small_lens)((slens_lt,0))(.5slens_ht#,slens_lt#,.5slens_ht#); + +"BoldLens"; +twochars(6)(bold_lens)(.5blens_ht#,blens_lt#,.5blens_ht#); + +"HalfBoldLens"; +fourchars(8)(half_bold_lens)((blens_lt,0))(.5blens_ht#,blens_lt#,.5blens_ht#); + +"SmallKonkavLens"; +twochars(12)(small_konkav_lens)(.5sklens_ht#,sklens_lt#,.5sklens_ht#); + +"HalfSmallKonkavLens"; +fourchars(14)(half_small_konkav_lens)((sklens_lt,0))(.5sklens_ht#,sklens_lt#,.5sklens_ht#); + +"Mirror"; +eightchars(85)(mirror)(.5mir_lt#,.5mir_ht#,.5mir_ht#,.5mir_lt#); + +"BeamSplitter"; +eightchars(36)(halfmirror;halfmirrorline)(.5mir_lt#,.5mir_ht#,.5mir_ht#,.5mir_lt#); + +"Polarizer"; +twochars(44)(polarizer)(.5pol_ht#,pol_lt#,.5pol_ht#); + +"Pinhole"; +twochars(46)(pinhole)(.5pin_ht#,pin_lt#,.5pin_ht#); + +"Camera"; +fourchars(66)(camera)((cam_lt,0))(.5cam_ht#,cam_lt#,.5cam_ht#); + +"ScreenLeft"; +twochars(72)(screenleft(2);opticalaxis(normalline)(0))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"ScreenRight"; +twochars(74)(screenright(2);opticalaxis(normalline)(1CIu))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"ScreenLeftBehind"; +twochars(76)(screenleft(2);halfopticalaxis(normalline)(1.5CIu))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"ScreenRightBehind"; +twochars(78)(screenright(2);halfopticalaxis(normalline)(0))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"VScreenLeft"; +twochars(80)(screenleft(4);opticalaxis(normalline)(0);halfopticalaxis(normalline)(1.5CIu))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"VScreenRight"; +twochars(82)(screenright(4);opticalaxis(normalline)(1CIu);halfopticalaxis(normalline)(0))(.5scr_ht#,scr_lt#,.5scr_ht#); + +"horizontal dashed half line to the right"; +beginchar(128,.5CIu#,0pt,0pt); + halfopticalaxis(normalline)(0); +endchar; + +"horizontal dashed long line to the right"; +beginchar(129,1CIu#,0pt,0pt); + opticalaxis(normalline)(0); +endchar; + +"horizontal dashed half line to the left"; +beginchar(130,.5CIu#,0pt,0pt); + halfopticalaxis(normalline)(-.5CIu); +endchar; + +"horizontal dashed half line up"; +beginchar(131,0pt,.5CIu#,0pt); + halfopticalaxisdown(normalline)(0,.5CIu); +endchar; + +"horizontal dashed long line up"; +beginchar(132,0pt,1CIu#,0pt); + opticalaxisdown(normalline)(0,1CIu); +endchar; + +"horizontal dashed half line down"; +beginchar(133,0pt,0pt,.5CIu#); + halfopticalaxisdown(normalline)(0,0); +endchar; + +"bold horizontal dashed half line to the right"; +beginchar(136,.5CIu#,0pt,0pt); + halfopticalaxis(2normalline)(0); +endchar; + +"bold horizontal dashed long line to the right"; +beginchar(137,1CIu#,0pt,0pt); + opticalaxis(2normalline)(0); +endchar; + +"bold horizontal dashed half line to the left"; +beginchar(138,.5CIu#,0pt,0pt); + halfopticalaxis(2normalline)(-.5CIu); +endchar; + +"bold horizontal dashed half line up"; +beginchar(139,0pt,.5CIu#,0pt); + halfopticalaxisdown(2normalline)(0,.5CIu); +endchar; + +"bold horizontal dashed long line up"; +beginchar(140,0pt,1CIu#,0pt); + opticalaxisdown(2normalline)(0,1CIu); +endchar; + +"bold horizontal dashed half line down"; +beginchar(141,0pt,0pt,.5CIu#); + halfopticalaxisdown(2normalline)(0,0); +endchar; + +if unknown cmbase: input cmbase fi + +tracingstats:=1; +picture r[]; + +def put_text(expr ts,xstart,ystart,rot,justification) = + begingroup + text_width:=0;text_height:=0; + for ind:=0 step 1 until length(ts)-1: + dec_num:=ASCII substring (ind,ind+1) of ts; + if unknown r[dec_num]: dec_num:=32; fi + if dec_num=32: + text_width:=text_width+wd[65]; + text_height:=max(text_height,ht[65]+dp[65]); + elseif dec_num>=0: + text_width:=text_width+wd[dec_num]; + text_height:=max(text_height,ht[dec_num]+dp[dec_num]); + fi + endfor + if rot=90: + if justification=1: ynext:=ystart; + elseif justification=2: ynext:=round(ystart-text_width/2); + else: ynext:=round(ystart-text_width); + fi + xnext:=xstart+text_height/2; + else: + if justification=1: xnext:=xstart; + elseif justification=2: xnext:=round(xstart-text_width/2); + else: xnext:=round(xstart-text_width); + fi + ynext:=ystart-text_height/2; + fi + for ind:=0 step 1 until length(ts)-1: + dec_num:=ASCII substring (ind,ind+1) of ts; + if unknown r[dec_num]: dec_num:=32; fi + if dec_num=32: + xnext:=xnext+wd[65]*cosd rot; + ynext:=ynext+wd[65]*sind rot; + elseif dec_num>=0: + currentpicture:=currentpicture+r[dec_num] shifted(xnext,ynext) + rotatedaround ((xnext,ynext),rot); + xnext:=xnext+wd[dec_num]*cosd rot; + ynext:=ynext+wd[dec_num]*sind rot; + fi + endfor + endgroup +enddef; + +def endchar = + r[charcode]:=currentpicture; + wd[charcode]:=w;ht[charcode]:=h;dp[charcode]:=d; + endgroup; +enddef; +let endchar_ = endchar; +let generate = relax; +let roman = relax; +input cmss10.mf +if ligs>1: font_coding_scheme:="TeX text"; +else: font_coding_scheme:= + if ligs=0: "TeX typewriter text" + else: "TeX text without f-ligatures" fi; +fi +font_setup; +input romanu.mf %Roman uppercase. +input romanl.mf %Roman lowerrcase. + +def endchar = + % Next line should probably be removed if CM base is used + %Include the next two lines if you want to + %rotate the picture 90 deg.(Portrait to Landscape) + %currentpicture:=currentpicture rotated 90 shifted (h,0); + %tmp:=charht; charht:=charwd; charwd:=tmp; + scantokens extra_endchar; + if proofing>0: makebox(proofrule); fi + chardx:=w; + shipit; + if displaying>0: makebox(screenrule); showit; fi + endgroup +enddef; +let endchar_ = saveendchar; +let generate = input; +let roman = roman; +def t_ = transformed currenttransform enddef; + +"Laser Box horizontal"; +beginchar(160,lab_wd#,.5lab_ht#,.5lab_ht#); + pickup pensquare scaled thickline; + rectangle(lab_wd,lab_ht,0,0); + pickup pencircle scaled normalline; + put_text("Laser",.5lab_wd,0,0,2); +endchar; + +"Laser Box vertical"; +beginchar(161,.5lab_ht#,lab_wd#,.5lab_ht#); + pickup pensquare scaled thickline; + rectangle(lab_ht,lab_wd,-.5lab_ht,.5lab_wd); + pickup pencircle scaled normalline; + put_text("Laser",0,.5lab_wd,90,2); +endchar; + +"Photometer Box horizontal"; +beginchar(162,omb_wd#,.5omb_ht#,.5omb_ht#); + pickup pensquare scaled thickline; + rectangle(omb_wd,omb_ht,0,0); + pickup pencircle scaled normalline; + put_text("PM",.5omb_wd,0,0,2); +endchar; + +"Photometer Box vertical"; +beginchar(163,.5omb_ht#,omb_wd#,.5omb_ht#); + pickup pensquare scaled thickline; + rectangle(omb_ht,omb_wd,-.5omb_ht,.5omb_wd); + pickup pencircle scaled normalline; + put_text("PM",0,.5omb_wd,90,2); +endchar; + +"Optical Modulator Box horizontal"; +beginchar(164,omb_wd#,.5omb_ht#,.5omb_ht#); + pickup pensquare scaled thickline; + rectangle(omb_wd,omb_ht,0,0); + pickup pensquare scaled normalline; + put_text("OM",.5omb_wd,0,0,2); +endchar; + +"Optical Modulator Box vertical"; +beginchar(165,omb_ht#,.5omb_wd#,.5omb_wd#); + pickup pensquare scaled thickline; + rectangle(omb_ht,omb_wd,0,0); %-.5omb_ht,.5omb_wd); + pickup pensquare scaled normalline; + put_text("OM",.5omb_ht,0,90,2); +endchar; + +end; +%% +%% +%% End of file `cioptic.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/ciphysic.mf b/Master/texmf-dist/fonts/source/public/circ/ciphysic.mf new file mode 100644 index 00000000000..a1d28d887cd --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/ciphysic.mf @@ -0,0 +1,237 @@ +%% +%% This is file `ciphysic.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `ciphysicmf') +%% 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'. +font_identifier:="ciphysic"; + +string optionname; optionname:="physics"; + +input defcirc.mf; + +%% SPRING + +spring_lt#= 5CIu#; +lspring_lt#= 7CIu#; +spring_th#= 1CIu#; +define_whole_pixels(lspring_lt,spring_lt,spring_th); +spring_gap= .6CIu; +spring_n=11; +spring_swd=(spring_lt-2spring_gap)/spring_n; +lspring_swd=(lspring_lt-2spring_gap)/spring_n; + +twopinchar("spring")("k")("spring") + (spring_lt#, .5spring_th#, .5spring_th#) +( pickup pensquare scaled normalline; + z0=(0,0); + shiftpoint:=z0+(spring_lt,0); + z1=z0+(spring_gap,0); + draw z0--z1; + pickup pencircle scaled normalline; + for i:=1 upto spring_n: + x[i+1]=x[i]+spring_swd; y[i+1]=y[0]+if odd(i): 1 else: -1 fi*.5spring_th; + if i=spring_n: y[i+1]:=y[i+1]-if odd(i): 1 else: -1 fi*.5spring_th fi; + draw z[i]--z[i+1]; + endfor; + z[spring_n+2]=z0+(spring_lt,0); + pickup pensquare scaled normalline; + z[spring_n+2]=z0+(spring_lt,0); + draw z[spring_n+1]--z[spring_n+2]; +) + +twopinchar("lspring")("k")("long spring") + (lspring_lt#, .5spring_th#, .5spring_th#) +( pickup pensquare scaled normalline; + z0=(0,0); + shiftpoint:=z0+(lspring_lt,0); + z1=z0+(spring_gap,0); + draw z0--z1; + pickup pencircle scaled normalline; + for i:=1 upto spring_n: + x[i+1]=x[i]+lspring_swd; y[i+1]=y[0]+if odd(i): 1 else: -1 fi*.5spring_th; + if i=spring_n: y[i+1]:=y[i+1]-if odd(i): 1 else: -1 fi*.5spring_th fi; + draw z[i]--z[i+1]; + endfor; + z[spring_n+2]=z0+(lspring_lt,0); + pickup pensquare scaled normalline; + draw z[spring_n+1]--z[spring_n+2]; +) + +%% MASS single/double + +dmass_lt#= 2CIu#; +mass_r#= 1.5CIu#; +define_whole_pixels(dmass_lt,mass_r); + +twopinchar("fdmass")("m")("mass with two forces; full drawn") + (dmass_lt#, .5mass_r#, .5mass_r#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(dmass_lt,0); + shiftpoint:=z1; + draw z0--z1; + z2=.5[z0,z1]; + pickup pencircle scaled mass_r; + drawdot z2; +) + +twopinchar("dmass")("m")("mass with two forces; outlined") + (dmass_lt#, .5mass_r#, .5mass_r#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(.5(dmass_lt-mass_r),0); + draw z0--z1; + z3=z0+(dmass_lt,0); + shiftpoint:=z3; + z4=z3-(.5(dmass_lt-mass_r),0); + draw z3--z4; + z2=.5[z0,z3]; + pickup pencircle scaled normalline; + draw fullcircle scaled mass_r shifted z2; +) + +twopincharfour("fmass")("m")(".")("*")("mass; full drawn") + (dmass_lt#, .5mass_r#, .5mass_r#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(dmass_lt,0); + z2=.5[z0,z1]; + draw z0--z2; + pickup pencircle scaled mass_r; + drawdot z2; + + shiftpoint:=z1; +) + +twopincharfour("mass")("m")(".")("*")("mass; outlined") + (dmass_lt#, .5mass_r#, .5mass_r#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(.5(dmass_lt-mass_r),0); + draw z0--z1; + z3=z0+(dmass_lt,0); + z2=.5[z0,z3]; + pickup pencircle scaled normalline; + draw fullcircle scaled mass_r shifted z2; + + shiftpoint:=z3; +) + +%% WALL + +wall_lt#= 1.5CIu#; +wall_ht#= 2.5CIu#; +define_whole_pixels(wall_ht, wall_lt); +wall_f=1/3; +wall_n=6; +wall_alpha=40; + +twopincharfour("wall")("{}")(".")("|")("wall") + (wall_lt#,.5wall_ht# + +wall_lt#*(1-wall_f)*sind(wall_alpha),.5wall_ht#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(wall_f*wall_lt,0); + draw z0--z1; + z1=.5[z2,z3]; y3-y2=wall_ht; x3=x2; + pickup pensquare scaled verythickline; + draw z2--z3; + path a; + a=(0,0)--(1-wall_f)*wall_lt*dir(wall_alpha); + pickup pencircle scaled normalline; + for i:=0 upto wall_n: draw a shifted (i/wall_n)[z2,z3]; endfor + + shiftpoint:=z0+(wall_lt,0); +) + +tile_lt#= 2CIu#; +tile_ht#= .4CIu#; +tile_f=0.1; + +define_whole_pixels(tile_lt,tile_ht); + +twopincharfour("tile")("{}")(".")("*")("tile") + (wall_lt#,.5tile_ht#,.5tile_ht#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(tile_lt,0); + z2=tile_f[z0,z1]; + draw z0--z1; + pickup pensquare scaled verythickline; + draw z1--z2; + shiftpoint:=z1; +) + +spin_lt#= 2CIu#; +spin_r#= .7CIu#; +spin_ht#= 2CIu#; +spin_alt= .5CIu; +spin_awd= .1CIu; +define_whole_pixels(spin_lt,spin_r, spin_ht); + +twopinchar("spinu")("S")("spin up") + (spin_lt#, .6spin_ht#, .6spin_ht#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(spin_lt,0); + draw z0--z1; + z2=.5[z0,z1]; + y3-y4=spin_ht; + x3=x4=x2; + y2=.6[y3,y4]; + y5=y6=y3-spin_alt; + x5=x2-spin_awd; + x6=x2+spin_awd; + draw z3--z4; + filldraw z5--z3--z6--cycle; + pickup pencircle scaled spin_r; + drawdot z2; + shiftpoint:=z1; +) + +twopinchar("spind")("S")("spin down") + (spin_lt#, .6spin_ht#, .6spin_ht#) +( pickup pensquare scaled normalline; + z0=(0,0); + z1=z0+(spin_lt,0); + draw z0--z1; + z2=.5[z0,z1]; + y3-y4=-spin_ht; + x3=x4=x2; + y2=.6[y3,y4]; + y5=y6=y3+spin_alt; + x5=x2-spin_awd; + x6=x2+spin_awd; + draw z3--z4; + filldraw z5--z3--z6--cycle; + pickup pencircle scaled spin_r; + drawdot z2; + shiftpoint:=z1; +) + +endCIRCfont +%% +%% +%% End of file `ciphysic.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/cirest.mf b/Master/texmf-dist/fonts/source/public/circ/cirest.mf new file mode 100644 index 00000000000..a08e44db056 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/cirest.mf @@ -0,0 +1,740 @@ +%% +%% This is file `cirest.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csyrest') +%% 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:=.5lLE#; + +def gaslamp = + z0=(0,0); + z4=z0+(.5,0)*lLE; + y4=y3; + x2=x1; + x3=x4+3lLE; + y2=y1+2lLE; + y4=.5[y1,y2]; + x1=.5[x4,x3]; + + x5=x0+1.1lLE; + y5=y0; + x7=x6=x5; y7-y6=.5lLE; + .5[y7,y6]=y0; + + y8=y9=y0; + x8=x0+4lLE; + + x9=x8-1.1lLE; + + pickup pencircle scaled normalline; + draw superellipse(z3,z2,z4,z1,.75); + draw z0--z5; + draw z6--z7; + draw z8--z9; + pickup pencircle scaled .3lLE; + drawdot z9; +enddef; + +def switch = %"uberarbeiten + numeric pl; + pl:=swt_lt*swt_dis; + sl:=(1-2swt_dis)*swt_lt; + z0=(0,0); + z1=z0+(pl,0); + z2=z1+((sl,0) rotated swt_phi); + z3=z1+(swt_ind*sl,0); + z4=z0+(swt_lt,0); + z5=z3+(0,swt_slt); + pickup pensquare scaled normalline; + draw z0--z1--z2; + draw z3--z4; + draw z3--z5; +enddef; + +def dswitch = + z0=(0,0); + z1=dsw_t[z0,z0+(dsw_wd,0)]; + x2=x3=x4=x5=x0+((1-dsw_c)*dsw_wd); + y0=.5[y2,y3]=.5[y4,y5]; + y2-y3=dsw_ht; + y2-y4=dsw_cc*dsw_ht; + y2=y6; y3=y7; + x6-x3=x7-x3=dsw_c*dsw_wd; + x8=x1+dsw_ov+((1-dsw_c-dsw_t)*dsw_wd); + y8=sind(dsw_phi)*x8/cosd(dsw_phi); + pickup pensquare scaled normalline; + draw z0--z1--z8; + draw z4--z2--z6; + draw z5--z3--z7; +enddef; + +def circle = % "uberarbeiten + numeric pl; + pl:=.5cir_lt-cir_ht; + z0=(0,0); + z1=z0+(pl,0); + z2=z0+(.5cir_lt,0); + z3=z1+(2cir_ht,0); + z4=z3+(pl,0); + pickup pensquare scaled normalline; + draw z0--z1; + draw z3--z4; + pickup pencircle scaled thickline; + draw fullcircle scaled 2cir_ht shifted z2; +enddef; + +def lamp = + circle + z10-z11=(2cir_ht,0) rotated 45; + z12-z13=(2cir_ht,0) rotated -45; + .5[z10,z11]=z2=.5[z12,z13]; + pickup pencircle scaled normalline; + draw z10--z11; + draw z12--z13; +enddef; + +def circle_var = + circle; + pickup pencircle scaled thinline; + noarrowTF; + arrow(z2,cir_ara,cir_arb,cir_phi,arr_lt,arr_phi)(); +enddef; + +def usource = %"uberarbeiten + numeric pl; + pl:=.5(uso_lt-uso_spc); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(uso_spc,0); + z3=z2+(pl,0); + pickup pensquare scaled normalline; + draw z0--z1; + draw z2--z3; + z1=.5[z4,z5]; x4-x5=0; y5-y4=uso_pls; + z2=.5[z6,z7]; x6-x7=0; y7-y6=uso_min; + pickup pensquare scaled thickline; + draw z4--z5; + draw z6--z7; +enddef; + +def usource_var = + usource; + noarrowTF; + pickup pencircle scaled thinline; + arrow(.5[z1,z2],uso_ara,cir_arb,uso_phi,arr_lt,arr_phi)(); +enddef; + +def isource = %"uberarbeiten + numeric pl; + pl:=.5(iso_lt-(4-iso_dis)*iso_rad); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(iso_rad,0); + z3=z2+((2-iso_dis)*iso_rad,0); + z4=z3+(iso_rad,0); + z5=z4+(pl,0); + pickup pensquare scaled normalline; + draw z0--z1; + draw z4--z5; + pickup pencircle scaled thickline; + draw fullcircle scaled (2*iso_rad) shifted z2; + draw fullcircle scaled (2*iso_rad) shifted z3; +enddef; + +def isource_var = + isource; + noarrowTF; + pickup pencircle scaled thinline; + arrow(.5[z2,z3],iso_ara,iso_arb,iso_phi,arr_lt,arr_phi)(); +enddef; + +def value = % "uberarbeiten + z0=(0,0); + z1=z0+(val_lt,0); + pickup pensquare scaled normalline; + draw z0--z1; + z2=val_lft[z0,z1]; + z3=val_rht[z0,z1]; + triangle(z2,abs(z3-z2),val_phi,0); +enddef; + +def coil = %"uberarbeiten + numeric pl; + pl:=.5(coi_lt-2coi_num*coi_rad); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(coi_rad,0); + for m=1 upto coi_num-1: z[m+2]=z[m+1]+(2coi_rad,0); endfor; + z[2+coi_num]=z[1+coi_num]+(coi_rad,0); + z[3+coi_num]=z[2+coi_num]+(pl,0); + pickup pensquare scaled normalline; + draw z0--z1; + draw z[2+coi_num]--z[3+coi_num]; + pickup pencircle scaled normalline; + for m=1 upto coi_num: draw halfcircle scaled 2coi_rad shifted z[m+1]; endfor; +enddef; + +def crystal = %"uberarbeiten + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(cry_lt-2cry_spc-cry_wd); + z0=(0,0); z1=z0+(pl,0); + z2=z1+(cry_spc,0); + z3=z2+(cry_wd,0); + z4=z3+(cry_spc,0); + z5=z4+(pl,0); + z6-z7=z8-z9=z10-z11=z12-z13=(0,cry_ht); + z2=.5[z6,z7]; z3=.5[z8,z9]; z1=.5[z10,z11]; z4=.5[z12,z13]; + draw z0--z1; draw z4--z5; draw z10--z11; draw z12--z13; + draw z7--z9--z8--z6--cycle; +enddef; + +def inout = % "uberarbeiten + z0=(ioc_lt,0); + pickup pensquare scaled normalline; + z2=z0+(ioc_lt,0); + lft(z1)=z0+(.5ioc_dia,0); + draw z1--z2; +enddef; + +def minout = + z0=(0,0); + z1=z0+(ioc_lt,0); + pickup pensquare scaled normalline; + arrow(z0,0,ioc_lt,180,ioc_arr,ioc_phi)(pickup pencircle scaled normalline); +enddef; + +def ground = % Masse z0 z11 + z0=(0,0); x1=x0=x2=x3; + y0-y1=gnd_ht; + y1-y2=y2-y3=gnd_spc; + y4=y1=y10; y2=y6; y3=y8; + z1=.5[z4,z5]; x5-x4=gnd_wd; + z1=.5[z10,z11]; x11-x10=GND_wd; + z2=.5[z6,z7]; x7-x6=gnd_wd*gnd_q; + z3=.5[z8,z9]; x9-x8=gnd_wd*gnd_q*gnd_q*gnd_q; +enddef; + +"Spule"; +fourchars(0)(coil)(z[3+coi_num])(coi_ht#,coi_lt#,0); + +"Quarz"; +twochars(4)(crystal)(.5cry_ht#,cry_lt#,.5cry_ht#); + +"Lampe"; +twochars(6)(lamp)(cir_ht#,cir_lt#,cir_ht#); + +"Kreise mit Anschl"&ditto&"ussen"; +twochars(8)(circle)(cir_ht#,cir_lt#,cir_ht#); + +"Kreise mit Anschl"&ditto&"ussen variabel"; +twochars(10)(circle_var)(cir_ht#,cir_lt#,cir_ht#); + +"Stromquelle"; +twochars(12)(isource)(iso_ht#,iso_lt#,iso_ht#); + +"Stromquelle variabel"; +twochars(14)(isource_var)(iso_ht#,iso_lt#,iso_ht#); + +"Spannungsquelle"; +fourchars(16)(usource)(z3)(uso_ht#,uso_lt#,uso_ht#); + +"Spannungsquelle variabel"; +fourchars(20)(usource_var)(z3)(uso_ht#,uso_lt#,uso_ht#); + +"Schalter"; +twochars(24)(switch)(swt_ht#,swt_lt#,0); + +"Umschalter"; +eightchars(32)(dswitch)(dsw_wd#,.5dsw_ht#,.5dsw_ht#,0); + +"Stromquelle variante"; +twochars(44)(circle; + pickup pencircle scaled normalline; + draw z1--z3;)(cir_ht#,cir_lt#,cir_ht#); + +"Spannungsquelle variante"; +twochars(46)(circle; + pickup pencircle scaled normalline; + draw (z1--z3) rotatedaround (z2,90);)(cir_ht#,cir_lt#,cir_ht#); + +"Gas-Lamp"; +fourchars(40)(gaslamp)(z0)(1.5lLE#,4lLE#,1.5lLE#); + +"Stromquelle variante"; +twochars(44)(circle; + pickup pencircle scaled normalline; + draw z1--z3;)(cir_ht#,cir_lt#,cir_ht#); + +"Spannungsquelle variante"; +twochars(46)(circle; + pickup pencircle scaled normalline; + draw (z1--z3) rotatedaround (z2,90);)(cir_ht#,cir_lt#,cir_ht#); + +"Anschl"&ditto&"usse Pfeil"; +fourchars(232) + (minout;)(z1)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#); + +"Anschl"&ditto&"usse leer"; +fourchars(240) + (inout; + pickup pencircle scaled thinline; + draw fullcircle scaled ioc_dia shifted z0; + )(z2)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#); + +"Anschl"&ditto&"usse voll"; +fourchars(244) + (inout; + pickup pencircle scaled ioc_dia; + draw z0; + )(z2)(.5ioc_ht#,2ioc_lt#,.5ioc_ht#); + +"Str"&ditto&"ome"; +fourchars(248)(value;)(z1)(val_ht#,val_lt#,val_ht#); + +"wwire half R"; +beginchar(112,.5lLE#,0pt,0pt); + z0=(0,0); + y4-y3=y2-y1=ww_spc; + x3-x1=.5lLE; + x0=x1=x2; + x3=x4; + y0=.5[y1,y2]=.5[y3,y4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"wwire R"; +beginchar(113,1lLE#,0pt,0pt); + z0=(0,0); + y4-y3=y2-y1=ww_spc; + x3-x1=1lLE; + x0=x1=x2; + x3=x4; + y0=.5[y1,y2]=.5[y3,y4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"wwire half L"; +beginchar(114,.5lLE#,0pt,0pt); + z0=(0,0); + y4-y3=y2-y1=ww_spc; + x3-x1=.5lLE; + x0=x3=x4; + x1=x2; + y0=.5[y1,y2]=.5[y3,y4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"wwire half U"; +beginchar(115,0pt,.5lLE#,0pt); + z0=(0,0); + x4-x3=x2-x1=ww_spc; + y3-y1=.5lLE; + y0=y1=y2; + y3=y4; + x0=.5[x1,x2]=.5[x3,x4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"wwire U"; +beginchar(116,0pt,1lLE#,0pt); + z0=(0,0); + x4-x3=x2-x1=ww_spc; + y3-y1=1lLE; + y0=y1=y2; + y3=y4; + x0=.5[x1,x2]=.5[x3,x4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"wwire half D"; +beginchar(117,0pt,0pt,.5lLE#); + z0=(0,0); + x4-x3=x2-x1=ww_spc; + y3-y1=.5lLE; + y0=y3=y4; + y1=y2; + x0=.5[x1,x2]=.5[x3,x4]; + pickup pensquare scaled normalline; + draw z1--z3; + draw z2--z4; +endchar; + +"dashed halfline R"; +beginchar(120,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(.25lLE,0); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"dashed line R"; +beginchar(121,1lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(1lLE,0); + z2=.25[z0,z1]; + z3=.75[z0,z1]; + pickup pensquare scaled normalline; + draw z2--z3; +endchar; + +"dashed halfline L"; +beginchar(122,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0-(.25lLE,0); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"dashed halfline U"; +beginchar(123,0pt,.5lLE#,0pt); + z0=(0,0); + z1=z0+(0,.25lLE); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"dashed line U"; +beginchar(124,0pt,1lLE#,0pt); + z0=(0,0); + z1=z0+(0,1lLE); + z2=.25[z0,z1]; + z3=.75[z0,z1]; + pickup pensquare scaled normalline; + draw z2--z3; +endchar; + +"dashed halfline D"; +beginchar(125,0pt,0pt,.5lLE#); + z0=(0,0); + z1=z0-(0,.25lLE); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie horizontal halb R"; +beginchar(128,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(.5lLE,0); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie horizontal R"; +beginchar(129,1lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(1lLE,0); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie horizontal halb L"; +beginchar(130,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0-(.5lLE,0); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie vertikal halb U"; +beginchar(131,0pt,.5lLE#,0pt); + z0=(0,0); + z1=z0+(0,.5lLE); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie vertikal U"; +beginchar(132,0pt,1lLE#,0pt); + z0=(0,0); + z1=z0+(0,1lLE); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"Linie vertikal halb D"; +beginchar(133,0pt,0pt,.5lLE#); + z0=(0,0); + z1=z0-(0,.5lLE); + pickup pensquare scaled normalline; + draw z0--z1; +endchar; + +"B"&ditto&"undel horizontal"; +beginchar(134,0,.8bnd_lt#,0pt); + z0=(0,0); + z0=.5[z2,z3]; + z3-z2=(bnd_lt,0) rotated bnd_phi; + pickup pencircle scaled thinline; + draw z2--z3; +endchar; + +"B"&ditto&"undel vertikal"; +beginchar(135,.8bnd_lt#,0pt,0pt); + z0=(0,0); + z0=.5[z2,z3]; + z3-z2=(bnd_lt,0) rotated (90-bnd_phi); + pickup pencircle scaled thinline; + draw z2--z3; +endchar; + +"Linie fett horizontal R"; +beginchar(136,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(.5lLE,0); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Linie fett horizontal R"; +beginchar(137,1lLE#,0pt,0pt); + z0=(0,0); + z1=z0+(1lLE,0); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Linie fett horizontal halb L"; +beginchar(138,.5lLE#,0pt,0pt); + z0=(0,0); + z1=z0-(.5lLE,0); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Linie fett vertikal halb U"; +beginchar(139,0pt,.5lLE#,0pt); + z0=(0,0); + z1=z0+(0,.5lLE); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Linie fett vertikal U"; +beginchar(140,0pt,1lLE#,0pt); + z0=(0,0); + z1=z0+(0,1lLE); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Linie fett vertikal halb D"; +beginchar(141,0pt,0pt,.5lLE#); + z0=(0,0); + z1=z0-(0,.5lLE); + pickup pensquare scaled 2normalline; + draw z0--z1; +endchar; + +"Oscillograph"; +beginchar(142,osc_dia#,.5osc_dia#,.5osc_dia#); + z0=(0,0); + z1=z0; + z5=.5[z1,z3]=.5[z2,z4]; + x2=x4; + y1=y3; + x3-x1=y4-y2=osc_dia; + .5osc_gt+osc_spc+osc_stm=.5osc_dia; + osc_stm=osc_t*osc_gt; + z6=z1+(osc_stm,0); + z7=z2+(0,osc_stm); + z8=z3+(-osc_stm,0); + z9=z4+(0,-osc_stm); + z6=.5[z10,z11]; x10=x11; x16-x17=y14-y15=x12-x13=y11-y10=osc_gt; + z7=.5[z12,z13]; y12=y13; + z8=.5[z14,z15]; x14=x15; + z9=.5[z16,z17]; y16=y17; + pickup pensquare scaled normalline; %drawing style by Andreas Tille + draw z1--z6; %code rewritten by SeTa + draw z2--z7; + draw z3--z8; + draw z4--z9; + pickup pencircle scaled normalline; + draw fullcircle scaled osc_dia shifted z5; + pickup pensquare scaled thickline; + draw z10--z11; + draw z12--z13; + draw z14--z15; + draw z16--z17; +endchar; + +"a small grey elephant: Thanks to Andreas Tille."; +LE#:=.03mm#; +define_pixels(LE); +numeric nPnt; +def p(expr px,py) = x[nPnt]:=px*LE; y[nPnt]:=py*LE; nPnt:=nPnt+1 enddef; + +beginchar(252,540LE#,265LE#,274LE#); + pickup pencircle scaled 0.4pt; + path a, b; + picture cutpic; + nPnt:=0; + +p( 0, 0); % copyright by Sebastian Tannert +p( 0, 18); % Please think of the hard work! +p( -2, 46);p( -3, 92);p( 8,117);p( 28,152); +p( 38,171);p( 71,195);p(107,218);p(138,240);p(159,255);p(181,261); +p(193,264);p(211,268);p(231,263);p(249,264);p(273,259);p(292,255); +p(311,249);p(336,240);p(380,222);p(414,208);p(437,198);p(449,193); +p(461,190);p(473,185);p(490,173);p(506,157);p(519,125);p(526, 91); +p(530, 56);p(530, 35);p(523, 17);p(518, 1);p(509,-22);p(511,-46); +p(515,-71);p(514,-96);p(512,-112);p(511,-135);p(507,-150);p(498,-171); +p(485,-184);p(465,-197);p(448,-200);p(429,-194);p(418,-177);p(414,-168); +p(420,-159);p(427,-157);p(435,-163);p(439,-171);p(449,-164);p(461,-165); +p(470,-152);p(476,-139);p(476,-118);p(475,-97);p(465,-76);p(450,-62); +p(442,-50);p(427,-36);p(417,-29);p(409,-27);p(392,-12);p(383,-10); +p(374,-18);p(370,-34);p(363,-58);p(347,-92);p(343,-106);p(341,-126); +p(330,-162);p(323,-196);p(322,-210);p(317,-237);p(327,-257);p(325,-268); +p(310,-270);p(301,-272);p(284,-266);p(269,-258);p(268,-236);p(270,-210); +p(282,-185);p(300,-151);p(315,-119);p(322,-93);p(325,-79);p(326,-63); +p(315,-75);p(303,-101);p(292,-134);p(281,-164);p(269,-189);p(258,-220); +p(259,-250);p(260,-266);p(252,-269);p(235,-260);p(221,-266);p(203,-261); +p(194,-242);p(201,-227);p(206,-213);p(207,-190);p(215,-162);p(222,-147); +p(225,-123);p(229,-96);p(234,-77);p(234,-65);p(236,-47);p(236,-30); +p(236,-12);p(240,6);p(248,19);p(264,37);p(146,41);p(158,24); +p(176,-3);p(188,-29);p(193,-53);p(185,-80);p(175,-106);p(165,-137); +p(152,-173);p(143,-202);p(142,-222);p(136,-232);p(141,-253);p(132,-255); +p(125,-255);p(105,-240);p(91,-239);p(75,-228);p(68,-205);p(70,-178); +p(85,-156);p(96,-127);p(100,-112);p(95,-88);p(79,-62);p(60,-38); +p(48,-16);p(36,18);p(28,63);p(24,41);p(28,17);p(29,-6);p(31,-32); +p(26,-43);p(17,-65);p(15,-83);p(12,-106);p(7,-126);p(0,-141); +p(-9,-147);p(-16,-131);p(-24,-110);p(-22,-94);p(-17,-75);p(-6,-55); +p(-2,-34);p(2,-19);p(190,-63);p(209,-75);p(234,-69);p(31,-32); +p(31,-44);p(26,-67);p(37,-95);p(45,-117);p(43,-158);p(38,-193); +p(25,-224);p(29,-249);p(52,-266);p(71,-264);p(88,-266);p(113,-273); +p(133,-273);p(138,-268);p(132,-255);p(457,48);p(462,30);p(481,21); +p(477,40);p(449,32);p(456,11);p(478,5);p(464,60);p(486,61); +p(499,37);p(363,93);p(352,110);p(348,129);p(358,149);p(386,162); +p(414,173);p(427,178);p(443,167);p(456,157);p(461,142);p(450,126); +p(436,110);p(419,74);p(409,53);p(396,40);p(372,51);p(365,67); +p(358,148);p(375,139);p(387,124);p(401,128);p(411,146);p(418,163); +p(427,168);p(443,167);p(444,161);p(434,152);p(432,135);p(440,124); +p(451,128);p(460,141);p(455,157);p(350,138);p(459,138);p(-30,276); +p(539,-283);p(539,276);p(-30,-283);p(427,-41);p(436,-54); + +draw for i:=0 upto 109: z[i]..endfor +z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}.. +for i:=124 upto 144: z[i]..endfor z145---z146..z147{down}.. +for i:=148 upto 164: z[i]..endfor z0; + +draw for i:=110 upto 116: z[i].. endfor z117; +draw for i:=118 upto 122: z[i].. endfor z123{down}; + +draw for i:=168 upto 182: z[i].. endfor z183; + +draw for i:=194 upto 210: z[i].. endfor cycle; + +draw for i:=211 upto 217: z[i].. endfor z218; + +a:= z226..z197..z198..z199..z200..z201..z202..z203..z227; +b:= z226--z227; +vshade(b,a,4,unitsquare scaled 1.8); + +a:= z227..z206..z207..z208..z209..z210..z194.. + z195..z196..z226; +b:= z227--z226; +vshade(b,a,4,unitsquare scaled 1.8); + +a:= z228--z230; +b:= z231--z229; +vshade(a,b,4,unitsquare); + +cutpic=nullpicture; + +addto cutpic contour(z228+(0,10)--z230+(10,10)--z229--z231--cycle); + +pickup pencircle scaled 0.7pt + +addto cutpic contour (for i:=0 upto 109: z[i].. endfor + z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}.. + for i:=124 upto 144: z[i].. endfor z145---z146..z147{down}.. + for i:=148 upto 164: z[i].. endfor cycle) withweight -1; + +addto cutpic doublepath + (for i:=0 upto 109: z[i].. endfor + z110{up}..z167{curl.7}..z166..z165{curl.7}..z123{down}.. + for i:=124 upto 144: z[i].. endfor z145---z146..z147{down}.. + for i:=148 upto 164: z[i].. endfor z0) withpen currentpen + withweight -1; + +addto cutpic doublepath z232..z233 withpen currentpen withweight -1; + +addto cutpic contour (for i:=168 upto 182: z[i].. endfor z183..z146..cycle) + withpen currentpen withweight -1; + +cull cutpic keeping (1,infinity) withweight -3; + +addto currentpicture also cutpic; + +pickup pencircle scaled .7pt; +draw z184..z185{z186-z184}..z186; +draw z186..z187{z184-z186}..z184; + +draw z188..z189..z190; +draw z191..z192..z193; +draw z232..z233; + +endchar; + +"Masse"; +beginchar(253,.5gnd_wd#,0,gnd_ht#+gnd_spc#+gnd_spc#); + ground + pickup pensquare scaled normalline; + draw z0--z1; + draw z4--z5; + draw z6--z7; + draw z8--z9; +endchar; + +"MASSE"; +beginchar(254,.5GND_wd#,0,gnd_ht#); + ground + pickup pensquare scaled normalline; + draw z0--z1; + pickup pensquare scaled verythickline; + draw z10--z11; +endchar; + +"Verbindungspunkt"; +beginchar(255,cdt_lt#,.5cdt_ht#,.5cdt_ht#); + pickup pencircle scaled cdt_dia; + z0=(0,0); + drawdot z0; +endchar; + +end; +%% +%% +%% End of file `cirest.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/cisym.mf b/Master/texmf-dist/fonts/source/public/circ/cisym.mf new file mode 100644 index 00000000000..b6dd9e5994a --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/cisym.mf @@ -0,0 +1,181 @@ +%% +%% This is file `cisym.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csysym') +%% 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:=.5lLE#; + +def eqtriangle(expr l)= + x1=x2=x0=x3-l; + y3=y0; + z1-z2=(z3-z2) rotated 60; +enddef; + +def sinus(expr A, k, s) = + j:=0; + for i:=0 step s until 360: + z[j]=(k*i,A*sind(i)); + j:=j+1; + endfor + draw for i:=0 upto floor(360/s)-1: z[i].. endfor z[floor(360/s)]; +enddef; + +def disarrow = + z0=(0,0); + x0=x1=x2; + y1-y2=darr_ht; + .5[z1,z2]=z0; + y0=y3; + x3-x0=darr_lt; + pickup pensquare scaled normalline; + draw z0--z3; + draw z1--z2; + triangle(z0,darr_rad,darr_phi,0); +enddef; + +def trigger = + z0=(0,0); + x1=x2; x3=x4; + y2=y4=y5; y0=y1=y3; + x3-x1=.17sym; + x1-x0=x5-x4=.3sym; + y2-y1=sym; +enddef; + +def impuls = + z0=(0,0); + y0=y1=y4=y5=y7=y8=y9; + x1-x0=x3-x2=x5-x4=x8-x7=.6sym; + x9-x0=x6-x2=.2sym; + x1=x2; x3=x4; x6=x7; + y2-y1=y3-y4=y6-y7=sym; + x10=x0; y11=y10=y2; + x11=x8; +enddef; + + "Rechteckimpuls"; + beginchar(1,1.9sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw z0--z1--z2--z3--z4--z5; + endchar; + + "positive Flanke"; + beginchar(2,1.3sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw z0--z1--z2--z3; + endchar; + + "negative Flanke"; + beginchar(3,1.3sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw (z2--z3--z4--z5) shifted (x0-x1,0); + endchar; + + "Nadelimpuls"; + beginchar(4,1.5sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw (z0--z1--z2--z6--z7--z8); + endchar; + + "inverser Nadelimpuls"; + beginchar(12,1.5sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw (z10--z2--z1--z7--z6--z11); + endchar; + + "Rechteckspannung"; + beginchar(5,3.1sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw z0--z1--z2--z3--z4--z5; + draw (z0--z1--z2--z3--z4--z5) shifted z4; + endchar; + + "Rechteckimpulse"; + beginchar(13,2.6sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw z0--z1--z2--z6--z7--z8; + draw (z0--z1--z2--z6--z7--z8) shifted z4; + + endchar; + + "S"&ditto&"agezahn"; + beginchar(6,1.9sym#,sym#,0); + impuls + pickup pensquare scaled normalline; + draw z0--z9--z3--z4--z5; + endchar; + + "Trigger"; + beginchar(7,.87sym#,sym#,0); + trigger + pickup pensquare scaled normalline; + draw z0--z1--z2--z5; + draw z1--z3--z4; + endchar; + + "Abstandsst"&ditto&"uck"; + fourchars(8)(disarrow)(z0)(.5darr_ht#,darr_lt#,.5darr_ht#); + +"sinus wave"; +beginchar(16,1.6sym#,9/35*sym#,9/35*sym#); + pickup pencircle scaled normalline; + sinus(9/35*sym,1.6sym/360,45); +endchar; + +"variable sinus wave"; +beginchar(17,1.6sym#,9/35*sym#,9/35*sym#); + pickup pencircle scaled normalline; + sinus(9/35*sym,1.6sym/360,45); + fillarrow((.8*sym,0),20/35*sym,15/35*sym,45,15/35*sym,15)(); +endchar; + +"symbol of amplifier"; +beginchar(24,cosd(30)*1.9sym#,.95sym#,.95sym#); + z0=(0,0); + eqtriangle(1.9sym); + pickup pencircle scaled normalline; + draw z1--z2--z3--cycle; +endchar; + +"symbol of buffer"; +beginchar(25,cosd(30)*1sym#,.5sym#,.5sym#); + z0=(0,0); + eqtriangle(1sym); + pickup pencircle scaled normalline; + draw z1--z2--z3--cycle; +endchar; + +bye; +%% +%% +%% End of file `cisym.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/ciwidko.mf b/Master/texmf-dist/fonts/source/public/circ/ciwidko.mf new file mode 100644 index 00000000000..d82dd1770a7 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/ciwidko.mf @@ -0,0 +1,160 @@ +%% +%% This is file `ciwidko.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csywidko') +%% 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:=.5lLE#; + +def resistor = + numeric pl; + pl:=.5(res_lt-res_wd); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(res_wd,0); + z3=z2+(pl,0); + z4-z5=z6-z7=(0,res_ht); + z1=.5[z4,z5]; + z2=.5[z6,z7]; + z8=z0+(res_x,-res_y); + pickup pensquare scaled normalline; + draw z0--z1; + draw z2--z3; + draw z4--z6--z7--z5--cycle; +enddef; + +usR_iwd# = 3lLE#; +usR_iht# = 1lLE#; +usR_wd# = 4lLE#; +usR_f = .25; +define_pixels(usR_iwd, usR_iht, usR_wd); + +vardef usR = + z0=(0,0); + z1=z0; + y1=y2=y3=y4; + x2-x1=usR_wd; + x4-x3=usR_iwd; + .5[x1,x2]=.5[x3,x4]; + y5=y7=y9; + y6=y8=y10; + y5-y6=usR_iht; + .5[y5,y6]=y1; + x7-x5=x9-x7=x11-x9=x8-x6=x10-x8; + x6=.5[x5,x7]; + x8-x6=(usR_wd-usR_iwd); + x5-x3=usR_f*(x8-x6); + pickup pensquare scaled normalline; + draw z1--z3--z5--z6--z7--z8--z9--z10--z4--z2; +enddef; + +vardef usR_var = + {{ + addxTF(shifted -z6 rotated -90); + usR; + pickup pensquare scaled normalline; + arrow(z6,.8res_ara,.5usR_iht,res_phi,arr_lt,arr_phi) + (pickup pencircle scaled normalline); + }} +enddef; + +def resistor_var = + {{ + addxTF(shifted -z8 rotated -90); + resistor; + pickup pensquare scaled normalline; + arrow(z8,res_ara,0,res_phi,arr_lt,arr_phi) + (pickup pencircle scaled normalline); + }} +enddef; + +def capacitor = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(cap_lt-cap_spc); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(cap_spc,0); + z3=z2+(pl,0); + z4-z5=z6-z7=(0,cap_ht); + z1=.5[z4,z5]; + z2=.5[z6,z7]; + draw z0--z1; + draw z2--z3; + draw z4--z5; + draw z6--z7; +enddef; + +def capacitor_var = + capacitor; + noarrowTF; + pickup pencircle scaled thinline; + arrow(.5[z1,z2],cap_ara,cap_arb,cap_phi,arr_lt,arr_phi)(); +enddef; + +def electrolytic_capacitor = + pickup pensquare scaled normalline; + numeric pl; + pl:=.5(cap_lt-cap_spc-cap_wd); + z0=(0,0); + z1=z0+(pl,0); + z2=z1+(cap_spc,0); + z3=z2+(cap_wd,0); + z4=z3+(pl,0); + z5-z6=z7-z8=z9-z10=(0,cap_ht); + z1=.5[z5,z6]; + z2=.5[z7,z8]; + z3=.5[z9,z10]; + draw z0--z1; + draw z3--z4; + draw z5--z6; + draw z7--z9--z10--z8--cycle; +enddef; + +"Widerstand"; +twochars(0)(resistor)(.5res_ht#,res_lt#,.5res_ht#); + +"US Widerstand"; +twochars(24)(usR)(.5res_ht#,res_lt#,.5res_ht#); + +"Widerstand variabel"; +eightchars(8)(resistor_var)(res_y#,res_lt#-res_x#,res_x#,res_o#); + +"US Widerstand variabel"; +eightchars(32)(usR_var)(res_y#,res_lt#-res_x#,res_x#,res_o#); + +"Kondensator"; +twochars(128)(capacitor)(.5cap_ht#,cap_lt#,.5cap_ht#); + +"Kondensator variabel"; +twochars(130)(capacitor_var)(.5cap_ht#,cap_lt#,.5cap_ht#); + +"Elektrolyt-Kondensator"; +fourchars(136)(electrolytic_capacitor)(z4)(.5cap_ht#,cap_lt#,.5cap_ht#); + +end; +%% +%% +%% End of file `ciwidko.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/csym.mf b/Master/texmf-dist/fonts/source/public/circ/csym.mf new file mode 100644 index 00000000000..8656865f7eb --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/csym.mf @@ -0,0 +1,499 @@ +%% +%% This is file `csym.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `csym') +%% 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'. +mode_setup; + +lLE# :=7pt#; +define_whole_pixels(lLE); + +linethickness#:= 0.45pt#; +thinline# := 0.5linethickness#; +normalline# := 1.0linethickness#; +thickline# := 1.5linethickness#; +verythickline#:= 2.5linethickness#; +define_whole_blacker_pixels(normalline,thinline,thickline,verythickline); + +fontdimen6: 1lLE#; + + + +box_wd# := 4lLE#; +define_pixels(box_wd); + +osc_dia# := 3lLE#; +osc_t := .75; % settings from Andreas Tille +osc_spc := .5lLE; +define_pixels(osc_dia); + +ww_spc := .25lLE; + +darr_ht# := 1.3lLE#; +darr_lt# := 1lLE#; +darr_phi := 10; +darr_rad := 1lLE; +define_pixels(darr_ht,darr_lt); + +bnd_lt# := 1lLE#; +bnd_phi := 60; +define_pixels(bnd_lt); + +dsw_wd# := 4lLE#; +dsw_ht# := 2lLE#; +dsw_ov := .2lLE; +dsw_t := .2; +dsw_cc := .35; +dsw_c := .3; +dsw_phi := 12; +define_pixels(dsw_wd,dsw_ht); + +tri_lt := 0.8lLE; +tri_phi := 18; + +arr_lt := 0.8lLE; +arr_phi := 10; + +cap_wd := .4lLE; %only for electrolytic capacitor +cap_spx := .32lLE; %only for electrolytic capacitor +cap_spy := .5lLE; %only for electrolytic capacitor +cap_rad := .4lLE; +cap_spc := .32lLE; +cap_ht# := 2lLE#; +cap_lt# := 2lLE#; +cap_phi := 45; +cap_ara := 1.4lLE; +cap_arb := 1.2lLE; +define_pixels(cap_lt,cap_ht); + +res_wd := 3lLE; +res_ht# := 1lLE#; +res_lt# := 4lLE#; +res_ara# := 3.3lLE#; +res_phi := 45; +res_x# := 1lLE#; +res_y# := 1lLE#; +res_o# := res_ara#*cosd(res_phi)-res_y#; +define_pixels(res_lt,res_ht,res_x,res_y,res_o,res_ara); + +did_wd := 1.5lLE; +did_ht# := 1.5lLE#; +did_lt# := 3lLE#; +did_zlt := .4lLE; +Dcap_ht := .5lLE; +Dcap_spc := .15lLE; +Dcap_wd := .35lLE; +define_pixels(did_lt,did_ht); + +thy_ht# := 1lLE#; +define_pixels(thy_ht); + +led_lt# := 1.5lLE#; +led_wd := .8lLE; +led_phi := 10; %aperture-angle of arrows +led_psi := 50; %angle of arrows from baseline +led_spc := .4lLE; %space between arrows +led_spx := .4lLE; +led_spy# := .8lLE#; +define_pixels(led_spy, led_lt); + +pnp_dis := 0.18; +npn_dis := (1-pnp_dis); +tst_fac := 0.23333; +tst_phi := 20; +tst_iht := 3lLE; +tst_wd# := 1lLE#; +tst_lt# := 2lLE#; +tst_ht# := 4lLE#; +define_pixels(tst_ht,tst_lt,tst_wd); + +cry_wd := .8lLE; +cry_spc := .32lLE; +cry_ht# := 2lLE#; +cry_lt# := 4lLE#; +define_pixels(cry_lt,cry_ht); + +ioc_dia := .5lLE; +ioc_ht# := .5lLE#; +ioc_lt# := 1lLE#; +ioc_arr := 0.7lLE; +ioc_phi := 12; +define_pixels(ioc_ht,ioc_lt); + +cdt_dia := .4lLE; +cdt_ht# := .4lLE#; +cdt_lt# := .2lLE#; +define_pixels(cdt_ht,cdt_lt); + +GND_wd# := 1.4res_ht#; +gnd_wd# := 1.8lLE#; +gnd_ht# := 1lLE#; +gnd_spc# := .2lLE#; +gnd_q := .7; +define_pixels(gnd_ht,gnd_spc,gnd_wd,GND_wd); + +inv_rad := .36lLE; +gat_ht# := 5lLE#; +gat_lt# := 7lLE#; +define_pixels(gat_lt,gat_ht); + +bbd_wd# := 6lLE#; +bbd_ht# := 10lLE#; +bba_wd# := 8lLE#; +bba_ht# := 4lLE#; +define_pixels(bbd_wd,bbd_ht,bba_wd,bba_ht); + +pin_lt# := 2lLE#; % pin length +ios_wd# := 2.5lLE#; % in out space +mid_wd# := 0lLE#; % middle width +pin_spc# := 2lLE#; % pin space +out_spc# := 1lLE#; % outer space between pin and box + +define_pixels(pin_lt,ios_wd,mid_wd,pin_spc,pin_wht,out_spc); + +val_lt# := 2lLE#; +val_phi := 7; +val_lft := 0; +val_rht := 0.9; +val_ht# := .2lLE#; +define_pixels(val_lt,val_ht); + +cir_ht# := 1.2lLE#; +cir_lt# := 4lLE#; +cir_phi := 45; +cir_ara := 2.2lLE; +cir_arb := 1.8lLE; +define_pixels(cir_ht,cir_lt); + +uso_ht# := 1.5lLE#; +uso_lt# := 4lLE#; +uso_min := 1lLE; +uso_pls := 3lLE; +uso_spc := .5lLE; +uso_rad := 3lLE; +uso_dis := 0.2; +uso_phi := 45; +uso_ara := 1.6lLE; +uso_arb := .8lLE; +define_pixels(uso_ht,uso_lt); + +iso_ht# := 1.2lLE#; +iso_lt# := 4lLE#; +iso_dis := 0.7; +iso_rad := .8lLE; +iso_phi := 45; +iso_ara := 2.2lLE; +iso_arb := 1.8lLE; +define_pixels(iso_ht,iso_lt); + +coi_ht# := .35lLE#; +coi_lt# := 4lLE#; +define_pixels(coi_ht,coi_lt); +coi_rad := coi_ht; +coi_num := 4; + +swt_lt# := 4lLE#; +swt_phi := 30; +swt_dis := 0.3; +swt_ind := 0.8; +swt_slt := 0.4lLE; +swt_ht# := (1-2swt_dis)*sind(swt_phi)*swt_lt#; +define_pixels(swt_ht,swt_lt); + +opv_ht# := 4.5lLE#; +opv_lt# := 14lLE#; +opv_dis# := 3lLE#; +opv_frc := 1.1; +define_pixels(opv_lt,opv_ht,opv_dis); + +fet_SD# := 4lLE#; % Source--Drain +fet_GSx# := 2lLE#; % Gate--Source, x +fet_GSy# := 1lLE#; % Gate--Source, y +fet_Gsub := 1lLE; % Gate--Substrat +fet_soSD := 0.3lLE; % Substrat "uber Source und Drain +fet_sarr := 0.2lLE; % Substrat--Pfeil +define_pixels(fet_SD,fet_GSx,fet_GSy); + +mos_SD# := fet_SD#; +mos_GSx# := fet_GSx#; +mos_GSy# := fet_GSy#; + +mos_sd := 2.3lLE; +mos_Gsub := fet_Gsub; +mos_ox := 0.3lLE; +mos_soSD := fet_soSD; +mos_rad := 0.2lLE; +define_pixels(mos_SD,mos_GSx,mos_GSy); + +sym# := 232/36pt#; +define_pixels(sym); + + +extra_endchar:=extra_endchar & "labels(range 0 thru 30);"; + +def {{ = + begingroup + save T; transform T; + T:=currenttransform; + save currenttransform; + transform currenttransform; + currenttransform:=T; +enddef; + +def }} = endgroup; enddef; + +def noarrowTF = + transform _aT; + numeric _x[],_y[]; + _aT:=currenttransform; + for $=1 upto 20 : _x[$]:=x[$]; _y[$]:=y[$]; endfor; + endgroup; + for $=1 upto 20 : x[$]:=_x[$]; y[$]:=_y[$]; endfor; + {{ +enddef; + +def addTF(text t) = currenttransform:=currenttransform t; enddef; +def addxTF(text t) = currenttransform:=(identity t) transformed + currenttransform; enddef; + +def triangle(expr p, l, alpha, phi) = + pair iz[]; + iz0=(0,0); + iz1=iz0+((l,0) rotated (alpha+phi)); + iz2=iz0+((l,0) rotated (-alpha+phi)); + fill ((iz0--iz1--iz2--cycle) shifted round(p)); +enddef; + +def arrow(expr p, a, b, phi, l, alpha)(text doother) = + pair iz[]; + iz0=(0,0); + iz1=iz0-((l,0) rotated (alpha+phi)); + iz2=iz0-((l,0) rotated (-alpha+phi)); + iz3=p transformed if known _aT : _aT; else: identity; fi; + iz3-iz4=(b,0) rotated phi; + iz5-iz3=(a,0) rotated phi; + iz6-iz3=(a-3*rt(0),0) rotated phi; + draw iz4--iz6; + doother; + draw ((iz1--iz0--iz2) shifted round(iz5)); + transform _aT; %Transformation l"oschen +enddef; + +def fillarrow(expr p, a, b, phi, l, alpha)(text doother) = + pair iz[]; + iz0=(0,0); + iz1=iz0-((l,0) rotated (alpha+phi)); + iz2=iz0-((l,0) rotated (-alpha+phi)); + iz3=p transformed if known _aT : _aT; else: identity; fi; + iz3-iz4=(b,0) rotated phi; + iz5-iz3=(a,0) rotated phi; + iz6-iz3=(a-3*rt(0),0) rotated phi; + draw iz4--iz6; + doother; + fill ((iz1--iz0--iz2--cycle) shifted round(iz5)); + transform _aT; %Transformation l"oschen +enddef; + +lightarr_spc#=.5lLE#; +lightarr_lt#=1.5lLE#; +lightarr_alt=round(.7lLE); +lightarr_awd=round(.2lLE); +define_pixels(lightarr_spc,lightarr_lt); +def lightarrows(expr zpoint,lightarr_psi) = + z100=zpoint; + x100=x103=x105; + x101=x104=x106=x100+lightarr_lt; + y103=y104=y100+.5lightarr_spc; + y105=y106=y100-.5lightarr_spc; + x107=x108=x109=x110=x104-lightarr_alt; + y107-y108=y109-y110=good.y(lightarr_awd); + .5[y107,y108]=y104; + .5[y109,y110]=y106; + pickup pensquare scaled normalline rotated lightarr_psi; + draw (z107--z104--z108--cycle) rotatedaround(z100,lightarr_psi); + draw (z109--z106--z110--cycle) rotatedaround(z100,lightarr_psi); + draw (z103--z104) rotatedaround(z100,lightarr_psi); + draw (z105--z106) rotatedaround(z100,lightarr_psi); + +enddef; + +def eightchars(expr cfchar) % erster Zeichenkode + (text dochar) % Zeichenkommandos + (expr x, yf, ys, o) = % Abst"ande + + beginchar(cfchar,x,ys,yf); charic:=o; + dochar; + endchar; + beginchar(cfchar+1,x,ys,yf); charic:=o; + {{addTF(reflectedabout(up,down)); dochar;}} + endchar; + beginchar(cfchar+2,yf,x,o+x); charic:=ys; + {{addTF(rotated 270); dochar;}} + endchar; + beginchar(cfchar+3,yf,x+o,x); charic:=ys; + {{addTF(rotated 270); addTF(reflectedabout(left,right)); dochar;}} + endchar; + beginchar(cfchar+4,x,yf,ys); charic:=o; + {{addTF(reflectedabout(left,right)); dochar;}} + endchar; + beginchar(cfchar+5,x,yf,ys); charic:=o; + {{addTF(rotated 180); dochar;}} + endchar; + beginchar(cfchar+6,ys,x,x+o); charic:=yf; + {{addTF(rotated 270); addTF(reflectedabout(up,down)); dochar;}} + endchar; + beginchar(cfchar+7,ys,x+o,x); charic:=yf; + {{addTF(rotated 90); dochar;}} + endchar; +enddef; + +def twochars(expr cfchar)(text dochar)(expr ht, wd, dp) = + beginchar(cfchar,wd,ht,dp); + dochar; + endchar; + beginchar(cfchar+1,dp,wd,ht); + {{addTF(rotated 90); dochar;}} + endchar; +enddef; + +def fourchars(expr cfchar)(text dochar)(text op)(expr ht, wd, dp) = + beginchar(cfchar,wd,ht,dp); + dochar; + endchar; + beginchar(cfchar+1,dp,wd,ht); + {{addTF(rotated 90); dochar;}} + endchar; + beginchar(cfchar+2,wd,dp,ht); + {{addTF(shifted -op rotated 180); dochar;}} + endchar; + beginchar(cfchar+3,ht,wd,dp); + {{addTF(shifted -op rotated -90); dochar;}} + endchar; +enddef; + +def fourfourchars(expr cfchar)(text dochar)(text op)(expr ht, wd, dp) = + beginchar(cfchar,wd,ht,dp); + dochar; + endchar; + beginchar(cfchar+1,dp,wd,ht); + {{addTF(rotated 90); dochar;}} + endchar; + beginchar(cfchar+2,wd,dp,ht); + {{addTF(shifted -op rotated 180); dochar;}} + endchar; + beginchar(cfchar+3,ht,wd,dp); + {{addTF(shifted -op rotated -90); dochar;}} + endchar; + beginchar(cfchar+4,wd,dp,ht); + {{addTF(reflectedabout(left,right)); dochar;}} + endchar; + beginchar(cfchar+5,ht,wd,dp); + {{addTF(reflectedabout(left,right) rotated 90); dochar;}} + endchar; + beginchar(cfchar+6,wd,ht,dp); + {{addTF(reflectedabout (left,right) shifted -op rotated 180); dochar;}} + endchar; + beginchar(cfchar+7,dp,wd,ht); + {{addTF(reflectedabout(left,right) shifted -op rotated -90); dochar;}} + endchar; +enddef; + + +primarydef x gridmod y = if x>0: (x mod y) else: -(-x mod y) fi enddef; + +def vshade(suffix pa, pb)(expr di, patternpath) = begingroup + path vl; + boolean ifshift; + + if not cycle patternpath: + errmessage "patternpath has to be a cyclic path!" fi; + + interim smoothing:=0; %change local only + interim autorounding:=0; + + ifshift:=true; + ydi:=round(1.41di); % round against pattern in + xdi:=round(di); % pattern + if xdi<2: errmessage "di to small! di>=2" fi; + xs:=xpart(point 0 of pa); + xe:=xpart(point infinity of pa); + if xs>xe: ye:=xe; xe:=xs; xs:=ye; fi %force xs<xe + xs:=xs+((xe-xs) mod xdi) / 2; %adjust grid horizontally + vl:=(xs,infinity)--(xs,-infinity); + oys:=ypart(pa intersectionpoint vl); + oys:=oys-.5ydi; %adjust grid vertically + for xs:=xs step xdi until xe: + vl:=(xs,infinity)--(xs,-infinity); % new cut line + ys:=ypart(pa intersectionpoint vl); + ye:=ypart(pb intersectionpoint vl); + ifshift:=not(ifshift); %shift periodically + sy:=ydi-((ys-oys) gridmod ydi); + ys:=ys+sy if ifshift: if sy-.5ydi<0:+else:-fi .5ydi fi; + for ys:=ys step if ys>ye:-fi ydi until ye: + fill patternpath shifted (xs,ys); + endfor + endfor; + endgroup +enddef; + +def hshade(suffix pa, pb)(expr di, patternpath) = begingroup + path hl; + boolean ifshift; + + if not cycle patternpath: + errmessage "patternpath has to be a cyclic path!" fi; + + interim smoothing:=0; %change local only + interim autorounding:=0; + + ifshift:=true; + xdi:=round(1.41di); % round against pattern in + ydi:=round(di); % pattern + if ydi<2: errmessage "di to small! di>=2" fi; + ys:=ypart(point 0 of pa); + ye:=ypart(point infinity of pa); + if ys>ye: xe:=ye; ye:=ys; ys:=xe; fi %force ys<ye + ys:=ys+((ye-ys) mod ydi) / 2; %adjust grid vertically + hl:=(infinity,ys)--(-infinity,ys); + oxs:=xpart(pa intersectionpoint hl); + oxs:=oxs-.5ydi; %adjust grid horizontally + for ys:=ys step ydi until ye: + hl:=(infinity,ys)--(-infinity,ys); % new cut line + xs:=xpart(pa intersectionpoint hl); + xe:=xpart(pb intersectionpoint hl); + ifshift:=not(ifshift); %shift periodically + sx:=xdi-((xs-oxs) gridmod xdi); + xs:=xs+sx if ifshift: if sx-.5xdi<0:+else:-fi .5xdi fi; + for xs:=xs step if xs>xe:-fi xdi until xe: + fill patternpath shifted (xs,ys); + endfor + endfor; + endgroup +enddef; + +endinput; +%% +%% +%% End of file `csym.mf'. diff --git a/Master/texmf-dist/fonts/source/public/circ/defcirc.mf b/Master/texmf-dist/fonts/source/public/circ/defcirc.mf new file mode 100644 index 00000000000..34c990935ac --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/circ/defcirc.mf @@ -0,0 +1,160 @@ +%% +%% This is file `defcirc.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% circ.dtx (with options: `defcircmf') +%% 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'. +mode_setup; +font_coding_scheme:="CIRC symbols"; + +message("CIRC %<*"&font_identifier_&">"); +message("CIRC \freecirc"); +message("CIRC \addCIRCfont "&font_identifier_); +message("CIRC %</"&font_identifier_&">"); +message("CIRC %<+doc> \optionline "&optionname); +message("CIRC %<*"&font_identifier_&",doc>"); +message(""); + +def endCIRCfont = + message("CIRC %</"&font_identifier_&",doc>"); + message("CIRC %<*"&font_identifier_&">"); + message("CIRC \protectcirc"); + message("CIRC %</"&font_identifier_&">"); + message(""); + bye; +enddef; + +CIu#:=7pt#; define_whole_pixels(CIu); + +current_char_code:=0; + +pair shiftpoint; + +linethickness#:= 0.45pt#; +thinline# := 0.5linethickness#; +normalline# := 1.0linethickness#; +thickline# := 1.5linethickness#; +verythickline#:= 2.5linethickness#; +define_whole_blacker_pixels(normalline,thinline,thickline,verythickline); + +fontdimen6: 1CIu#; + +extra_endchar:=extra_endchar & "labels(range 0 thru 100);"; + +def {{ = + begingroup + save T; transform T; + T:=currenttransform; + save currenttransform; + transform currenttransform; + currenttransform:=T; +enddef; + +def }} = endgroup; enddef; + +def addTF(text t) = currenttransform:=currenttransform t; enddef; + +def twopinchar(text name, lab, doc)(expr wd, ht, dp)(text body) = + message("CIRC \cdef "&name&" "&lab&" \CIRC"& + font_identifier_&" "&decimal(current_char_code)); + message("CIRC %<+doc> {"&doc&"}"); + message(""); + beginchar(current_char_code, wd, ht, dp); + body; + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,dp,wd,ht); + {{addTF(shifted -shiftpoint rotated -90); body;}} + endchar; + current_char_code:=current_char_code+1; +enddef; + +def twopincharfour(text name, lab, pini, pinii, doc) + (expr wd, ht, dp)(text body) = + message("CIRC \cdefiv "&name&" "&lab&" \CIRC"& + font_identifier_&" "&decimal(current_char_code)&" "& + pini&" "&pinii); + message("CIRC %<+doc> {"&doc&"}"); + message(""); + beginchar(current_char_code,wd,ht,dp); + body; + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,dp,wd,ht); + {{addTF(rotated 90); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,wd,dp,ht); + {{addTF(shifted -shiftpoint rotated 180); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,ht,wd,dp); + {{addTF(shifted -shiftpoint rotated -90); body;}} + endchar; + current_char_code:=current_char_code+1; +enddef; + +def twopincharfourfour(text name, lab, pini, pinii, doc) + (expr wd, ht, dp)(text body) = + message("CIRC \cdefiviv "&name&" "&lab&" \CIRC"& + font_identifier_&" "&decimal(current_char_code)&" "& + pini&" "&pinii); + message("CIRC %<+doc> {"&doc&"}"); + message(""); + beginchar(current_char_code,wd,ht,dp); + body; + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,dp,wd,ht); + {{addTF(rotated 90); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,wd,dp,ht); + {{addTF(shifted -shiftpoint rotated 180); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,ht,wd,dp); + {{addTF(shifted -shiftpoint rotated -90); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,wd,dp,ht); + {{addTF(reflectedabout(left,right)); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,ht,wd,dp); + {{addTF(reflectedabout(left,right) rotated 90); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,wd,ht,dp); + {{addTF(reflectedabout (left,right) shifted -shiftpoint rotated 180); body;}} + endchar; + current_char_code:=current_char_code+1; + beginchar(current_char_code,dp,wd,ht); + {{addTF(reflectedabout(left,right) shifted -shiftpoint rotated -90); body;}} + endchar; + current_char_code:=current_char_code+1; +enddef; +%% +%% +%% End of file `defcirc.mf'. |