summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/casyl
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/casyl
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (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/casyl')
-rw-r--r--Master/texmf-dist/fonts/source/public/casyl/casyll10.mf601
1 files changed, 601 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/casyl/casyll10.mf b/Master/texmf-dist/fonts/source/public/casyl/casyll10.mf
new file mode 100644
index 00000000000..2ec9114bb81
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/casyl/casyll10.mf
@@ -0,0 +1,601 @@
+% casyll10.mf: Cree/Inuktitut 10 point
+% (based on Julian Bradfield's teng10.mf)
+% 22 February 1999
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Ivan A Derzhanski
+% Department of Mathematical Linguistics
+% Institute for Mathematics and Computer Science
+% Bulgarian Academy of Sciences
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+designsize:=10pt#;
+% parameter settings
+em#:=10pt#; asc#:=8pt#; ex#:=16/3pt#; o#:=1/8pt#;
+
+font_normal_space(.4em#); font_x_height(ex#);
+font_quad(em#); font_normal_stretch(.2em#);
+font_normal_shrink(.1em#);
+
+penangle := 45;
+big_penwidth# := 1/10em#; penthickness# := 1/70em#;
+wee_penwidth# = .8big_penwidth#;
+straight_sidebar# = 1/12em#; curve_sidebar# = 1/18em#;
+fudge# := .05 ex#; % fudge for lowering calma luva
+letter_width# := .6em#;
+
+autorounding := 1;
+mode_setup;
+define_pixels(em,asc,ex);
+define_blacker_pixels(big_penwidth,wee_penwidth,penthickness);
+define_corrected_pixels(o);
+define_whole_pixels(straight_sidebar,curve_sidebar);
+
+define_pixels(fudge, letter_width);
+pickup pencircle xscaled big_penwidth yscaled penthickness rotated penangle;
+big_nib := savepen;
+pickup pencircle xscaled wee_penwidth yscaled penthickness rotated penangle;
+wee_nib := savepen;
+
+def draw_dot(suffix i) =
+ % calculate width of pen
+ numeric penwdth;
+ 1.1penwdth = (pen_rt - pen_lft) ++ (pen_top - pen_bot);
+ z.i.$ = z.i + 1/2penwdth*dir(penangle+90);
+ z.i.$$ = z.i + 1/2penwdth*dir(penangle-90);
+ draw z.i.$$ -- z.i.$; drawdot z.i.$$; drawdot z.i.$;
+enddef;
+
+def beginsyll (expr c, w_sharp) =
+begingroup
+charcode := if known c: byte c else: 0 fi;
+charwd := w_sharp; charht := ex#; chardp := 0;
+w := hround (charwd * hppp);
+h := vround (charht * hppp);
+d := 0;
+charic := 0; clearxy; clearpen;
+enddef;
+
+def endsyllao (expr p) =
+chardx := w;
+charcode := charcode + 32;
+clearit; draw p;
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+charcode := charcode + 96;
+clearit; draw p reflectedabout ((.5w,0), (.5w,h));
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+endgroup
+enddef;
+
+def endsyllei (expr p) =
+chardx := w;
+charcode := charcode + 64;
+clearit; draw p;
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+charcode := charcode + 32;
+clearit; draw p reflectedabout ((0,.5h), (w,.5h));
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+endgroup
+enddef;
+
+def endsyllxy (expr p) =
+chardx := w;
+charcode := charcode + 32;
+clearit; draw p;
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+charcode := charcode + 32;
+clearit;
+draw p reflectedabout ((0,.5h), (w,.5h)) reflectedabout ((.5w,0), (.5w,h));
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+charcode := charcode + 32;
+clearit; draw p reflectedabout ((0,.5h), (w,.5h));
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+charcode := charcode + 32;
+clearit; draw p reflectedabout ((.5w,0), (.5w,h));
+if proofing > 0: makebox (proofrule); fi
+shipit;
+if displaying > 0: makebox (screenrule); showit; fi
+endgroup
+enddef;
+
+% now make the fount
+
+beginchar(96,letter_width#,ex#,0); "big circle";
+ pickup big_nib;
+ top y1 = round(ex+o); x1 = .5w;
+ bot y3 = round(-o); x3 = x1;
+ rt x2 = w - curve_sidebar = w - lft x4;
+ y2 = y4 = .5h;
+ draw z1 .. z2 .. z3 .. z4 .. cycle;
+endchar;
+
+beginsyll ("`", letter_width#); "a/o";
+ pickup big_nib;
+ x1 = x2 = w - straight_sidebar;
+ x3 = curve_sidebar;
+ y3 = .5h; y1 = 0; y2 = h;
+endsyllao (z1 -- z3 -- z2 -- z1);
+
+beginsyll ("`", letter_width#); "e/i";
+ pickup big_nib;
+ y1 = h; x1 = w - x2;
+ y2 = h; x2 = straight_sidebar;
+ x3 = .5[x1,x2]; bot y3 = round 0;
+endsyllei (z1 -- z3 -- z2 -- z1);
+
+beginsyll ("p", letter_width#); "pa/po";
+ pickup big_nib;
+ x2 = curve_sidebar = w - x1 = w - x3;
+ y2 = .5h; y1 = h; y3 = 0;
+endsyllao (z1 -- z2 -- z3);
+
+beginsyll ("p", letter_width#); "pe/pi";
+ pickup big_nib;
+ y1 = h; x1 = w - x2;
+ y2 = h; x2 = straight_sidebar;
+ x3 = .5[x1,x2]; bot y3 = round 0;
+endsyllei (z1 -- z3 -- z2);
+
+beginsyll ("t", letter_width#); "ta/to";
+ pickup big_nib;
+ rt x1 = rt x5 = w - lft x3 = w - curve_sidebar;
+ x2 = x4 = .4w;
+ bot y1 = bot y2 = 0; top y4 = top y5 = h;
+ y3 = .5h;
+endsyllao (z1 -- z2 .. z3 .. z4 -- z5);
+
+beginsyll ("t", letter_width#); "te/ti";
+ pickup big_nib;
+ w - rt x1 = w - rt x2 = lft x4 = lft x5 = straight_sidebar;
+ x3 = .5w;
+ top y1 = top y5 = h + o;
+ bot y3 = -o; y2 = y4 = .4h;
+endsyllei (z1 -- z2 .. z3 .. z4 -- z5);
+
+beginsyll ("c", letter_width#); "c@";
+ pickup big_nib;
+ rt x2 = w - curve_sidebar;
+ lft x4 = lft x5 = straight_sidebar;
+ x3 = .5[x2,x4];
+ top y5 = h + o; bot y3 = -o; y2 = y4 = .4h;
+endsyllxy (z2 .. z3 .. {up}z4 -- z5);
+
+beginsyll ("k", letter_width#); "k@";
+ pickup big_nib;
+ x1 = x3 = .5w;
+ bot y3 = round(-o); y1 = .6h;
+ rt x2 = w - curve_sidebar;
+ lft x4 = straight_sidebar;
+ y2 = y4 = .5[y1,y3];
+ top z5 = (x4, h+o);
+endsyllxy (z5 -- z4{down} .. z3 .. z2 .. z1{left} .. z4);
+
+beginsyll ("n", letter_width#); "n@";
+ pickup big_nib;
+ top y1 = round(ex+o); x1 = .5[x2,x4];
+ bot y3 = round(-o); x3 = x1;
+ x2 = .6w; lft x4 = curve_sidebar;
+ y2 = y4 = .5h;
+ rt z5 = (w - curve_sidebar, y3);
+endsyllxy (z5 -- z3{left} .. z4 .. z1 .. z2 .. z3);
+
+beginsyll ("m", letter_width#); "m@";
+ pickup big_nib;
+ lft x1 = straight_sidebar; top y1 = h;
+ rt x2 = w - curve_sidebar; bot y2 = 0;
+endsyllxy (z1 -- (x1,y2) -- z2);
+
+beginsyll ("s", letter_width#); "s@";
+ pickup big_nib;
+ y1 = .6h; x1 = x3 = .6w;
+ bot y3 = round(-o);
+ rt x2 = w - curve_sidebar;
+ y2 = .5[y1,y3];
+ top lft z5 = (straight_sidebar, ex+o);
+endsyllxy (z5 -- (x5,y1) .. z1 .. z2 .. {left}z3);
+
+beginsyll ("y", letter_width#); "y@";
+ pickup big_nib;
+ y1 = .6h; bot y3 = round(-o);
+ rt x1 = w - curve_sidebar; x3 = .4w;
+ top lft z5 = (straight_sidebar, ex+o);
+endsyllxy (z5 -- (x5,y1) .. z1 -- z3);
+
+beginsyll ("r", letter_width#); "ra/ro";
+ pickup big_nib;
+ rt x0 = rt x1 = w - straight_sidebar;
+ w - rt x5 = lft x3 = curve_sidebar;
+ x2 = x4 = .4w;
+ bot y0 = -o; y1 = y2 = .45h; top y4 = top y5 = h;
+ y3 = .5[y1,y5];
+endsyllao (z0 -- z1 -- z2{left} .. z3 .. {right}z4 -- z5);
+
+beginsyll ("r", letter_width#); "re/ri";
+ pickup big_nib;
+ rt x0 = w - curve_sidebar;
+ x1 = x2 = .55w;
+ lft x4 = lft x5 = straight_sidebar;
+ x3 = .5w;
+ top y0 = top y1 = h; top y5 = h + o;
+ bot y3 = -o; y2 = y4 = .4h;
+endsyllei (z0 -- z1 -- z2{down} .. z3 .. {up}z4 -- z5);
+
+beginsyll ("l", letter_width#); "l@";
+ pickup big_nib;
+ rt x1 = w - lft x3 = w - curve_sidebar;
+ x2 = x4 = .4w;
+ bot y1 = bot y2 = 0; top y4 = h;
+ y3 = .5h;
+endsyllxy (z1 -- z2 .. z3 .. {right}z4);
+
+beginsyll (123, letter_width#); "rh@";
+ pickup big_nib;
+ rt x2 = w - curve_sidebar;
+ lft x5 = straight_sidebar;
+ x3 = .3[x2,x5];
+ top y5 = h + o; bot y3 = -o; y2 = .4h;
+endsyllxy (z2 .. z3 .. tension 1.2 .. {up}z5 -- (x5,y3));
+
+beginsyll (124, letter_width#); "lh@";
+ pickup big_nib;
+ x0 = .5w; x2 = x4 = .4w;
+ rt x1 = w - straight_sidebar;
+ w - rt x5 = lft x3 = curve_sidebar;
+ bot y0 = -o; y1 = y2 = .45h; top y4 = h + o;
+ y3 = .5[y1,y4];
+endsyllxy (z0 -- z1 -- z2{left} .. z3 .. z4);
+
+beginsyll (125, letter_width#); "sha/sho";
+ pickup big_nib;
+ top y1 = top y6 = round(ex+o); x1 = x3 = .8[x5,x2];
+ bot y3 = bot y4 = round(-o); x4 = x6 = .2[x5,x2];
+ w - rt x2 = curve_sidebar = lft x5;
+ y2 = y5 = .5h;
+endsyllao (z3{right} .. z2 .. z1 .. .5[z5,z2] .. z4 .. z5 .. {right}z6);
+
+beginsyll (125, letter_width#); "she/shi";
+ pickup big_nib;
+ x0 = x3 = .5w; top y0 = ex+o; bot y3 = -o;
+ lft x4 = lft x5 = w - rt x1 = w - rt x2 = curve_sidebar;
+ y1 = y5 = .8[y3,y0]; y2 = y4 = .2[y3,y0];
+endsyllei (z2{down} .. z3 .. z4 .. .5[z3,z0] .. z1 .. z0 .. {down}z5);
+
+beginsyll (126, letter_width#); "tha/tho";
+ pickup big_nib;
+ top y0 = top y1 = h; y0 - y6 = x3 - x9 = .35h;
+ lft x2 = w - rt x3 = w - rt x5 = curve_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ x1 = x4 = .4w; bot y4 = bot y5 = 0; y2 = .5h;
+endsyllao (z0 .. z9 .. z6 .. z3 .. z0 -- z1 .. z2 .. z4 -- z5);
+
+beginsyll (126, letter_width#); "the/thi";
+ pickup big_nib;
+ top y0 = top y5 = h + o; y0 - y6 = x3 - x9 = .35h;
+ lft x1 = lft x9 = w - rt x4 = w - rt x5 = straight_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ y1 = y4 = .4h; x2 = .5w; bot y2 = -o;
+endsyllei (z9 .. z6 .. z3 .. z0 .. z9 -- z1 .. z2 .. z4 -- z5);
+
+beginsyll ("v", letter_width#); "va/vo";
+ pickup big_nib;
+ top y0 = h; y0 - y6 = x3 - x9 = .35h;
+ lft x1 = w - rt x3 = w - rt x2 = curve_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ y1 = .5h; bot y2 = -o;
+ path p; p = z0 .. z9 .. z6 .. z3 .. cycle;
+ numeric t;
+ t = xpart ((subpath (0,1) of p)
+ intersectiontimes (quartercircle
+ scaled (2 * ((x0-x1)++(y9-y1)+-+(x0-x9))) shifted z1));
+endsyllao (((subpath (t,4) of p) & (subpath (0,t) of p) --- z1 -- z2));
+
+beginsyll ("v", letter_width#); "ve/vi";
+ pickup big_nib;
+ top y0 = top y2 = h + o; y0 - y6 = x3 - x9 = .35h;
+ lft x9 = w - rt x2 = curve_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ x1 = .5w; bot y1 = -o;
+ path p; p = z9 .. z6 .. z3 .. z0 .. cycle;
+ numeric t;
+ t = xpart ((subpath (0,1) of p)
+ intersectiontimes (quartercircle rotated 90
+ scaled (2 * ((x6-x1)++(y9-y1)+-+(x6-x9))) shifted z1));
+endsyllei (((subpath (t,4) of p) & (subpath (0,t) of p) --- z1 -- z2));
+
+beginchar("h",.35em#,1.5ex#,0); "h";
+ pickup wee_nib;
+ y1 = y2 - vround .4ex; .5[y1,y2] = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw z1 -- (x1,y2); draw (x2,y1) -- z2;
+endchar;
+
+beginchar("p",.4em#,1.5ex#,0); "p";
+ pickup wee_nib;
+ rt x1 = rt x5 = w - curve_sidebar;
+ lft x3 = curve_sidebar;
+ y1 = y5 + vround .45ex;
+ y3 = .5[y1,y5] = ex;
+ draw z5 -- z3 -- z1;
+endchar;
+
+beginchar("t",.4em#,1.5ex#,0); "t";
+ pickup wee_nib;
+ rt x1 = rt x5 = w - lft x3 = w - curve_sidebar;
+ x2 = x4 = .4[x3,x1]; y3 = .5[y1,y5] = ex;
+ y1 = y5 + vround .45ex; y1 = y2; y4 = y5;
+ draw z5 -- z4 .. z3 .. z2 -- z1;
+endchar;
+
+beginchar("c",.4em#,1.5ex#,0); "c";
+ pickup wee_nib;
+ x1 = x3 = .5[x2,x4];
+ y0 = y3 + vround .45ex;
+ lft x0 = lft x2 = straight_sidebar;
+ w - rt x4 = curve_sidebar;
+ y2 = y4 = .5[y1,y3];
+ .5[y0,y3] = ex; .4[y0,y3] = y1;
+ draw z0 -- z2{down} .. z3 .. z4;
+endchar;
+
+beginchar("k",.4em#,1.5ex#,0); "k";
+ pickup wee_nib;
+ x1 = x3 = .5[x2,x4];
+ y0 = y3 + vround .45ex;
+ lft x0 = lft x2 = straight_sidebar;
+ w - rt x4 = curve_sidebar;
+ y2 = y4 = .5[y1,y3];
+ .5[y0,y3] = ex; .4[y0,y3] = y1;
+ draw z0 -- z2;
+ draw z1 .. z2 .. z3 .. z4 .. cycle;
+endchar;
+
+beginchar("m",.45em#,1.5ex#,0); "m";
+ pickup wee_nib;
+ y1 = y2 - vround .4ex; .5[y1,y2] = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw z1 -- (x1,y2) -- z2;
+endchar;
+
+beginchar("n",.4em#,1.5ex#,0); "n";
+ pickup wee_nib;
+ x1 = x3 = .5[x2,x4]; x4 = .6[x2,x0];
+ y1 = y3 + vround .45ex; y0 = y3;
+ lft x2 = w - rt x0 = curve_sidebar;
+ y2 = y4 = .5[y1,y3] = ex;
+ draw z0 -- z3;
+ draw z1 .. z2 .. z3 .. z4 .. cycle;
+endchar;
+
+beginchar("s",.4em#,1.5ex#,0); "s";
+ pickup wee_nib;
+ x1 = x3 = .5[x0,x4];
+ y0 = y3 + vround .45ex;
+ lft x0 = straight_sidebar;
+ w - rt x4 = curve_sidebar;
+ y4 = .5[y1,y3];
+ .5[y0,y3] = ex; .4[y0,y3] = y1;
+ draw z0 -- (x0,y1) .. z1 .. z4 .. z3;
+endchar;
+
+beginchar("y",.4em#,1.5ex#,0); "y";
+ pickup wee_nib;
+ x3 = .6[x0,x1];
+ y0 = y3 + vround .45ex;
+ lft x0 = straight_sidebar;
+ w - rt x1 = curve_sidebar;
+ .5[y0,y3] = ex; .4[y0,y3] = y1;
+ draw z0 -- (x0,y1) .. z1 -- z3;
+endchar;
+
+beginchar("r",.4em#,1.5ex#,0); "r";
+ pickup wee_nib;
+ w - rt x0 = lft x3 = curve_sidebar;
+ x0 = x1 = x5; x2 = x4 = .4[x3,x1]; y3 = .5[y1,y5];
+ y5 = .5[y1,y0] = ex;
+ y1 = y0 + vround .45ex; y1 = y2; y4 = y5;
+ draw z0 -- z5 -- z4{left} .. z3 .. {right}z2 -- z1;
+endchar;
+
+beginchar("l",.4em#,1.5ex#,0); "l";
+ pickup wee_nib;
+ rt x5 = w - curve_sidebar;
+ lft x3 = curve_sidebar; x2 = x4 = .4[x3,x5];
+ y2 = y5 + vround .45ex; y4 = y5;
+ y3 = .5[y2,y5] = ex;
+ draw z5 -- z4 .. z3 .. {right}z2;
+endchar;
+
+picture savedimage;
+
+beginchar (123,.4em#,1.5ex#,0); "rh";
+ pickup wee_nib;
+ rt x2 = w - curve_sidebar;
+ lft x5 = straight_sidebar;
+ x3 = .3[x2,x5];
+ y5 = y3 + vround .45ex; .5[y3,y5] = ex; y2 = .4[y3,y5];
+ draw z2 .. z3 .. tension 1.2 .. {up}z5 -- (x5,y3);
+ savedimage := currentpicture;
+endchar;
+
+beginchar(91,.4em#,1.5ex#,0); "rh";
+ currentpicture := savedimage;
+endchar;
+
+beginchar(124,.4em#,1.5ex#,0); "lh";
+ pickup wee_nib;
+ rt x5 = w - lft x3 = w - curve_sidebar;
+ x0 = x2 = x4 = .4[x3,x5]; y3 = .5[y2,y5];
+ y5 = .5[y2,y0] = ex;
+ y2 = y0 + vround .45ex; y4 = y5;
+ draw z0 -- z5 -- z4{left} .. z3 .. z2;
+ savedimage := currentpicture;
+endchar;
+
+beginchar(92,.4em#,1.5ex#,0); "lh";
+ currentpicture := savedimage;
+endchar;
+
+beginchar(125,.4em#,1.5ex#,0); "sh";
+ pickup wee_nib;
+ x1 = x3 = .75[x5,x2];
+ x4 = x6 = .25[x5,x2];
+ y1 = y3 + vround .45ex; y6 = y1; y4 = y3;
+ lft x5 = w - rt x2 = curve_sidebar;
+ y2 = y5 = .5[y1,y3] = ex;
+ draw z3{right} .. z2 .. z1 .. .5[z5,z2] .. z4 .. z5 .. {right}z6;
+endchar;
+
+beginchar(126,.4em#,1.5ex#,0); "th";
+ pickup wee_nib;
+ y0 = y1 = y5 + vround .45ex; y0 - y6 = x3 - x9 = .45(y0-y5);
+ lft x2 = w - rt x3 = w - rt x5 = curve_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ x1 = x4 = .4w; y4 = y5; y2 = .5[y0,y5] = ex;
+ draw z0 .. z9 .. z6 .. z3 .. z0 -- z1 .. z2 .. z4 -- z5;
+ savedimage := currentpicture;
+endchar;
+
+beginchar(94,.4em#,1.5ex#,0); "th";
+ currentpicture := savedimage;
+endchar;
+
+beginchar("v",.4em#,1.5ex#,0); "v";
+ pickup wee_nib;
+ y0 = y2 + vround .45ex; y0 - y6 = x3 - x9 = .45(y0-y2);
+ lft x1 = w - rt x3 = w - rt x2 = curve_sidebar;
+ x0 = x6 = .5[x9,x3]; y3 = y9 = .5[y0,y6];
+ y1 = .5[y0,y2] = ex;
+ path p; p = z0 .. z9 .. z6 .. z3 .. cycle;
+ numeric t;
+ t = xpart ((subpath (0,1) of p)
+ intersectiontimes (quartercircle
+ scaled (2 * ((x0-x1)++(y9-y1)+-+(x0-x9))) shifted z1));
+ draw (subpath (t,4) of p) & (subpath (0,t) of p) --- z1 -- z2;
+ savedimage := currentpicture;
+endchar;
+
+beginchar("V",.4em#,1.5ex#,0); "v";
+ currentpicture := savedimage;
+endchar;
+
+beginchar("P",.3em#,1.5ex#,0); "P";
+ pickup wee_nib;
+ y1 = y2 - vround .45ex; .5[y1,y2] = ex;
+ x1 = x2 = .5w;
+ draw z1 -- z2;
+endchar;
+
+beginchar("T",.4em#,1.5ex#,0); "T";
+ pickup pencircle
+ xscaled wee_penwidth yscaled penthickness rotated (penangle+90);
+ y1 = y2 - vround .45ex; .5[y1,y2] = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw z1 -- z2;
+endchar;
+
+beginchar("C",.45em#,1.5ex#,0); "c";
+ pickup wee_nib;
+ y1 = y2 = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw z1 -- z2;
+endchar;
+
+beginchar("K",.4em#,1.5ex#,0); "k";
+ pickup wee_nib;
+ y1 = y2 + vround .45ex; .5[y1,y2] = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw z1 -- z2;
+endchar;
+
+beginchar("M",.4em#,1.5ex#,0); "m";
+ pickup wee_nib;
+ rt x1 = rt x5 = w - curve_sidebar;
+ lft x3 = curve_sidebar;
+ y1 = y5 + vround .45ex;
+ y3 = .5[y1,y5] = ex;
+ draw z5{left} .. z3 .. {right}z1;
+endchar;
+
+beginchar("N",.4em#,1.5ex#,0); "n";
+ pickup wee_nib;
+ lft x1 = lft x3 = curve_sidebar;
+ rt x4 = w - curve_sidebar;
+ y1 = y3 + vround .45ex;
+ y4 = .5[y1,y3] = ex;
+ draw z3{right} .. z4 .. {left}z1;
+endchar;
+
+beginchar("S",.4em#,1.5ex#,0); "s";
+ pickup wee_nib;
+ x1 = good.x .5w; lft x2 = w - rt x4 = curve_sidebar;
+ y1 = y2 + vround .45ex; .5[y1,y2] = ex; y2 = y4;
+ draw z4{up} .. z1 .. {down}z2;
+endchar;
+
+beginchar("Y",.45em#,1.5ex#,0); "y";
+ pickup wee_nib;
+ y1 = y2 - vround .45ex; .5[y1,y2] = y3 = y4 = ex;
+ x1 = x2 = .5w;
+ lft x3 = straight_sidebar = w - rt x4;
+ draw z1 -- z2; draw z3 -- z4;
+endchar;
+
+beginchar("L",.45em#,1.5ex#,0); "l";
+ pickup wee_nib;
+ y3 = y4 = y2 + vround .45ex; .5[y3,y2] = ex;
+ x2 = .5w;
+ lft x3 = straight_sidebar = w - rt x4;
+ draw (x2,y3) -- z2; draw z3 -- z4;
+endchar;
+
+beginchar("R",.4em#,1.5ex#,0); "r";
+ pickup pencircle
+ xscaled wee_penwidth yscaled penthickness rotated (penangle+90);
+ y1 = y2 - vround .45ex; .5[y1,y2] = ex;
+ lft x1 = straight_sidebar = w - rt x2;
+ draw (x2,y1) -- z1 -- z2 -- (x1,y2);
+endchar;
+
+beginchar(93,.4em#,1.5ex#,0); "sh";
+ pickup wee_nib;
+ x1 = good.x .5w; lft x2 = w - rt x4 = curve_sidebar;
+ y1 = y2 - vround .45ex; .5[y1,y2] = ex; y2 = y4;
+ draw z2{down} .. z1 .. {up}z4;
+endchar;
+
+beginchar("w",.4em#,1.5ex#,0); "w";
+ pickup wee_nib;
+ x1 = x3 = good.x .5w;
+ y1 = y3 + vround .45ex;
+ lft x2 = w - rt x4 = curve_sidebar;
+ y2 = y4 = .5[y1,y3] = ex;
+ draw z1 .. z2 .. z3 .. z4 .. cycle;
+endchar;
+
+beginchar("W",.4em#,ex#,0); "The w mark";
+ pickup big_nib;
+ x1 = good.x .5w; y1 = good.y .6h;
+ draw_dot(1);
+endchar;
+
+beginchar("'",letter_width#,1.3ex#,0); "The length mark";
+ pickup big_nib;
+ x1 = good.x (.5w); top y1 = h;
+ draw_dot(1);
+endchar;
+
+end.
+