beginchar("i",wedge_wid#+wedge_len#,let_height#,0); wedgesetup; wccw(2) = (w, h); mid(2) = wpnt(1); rot(2) := -90; wlenwid(2, h); wpnt(3) = cen(2); mid(4) = mid(3); rot(4) := -90; wedgeset(1, 4); endchar; beginchar("h",wedge_len# + wedge_wid#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = (0, h/2); tback(3) = mid(1); tback(4) = mid(2); wedgeset(1, 4); endchar; beginchar("g",wedge_len# + 2wedge_wid#,let_height#,0); wedgesetup; wlenwid(1, h); rot(1) := -90; wpnt(2) = ccwmid(1); cen(3) = cen(1); wcw(4) = wpnt(3); rot(4) := -60; wccw(6) = wcw(5) = wccw(4); rot(5) := -60; rot(6) := 60; xpart tback(2) = 0; ypart tback(1) = h; wedgeset(1, 6); endchar; beginchar("f",wedge_len# + 2wedge_wid#,let_height#,0); wedgesetup; mid(7) = wcw(9); rot(7) := 10; wlenwid(8, h); wccw(8) = (w, h); rot(8) := -90; wpnt(9) = mstem(8); rot(9) := -30; wpnt(10) = mid(8); rot(10) := -30; wlenwid(10, 3/4*wedge_len); wccw(11) = wcw(10); rot(11) := 90; wlenwid(11, 3/4*wedge_len); wedgeset(7, 11); endchar; beginchar("e",wedge_len#,let_height#,0); wedgesetup; wlenwid(1, h); rot(1) := -90; cen(1) = (w/2, h/2); cen(2) = mid(1); cen(3) = mstem(1); wedgeset(1, 3); endchar; beginchar("d",1.5wedge_len#,let_height#,0); wedgesetup; wccw(1) = wcw(2); wccw(3) = mid(2); rot(1) := rot(2) := -30; rot(3) := 60; wlenwid(4, h); wccw(4) = (w, h); rot(4) := -90; xpart wcw(1) = 0; ypart wpnt(1) = 0; wedgeset(1, 4); endchar; beginchar("c",2.5wedge_len#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = (0, h/2); wcw(3) = wmid(2); wcw(4) = wccw(3); wcw(5) = wccw(4) = wccw(6); wcw(7) = wpnt(3); rot(3) := rot(4) := rot(5) := rot(7) := -60; rot(6) := 60; wlenwid(3, wedge_len*.66); wlenwid(4, wedge_len*.66); wlenwid(5, wedge_len*.66); wlenwid(6, wedge_len*.66); wlen(7) := wedge_len*.66; wwid(7) := 2*wwid(3); wedgeset(1, 7); endchar; wcw(1) = wccw(2) = wpnt(0); beginchar("b",2wedge_len#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = wpnt(0); rot(1) := -60; rot(2) := 60; tback(0) = (0, h/2); wedgeset(0, 2); endchar; beginchar("a",2wedge_len#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = (0, h/2); wpnt(1) = wcw(3) = wccw(4); rot(3) := -60; rot(4) := 60; wpnt(2) = wcw(5); rot(5) := -60; wlenwid(6, wedge_len/2); wlenwid(7, wedge_len/2); cen(6) = .33[mid(2), wpnt(2)]; cen(7) = .66[mid(2), wpnt(2)]; rot(6) := -90; rot(7) := -90; wlenwid(8, h); wccw(8) = (w, h); rot(8) := -90; wedgeset(1, 8); endchar; beginchar("`",2wedge_len#,let_height#,0); wedgesetup; wcw(1) = wccw(2); wpnt(1) = wccw(3) = mid(4); wlenwid(4, let_height); ypart wpnt(4) = 0; xpart wcw(1) = 0; rot(4) := -90; wedgeset(1, 4); endchar; beginchar("_",2wedge_len#,let_height#,0); wedgesetup; wlenwid(1, h/2); rot(1) := -90; wlenwid(2, h/2); rot(2) := -90; wlenwid(3, h/2); rot(3) := -90; wccw(2) = (w, h); wccw(1) = wcw(2); wcw(3) = wpnt(1); wpnt(4) = cwmid(3); wedgeset(1, 4); endchar; beginchar("^",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = wccw(3) = wcw(4); rot(1) := 60; rot(2) := -60; rot(3) := 60; rot(4) := -60; ypart wcw(1) = h/2; xpart wccw(1) = 0; wedgeset(1, 4); endchar; beginchar("]",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; wlenwid(1, h); rot(1) := -90; wwid(2) := wwid(3) := wwid(4) := wwid(5) := wwid(6) := wedge_wid*.6; wccw(1) = (w, h); wpnt(2) = .33[wcw(1), mid(1)]; wpnt(3) = .66[wcw(1), mid(1)]; wpnt(4) = mid(1); wpnt(5) = cen(1); wcw(6) = mid(2); rot(6) := -90; wedgeset(1, 6); endchar; beginchar("\\",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; wlenwid(1, h); rot(1) := -90; wwid(2) := wwid(3) := wwid(4) := wwid(5) := wedge_wid*.6; wccw(1) = (w, h); wpnt(2) = .33[wcw(1), mid(1)]; wpnt(3) = .66[wcw(1), mid(1)]; wpnt(4) = mid(1); wpnt(5) = cen(1); wedgeset(1, 5); endchar; beginchar("[",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; tback(1) = (0, h/2); tback(2) = mid(1); cen(2) = cen(3); rot(3) := -90; wedgeset(1, 3); endchar; beginchar("Z",wedge_len#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = (0, h/2); rot(1) := -60; rot(2) := 60; wedgeset(1, 2); endchar; beginchar("Y",2wedge_wid#,let_height#,0); wedgesetup; wcw(1) = (0, h); rot(1) := -90; tback(2) = mid(1); rot(2) := -90; wcw(3) = wccw(1); rot(3) := -90; tback(4) = mid(3); rot(4) := -90; wccw(5) = mid(2); rot(5) := -20; wedgeset(1, 5); endchar; beginchar("X",3.5wedge_wid#,let_height#,0); wedgesetup; wccw(1) = (0, h); wcw(2) = mid(1); rot(2) := -90; wcw(3) = wccw(2); rot(3) := -90; wcw(4) = wccw(3); rot(4) := -90; wcw(5) = wpnt(2); wedgeset(1, 5); endchar; beginchar("W",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; wccw(5) = (w, h); wlenwid(5, h); rot(5) := -90; wpnt(2) = mid(5); mid(1) = tback(2); wpnt(4) = cwmid(5); mid(3) = tback(4); wlenwid(1, wedge_len*.7); wlenwid(2, wedge_len*.7); wlenwid(3, wedge_len*.7); wlenwid(4, wedge_len*.7); wedgeset(1, 5); endchar; beginchar("V",wedge_len#*2,let_height#,0); wedgesetup; wlenwid(5, 1.5wedge_len); cen(1) = wccw(5); cen(2) = wcw(5); wcw(3) = ccwmid(5); wccw(4) = cwmid(5); ypart tback(5) = h/2; xpart wcw(1) = 0; wedgeset(1, 5); endchar; beginchar("U",wedge_len#,let_height#,0); wedgesetup; wcw(1) = (0, h); wlen(1) := h; rot(1) := -90; wccw(2) = mid(1); rot(2) := -20; wedgeset(1, 2); endchar; beginchar("T",2*wedge_wid#+wedge_len#,let_height#,0); wedgesetup; wccw(1) = wcw(2); wccw(2) = (w, h); wccw(3) = wcw(4); tback(3) = mid(1); rot(1) := -90; rot(2) := -90; rot(3) := -90; rot(4) := -90; wpnt(5) = wcw(3); wpnt(6) = mid(3); wedgeset(1, 6); endchar; beginchar("S",wedge_len#,let_height#,0); wedgesetup; tback(1) = (0, h/2); wedgeset(1, 1); endchar; beginchar("R",width_to_length_ratio*let_height#,let_height#,0); wedgesetup; wlenwid(1, h); rot(1) := -90; wcw(1) = (0, h); wedgeset(1, 1); endchar; beginchar("Q",wedge_len#,let_height#,0); wedgesetup; rot(2) := -90; cen(1) = cen(2) = (w/2, h/2); wedgeset(1, 2); endchar; beginchar("P",width_to_length_ratio*let_height#*3/2,let_height#,0); wedgesetup; wlenwid(1, h/2); rot(1) := -90; wlenwid(2, h/2); rot(2) := -90; wlenwid(3, h/2); rot(3) := -90; wlen(4) := h/2; wwid(4) := wwid(3)*2; rot(4) := -90; wcw(1) = (0, h); wcw(2) = wccw(1); wcw(3) = wccw(2); wcw(4) = wpnt(1); wedgeset(1, 4); endchar; beginchar("O",width_to_length_ratio*let_height#*7/4,let_height#,0); wedgesetup; wlen(1) := h/3; wwid(1) := 4w/7; rot(1) := -90; wlen(2) := h/3; wwid(2) := 2w/7; rot(2) := -90; wlen(3) := h/3; wwid(3) := 2w/7; rot(3) := -90; wlen(4) := h/3; wwid(4) := 2w/7; rot(4) := -90; wlen(5) := h/3; wwid(5) := 2w/7; rot(5) := -90; wlen(6) := h/3; wwid(6) := 2w/7; rot(6) := -90; wlen(7) := h/3; wwid(7) := 2w/7; rot(7) := -90; wcw(5) = (0, h); wcw(6) = wccw(5); wcw(7) = wccw(6); wcw(2) = wpnt(5); wcw(3) = wccw(2); wcw(4) = wccw(3); wcw(1) = wpnt(2); wedgeset(1, 7); endchar; beginchar("N",5wedge_wid#,let_height#,0); wedgesetup; wlen(1) := h; rot(1) := -90; wlen(2) := h; rot(2) := -90; wlen(3) := h; rot(3) := -90; wlen(4) := h; rot(4) := -90; wlen(5) := w; wccw(1) = wcw(2); wccw(2) = wcw(3); wccw(3) = wcw(4); wccw(4) = (w, h); wpnt(5) = (w, h/2); wedgeset(1, 5); endchar; beginchar("M",5wedge_wid#,let_height#,0); wedgesetup; wlen(1) := let_height; rot(1) := -90; wlen(2) := let_height; rot(2) := -90; wlen(3) := let_height; rot(3) := -90; wlen(4) := let_height; rot(4) := -90; wlen(5) := w; wlen(6) := w; wccw(1) = wcw(2); wccw(2) = wcw(3); wccw(3) = wcw(4); wccw(4) = (w, h); wpnt(5) = (w, ypart mid(4)); wccw(6) = wcw(5); wedgeset(1, 6); endchar; beginchar("L",.75width_to_length_ratio*let_height# + wedge_len#,let_height#,0); wedgesetup; wlenwid(1, let_height/2); wlenwid(2, let_height/2); wlenwid(3, let_height/2); rot(1) := rot(2) := rot(3) := -90; tback(0) = (0, h/2); wpnt(1) = wpnt(0); wcw(2) = wccw(1); wcw(3) = wpnt(1); wedgeset(0, 3); endchar; beginchar("K",wedge_len#+.5wedge_wid#,let_height#,0); wedgesetup; wpnt(1) = (wedge_wid/2, 0); rot(1) := -90; tback(2) = tback(1); wedgeset(1, 2); endchar; beginchar("J",width_to_length_ratio*let_height#,let_height#,0); wedgesetup; wlenwid(1, let_height/2); wlenwid(2, let_height/2); wlenwid(3, let_height/2); rot(1) := rot(2) := rot(3) := -90; wcw(1) = (0, h); wcw(2) = wccw(1); wcw(3) = wpnt(1); wedgeset(1, 3); endchar; beginchar("I",2wedge_wid#,let_height#,0); wedgesetup; wcw(1) = wccw(2) = (0, h/2); wcw(3) = mid(1); rot(3) := -90; wccw(4) = wcw(3); rot(4) := -90; tmid(5) = tmid(6) = wpnt(1); rot(5) := 60; rot(6) := -60; tmid(7) = wpnt(2); rot(7) := -60; wedgeset(1, 7); endchar; beginchar("H",3wedge_wid#/stem_porp,let_height#,0); wedgesetup; wlen(1) := 3wedge_wid/stem_porp; wccw(1) = (0, h); rot(2) := -90; rot(3) := -90; rot(4) := -90; wcw(2) = mid(1); wcw(3) = wccw(2); wcw(4) = wccw(3); wccw(5) = mid(2); wlen(5) := wedge_len*1.5; wmid(6) = mstem(2); wedgeset(1, 6); endchar; beginchar("G",wedge_len# + .5wedge_wid#,let_height#,0); wedgesetup; wlenwid(8, h); wccw(8) = (w, h); rot(8) := -90; wpnt(9) = cen(8); rot(9) := -30; wpnt(10) = mstem(8); rot(10) := -30; wlenwid(10, 3/4*wedge_len); wcw(11) = mid(10); rot(11) := 90; wlenwid(11, 3/4*wedge_len); wedgeset(8, 11); endchar; beginchar("F",wedge_len# + .5wedge_wid#,let_height#,0); wedgesetup; wccw(7) = (w, h); wlenwid(7, h); rot(7) := -90; wpnt(5) = mid(7); wccw(6) = wcw(5); wedgeset(5, 7); endchar; beginchar("E",wedge_len#+2tail_len#,let_height#,0); wedgesetup; wccw(5) = (w, h); wlenwid(5, h); rot(5) := -90; wpnt(2) = mid(5); mid(1) = tback(2); wccw(3) = wcw(1); wccw(4) = wcw(2); wedgeset(1, 5); endchar; beginchar("D",wedge_len# + wedge_wid#,let_height#,0); wedgesetup; mid(1) = wccw(2) = wccw(3) = mid(4); rot(1) := rot(3) := -60; rot(2) := rot(4) := 60; mid(5) = wccw(6) = wccw(7) = mid(8); rot(5) := rot(7) := -60; rot(6) := rot(8) := 60; xpart wccw(1) = 0; ypart wcw(1) = h/2; wccw(5) = cwmid(1); wedgeset(1, 8); endchar; beginchar("C",2wedge_wid#,let_height#,0); wedgesetup; rot(1) := -90; rot(2) := -90; rot(3) := -90; wccw(2) = (w, h); tback(1) = mid(2); wccw(3) = .5[wcw(1), wcw(2)]; wedgeset(1, 3); endchar; beginchar("B",wedge_len#+wedge_wid#,let_height#,0); wedgesetup; wccw(4) = (w, h); rot(4) := -90; wlenwid(4, h); wpnt(1) = cwmid(4); wpnt(2) = cen(4); wpnt(3) = mid(4); wedgeset(1, 4); endchar; beginchar("A",wedge_len#,let_height#,0); wedgesetup; cen(1) = cen(2) = (w/2, h/2); rot(2) := 80; wedgeset(1, 2); endchar; beginchar("@",wedge_wid#+wedge_len#,let_height#,0); wedgesetup; wccw(1) = (0, h); wmid(2) = wpnt(1); rot(2) := -90; tback(3) = cen(2); rot(3) := -90; wpnt(4) = mid(3); mid(5) = mid(4); rot(5) := -90; wedgeset(1, 5); endchar;