diff options
Diffstat (limited to 'language/gurmukhi/singh/gmchars.mf')
-rw-r--r-- | language/gurmukhi/singh/gmchars.mf | 1004 |
1 files changed, 1004 insertions, 0 deletions
diff --git a/language/gurmukhi/singh/gmchars.mf b/language/gurmukhi/singh/gmchars.mf new file mode 100644 index 0000000000..e336c9e452 --- /dev/null +++ b/language/gurmukhi/singh/gmchars.mf @@ -0,0 +1,1004 @@ +% GMCHARS.MF +% Metafont source file of the Gurmukhi font +% +% Author: Amarjit Singh +% E-mail: asingh@evolving.com +% +% 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 1, 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., 675 Mass Ave, Cambridge, MA 02139, USA. +% +%________________________________________________________________________ +beginchar(0,0,ht#,0); "sub-u"; +% 0x0 + pickup frame_pen; + x1=-1/2uwidth; y1=mb-(penwd+1/4uwidth); + z2=(1/4uwidth, y1); + draw z1{down}..tension4.0..z2; +endchar; +beginchar(1,0,ht#,0); "sub-U"; +% 0x1 + pickup frame_pen; + x1=-1/2uwidth; y1=mb-(penwd+1/4uwidth); + z2=(1/4uwidth, y1); + x3=x1; y3=mb-(penwd+3/5uwidth); + z4=(x2, y3); + draw z1{down}..tension4.0..z2; + draw z3{down}..tension4.0..z4; +endsav; +beginchar(3,.9twd#+brm#,1.5ht#,0); "sup-e"; +% 0x3 + pickup frame_pen; + z1=(w-brm,ht+1.5penwd); + z2=(0,1.5ht); + draw z1{curl.5}..{left}z2; +endchar; +beginchar(11,1.1twd#+brm#,ht#,0); ".g"; +% 0xb + italcorr brm#; path p; + z11=(.6(w-brm),.5penwd); + sqdot(z11); + frame; z5=(.25(w-brm),h); + z6=(x5,.3h); + z7=2/3[z5,z6]; + z8=z7 shifted (.1(w-brm),0); + z9= (1/2penwd,y6+.08h); + p = z5..z8{down}..z6{left}..z9{up}; + z10 = point 2.4 of p; + draw p..z10; +endchar; +beginchar(12,1.1twd#+brm#,ht#,0); ".kh"; +% 0xc + italcorr brm#; + tframe; path p; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(0,h); + draw z5{dir-70}..tension.95..z6; + p = z5{right}..tension.95..z7; + draw p; + z12=(.65(w-brm),0); + sqdot(z12); + z8 = point .22 of p; + x9 = x3; y9 = y8; + pickup sub_pen; + draw z8--z9; +endchar; +beginchar(20,twd#,ht#,0); "period"; +% 0x14 + z1=(1/2w,1/2penwd); + sqdot(z1); +endchar; +beginchar(26,1.15twd#+rm#,ht#,0); "'n"; +% 0x1a + italcorr rm#+.5twd#; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .25lm; y3=h; + z4=(x3,.68h); + z5=(lm,.47h); + z6=(.3lm,.1h); + z7=(3/2penwd,.23h); + draw z3--z4{right}..tension.9..{down}z5..tension.9..{left}z6..z7; + z8=(.6lm,-1/7h); + draw z7{right}..tension.8..z8; +endchar; +beginchar(27,1.07twd#+rm#,ht#,0); "front-o"; +% 0x1b + pickup frame_pen; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); z4=(.4lm,.55h); + z5=(.64lm,y4); + z6=(x5,1/2penwd); + z7=(1/2penwd,h); + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + draw z5..z6{left}..{curl.4}z7; + + x8=.42lm+1/4penwd; y8=1.5h; + x9=lm; y9 = 1.6h; + draw z7{up}..z8..z9; + +% z8=(0,1.1h); +% z9=(w-.5rm+.6twd,1.8h); +% draw z7..z8..z9; +% +% curl over small e matra +% frame +% z5=(x3,1.35ht); +% z6=(w-.5rm+.6twd,1.35ht); +% x7=.3[x5,x6]; y7=1.5ht; +% draw z3--z5{up}..z7{right}..{curl0}z6; + +% very intersting curve +% x8 = good.x w-brm; y8 = 1.35h; +% z9=(w-.5rm+.6twd,2.35h); +% x10=0; y10=1.5h; +% z11=(0,h); +% draw z11..z10{left}..z9; + +% perfect curve but too big +% z8=(0,1.5h); +% z9=(w-.5rm+.6twd,2.35h); +% draw z7..z8..tension.95..z9; +endchar; + +beginchar(" ",0,1.5ht#,0); "candrabindu"; +% 0x20 + lm := .7twd; + z1=(.55lm,1.48ht); + sqdot(z1); + pickup sub_pen; + z5=(lm,1.5ht); + z6=(.66lm,1.25ht); + z7=(0,1.5ht); + draw z5..tension1.1..z6{left}..z7; +endchar; +beginchar(38,0,ht#,0); "/v"; +% 0x26 + path p; + pickup sub_pen; + z1 = (2/14uwidth,mb-penwd); + z2 = (-9/28uwidth,mb-(penwd+.18uwidth)); + z3 = (9/28uwidth,mb-(penwd+.36uwidth)); + p = z1{left}..tension1.2..z2{down}..tension1.1..{curl.2}z3; + draw p; + z4 = point 1.5 of p; + z5 = (-8/28uwidth,mb-(penwd+.57uwidth)); + z6 = (3/7uwidth,mb-(penwd+.68uwidth)); + draw z4..tension1.1..z5{down}..tension1.2..{curl.3}z6; +endchar; +beginchar("'",1.1twd#+rm#,ht#,0); "f"; +% 0x27 + italcorr rm#+.3twd#; + path p; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + x3=good.x .85(w-rm); y3=h; + z4=(x3,.72h); + z5=(1/2penwd,.47h); + z6=(.7(w-rm),1/2penwd); + z7=(w-rm,.23h); + draw z3--z4; + p=z4{left}..tension.9..{down}z5..tension.9..{right}z6..{up}z7; + draw p..z6; + z12=(1/2penwd,0); + sqdot(z12); +endchar; +beginchar(")",1.1twd#+brm#,ht#,0); "z"; +% 0x29 + italcorr brm#; + frame; + x5=.25w; y5=.1h; + x6=x5; y6=good.y .65h; + x7=x3; y7=y6-penwd; + z8=(x6-penwd,y6-penwd); + draw z7--z8{up}..z6--z5; + z11=(.6(w-brm),.5penwd); + sqdot(z11); +endchar; +beginchar(",",0,ht#,0); "visarga"; +% 0x2c + z1=(0,1.45h); + sqdot(z1); +endchar; +beginchar(".",twd#,ht#,0); "|"; +% 0x2e + pickup frame_pen; + x1=good.x w; y1=0; z2=(x1,h); draw z1--z2; +endchar; +beginchar("0",.5ht#+rm#,ht#,0); "0"; +% 0x30 + pickup frame_pen; z1 =(1/4h+1/2penwd,1/2h); + draw fullcircle scaled 1/2h shifted z1; +endchar; +beginchar("1",5/8twd#+rm#,ht#,0); "1"; +% 0x31 + pickup frame_pen; path p; + z1=(3/2penwd,.33h); + z2=(w-rm,0); + z3=(x2-.75penwd,-.07h); + z4=(w-rm,.75h); + z5=(.6(w-rm),h); + z6=(3/2penwd,.8h); + draw z1--z2; + draw z2--z3; + p=z1{curl0}..tension1.2..z4{up}..z5{left}; + z7=point .8 of p; + draw p..z6{down}..tension1.1..z7; +endchar; +beginchar("2",twd#+rm#,ht#,0); "2"; +% 0x32 + pickup frame_pen; + z1=(1/2penwd,.9h); + z2=(w-rm,.7h); + z3=(.25(w-rm),.35h); + z4=(x3,.45h); + z5=(w-rm,0); + draw z1{curl0}..tension1.1..z2{down}..z3{left}..z4..tension2..{curl0}z5; +endchar; +beginchar("3",.85twd#+rm#,ht#,0); "3"; +% 0x33 + pickup frame_pen; + z1=(1/2penwd,.95h); + z2=(.95(w-rm),.82h); + z3=(.65(w-rm),.65h); + z4=(.2(w-rm),.65h); + z5=(w-rm,.4h); + z6=(.3(w-rm),.2h); + z7=(x6,.3h); + z8=(w-rm,0); + draw z1{right}..tension1.1..z2{down}..{left}z3..tension1.2..{curl0}z4; + draw z3..z5{down}..z6{left}..z7..tension2..{curl0}z8; +endchar; +beginchar("4",4/3twd#+rm#,ht#,0); "4"; +% 0x34 + pickup frame_pen; + z1=(1/2penwd,h); + z2=(w-rm,h); + z3=(1/2(w-rm),.2h); + z4=(1/2(w-rm),.64h); + draw z1..z4..tension.9..z3{left}..tension.9..z4..z2; +endchar; +beginchar("5",1.1twd#+rm#,ht#,0); "5"; +% 0x35 + italcorr brm#; + pickup frame_pen; + z3=(.8(w-rm),h); z4=(x3,0); + draw z3--z4; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(.3x3,h); + draw z5{dir-70}..tension.95..z6; + draw z5{right}..tension.95..z7; +endchar; +beginchar("6",.85twd#+rm#,ht#,0); "6"; +% 0x36 + pickup frame_pen; + lm:=w-.5rm; + z1=(.85lm,1/2penwd); + z2=(1/2penwd,.22h); + z3=(.35lm,.4h); + z4=(.8lm,.4h); + z5=(1/2penwd,.65h); + z6=(.7lm,.85h); + z7=(x6,.75h); + z8=(x6,1.2h); + draw z1{left}..tension1.1..z2{up}..{right}z3..tension1.2..{curl0}z4; + draw z3..z5{up}..z6{right}..z7{left}..{right}z8; +endchar; +beginchar("7",twd#+rm#,ht#,0); "7"; +% 0x37 + pickup frame_pen; + lm:=w-rm; + z1 = (.5lm,.8h); + z2 = (lm,.8h); + z3 = (1/2penwd, penwd); + draw z1{up}...{down}z2{down}..z3; +endchar; +beginchar("8",1.15twd#+rm#,ht#,0); "8"; +% 0x38 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + lm := w-rm; + z4=(.9lm,.66h); + z7=(.25w, .6h); + x5=x7-3/4penwd; y5 = y4; + x6=x7; y6=y4+3/4penwd; + z8=(lm,.1h); + draw z4--z5{up}..z6--z7; + draw z7{down}..tension.95..z8; +endchar; +beginchar("9",1.15twd#+rm#,ht#,0); "9"; +% 0x39 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + lm := w-rm; + z1=(.8lm,.7h); + z2=(.8lm,h); + draw z1{left}..{right}z2; + z4=(.9lm,.66h); + z7=(.25w, .6h); + x5=x7-3/4penwd; y5 = y4; + x6=x7; y6=y4+3/4penwd; + z8=(lm,.1h); + draw z4--z5{up}..z6--z7; + draw z7{down}..tension.95..z8; +endchar; +beginchar(":",1.07twd#+rm#,ht#,0); "OM"; +% 0x3a + pickup frame_pen; + lm:=w-rm; + z1=(0,h); z2=(lm,h); + z3=(.84lm,h); z4=(.4lm,.55h); + z5=(.64lm,y4); + z6=(x5,1/2penwd); + z7=(1/2penwd,h); + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + draw z5..z6{left}..{curl.4}z7; + + x8=.52lm+1/4penwd; y8=1.26h; + draw z7{up}..z8; + z9=(w,1.5h); + draw z8{up}..z9; +endchar; +beginchar(";",1.2twd#,ht#,0); "||"; +% 0x3b + pickup frame_pen; + x1=good.x w-2.5penwd; y1=0; + z2=(x1,h); + x3=good.x w; y3=0; + z4=(x3,h); + draw z1--z2; draw z3--z4; +endchar; +beginchar("A",2rm#,ht#,0); "A"; +% 0x41 + pickup frame_pen; + z1=(0,h); z2=(w,h); + x3=good.x w-brm; y3=h; z4=(x3,.4h); + draw z1--z2; draw z3--z4; +endchar; +beginchar("B",1.07twd#+rm#,ht#,0); "B"; +% 0x42 + pickup frame_pen; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); + z4=(rm,.4h); + z5=(rm,.7h); + z6=(.84lm,.35h); + z7=(1/2penwd,.2h); + draw z1--z2; + draw z3{down}..tension1.3..{left}z4{left}..z5; + draw z5{right}..z6{down}..tension1.5..{up}z7; +endchar; +beginchar("C",1.25twd#+rm#+penwd#,ht#,-.1ht#); "C"; +% 0x43 + italcorr rm#+.5twd#; + pickup frame_pen; + z1=(0,h); z2=(w,h); + x3=good.x w-rm-penwd; y3=h; + z4=(x3,.74h); z5=(.2twd+1/2penwd,.6h); + z6=(x3+1/2penwd,.37h); +% z7=(1/2(.25twd+x3),1/7h); + z7=(1/2(.25twd+x3),1/2penwd); + z8=(.15w,.45h); + draw z1--z2; draw z3--z4; + draw z4{left}..z5{down}..z6{down}..z7{left}..z8{right}..tension.95..z7; +endsav; +beginchar("D",1.1twd#+brm#,ht#,0); "dh"; +% 0x44 + italcorr brm#; + frame; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(.3x3,h); + draw z5{dir-70}..tension.95..z6; + draw z5{right}..tension.95..z7; +endchar; +beginchar("E",1.6rm#,1.5ht#,0); "i"; +% 0x45 + pickup frame_pen; + z1 = (0,ht); z2 = (w,ht); + x3 = good.x w-rm; y3 = ht; z4 = (x3,0); + draw z1--z2; draw z3--z4; + z5=(x3,1.35ht); + z6=(w-.5rm+.6twd,1.35ht); + x7=.3[x5,x6]; y7=1.5ht; + draw z3--z5{up}..z7{right}..{curl0}z6; +endchar; +beginchar("F",2rm#,1.5ht#,0); "I"; +% 0x46 + frame; z5=(-1.5rm-penwd,1.25ht); + z6=(1/2x5,1.5ht); + draw z3{curl0}..{left}z6...z5; +endchar; +beginchar("G",1.45twd#+brm#,ht#,0); "gh"; +% 0x47 + italcorr brm#; + tframe; path p; + z5=(1/2penwd,.55h); + z7=(0,h); + draw z5{right}..tension.95..z7; + x6 = .6[x5,x3]; y6=.25h; + draw z5{dir-70}..tension.95..z6; + x8 = x6; y8=.75h; + draw z6--z8; + z9=(x3-1/2penwd, .35h); + draw z6{dir-40}..tension.95..z9; +endchar; +beginchar("H",0,ht#,.25ht#); "/h"; +% 0x48 + pickup sub_pen; + z1=(.1twd,mb-1/2penwd); + z2=(.1twd,mb-.54h); + z3=(-.35twd,mb-.35h); + draw z1--z2; + draw z2{left}..z3; +endchar; +beginchar("J",1.15twd#+rm#,ht#,0); "J"; +% 0x4a + italcorr rm#+.5twd#; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + z11 = (lm, h); z12 = (.1lm, .65h); + draw z11{down}..tension1.5..z12; + x3=good.x .45lm; y3=h; + z4=(x3,.68h); + z5=(lm,.47h); + z6=(.3lm,.1h); + z7=(penwd,.23h); + draw z3{left}..z4{right}..tension.9..{down}z5..tension.9..{left}z6..z7; + z8=(.5lm,-1/7h); + draw z7{right}..tension.8..z8; +endchar; +beginchar("K",1.1twd#+brm#,ht#,0); "kh"; +% 0x4b + italcorr brm#; + tframe; path p; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(0,h); + draw z5{dir-70}..tension.95..z6; + p = z5{right}..tension.95..z7; + draw p; + z8 = point .22 of p; + x9 = x3; y9 = y8; + pickup sub_pen; + draw z8--z9; +endchar; +beginchar("O",0,1ht#,0); "O"; +% 0x4f + pickup frame_pen; + path p; + z1=(-1.1twd,1.5h); + z3=(x1+.9twd-.1brm,h+penwd); + x2 = .4 [x1,x3]; y2 = 1.3h; + p = z1{down}..z2..{down}z3; + draw p; + z4=point .95 of p; + z5=(x4, h); + draw z4--z5; +endchar; +beginchar("P",1.1twd#+rm#,ht#,0); "ph"; +% 0x50 + italcorr rm#+.3twd#; + path p; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + x3=good.x .85(w-rm); y3=h; + z4=(x3,.72h); + z5=(1/2penwd,.47h); + z6=(.7(w-rm),1/2penwd); + z7=(w-rm,.23h); + draw z3--z4; + p=z4{left}..tension.9..{down}z5..tension.9..{right}z6..{up}z7; + draw p..z6; +endchar; +beginchar("R",1.15twd#+rm#,ht#,.4ht#); "gn"; +% 0x52 + italcorr rm#+.5twd#; path p; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3 = good.x .7lm; y3=h; + z4 = (x3,.72h); + z6 = (.55lm,.4h); + z7 = (.8lm,.45h); + draw z3--z4; + vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.1.. + (1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef; + z55 = (1/2penwd,solve dwn(y4,y6)); + z8 = (x7, y6); + p = z4{curl0}..tension1.1..z55..z6{right}..{curl0}z7; + draw p; + z9 = p intersectionpoint ((.25lm,.65h)--(.25lm,0)); + z10 = (x7,penwd); + draw z9{down}..tension.95..z10; + z56 = point .2 of p; + draw p; +% pickup penrazor scaled subthick; + draw (1/2penwd,h)--(x56,y56-1/2penwd); +endchar; +beginchar("T",1.1twd#+brm#,ht#,0); "th"; +% 0x54 + italcorr brm#; + frame; path p; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(0,h); + draw z5{dir-70}..tension.95..z6; + p = z5{right}..tension.95..z7; + draw p; + z8 = point .22 of p; + x9 = x3; y9 = y8; + pickup sub_pen; + draw z8--z9; +endchar; +beginchar("V",1.15twd#+rm#,ht#,0); ".t"; +% 0x56 + italcorr rm#+.5twd#; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .7lm; y3=h; + z4=(x3,.66h); + z6=(.55lm,.1h); + z7=(lm,.2h); + draw z3--z4; + vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..(1/2penwd,y) + ..z6{right}..{curl0}z7) < 0 enddef; + z55=(1/2penwd,solve dwn(y4,y6)); + draw z4{curl0}..z55..z6{right}..{curl0}z7; +endchar; +beginchar("W",1.15twd#+rm#,ht#,0); ".th"; +% 0x57 + italcorr rm#+.5twd#; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm:= w-rm; + x3=good.x .75lm; y3=h; + z4=(x3,.66h); + z6=(.55lm,.1h); + z7=(lm,y5); + z8=(x4+penwd,y4-penwd); + draw z3--z4; + vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..(1/2penwd,y) + ..{right}z6) < 0 enddef; + z5 = (1/2penwd,solve dwn(y4,y6)); + draw z4{curl0}..z5..z6{right}..z7{up}..{curl0}z8; +endchar; +beginchar("X",1.07twd#+rm#,ht#,0); ".d"; +% 0x58 + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); + z4=(.3lm,.65h); + z5=(.64lm,y4); + z6=(.84lm,.2h); + z7=(.24lm,1/2penwd); + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + p = z5..tension1.1..z6{down}..tension1.8..z7; + z8=(x7,.32h); + z9=point .97 of p; + draw p{left}..z8{right}..z9; +endchar; +beginchar("Y",1.15twd#+rm#,ht#,0); ".dh"; +% 0x59 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .9lm; y3=h; + z4=(x3,.66h); + z7=(.25w, .6h); + x5=x7-3/4penwd; y5 = y4; + x6=x7; y6=y4+3/4penwd; + z8=(.8lm,1/2penwd); + z9=(lm,.23h); + draw z3--z4; + draw z4--z5{up}..z6--z7; + p = z7{down}..tension.9..{right}z8..{up}z9; + draw p..z8; +endchar; +beginchar("Z",1.15twd#+rm#,ht#,.4ht#); ".n"; +% 0x5a + italcorr rm#+.5twd#; path p; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3 = good.x .7lm; y3=h; + z4 = (.3lm, h); z5 = (lm, .7h); + p = z4{down}..tension2.5..z5; + draw p; + z8 = p intersectionpoint ((x3,h)--(x3,.5h)); + hdif := y3-y8; + z9 = (x8,.72h-hdif); + z11 = (.55lm,.3h-hdif); + z12 = (lm,.4h-hdif); + vardef dwn(expr y) = xpart direction 1 of (z9{curl0}..tension1.1.. + (1/2penwd,y)..z11{right}..{curl0}z12) < 0 enddef; + z55 = (1/2penwd,solve dwn(y9,y11)); + draw z8--z9; + draw z9{curl0}..tension1.1..z55..z11{right}..{curl0}z12; +endchar; +beginchar("\",0,ht#,0); "anusvara"; +% 0x5c + pickup frame_pen; + z1=(0,1.25h); + draw (reverse halfcircle rotated 0 scaled 2usthick shifted z1); +endchar; +beginchar("^",0,ht#,.25ht#); "virama"; +% 0x5e + pickup frame_pen; + z1=(1.35rm,mb-.5h); + z2=(0,mb-.3h); + draw z1..{left}z2; +endchar; +beginchar("_",0,1.5ht#,0); "adhak"; +% 0x5f + pickup sub_pen; + lm := .7twd; + z5=(lm,1.5ht); + z6=(.66lm,1.25ht); + z7=(0,1.5ht); + draw z5..tension1.1..z6{left}..z7; +endchar; +beginchar("a",1.45twd#+brm#,ht#,0); "front-a"; +% 0x61 + italcorr brm#; + path p; path q; + tframe; + pickup frame_pen; + z5=(1/2penwd,h); + z6=(.2w,.3h); + z7=2/3[z5,z6]; + z8=z7 shifted (.08w,0); + z9= (.1w,y6+.1h); + p = z5..z8{down}..z6{left}..z9{up}; + offs=.2w+.1w; + z15=(offs+1/2penwd,.8h); + z16=(offs+.1w,.1h); + z17=2/3[z15,z16]; + z18=z7 shifted (offs+.08w,0); + z19= (offs+.1w,y16+.1h); + q = z15..z18{down}..z16{left}..z19{up}; + z21=(x3,.9h); + draw p..z15..q..z21; +endchar; +beginchar("b",1.1twd#+brm#,ht#,0); "b"; +% 0x62 + italcorr brm#; + frame; + path p; + z5=(x3,.5h); + z6=(.65x3,.65h); + z10=(.18x3,.5h); + p=z5{curl0}..z10{up}...{right}z6; + draw p; + z7= point 1.7 of p; + z8=(.26x3,h); + vardef yup(expr y)= xpart direction 1 of (z7{curl0}..(1/2penwd,y)..{right}z +8) < 0 + enddef; + z9=(1/2penwd,solve yup(y7,y8)); + draw z7{curl0}..z9..{right}z8; +endchar; +beginchar("c",1.15twd#+rm#,ht#,0); "c"; +% 0x63 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .9lm; y3=h; + z4=(x3,.66h); + z7=(.25w, .6h); + x5=x7-3/4penwd; y5 = y4; + x6=x7; y6=y4+3/4penwd; + z8=(.8lm,1/2penwd); + draw z3--z4; + draw z4--z5{up}..z6--z7; + p = z7{down}..tension.9..{right}z8; + draw p{dir-20}..tension5.5..z4; +endchar; +beginchar("d",1.15twd#+rm#,ht#,0); "d"; +% 0x64 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .9lm; y3=h; + z4=(x3,.66h); + z7=(.25w, .6h); + x5=x7-3/4penwd; y5 = y4; + x6=x7; y6=y4+3/4penwd; + z8=(lm,.1h); + draw z3--z4; + draw z4--z5{up}..z6--z7; + draw z7{down}..tension.95..z8; +endchar; +beginchar("f",1.1twd#+brm#,ht#,0); "sh"; +% 0x66 + italcorr brm#; + frame; x5=good.x 3/2penwd; y5=h; + z6=(x5,y7-penwd); + y7=good.y .35h+penwd; x7=x3; + z8=(x6-1/2penwd,y6+1/2penwd); + draw z5--z6; + draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7; + z11=(.6(w-brm),.5penwd); + sqdot(z11); +endchar; +beginchar("g",1.1twd#+brm#,ht#,0); "g"; +% 0x67 + italcorr brm#; path p; + frame; z5=(.25(w-brm),h); + z6=(x5,.3h); + z7=2/3[z5,z6]; + z8=z7 shifted (.1(w-brm),0); + z9= (1/2penwd,y6+.08h); + p = z5..z8{down}..z6{left}..z9{up}; + z10 = point 2.4 of p; + draw p..z10; +endchar; +beginchar("h",1.1twd#+.5rm#,ht#,0); "h"; +% 0x68 + pickup frame_pen; + z1 = (0,h); z2 = (w,h); + z5=(.55w,h); + z6=(x5,.2h); + z7= (.1w,.45h); + draw z1--z2; + draw z5--z6{down}..tension1.5..z7; +endchar; +beginchar("i",1.15twd#+rm#,ht#,0); "front-i"; +% 0x69 + italcorr rm#+.5twd#; + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3=good.x .7lm; y3=h; + z4=(x3,.66h); + z6=(.55lm,.1h); + z7=(lm,.2h); + draw z3--z4; + vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..(1/2penwd,y) + ..z6{right}..{curl0}z7) < 0 enddef; + z55=(1/2penwd,solve dwn(y4,y6)); + p = z4{curl0}..z55..z6{right}..{curl0}z7; + z56 = point .2 of p; + draw p; + pickup penrazor scaled subthick; + draw (1/2penwd,h)--(x56,y56-1/2penwd); +endchar; +beginchar("j",1.1twd#+brm#,ht#,0); "j"; +% 0x6a + italcorr brm#; + frame; + x5=.25w; y5=.1h; + x6=x5; y6=good.y .65h; + x7=x3; y7=y6-penwd; + z8=(x6-penwd,y6-penwd); + draw z7--z8{up}..z6--z5; +endchar; +beginchar("k",.8twd#+1.5rm#,ht#,0); "k"; +% 0x6b + italcorr 1.5rm#; + path p; + z1=(0,h); z2=(w,h); + pickup frame_pen; + draw z1--z2; + z3=(w-rm,h); + z4=(rm,.35h); + z5=(rm,.65h); + z6=(w-rm,0); + draw z3{curl0}..tension1.1..{left}z4{left}..z5; + pickup penrazor scaled subthick; + draw z5--z6; +endsav; +beginchar("l",1.25twd#+rm#,ht#,0); "l"; +% 0x6c + path p; path q; + lm := (w-rm); + z3=(.5lm, .5h); + pickup penrazor scaled subthick; + p = (.2lm,h)--z3; + q = (.8lm,h)--z3; + draw p; draw q; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + z6 = point .7 of p; + z7 = point .7 of q; + z4 = (.15lm, 1/2penwd); + z5 = (.85lm, 1/2penwd); + draw z6{left}..z4; + draw z7{right}..z5; +endchar; +beginchar("m",1.1twd#+brm#,ht#,0); "m"; +% 0x6d + italcorr brm#; + tframe; + z5=(0,h); + z6=(3/2penwd+.1twd,.76h); + z7=(3/2penwd+.1twd,.34h); + z8=(x3,y7+penwd); + z9=(x7-1/2penwd,y7+1/2penwd); + draw z5{right}..tension.95..z6---z7; + draw (reverse halfcircle rotated rot scaled usthick shifted z9)--z8; +endchar; +beginchar("n",1.25twd#+rm#,ht#,0); "n"; +% 0x6e + path p; path q; + lm := (w-rm); + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + z3=(.5lm, h); + z4 = (.15lm, 1/2penwd); + z5 = (.85lm, 1/2penwd); + z6=(.5lm, .7h); + draw z4{up}..z6..{down}z5{left}; + draw z4{right}; + draw z3--z6; +endchar; +beginchar("o",0,1ht#,0); "o"; +% 0x6f + pickup frame_pen; + z1=(-1.1twd,1.5h); + z3=(x1+.9twd-.1brm,h+penwd); + x2 = .4 [x1,x3]; y2 = 1.3h; + draw z1{down}..z2..{down}z3; +endchar; +beginchar("p",1.1twd#+brm#,ht#,0); "p"; +% 0x70 + italcorr brm#; + tframe; + z5=(1/2penwd,.55h); + z6=(x3,.55h); + z7=(.3x3,h); + draw z5{dir-70}..tension.95..z6; + draw z5{right}..tension.95..z7; +endchar; +beginchar("r",1.1twd#+.5rm#,ht#,0); "r"; +% 0x72 + pickup frame_pen; + z1 = (0,h); z2 = (w,h); + z5=(.55w,h); + z6=(x5,.2h); + z7= (.15w,.45h); + z8= (x5,y7); + draw z1--z2; + draw z5--z6{down}..tension1.5..z7{dir10}..tension1.5..z8; +endchar; +beginchar("s",1.1twd#+brm#,ht#,0); "s"; +% 0x73 + italcorr brm#; + frame; x5=good.x 3/2penwd; y5=h; + z6=(x5,y7-penwd); + y7=good.y .35h+penwd; x7=x3; + z8=(x6-1/2penwd,y6+1/2penwd); + draw z5--z6; + draw (reverse halfcircle rotated rot scaled usthick shifted z8)--z7; +endchar; +beginchar("t",1.07twd#+rm#,ht#,0); "t"; +% 0x74 + pickup frame_pen; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); z4=(.4lm,.55h); + z5=(.64lm,y4); + z6=(x5,1/2penwd); + z7=(1/2penwd,.2h); + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + draw z5..z6{left}..{curl.4}z7; +endchar; +beginchar("u",1.07twd#+rm#,ht#,0); "front-u"; +% 0x75 + pickup frame_pen; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); z4=(.4lm,.55h); + z5=(.64lm,y4); + z6=(x5,1/2penwd); + z7=(1/2penwd,h); + x8=.42lm+1/4penwd; y8=1.5h; + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + draw z5..z6{left}..{curl.4}z7; + draw z7{up}..z8..z3; +endchar; +beginchar("v",1.15twd#+rm#,ht#,.4ht#); "v"; +% 0x76 + italcorr rm#+.5twd#; path p; + pickup frame_pen; + z1=(0,h); z2=(w,h); + draw z1--z2; + lm := w-rm; + x3 = good.x .7lm; y3=h; + z4 = (x3,.72h); + z6 = (.55lm,.4h); + z7 = (.8lm,.45h); + draw z3--z4; + vardef dwn(expr y) = xpart direction 1 of (z4{curl0}..tension1.1.. + (1/2penwd,y)..z6{right}..{curl0}z7) < 0 enddef; + z55 = (1/2penwd,solve dwn(y4,y6)); + z8 = (x7, y6); + p = z4{curl0}..tension1.1..z55..z6{right}..{curl0}z7; + draw p; + z9 = p intersectionpoint ((.25lm,.65h)--(.25lm,0)); + z10 = (x7,penwd); + draw z9{down}..tension.95..z10; +endchar; +beginchar("w",1.07twd#+rm#,ht#,0); "R"; +% 0x77 + pickup frame_pen; path p; + z1=(0,h); z2=(w,h); + lm:=w-rm; + z3=(.84lm,h); + z4=(.3lm,.65h); + z5=(.64lm,y4); + draw z1--z2; + draw z4--z5{right}..tension1.1..z3; + z6=(lm,.47h); + z7=(.3lm,.1h); + z8=(penwd,.23h); + z9=(.5lm,-1/7h); + p = z5..{down}z6..tension.9..{left}z7..z8; + draw p; + draw z8{right}..tension.8..z9; +% z10=point .97 of p; + z10=(.7lm,.1h); + z11=(.84lm,y9); + draw z10..z11; +endchar; +beginchar("y",1.45twd#+brm#,ht#,0); "y"; +% 0x79 + italcorr brm#; + frame; path p; + z5=(1/2penwd,.55h); + z7=(0,h); + draw z5{right}..tension.95..z7; + x6 = .6[x5,x3]; y6=.25h; + p = z5{dir-70}..tension.95..z6; + x8 = x6; y8=.6h; + x9 = x3; y9 = y8; + draw p--(x6,y8) ; + draw z8--z9; +endchar; +beginchar("{",.9twd#+brm#,1.5ht#,0); "sup-ai"; +% 0x7b + pickup frame_pen; + z1=(w-brm,ht+1.5penwd); + z2=(0,1.35ht); + z3=(penwd,1.55ht); + draw z1{curl.5}..{left}z2; + draw z1{curl.5}..{left}z3; +endchar; +beginchar("}",0,ht#,0); "r-stroke"; +% 0x7d + pickup sub_pen; + z1= (0,mb-(penwd+3/8uwidth)); + lft z2= (-1/2uwidth,mb-(penwd+1/8uwidth)); + z3= (0,mb-penwd); + z4= (1/2uwidth,mb-(penwd+1/2uwidth)); + draw z1..tension1.2..z2..z3..{curl0}z4; +endsav; +beginchar(127,.5ht#+2rm#,ht#,0); "abbrev"; +% 0x7f + pickup sub_pen; + z1=(1/2w,.8h-1/2penwd); + draw fullcircle scaled .4h shifted z1; +endchar; +ligtable "." : "." =: ";"; +end. + |