mode_setup; if unknown FontSize: FontSize := 10pt#; fi FX# := FontSize * 0.075 ; % normalize to 10pt---AH FY# := FontSize * 0.075 ; def nonzerowinding = cull currentpicture dropping (0,0); enddef; %extra_endchar := extra_endchar & "nonzerowinding;"; let savenonzero = nonzerowinding; % smoothing := 0; autorounding := 0; turningcheck := 0; define_pixels (FX, FY); def defsaf= path safpath; safpath:=((19.457,2.563) ..controls(19.478,2.323)and(19.257,1.836) ..(18.793,1.102) ..controls(18.329,0.367)and(18.02,0) ..(17.863,0) ..controls(17.603,0)and(17.473,0.224) ..(17.473,0.672) ..controls(17.473,0.839)and(17.483,3.063) ..(17.504,7.344) ..controls(17.525,11.625)and(17.535,13.87) ..(17.535,14.078) ..controls(17.535,15.297)and(16.546,15.906) ..(14.566,15.906) --(5.316,15.906) ..controls(4.358,14.104)and(3.879,12.417) ..(3.879,10.844) ..controls(3.879,9.948)and(4.384,8.755) ..(5.395,7.266) ..controls(6.405,5.776)and(6.91,4.688) ..(6.91,4) ..controls(6.91,2.74)and(6.671,1.745) ..(6.191,1.016) ..controls(5.743,0.339)and(5.176,0) ..(4.488,0) --(0.363,0) --(1.285,5.313) --(3.691,5.313) ..controls(3.368,5.667)and(3.061,6.323) ..(2.77,7.281) ..controls(2.509,8.188)and(2.379,8.927) ..(2.379,9.5) ..controls(2.379,10.729)and(2.509,11.786) ..(2.77,12.672) ..controls(2.988,13.422)and(3.452,14.5) ..(4.16,15.906) --(3.816,15.906) ..controls(2.993,15.906)and(2.421,16.188) ..(2.098,16.75) ..controls(1.806,17.271)and(1.66,18.161) ..(1.66,19.422) ..controls(1.66,21.516)and(1.962,22.563) ..(2.566,22.563) ..controls(2.671,22.563)and(2.819,22.339) ..(3.012,21.891) ..controls(3.204,21.443)and(3.577,21.219) ..(4.129,21.219) --(14.27,21.219) ..controls(16.936,21.219)and(18.368,19.672) ..(18.566,16.578) --cycle) xscaled FX yscaled FY; enddef; def defnewsaf= path safpath; safpath:=((19.457,2.563) ..controls(19.478,2.323)and(19.257,1.836) ..(18.793,1.102) ..controls(18.329,0.367)and(18.02,0) ..(17.863,0) ..controls(17.603,0)and(17.473,0.224) ..(17.473,0.672) ..controls(17.473,0.839)and(17.483,3.063) ..(17.504,7.344) ..controls(17.525,11.625)and(17.535,13.87) ..(17.535,14.078) ..controls(17.535,15.297)and(16.546,15.906) ..(14.566,15.906) --(12,15.906) %% AH --(11,15.906) %% AH --(10,15.906) %% AH --(9,15.906) %% AH --(8,15.906) %% AH --(6.8,15.906) %% AH --(5.316,15.906) ..controls(4.358,14.104)and(3.879,12.417) ..(3.879,10.844) ..controls(3.879,9.948)and(4.384,8.755) ..(5.395,7.266) ..controls(6.405,5.776)and(6.91,4.688) ..(6.91,4) ..controls(6.91,2.74)and(6.671,1.745) ..(6.191,1.016) ..controls(5.743,0.339)and(5.176,0) ..(4.488,0) --(3,0) %% AH --(2,0) %% AH --(1,0) %% AH --(0.363,0) --(1.285,5.313) --(2,5.313) %% AH --(3.691,5.313) ..controls(3.368,5.667)and(3.061,6.323) ..(2.77,7.281) ..controls(2.509,8.188)and(2.379,8.927) ..(2.379,9.5) ..controls(2.379,10.729)and(2.509,11.786) ..(2.77,12.672) ..controls(2.988,13.422)and(3.452,14.5) ..(4.16,15.906) --(4,15.906) %% AH --(3.816,15.906) ..controls(2.993,15.906)and(2.421,16.188) ..(2.098,16.75) ..controls(1.806,17.271)and(1.66,18.161) ..(1.66,19.422) ..controls(1.66,21.516)and(1.962,22.563) ..(2.566,22.563) ..controls(2.671,22.563)and(2.819,22.339) ..(3.012,21.891) ..controls(3.204,21.443)and(3.577,21.219) ..(4.129,21.219) --(5,21.219) %% ah --(6,21.219) %% ah --(7,21.219) %% AH --(8,21.219) %% ah --(9,21.219) %% AH --(10,21.219)%% ah --(11,21.219)%% ah --(12,21.219)%% AH --(13,21.219)%% ah --(14.27,21.219) ..controls(16.936,21.219)and(18.368,19.672) ..(18.566,16.578)..(19.457,2.563)..cycle) xscaled FX yscaled FY; enddef; def defalef= path alefpath; alefpath:=((17.863,3.328) ..controls(17.863,2.328)and(17.525,1.406) ..(16.848,0.563) ..controls(16.275,-0.156)and(15.801,-0.516) ..(15.426,-0.516) ..controls(15.238,-0.516)and(15.145,-0.365) ..(15.145,-0.063) ..controls(15.145,-0.021)and(15.212,0.104) ..(15.348,0.312) ..controls(15.483,0.521)and(15.551,0.703) ..(15.551,0.859) ..controls(15.551,1.37)and(15.207,2.015) ..(14.519,2.797) ..controls(14.498,2.817)and(13.967,3.349) ..(12.925,4.39) --(5.095,12.216) ..controls(4.513,11.351)and(4.223,10.586) ..(4.223,9.919) ..controls(4.223,9.013)and(4.863,7.792) ..(6.145,6.256) ..controls(7.426,4.72)and(8.066,3.499) ..(8.066,2.593) ..controls(8.066,1.854)and(7.785,1.237) ..(7.223,0.742) ..controls(6.66,0.247)and(5.973,0) ..(5.16,0) --(0.988,0) --(1.16,0.797) ..controls(2.525,0.974)and(3.207,1.433) ..(3.207,2.173) ..controls(3.207,2.538)and(2.897,3.301) ..(2.277,4.463) ..controls(1.658,5.625)and(1.348,6.561) ..(1.348,7.269) ..controls(1.348,8.906)and(2.339,10.813) ..(4.323,12.991) --(3.552,13.766) ..controls(2.614,14.704)and(1.983,15.475) ..(1.66,16.079) ..controls(1.285,16.808)and(1.098,17.688) ..(1.098,18.719) ..controls(1.098,19.719)and(1.426,20.641) ..(2.082,21.484) ..controls(2.645,22.203)and(3.113,22.563) ..(3.488,22.563) ..controls(3.686,22.563)and(3.785,22.411) ..(3.785,22.109) ..controls(3.785,22.078)and(3.715,21.958) ..(3.574,21.75) ..controls(3.434,21.542)and(3.363,21.365) ..(3.363,21.219) ..controls(3.363,20.698)and(3.707,20.052) ..(4.395,19.281) ..controls(4.926,18.75)and(5.457,18.224) ..(5.988,17.703) --(10.66,13.031) --(12.896,15.843) ..controls(12.124,16.426)and(11.608,16.973) ..(11.348,17.484) ..controls(11.171,17.848)and(11.082,18.322) ..(11.082,18.906) ..controls(11.082,19.916)and(11.452,20.812) ..(12.191,21.594) ..controls(12.785,22.24)and(13.29,22.563) ..(13.707,22.563) ..controls(13.895,22.563)and(13.988,22.464) ..(13.988,22.266) ..controls(13.988,22.224)and(13.962,22.177) ..(13.91,22.125) ..controls(13.858,22.073)and(13.832,21.974) ..(13.832,21.828) ..controls(13.832,21.318)and(14.395,20.656) ..(15.52,19.844) ..controls(16.863,18.865)and(17.535,17.625) ..(17.535,16.125) ..controls(17.535,15.083)and(17.306,14.281) ..(16.848,13.719) ..controls(16.493,13.281)and(16.108,13.063) ..(15.691,13.063) ..controls(15.462,13.063)and(15.254,13.24) ..(15.066,13.594) ..controls(14.754,14.167)and(14.322,14.693) ..(13.77,15.172) --(11.43,12.256) --(15.363,8.281) ..controls(16.301,7.333)and(16.936,6.562) ..(17.27,5.969) ..controls(17.665,5.24)and(17.863,4.359) ..(17.863,3.328)..cycle) xscaled FX yscaled FY; enddef; def multinodesegment(expr n, xstart, ystart, xfin, yfin) = for i=0 upto n-1: --(i/n)[(xstart,ystart), (xfin,yfin)] endfor --(xfin,yfin) enddef; def aleftafchar(expr n, q)= beginchar(n, 21.063FX#, 22.563FY#, 0.516FY#); defalef; defnewsaf; pickup pencircle scaled .4pt; draw interpath(q, alefpath, safpath); endchar; enddef; numeric delta; delta := 1/21; aleftafchar(96,0delta); aleftafchar(97,1delta); aleftafchar(98,2delta); aleftafchar(99,3delta); aleftafchar(100,4delta); aleftafchar(101,5delta); aleftafchar(102,6delta); aleftafchar(103,7delta); aleftafchar(104,8delta); aleftafchar(105,9delta); aleftafchar(106,10delta); aleftafchar(107,11delta); aleftafchar(108,12delta); aleftafchar(109,13delta); aleftafchar(110,14delta); aleftafchar(111,15delta); aleftafchar(112,16delta); aleftafchar(113,17delta); aleftafchar(114,18delta); aleftafchar(115,19delta); aleftafchar(116,20delta); % t aleftafchar(117,21delta); beginchar(39, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); x.start=x.stopp=xpart tmppr; % tmp[x.sw,x.se]; y.start=y.stopp=y.se; bbox= z.se multinodesegment( 13, x.se, y.se, x.sw, y.sw) multinodesegment(9, x.sw, y.sw, x.nw, y.nw) multinodesegment(11, x.nw, y.nw, x.ne, y.ne) multinodesegment(11, x.ne, y.ne, x.se, y.se); pickup pensquare scaled .1pt; draw bbox; show length alefpath; % pickup pencircle scaled .4pt; % a:=0; b:= 16; % for i=a upto b: drawdot point i of alefpath; endfor % a:=33; b:= 47; % for i=a upto b: drawdot point i of alefpath; endfor pickup pencircle scaled .1pt; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(40, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); y.se:=y.sw:=0; x.sw:=0; x.se:=w; bbox:=z.se for i=0 upto 24: --(i/24)[z.se, z.sw] endfor for i=25 upto length alefpath-1: --((i-24)/24)[z.sw,z.se] endfor; show length bbox; pickup pencircle scaled .1pt; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(41, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); x.nw:=x.nw-3pt; x.ne:=x.ne+3pt; x.sw:=x.sw+3pt; x.se:=x.se-3pt; bbox= z.se multinodesegment( 13, x.se, y.se, x.sw, y.sw) multinodesegment(9, x.sw, y.sw, x.nw, y.nw) multinodesegment(11, x.nw, y.nw, x.ne, y.ne) multinodesegment(11, x.ne, y.ne, x.se, y.se); pickup pensquare scaled .1pt; draw bbox; show length alefpath; pickup pencircle scaled .1pt; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(42, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); y.se:=y.sw:=.5h; x.sw:=0; x.se:=w; bbox:=z.se for i=0 upto 24: --(i/24)[z.se, z.sw] endfor for i=25 upto length alefpath-1: --((i-24)/24)[z.sw,z.se] endfor; show length bbox; pickup pencircle scaled .1pt; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(43, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); x.start=x.stopp=xpart tmppr; % tmp[x.sw,x.se]; y.start=y.stopp=y.se; pair Z[]; Z0=(w,0); Z1=(0,0); Z2=(0,h); Z3=(w,h); path tmppath; tmppath:=Z0..Z1..Z2..Z3..cycle; for i=0 upto length alefpath-1: z[i]=point (i/(length alefpath))*length tmppath of tmppath; endfor bbox:=for i=0 upto length alefpath-1: z[i].. endfor cycle; show length bbox; pickup pencircle scaled .1pt; draw bbox; show length bbox; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(44, 19.078FX#, 22.563FY#, 0.516FY#); ""; % alef defalef; pickup pencircle scaled .3pt; draw alefpath; numeric fudge; fudge:=1.2; pair tmppr; tmppr=point 0 of alefpath; tmp:=(xpart tmppr)/w; path bbox; z.se=(w+fudge*pt, -fudge*pt); z.ne=(x.se, h-y.se); z.nw=(-fudge*pt,y.ne); z.sw=(x.nw,y.se); y.se:=0; x.se:=w; x.nw:=0; y.nw:=h; bbox:=z.se for i=0 upto 24: --(i/24)[z.se, z.nw] endfor for i=25 upto length alefpath-1: --((i-24)/24)[z.nw,z.se] endfor; show length bbox; pickup pencircle scaled .1pt; for n=0 upto 10: draw interpath(n/10, bbox, alefpath); endfor endchar; beginchar(121, 21.063FX#, 22.563FY#, 0FY#); ""; % alef defalef; pickup pencircle scaled .6pt; draw alefpath; %%fill alefpath; %% pickup pencircle scaled .85pt; drawdot point 0 of alefpath; %% pickup pensquare scaled .85pt; %% for i=0 upto length alefpath: drawdot point i of alefpath; endfor endchar; beginchar(122, 21.063FX#, 22.563FY#, 0FY#); ""; % saf defnewsaf; show length safpath; pickup pencircle scaled .6pt; draw safpath; %%fill safpath; %% pickup pencircle scaled .85pt; drawdot point 0 of safpath; %% pickup pensquare scaled .85pt; %% for i=0 upto length safpath: drawdot point i of safpath; endfor endchar; bye.