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/ifsym/ifgeo.gen | |
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/ifsym/ifgeo.gen')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen | 265 |
1 files changed, 265 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen b/Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen new file mode 100644 index 00000000000..c983ccdee81 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen @@ -0,0 +1,265 @@ +%%%%%%%%%%%%%%%%%% ifgeo.gen %%%%%%%%%%%%%%%%%%%%%%% +% (c) Ingo Kloeckl +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or any later version. + +% History +% 20.12.1999 v1.0 IK +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% geometric symbols +% by I.Kloeckl, ingo.kloeckl@2k-software.de + +pen normalpen; +normalpen := pencircle scaled 1linewidth; + +shadow_x := 2pt; +shadow_y := 2pt; + + +% some internal utility functions +def Tri(expr n, s, phi) = +if ((phi=90) or (phi=-90)): + beginchar((char n),ystretch*(10pt#),xstretch*(10pt#),0); +else: + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); +fi; + pickup normalpen; + bot lft z0 = (-0.5pt*s*xstretch, -0.5pt*s*ystretch) rotated (phi); + bot rt z1 = (0.5pt*s*xstretch, -0.5pt*s*ystretch) rotated (phi); + top z2 = (0pt, 0.5pt*s*ystretch) rotated (phi); + draw z0--z1--z2--cycle shifted(.5w,.5h); +endchar; +enddef; + +def FillTri(expr n, s, phi) = +if ((phi=90) or (phi=-90)): + beginchar((char n),ystretch*(10pt#),xstretch*(10pt#),0); +else: + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); +fi; + pickup normalpen; + fill (-0.5pt,-0.5pt)--(0.5pt,-0.5pt)--(0pt,0.5pt)--cycle + xscaled (s*xstretch) yscaled (s*ystretch) rotated (phi) + shifted(.5w,.5h); +endchar; +enddef; + +def Cir(expr n, s) = +beginchar((char n),10pt#,10pt#,0); + pickup normalpen; + numeric t; + t:=s*1pt; + draw fullcircle scaled t shifted(5pt,5pt); +endchar; +enddef; + +def FillCir(expr n, s) = +beginchar((char n),10pt#,10pt#,0); + pickup normalpen; + numeric t; + t:=s*1pt; + fill fullcircle scaled t shifted(5pt,5pt); +endchar; +enddef; + +def Sq(expr n, s, shadow) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + bot lft z0 = (-0.5pt*s*xstretch, -0.5pt*s*ystretch); + bot rt z1 = (0.5pt*s*xstretch, -0.5pt*s*ystretch); + top rt z2 = (0.5pt*s*xstretch, 0.5pt*s*ystretch); + top lft z3 = (-0.5pt*s*xstretch, 0.5pt*s*ystretch); + if shadow=1: + path p; p := z0--z1--z2; + draw p shifted(.5w+shadow_x,.5h-shadow_y); + elseif shadow=2: + path p; p := z0--z1--z2--z3--cycle; + fill p shifted(.5w+shadow_x,.5h-shadow_y); + unfill p shifted(.5w,.5h); + elseif shadow=3: + path p; p := z0--z1--z2--z3--cycle; + draw p shifted(.5w+shadow_x,.5h-shadow_y); + unfill p shifted(.5w,.5h); + fi; + draw z0--z1--z2--z3--cycle shifted(.5w,.5h); +endchar; +enddef; + +def FillSq(expr n, s, shadow) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + bot lft z0 = (-0.5pt*s*xstretch, -0.5pt*s*ystretch); + bot rt z1 = (0.5pt*s*xstretch, -0.5pt*s*ystretch); + top rt z2 = (0.5pt*s*xstretch, 0.5pt*s*ystretch); + top lft z3 = (-0.5pt*s*xstretch, 0.5pt*s*ystretch); + if shadow=1: + path p; p := z0--z1--z2; + draw p shifted(.5w+shadow_x,.5h-shadow_y); + elseif shadow=3: + path p; p := z0--z1--z2--z3--cycle; + draw p shifted(.5w+shadow_x,.5h-shadow_y); + fi; + fill z0--z1--z2--z3--cycle shifted(.5w,.5h); +endchar; +enddef; + +def CrossedSq(expr n, s) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + bot lft z0 = (-0.5pt*s*xstretch, -0.5pt*s*ystretch) shifted(.5w,.5h); + bot rt z1 = (0.5pt*s*xstretch, -0.5pt*s*ystretch) shifted(.5w,.5h); + top rt z2 = (0.5pt*s*xstretch, 0.5pt*s*ystretch) shifted(.5w,.5h); + top lft z3 = (-0.5pt*s*xstretch, 0.5pt*s*ystretch) shifted(.5w,.5h); + draw z0--z2; draw z1--z3; +endchar; +enddef; + +def Diamond(expr n, s, shadow, fillshape) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + x0 = 0pt; bot y0 = -0.5pt*s*ystretch; + rt x1 = 0.5pt*s*xstretch; y1 = 0pt; + x2 = 0pt; top y2 = 0.5pt*s*ystretch; + lft x3 = -0.5pt*s*xstretch; y3 = 0pt; + if shadow=1: + path p; p := z0--z1--z2; + draw p shifted(.5w+shadow_x,.5h); + elseif shadow=2: + path p; p := z0--z1--z2--z3--cycle; + fill p shifted(.5w+shadow_x,.5h); + unfill p shifted(.5w,.5h); + elseif shadow=3: + path p; p := z0--z1--z2--z3--cycle; + draw p shifted(.5w+shadow_x,.5h); + unfill p shifted(.5w,.5h); + fi; + draw z0--z1--z2--z3--cycle shifted(.5w,.5h); + if fillshape=1: % right half filled + fill z0--z1--z2--cycle shifted(.5w,.5h); + elseif fillshape=2: % lower half filled + fill z0--z1--z3--cycle shifted(.5w,.5h); + fi; +endchar; +enddef; + +def FillDiamond(expr n, s, shadow) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + x0 = 0pt; bot y0 = -0.5pt*s*ystretch; + rt x1 = 0.5pt*s*xstretch; y1 = 0pt; + x2 = 0pt; top y2 = 0.5pt*s*ystretch; + lft x3 = -0.5pt*s*xstretch; y3 = 0pt; + if shadow=1: + path p; p := z0--z1--z2; + draw p shifted(.5w+shadow_x,.5h); + elseif shadow=3: + path p; p := z0--z1--z2--z3--cycle; + draw p shifted(.5w+shadow_x,.5h); + fi; + fill z0--z1--z2--z3--cycle shifted(.5w,.5h); +endchar; +enddef; + +def DiamondBar(expr n, s, barshape) = + beginchar((char n),xstretch*(10pt#),ystretch*(10pt#),0); + pickup normalpen; + x0 = 0pt; bot y0 = -0.5pt*s*ystretch; + rt x1 = 0.5pt*s*xstretch; y1 = 0pt; + x2 = 0pt; top y2 = 0.5pt*s*ystretch; + lft x3 = -0.5pt*s*xstretch; y3 = 0pt; + path p; + if barshape=1: % horizontal bar + p := z1--z3; + draw p shifted(.5w,.5h); + elseif barshape=2: % vertical bar + p := z0--z2; + draw p shifted(.5w,.5h); + fi; +endchar; +enddef; + +"Bigsquare"; Sq(32,10,0); +"Square"; Sq(48,8,0); +"Smallsquare"; Sq(64,6,0); +"FilledBigsquare"; FillSq(80,10,0); +"FilledSquare"; FillSq(96,8,0); +"FilledSmallsquare"; FillSq(112,6,0); + +"SquareShadow1"; Sq(0,8,1); +"SquareShadow2"; Sq(1,8,2); +"SquareShadow3"; Sq(2,8,3); +"FilledSquareShadow1"; FillSq(3,8,1); +"FilledSquareShadow3"; FillSq(4,8,3); + + +"BigtriangleUp"; Tri(33,10,0); +"TriangleUp"; Tri(49,8,0); +"SmalltriangleUp"; Tri(65,6,0); +"FilledBigtriangleUp"; FillTri(81,10,0); +"FilledTriangleUp"; FillTri(97,8,0); +"FilledSmalltriangleUp"; FillTri(113,6,0); + +"BigtriangleLeft"; Tri(34,10,90); +"TriangleLeft"; Tri(50,8,90); +"SmalltriangleLeft"; Tri(66,6,90); +"FilledBigtriangleLeft"; FillTri(82,10,90); +"FilledTriangleLeft"; FillTri(98,8,90); +"FilledSmalltriangleLeft"; FillTri(114,6,90); + +"BigtriangleDown"; Tri(35,10,180); +"TriangleDown"; Tri(51,8,180); +"SmalltriangleDown"; Tri(67,6,180); +"FilledBigtriangleDown"; FillTri(83,10,180); +"FilledTriangleDown"; FillTri(99,8,180); +"FilledSmalltriangleDown"; FillTri(115,6,180); + +"BigtriangleRight"; Tri(36,10,-90); +"TriangleRight"; Tri(52,8,-90); +"SmalltriangleRight"; Tri(68,6,-90); +"FilledBigtriangleRight"; FillTri(84,10,-90); +"FilledTriangleRight"; FillTri(100,8,-90); +"FilledSmalltriangleRight"; FillTri(116,6,-90); + +"Bigcircle"; Cir(37,10); +"Circle"; Cir(53,8); +"Smallcircle"; Cir(69,6); +"FilledBigcircle"; FillCir(85,10); +"Filledcircle"; FillCir(101,8); +"FilledSmallcircle"; FillCir(117,6); + + +"BigDiamond"; Diamond(38,10,0,0); +"Diamond"; Diamond(54,8,0,0); +"SmallDiamond"; Diamond(70,6,0,0); +"FilledBigDiamond"; FillDiamond(86,10,0); +"FilledDiamond"; FillDiamond(102,8,0); +"FilledSmallDiamond"; FillDiamond(118,6,0); +"BigRightDiamond"; Diamond(47,10,0,1); +"RightDiamond"; Diamond(63,8,0,1); +"SmallRightDiamond"; Diamond(79,6,0,1); +"BigLowerDiamond"; Diamond(95,10,0,2); +"LowerDiamond"; Diamond(111,8,0,2); +"SmallLowerDiamond"; Diamond(127,6,0,2); + +"DiamondShadow1"; Diamond(5,8,1,0); +"DiamondShadow2"; Diamond(6,8,2,0); +"DiamondShadow3"; Diamond(7,8,3,0); +"DiamondSquareShadow1"; FillDiamond(8,8,1); +"DiamondSquareShadow3"; FillDiamond(9,8,3); + +"BigCross"; CrossedSq(13,10); +"Cross"; CrossedSq(14,8); +"SmallCross"; CrossedSq(15,6); +"BigHorBar"; DiamondBar(26,10,1); +"HorBar"; DiamondBar(27,8,1); +"SmallHorBar"; DiamondBar(28,6,1); +"BigVertBar"; DiamondBar(29,10,2); +"VertBar"; DiamondBar(30,8,2); +"SmallVertBar"; DiamondBar(31,6,2); + +end. + +%%%%%%%%%%%%%%%%%% end of ifgeo.gen %%%%%%%%%%%%%%%%%%%%%%%
\ No newline at end of file |