summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen')
-rw-r--r--Master/texmf-dist/fonts/source/public/ifsym/ifgeo.gen265
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