% casyll10.mf: Cree/Inuktitut 10 point % (based on Julian Bradfield's teng10.mf) % 22 March 2000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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# = .7big_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 (text ps) = chardx := w; charcode := charcode + 128; clearit; for p = ps: draw p; endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi charcode := charcode - 32; clearit; for p = ps: draw p reflectedabout ((.5w,0), (.5w,h)); endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi endgroup enddef; def endsyllei (text ps) = chardx := w; charcode := charcode + 32; clearit; for p = ps: draw p; endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi charcode := charcode + 32; clearit; for p = ps: draw p reflectedabout ((0,.5h), (w,.5h)); endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi endgroup enddef; def endsyllxy (text ps) = chardx := w; charcode := charcode + 128; clearit; for p = ps: draw p; endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi charcode := charcode - 96; clearit; for p = ps: draw p reflectedabout ((0,.5h), (w,.5h)) reflectedabout ((.5w,0), (.5w,h)); endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi charcode := charcode + 32; clearit; for p = ps: draw p reflectedabout ((0,.5h), (w,.5h)); endfor if proofing > 0: makebox (proofrule); fi shipit; if displaying > 0: makebox (screenrule); showit; fi charcode := charcode + 32; clearit; for p = ps: draw p reflectedabout ((.5w,0), (.5w,h)); endfor 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(h+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 = -o; y2 = h+o; endsyllao (z1 -- z3 -- z2 -- z1); beginsyll ("`", letter_width#); "e/i"; pickup big_nib; y1 = y2 = h; x2 = straight_sidebar = w - x1; x3 = .5[x1,x2]; bot y3 = -o; endsyllei (z1 -- z3 -- z2 -- z1); beginchar (oct"001", .6em#, 1.5ex#, 0); "ai"; pickup wee_nib; x3 = good.x .5w; lft x1 = w - rt x5 = curve_sidebar; x2 = .5 [x1, x3]; x4 = .5 [x3, x5]; y2 = y4 = y1 - vround .45ex; .5[y1,y2] = ex; y1 = y3 = y5; draw z1{down} .. z2 .. {up}z3 & z3{down} .. z4 .. {up}z5; endchar; beginchar(oct"000",.45em#,1.5ex#,0); "glottal stop"; pickup wee_nib; y3 = y4 = y2 - vround .45ex; .5[y3,y2] = ex; x2 = .5w; lft x3 = straight_sidebar = w - rt x4; draw z2 -- z3 -- z4 -- cycle; endchar; beginchar(oct"033",.54em#,1.5ex#,0); "Bible Cree y"; pickup wee_nib; y1 = y2 - vround .45ex; .5[y1,y2] = ex; y1 = y3 = y5; y2 = y4; x3 = .5w; x2 = .5 [x1, x3]; x4 = .5 [x3, x5]; lft x1 = straight_sidebar = w - rt x5; draw z1 -- z2 -- z3 -- z4 -- z5; endchar; beginsyll ("p", letter_width#); "pa/po"; pickup big_nib; x2 = curve_sidebar = w - x1 = w - x3; y2 = .5h; y1 = h+o; y3 = -o; endsyllao (z1 -- z2 -- z3); beginsyll ("p", letter_width#); "pe/pi"; pickup big_nib; x3 = straight_sidebar = w - x1; x2 = .5[x1,x3]; bot y2 = -o; y1 = y3 = h; endsyllei (z1 -- z2 -- z3); 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 = -o; top y4 = top y5 = h+o; 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 ("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 ("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 ("m", letter_width#); "m@"; pickup big_nib; lft x1 = straight_sidebar; top y1 = h; rt x2 = w - curve_sidebar; bot y2 = -o; endsyllxy (z1 -- (x1,y2) -- z2); beginsyll ("n", letter_width#); "n@"; pickup big_nib; top y1 = round(h+o); x1 = .5[x2,x4]; bot y3 = 0; 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 ("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 ("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, h+o); endsyllxy (z5 -- (x5,y1) .. z1 .. z2 .. {left}z3); beginsyll ("f", letter_width#); "sha/sho"; pickup big_nib; top y1 = top y6 = round(h+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 ("f", letter_width#); "she/shi"; pickup big_nib; x0 = x3 = .5w; top y0 = h+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 ("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, h+o); endsyllxy (z5 -- (x5,y1) .. z1 -- z3); beginsyll ("r", letter_width#); "Eskimo 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#); "Eskimo 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 ("z", letter_width#); "Cree ra/ro"; pickup big_nib; rt x0 = rt x1 = w - straight_sidebar; w - rt x5 = lft x3 = curve_sidebar; x2 = x4 = .4w; top y0 = h+o; y1 = y2 = .55h; bot y4 = bot y5 = 0; y3 = .5[y1,y5]; endsyllao (z0 -- z1 -- z2{left} .. z3 .. {right}z4 -- z5); beginsyll ("z", letter_width#); "Cree re/ri"; pickup big_nib; lft x0 = curve_sidebar; x1 = x2 = .45w; rt x4 = rt x5 = w - straight_sidebar; x3 = .5w; bot y0 = bot y1 = 0; bot y5 = -o; top y3 = h+o; y2 = y4 = .6h; endsyllei (z0 -- z1 -- z2{up} .. z3 .. {down}z4 -- z5); beginsyll ("q", 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 ("q", 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)); beginsyll ("u", 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 ("u", 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 (125, letter_width#); "ttha/ttho"; pickup big_nib; rt x1 = rt x5 = rt x7 = w - lft x3 = w - curve_sidebar; x2 = x4 = .4w; x6 = .6w; bot y1 = bot y2 = -o; top y4 = top y5 = h+o; y3 = y6 = y7 = .5h; endsyllao (z1 -- z2 .. z3 .. z4 -- z5, z6 -- z7); beginsyll (125, letter_width#); "tthe/tthi"; pickup big_nib; w - rt x1 = w - rt x2 = lft x4 = lft x5 = straight_sidebar; x3 = x6 = x7 = .5w; top y1 = top y5 = top y7 = h+o; bot y3 = -o; y2 = y4 = .4h; y6 = .6h; endsyllei (z1 -- z2 .. z3 .. z4 -- z5, z6 -- z7); beginsyll (124, letter_width#); "tya/tyo"; pickup big_nib; rt x1 = rt x5 = rt x6 = rt x8 = w - lft x3 = w - curve_sidebar; x2 = x4 = .4w; x7 = .5w; bot y1 = bot y2 = -o; top y4 = top y5 = h+o; y3 = y7 = .5h; y5 - y6 = y6 - y8 = y8 - y1; endsyllao (z1 -- z2 .. z3 .. z4 -- z5, z6{left} ... z7 ... {right}z8); beginsyll (124, letter_width#); "tye/tyi"; pickup big_nib; w - rt x1 = w - rt x2 = lft x4 = lft x5 = straight_sidebar; x3 = x7 = .5w; x5 - x6 = x6 - x8 = x8 - x1; top y1 = top y5 = top y6 = top y8 = h+o; bot y3 = -o; y2 = y4 = .4h; y7 = .5h; endsyllei (z1 -- z2 .. z3 .. z4 -- z5, z6{down} ... z7 ... {up}z8); beginsyll ("h", letter_width#); "Nunavik h@"; pickup big_nib; x1 = x3 = .5w; bot y3 = round(-o); y1 = .6h; rt x2 = w - curve_sidebar; lft x4 = curve_sidebar; y2 = y4 = .5[y1,y3]; top z5 = (x4, h+o); z6 = (0, .6h); endsyllxy (z6 -- z5 -- z4{down} .. z3 .. z2 .. z1{left} .. z4); beginchar ("H", letter_width#, ex#, 0); "Nunavut h"; pickup big_nib; lft x1 = lft x2 = w - rt x3 = w - rt x4 = straight_sidebar; top y1 = top y3 = h+o; bot y2 = bot y4 = -o; draw z1 -- z2; draw z3 -- z4; draw .5 [z1, z2] -- .5 [z3, z4]; endchar; beginsyll ("j", letter_width#); "tlh@"; 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} -- (x2,y5)); 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 ("e", letter_width#); "Sayisi sh@"; 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} .. .5[z1,z3]); beginsyll ("v", letter_width#); "Woods Cree tha/tho"; pickup big_nib; y1 = .6h; x1 = .5[x2,x4]; bot y3 = 0; x3 = x1; x2 = .6w; lft x4 = curve_sidebar; lft x6 = w - rt x7 = curve_sidebar; y2 = y4 = .5 [y3, y1]; top y6 = top y7 = h; rt z5 = (w - curve_sidebar, y3); endsyllao (z5 -- z3{left} .. z4 .. z1 .. z2 .. z3, z6 -- z7); beginsyll (54, letter_width#); "Woods Cree the/thi"; pickup big_nib; bot y1 = -o; x1 = .5[x2,x4]; y3 = .6h; x3 = x1; x2 = .6w; lft x4 = curve_sidebar; lft x6 = w - rt x7 = curve_sidebar; y2 = y4 = .5 [y3, y1]; top y6 = top y7 = h; rt z5 = (w - curve_sidebar, y3); endsyllao (z5 -- z3{left} .. z4 .. z1 .. z2 .. z3, z6 -- z7); beginsyll ("d", 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 ("x", letter_width#); "th-Cree th@"; pickup big_nib; y1 = .6h; bot y3 = round(-o); rt x1 = w - curve_sidebar; x3 = .4w; top lft z5 = (straight_sidebar, h+o); lft x6 = 0; x7 = .5w; y6 = y7 = .5 [y5, y1]; endsyllxy (z5 -- (x5,y1) .. z1 -- z3, z6 -- z7); beginchar ("B", letter_width#, ex#, 0); "Aivilik b"; pickup big_nib; lft x1 = lft x2 = straight_sidebar; x9 = rt x1; rt x3 = w - curve_sidebar; x0 = x6 = .5 [x9, x3]; top y1 = h+o; bot y2 = bot y6 = -o; y0 = .5h; y9 = y3 = .5 [y0, y6]; draw z1 -- z2; draw z0 .. z3 .. z6 .. z9 .. cycle; endchar; beginchar (oct"347", letter_width#, ex#, 0); "Blackfoot o"; pickup big_nib; lft x1 = lft x2 = straight_sidebar; x9 = rt x1; rt x3 = w - curve_sidebar; x0 = x6 = .5 [x9, x3]; top y1 = h+o; bot y2 = bot y6 = -o; y0 = .5h; y9 = y3 = .5 [y0, y6]; draw z1 -- z2; filldraw z0 .. z3 .. z6 .. z9 .. cycle; endchar; beginchar (oct"307", letter_width#, ex#, 0); "Blackfoot i"; pickup big_nib; rt x1 = rt x2 = w - straight_sidebar; x3 = lft x1; lft x9 = curve_sidebar; x0 = x6 = .5 [x9, x3]; top y1 = h+o; bot y2 = bot y6 = -o; y0 = .5h; y9 = y3 = .5 [y0, y6]; draw z1 -- z2; filldraw z0 .. z3 .. z6 .. z9 .. cycle; endchar; beginchar (oct"347", letter_width#, ex#, 0); "Blackfoot o"; pickup big_nib; lft x1 = lft x2 = straight_sidebar; x9 = rt x1; rt x3 = w - curve_sidebar; x0 = x6 = .5 [x9, x3]; top y1 = h+o; bot y2 = bot y6 = -o; y0 = .5h; y9 = y3 = .5 [y0, y6]; draw z1 -- z2; filldraw z0 .. z3 .. z6 .. z9 .. cycle; endchar; beginchar (oct"207", letter_width#, ex#, 0); "Blackfoot a"; pickup big_nib; rt x1 = rt x2 = w - straight_sidebar; x3 = lft x1; lft x9 = curve_sidebar; x0 = x6 = .5 [x9, x3]; top y1 = top y0 = h+o; bot y2 = -o; y6 = .5h; y9 = y3 = .5 [y0, y6]; draw z1 -- z2; filldraw z0 .. z3 .. z6 .. z9 .. cycle; endchar; beginsyll ("o", letter_width#); "Blackfoot w@"; pickup big_nib; lft x1 = straight_sidebar; top y1 = h+o; rt x2 = w - curve_sidebar; bot y2 = 0; endsyllxy (z1 -- (x1,y2) -- z2, (x1,.5h) -- (x2,.5h)); beginsyll ("w", letter_width#); "Blackfoot n@"; pickup big_nib; lft x1 = straight_sidebar; top y1 = h+o; rt x2 = w - curve_sidebar; bot y2 = 0; z3 = (.3[x1,x2], y2); z4 = (.5[x2,x3], .4h); endsyllxy (z1 -- (x1,y2) -- z3{up} .. z4 .. {down}z2); beginsyll (127, letter_width#); "Blackfoot k@"; pickup big_nib; lft x1 = straight_sidebar; top y1 = h+o; rt x2 = w - curve_sidebar; bot y2 = -o; z3 = (.5[x1,x2], .4h); endsyllxy (z1 -- (x1,y2) -- z3 -- z2); beginsyll ("i", letter_width#); "Sayisi h@"; pickup big_nib; lft x1 = lft x2 = straight_sidebar; bot y1 = -o; top y2 = h; z3 = (.6w,.5h); rt x4 = w - curve_sidebar; y4 = .6h; endsyllxy (z1 -- z2{right} .. {right}z3 .. z4); beginchar(oct"100",letter_width#,ex#,0); "Chi"; pickup big_nib; y1 = vround h; y2 = 0; lft x1 = straight_sidebar = w - rt x2; draw z1 -- z2; draw (x1,y2)--(x2,y1); endchar; beginchar(oct"010",.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(oct"003",.4em#,1.5ex#,0); "Sayisi th"; pickup wee_nib; x1 = x3 = .5[x2,x4]; y0 = y3 + vround .45ex; rt x0 = rt x2 = w - straight_sidebar; lft 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("h",.4em#,1.5ex#,0); "Nunavik h"; pickup wee_nib; x1 = x3 = .5[x2,x4]; y0 = y3 + vround .45ex; lft x5 = 0; lft x0 = lft x2 = curve_sidebar; w - rt x4 = curve_sidebar; y2 = y4 = .5[y1,y3]; y5 = .6 [y3, y0]; .5[y0,y3] = ex; .4[y0,y3] = y1; draw z5 -- z0 -- z2; draw z1 .. z2 .. z3 .. z4 .. cycle; endchar; beginchar(oct"013",.4em#,1.5ex#,0); "kw"; pickup wee_nib; x1 = x3 = .5[x2,x4]; y0 = y3 + vround .45ex; rt x0 = rt x2 = w - straight_sidebar; lft 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; y2 = y1 - vround .4ex; .5[y1,y2] = ex; lft x1 = straight_sidebar = w - rt x2; draw z1 -- (x1,y2) -- z2; endchar; beginchar(oct"015",.45em#,1.5ex#,0); "mh"; pickup wee_nib; y2 = y1 - vround .4ex; .5[y1,y2] = ex; w - rt x1 = straight_sidebar = lft x2; draw z1 -- (x1,y2) -- z2; endchar; beginchar("a",.45em#,ex#,0); "Athabaskan m"; pickup wee_nib; lft x1 = lft x4 = w - rt x3 = w - rt x5 = curve_sidebar; x2 = .5w; y2 = .6h; bot y4 = bot y5 = 0; y1 = y3 = .75 [y5, y2]; draw z1 .. z2 .. z3 .. {z4-.5[z3,z5]}z4 -- z5; endchar; beginchar("A",letter_width#,ex#,0); "Sayisi m"; pickup big_nib; lft x1 = lft x4 = w - rt x3 = w - rt x5 = curve_sidebar; x2 = .5w; top y2 = h+o; bot y4 = bot y5 = 0; y1 = y3 = .75 [y5, y2]; draw z1 .. z2 .. z3 .. {z4-.5[z3,z5]}z4 -- z5; 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("v",.4em#,1.5ex#,0); "Woods Cree th"; pickup wee_nib; x1 = x3 = .5[x2,x4]; x4 = .6[x2,x0]; y5 = y6 = y3 + vround .45ex; y0 = y3; lft x5 = lft x2 = w - rt x6 = w - rt x0 = curve_sidebar; y2 = y4 = .5[y1,y3]; .5[y5,y0] = ex; y1 = .6 [y0, y5]; draw z0 -- z3; draw z5 -- z6; draw z1 .. z2 .. z3 .. z4 .. cycle; endchar; beginchar(oct"016",.4em#,1.5ex#,0); "nh"; pickup wee_nib; x1 = x3 = .5[x2,x4]; x4 = .6[x2,x0]; y1 = y3 + vround .45ex; y0 = y3; w - rt x2 = lft x0 = curve_sidebar; y2 = y4 = .5[y1,y3] = ex; draw z0 -- z3; draw z1 .. z2 .. z3 .. z4 .. cycle; endchar; beginchar("Z",.4em#,1.5ex#,0); "West Cree l"; pickup wee_nib; w - rt x1 = lft x2 = curve_sidebar; x1 = x3 = x5; x2 = x4; y1 = y5 + vround .45ex; y3 = .5 [y1, y5] = ex; y2 = .5 [y1, y3]; y4 = .5 [y3, y5]; draw z1 -- z2 -- z3 -- z4 -- z5; endchar; beginchar(oct"014",letter_width#,ex#,0); "medial l"; pickup big_nib; w - rt x1 = lft x2 = curve_sidebar; x1 = x3 = x5; x2 = x4; top y1 = h+o; bot y5 = -o; y2 = .5 [y1, y3]; y3 = .5 [y1, y5]; y4 = .5 [y3, y5]; draw z1 -- z2 -- z3 -- z4 -- z5; endchar; beginchar("z",.4em#,1.5ex#,0); "West Cree r"; pickup wee_nib; lft x1 = w - rt x2 = curve_sidebar; x1 = x3 = x5; x2 = x4; y1 = y5 + vround .45ex; y3 = .5 [y1, y5] = ex; y2 = .5 [y1, y3]; y4 = .5 [y3, y5]; draw z1 -- z2 -- z3 -- z4 -- z5; endchar; beginchar(oct"022",letter_width#,ex#,0); "medial r"; pickup big_nib; lft x1 = w - rt x2 = curve_sidebar; x1 = x3 = x5; x2 = x4; top y1 = h+o; bot y5 = -o; y2 = .5 [y1, y3]; y3 = .5 [y1, y5]; y4 = .5 [y3, y5]; draw z1 -- z2 -- z3 -- z4 -- z5; 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("x",.4em#,1.5ex#,0); "th-Cree th"; pickup wee_nib; x3 = .6[x0,x1]; y0 = y3 + vround .45ex; lft x0 = straight_sidebar; w - rt x1 = curve_sidebar; lft x4 = curve_sidebar; x5 = .5w; .5[y0,y3] = ex; .5[y0,y3] = y1; y4 = y5 = .5 [y0, y1]; draw z0 -- (x0,y1) .. z1 -- z3; draw z4 -- z5; 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("d",.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("D",.4em#,1.5ex#,0); "lh"; currentpicture := savedimage; endchar; beginchar("f",.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("u",.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("U",.4em#,1.5ex#,0); "th"; currentpicture := savedimage; endchar; beginchar("q",.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("Q",.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("X",.45em#,1.5ex#,0); "th-Cree th"; pickup wee_nib; y1 = y2 - vround .45ex; .5[y1,y2] = ex; x1 = x2 = .5w; lft x3 = straight_sidebar = w - rt x4; x3 = x5; x4 = x6; y3 = y4 = .3[y1,y2]; y5 = y6 = .7[y1,y2]; draw z1 -- z2; draw z3 -- z4; draw z5 -- z6; 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("F",.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; beginchar(oct"030",.4em#,1.5ex#,0); "x"; pickup wee_nib; y1 = y2 + vround .45ex; .5[y1,y2] = ex; lft x1 = straight_sidebar = w - rt x2; draw z1 -- z2; draw (x1,y2)--(x2,y1); endchar; beginchar(".",.4em#,.45ex#,0); "full stop"; pickup wee_nib; y1 = vround h; y2 = 0; lft x1 = straight_sidebar = w - rt x2; draw z1 -- z2; draw (x1,y2)--(x2,y1); endchar; end.