diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/hands')
5 files changed, 216 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/hands/hands.mf b/Master/texmf-dist/fonts/source/public/hands/hands.mf new file mode 100644 index 00000000000..2268e4542f1 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/hands/hands.mf @@ -0,0 +1,83 @@ +%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% +% % +% A Handy Little Font % +% % +% This collection produces a series of "pointing hand" dingbats % +% in various orientations, including pointing left and right, % +% and "reverse video" versions in the same directions. % +% % +% Design work was originally by Georgia K.M. Tobin, and was % +% published in TUGBoat Vol. 10, Number 1 (1989). Unfortunately, % +% that publishing lost all of its braces, so as printed it would % +% not work. This version corrects all of those problems. % +% % +% Assembled by Norman E. Powroz, with thanks to Don Hosek, who % +% picked out all of the errors. % +% % +% -- 16 May 1989 % +% % +%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% +% % +% Implementation consists of five files in total. Filenames % +% have been shortened to fit on PCs and their ilk, as this work % +% was done on such a beast. The filenames, and contents are: % +% % +% HANDS.MF -- driver file controlling all else (this file) % +% HANDSDEF.MF -- contains the actual definition of the hand % +% MIRROR.MF -- contains the macro to mirror-image the hand % +% REVERSE.MF -- the macro to create "inverse video" version % +% RVMIRROR.MF -- the macro for "inverse video mirror-image" % +% % +% Parameters such as size have been moved to this driver file, % +% so that they may be changed without impacting the rest of the % +% files. Default size is 48pt. To change it, just change the % +% value of "size" below, and rerun this driver file. % +% % +% Have Fun!! % +% % +%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% + +% Setup basic parameters + +mode_setup; +size=48pt#; +font_size size; +em#:=size; cap#:=7/10em#; desc#:=3/10em#; +thinline#:=1/100em#; +define_pixels(em,cap,desc); +define_blacker_pixels(thinline); + +% Read the actual definition +input handsdef; + + +% The basic hand, pointing to the right +beginchar("A",16/15em#,cap#,desc#); +handpointing; +endchar; + +% The basic hand, mirror-imaged +beginchar("B",16/15em#,cap#,desc#); +input mirror; +pattern; +handpointing; +endchar; + +% The "inverse video" hand, pointing to the right +beginchar("C",16/15em#,cap#,desc#); +input reverse; +pattern; +handpointing; +endchar; + +% And the "inverse video" hand, mirror-imaged +beginchar("D",16/15em#,cap#,desc#); +input rvmirror; +pattern; +handpointing; +endchar; + +% That's all folks +bye diff --git a/Master/texmf-dist/fonts/source/public/hands/handsdef.mf b/Master/texmf-dist/fonts/source/public/hands/handsdef.mf new file mode 100644 index 00000000000..c9f6363abc0 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/hands/handsdef.mf @@ -0,0 +1,66 @@ +% handsdef.mf +% Defines the actual pointing hand +% Standard hand points to the right + +def handpointing= +% define points for thumb and cuff +x1=x3=1/2[0,1/15w]; +x2=x5=x4=x23=4/16w; +y1=y2=10/15[-desc,cap]; +y3=y4=2/15[-desc,cap]; +y5=6/7[y4,y2]; y23=1/7[y4,y2]; +x6=9.75/16w; +y6=y2; +x7=11.25/16w; +y7=4/5[y23,y5]; +x8=8.75/16w; +y8=1/4[y7,y6]; +x17=14.5/16w; +y17=9.25/15[-desc,cap]; + +% find a point at a certain height on +% the curve from z6 to z7 + path dummyCurve; path dummyLine; + x.dummy=1/2[x8,x7]; + y.dummy=y17; + dummyCurve:=z6{z5-z2}..z7..tension1.4..z8; + dummyLine:=z.dummy--z17; + z18=dummyCurve intersectionpoint dummyLine; + +x16=x17; +y16=y7; +x9=7/16w; +y9=y8; +x10=6/16w; +y10=2/5[y23,y5]; + +% find another point on the +% curve from z6 to z7 + x.dummy2=x5; + y.dummy2=y16; + x.dummy3:=1/2[x8,x7]; + y.dummy3=y.dummy2; + dummyLine:=z.dummy3--z.dummy2; + z12=dummyCurve intersectionpoint dummyLine; + +% define points for curled fingers +x15=x14=x19=x22=1/3[x18,x17]; +x13=x20=x21=x12; +y15=y16; +y13=y14=y15-(y17-y16); +y20=y19=y13-(y17-y16); +y21=y22=y20-(y17-y16); + +% pick up pen and draw whole image +pickup pencircle scaled thinline; +draw z1--z2--z4--z3--cycle; +draw z5{(1,1)}..tension 1.5..z6 + &z6{z5-z2}..z7..tension 1.4..z8 + &z8{down}..tension 3..z9 + &z9..tension 1.8..{left}z10; +draw z18--z17{right}..z16--z7; +draw z7--z15{right}..z14--z13{left}..z12; +draw z14{right}..z19--z20{left}..z13; +draw z19{right}..z22--z21{left}..z20; +draw z21{(-1,-1)}..tension 1.5..z23; +enddef; diff --git a/Master/texmf-dist/fonts/source/public/hands/mirror.mf b/Master/texmf-dist/fonts/source/public/hands/mirror.mf new file mode 100644 index 00000000000..10befb7eded --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/hands/mirror.mf @@ -0,0 +1,20 @@ +% pattern_mirror (for PCs, written as mirror.mf) +def pattern= +def endchar= +tracingequations:=1; +cullit; +picture normalchar; +normalchar:=currentpicture; + +picture mirrorimage; + mirrorimage:=normalchar + reflectedabout ((0,0),(0,h)) + shifted (w,0); +currentpicture:=mirrorimage; +scantokens extra_endchar; +chardx:=w; +shipit; +if displaying>0: showit; fi +endgroup; +enddef; +enddef; diff --git a/Master/texmf-dist/fonts/source/public/hands/reverse.mf b/Master/texmf-dist/fonts/source/public/hands/reverse.mf new file mode 100644 index 00000000000..e182755265b --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/hands/reverse.mf @@ -0,0 +1,20 @@ +% pattern_rev (for PCs, written as reverse.mf) +def pattern= +def endchar= +tracingequations:=1; +cullit; +picture phaseone; phaseone=currentpicture; +currentpicture:=nullpicture; +fill (0,-desc)--(w,-desc)--(w,cap)--(0,cap)--cycle; +cullit; + +picture phasetwo; +phasetwo=currentpicture-phaseone; +currentpicture:=phasetwo; +scantokens extra_endchar; +chardx:=w; +shipit; +if displaying>0: showit; fi +endgroup; +enddef; +enddef; diff --git a/Master/texmf-dist/fonts/source/public/hands/rvmirror.mf b/Master/texmf-dist/fonts/source/public/hands/rvmirror.mf new file mode 100644 index 00000000000..19714abe815 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/hands/rvmirror.mf @@ -0,0 +1,27 @@ +% pattern_revmirror.mf (for PCs written as rvmirror.mf) +def pattern= +def endchar= +tracingequations:=1; +cullit; + +picture phaseone; +phaseone=currentpicture; +currentpicture:=nullpicture; +fill (0,-desc)--(w,-desc)--(w,cap)--(0,cap)--cycle; +cullit; + +picture phasetwo; +phasetwo=currentpicture-phaseone; + +picture phasethree; +phasethree:=phasetwo + reflectedabout ((0,0),(0,h)) + shifted (w,0); +currentpicture:=phasethree; +scantokens extra_endchar; +chardx:=w; +shipit; +if displaying>0: showit; fi +endgroup; +enddef; +enddef; |