diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cun |
Initial commit
Diffstat (limited to 'fonts/cun')
84 files changed, 2320 insertions, 0 deletions
diff --git a/fonts/cun/cun.mf b/fonts/cun/cun.mf new file mode 100644 index 0000000000..7f0191d7a4 --- /dev/null +++ b/fonts/cun/cun.mf @@ -0,0 +1,201 @@ +%(c) 1992 by Jo Grant + +mode_def testing= + pixels_per_inch:=300*4; + blacker:=.1; + o_correction:=1; + fillin:=.01; + proofing:=2; + fontmaking:=0; + tracingtitles:=1; + enddef; +if unknown mode: +mode:=testing; fi +mode_setup; +turningcheck := 0; + +string style; +style := "classic"; +%style := "academic"; +%style := "academicbf"; + +if mode=testing: screenstrokes; fi + +% parameters that control what a wedge looks like. +width_to_length_ratio := 1/2; +tailang := 30; +costail := cosd tailang; +tantail := sind tailang/cosd tailang; + +u# = 1/384in#; +wedge_len# := 50u#; +letter_fit#:= 5u#; +wedge_wid# := wedge_len#*width_to_length_ratio; +tail_len# := wedge_wid#*costail; +stem_len# := wedge_len# - tail_len#; +tail_porp := tail_len#/wedge_len#; +stem_porp := stem_len#/wedge_len#; +let_height# := wedge_len#+wedge_wid#; +pen_thick# := wedge_len#/25; +half_big# := .5*let_height#*width_to_length_ratio; + +define_pixels(wedge_len, wedge_wid, tail_len, stem_len, let_height, pen_thick); +define_pixels(letter_fit); + +def wedgepen = pickup pencircle scaled pen_thick; enddef; + +def wedgesetup = + save V; + numeric V[]len, V[]width, V[]theta, V[]doit; + pair V[]pnt, V[]cw, V[]ccw; + + for n = 0 step 1 until 20: + wlen(n) := wedge_len; + wwid(n) := wedge_wid; + rot(n) := 0; + V[n]doit := 0; + endfor +enddef; + +def set (expr n) = + wccw(n) = wpnt(n) - ((V[n]len,-V[n]wid/2) rotated (rot(n))); + wcw(n) = wpnt(n) - ((V[n]len, V[n]wid/2) rotated (rot(n))); + V[n]doit := 1; +enddef; + +def drawwedges = + for n = 0 step 1 until 20: + if V[n]doit = 1: + % classic + if style = "classic": + wedgepen; + path cw, ccw, tail; + ccw = wpnt(n)..controls mid(n) and mid(n)..wccw(n); + tail = wccw(n)..controls .7[mid(n),wccw(n)] and .7[mid(n),wcw(n)]..wcw(n); + cw = wcw(n)..controls mid(n) and mid(n)..wpnt(n); + filldraw ccw & tail & cw & cycle; + drawdot wccw(n); + drawdot wcw(n); + fi; + % academic + if style = "academic": + wedgepen; + draw wpnt(n)--mid(n)--wccw(n)--wcw(n)--mid(n); + unfill edgein(mid(n), tback(n), pen_thick)-- + edgein(wccw(n), cwmid(n), pen_thick)-- + edgein(wcw(n), ccwmid(n), pen_thick)--cycle; + unfill edgein(mid(n), tback(n), pen_thick)-- + edgein(wccw(n), cwmid(n), pen_thick)-- + edgein(wcw(n), ccwmid(n), pen_thick)--cycle; + fi; +% % bf academic + if style = "academicbf": + wedgepen; + draw wpnt(n)--mid(n); + filldraw mid(n)--wccw(n)--wcw(n)--cycle; + fi; + fi; + endfor; +enddef; + +def edgein(expr from, to, amnt) = + ((from) + ((to) - (from))/length((to) - (from))*(amnt)) +enddef; + +def wedgeset(expr first, last) = + for n = first step 1 until last: + set(n); + endfor; + drawwedges; +enddef; + +def wlen(expr n) = + V[n]len +enddef; + +def wwid(expr n) = + V[n]wid +enddef; + +def wlenwid(expr n, l) = + V[n]len := l; V[n]wid := l*width_to_length_ratio +enddef; + +def rot(expr n) = + V[n]theta +enddef; + +def wpnt(expr n) = + V[n]pnt +enddef; + +def wccw(expr n) = + V[n]ccw +enddef; + +def wcw(expr n) = + V[n]cw +enddef; + +def tback(expr n) = + (.5[wcw(n), wccw(n)]) +enddef; + +def cwmid(expr n) = + (.5[wcw(n), mid(n)]) +enddef; + +def ccwmid(expr n) = + (.5[wccw(n), mid(n)]) +enddef; + +def wmid(expr n) = % identical to mid + ((wpnt(n) + wcw(n) + wccw(n))/3) +enddef; + +def mid(expr n) = + ((wpnt(n) + wcw(n) + wccw(n))/3) +enddef; + +def cen(expr n) = + (.5[tback(n), wpnt(n)]) +enddef; + +def mstem(expr n) = + (.5[mid(n), wpnt(n)]) +enddef; + +def tmid(expr n) = + ((mid(n) + wcw(n) + wccw(n))/3) +enddef; + +def adjust_fit(expr left_adj, right_adj) = + l := -hround(left_adj*hppp)-letter_fit; + interim xoffset := -l; + charwd := charwd+2letter_fit# + left_adj + right_adj; + r := l+hround(charwd*hppp); + w := r-hround(right_adj*hppp) - letter_fit; + enddef; + +def makebox(text r) = + r((-letter_fit,0), (w+letter_fit,0)); + r((-letter_fit,h), (w+letter_fit,h)); + r((-letter_fit,0), (-letter_fit,h)); + r((w+letter_fit,0), (w+letter_fit,h)); + r((0,0), (0,h)); + r((w,0), (w,h)); + if charic<>0: + r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); + fi + enddef; + +extra_beginchar := extra_beginchar & "wedgesetup;adjust_fit(0,0);"; + +input cunsum; +%input cun0076; + +font_normal_space wedge_wid#; +font_normal_stretch wedge_wid#/3; +font_normal_shrink wedge_wid#/3; + +end; diff --git a/fonts/cun/cun.old b/fonts/cun/cun.old new file mode 100644 index 0000000000..ba6048fb00 --- /dev/null +++ b/fonts/cun/cun.old @@ -0,0 +1,153 @@ +%(c) 1990,91 by Joel M. Hoffman + +mode_def testing= + pixels_per_inch:=300*4; + blacker:=.1; + o_correction:=1; + fillin:=.01; + proofing:=2; + fontmaking:=0; + tracingtitles:=1; + enddef; +if unknown mode: +mode:=testing; fi +mode_setup; + +if mode=testing: screenstrokes; fi + +% parameters that control what a wedge looks like. +width_to_length_ratio := 1/2; +tailang := 30; +costail := cosd tailang; +tantail := sind tailang/cosd tailang; + +u# = 1/384in#; +wedge_len# := 50u#; +wedge_wid# := wedge_len#*width_to_length_ratio; +tail_len# := wedge_wid#*costail; +stem_len# := wedge_len# - tail_len#; +tail_porp := tail_len#/wedge_len#; +stem_porp := stem_len#/wedge_len#; +let_height# := wedge_len#+wedge_wid#; +pen_thick# := wedge_len#/10; + +define_pixels(wedge_len, wedge_wid, tail_len, stem_len, let_height, pen_thick); + +def wedgepen = pickup pencircle scaled pen_thick; enddef; + +def drawwedge (expr n) = + wedgelen := V[n]len; + wedgewid := wedgelen*width_to_length_ratio; + taillen := wedgewid*costail; + stemlen := wedgelen - taillen; + V[n]pnt = V[n]mid + ((stemlen, 0) rotated (V[n]theta)); + V[n]ccw = V[n]mid + ((taillen, 0) rotated (V[n]theta + 180 - tailang)); + V[n]cw = V[n]mid + ((taillen, 0) rotated (V[n]theta - 180 + tailang)); + if unknown V[n]mid.x: + V[n]mid.x = (V[n]pnt.x + V[n]ccw.x + V[n]cw.x)/3; + fi + if unknown V[n]mid.y: + V[n]mid.y = (V[n]pnt.y + V[n]ccw.y + V[n]cw.y)/3; + fi + if unknown V[n].tmid.x: + V[n]tmid.x = (V[n]mid.x + V[n]ccw.x + V[n]cw.x)/3; + fi + if unknown V[n].tmid.y: + V[n]tmid.y = (V[n]mid.y + V[n]ccw.y + V[n]cw.y)/3; + fi + % classic +% fill V[n]pnt..controls V[n]mid and V[n]mid..V[n]ccw & +% V[n]ccw..controls V[n]mid and V[n]mid..V[n]cw & +% V[n]cw..controls V[n]mid and V[n]mid..V[n]pnt--cycle; + % wedge +% fill V[n]pnt--V[n]ccw--V[n]cw--cycle; + % academic + wedgepen; + draw V[n]pnt--V[n]mid--V[n]ccw--V[n]cw--V[n]mid; +enddef; + +def lenwedge(expr n) = + V[n]len +enddef; + +def rotwedge(expr n) = + V[n]theta +enddef; + +def pointwedge(expr n) = + V[n]pnt +enddef; + +def midwedge(expr n) = + V[n]mid +enddef; + +def ccwwedge(expr n) = + V[n]ccw +enddef; + +def cwwedge(expr n) = + V[n]cw +enddef; + +def tmidwedge(expr n) = + V[n]tmid +enddef; + +def wedgesetup = + save V; + numeric V[]len, V[]theta; + pair V[]pnt, V[]cw, V[]ccw, V[]mid, V[]tmid; + + for x = 0 step 1 until 20: + lenwedge(x) := wedge_len; + rotwedge(x) := 0; + endfor +enddef; + +beginchar("B",wedge_len#+wedge_wid#,let_height#,0); "ma"; +wedgesetup; + +pointwedge(1) = .5[cwwedge(4),midwedge(4)]; +ccwwedge(4) = (w, h); +ccwwedge(3) = cwwedge(2); +w2pnt.x = w3pnt.x = w4pnt.x +w3cw.y = 0; +rotwedge(4) := -90; + +drawwedge(4); +drawwedge(1); +drawwedge(2); +drawwedge(3); +endchar; + +beginchar("A",wedge_len#,let_height#,0); "nu"; +wedgesetup; + +midwedge(1) = midwedge(2) = (w/2, h/2); +rotwedge(2) := 80; + +drawwedge(1); +drawwedge(2); +endchar; + +beginchar("@",wedge_wid#+wedge_len#,let_height#,0); "e"; +wedgesetup; + +ccwwedge(1) = (0, h); +pointwedge(2) = (wedge_len, wedge_len/2); +midwedge(3) = (wedge_len/2, wedge_len/2); +rotwedge(3) := -90; +ccwwedge(4) = (w, h); +rotwedge(4) := -90; +ccwwedge(5) = (w, h - tail_len); +rotwedge(5) := -90; + +drawwedge(1); +drawwedge(2); +drawwedge(3); +drawwedge(4); +drawwedge(5); +endchar; + +end; diff --git a/fonts/cun/cun.tex b/fonts/cun/cun.tex new file mode 100644 index 0000000000..a327f68293 --- /dev/null +++ b/fonts/cun/cun.tex @@ -0,0 +1,33 @@ +\documentstyle{article} +\def\h#1{\oalign{#1\crcr\hidewidth\char"15\hidewidth}} +\begin{document} + +\font\cun=cun + +\begin{center} +{\cun @ A B DFG DFG E G de Q C F C}\\ +E-nu-ma lilis siparri a-na a[-ra-mi p\^an\^u-k]a\\ + +{\cun j ZJ H H ZkJ iUlZmHF Qn Uopq a ie rR U}\\ +alpu-\v suk-lu-lu \d salmu \v sa qarn\^ati$^{pl}$ \v sal-mu ultu qaqqadi-\v su\\ + +\medskip +{\cun s E `Qt \char92 u v mC w M x a \char9 z \char123 \char96R B}\\ +adi ap-pi zibbati-\v s\'u $^{amil}$ umm\^anu m[u-d]u-\'u it-ta-nap-la-as-su-ma\\ + +{\cun hZ B BR | U \char125 C \char126 Zk C \char126 G \char127\char92R Z \char0B +rR rR \\char0rB \char1}\\ +\v sum-ma zu-mur-\v su k\^\i ma idd\^\i sb sali\d m a-na par-\d si u ki-du-du-di-e\\ + +{\cun \char2 \char3 \char4 kZ B \char5 UU \char6R \char7\char8 \char9 +\char91 a \char10 S F J e}\\ +il-liq-qu \v sum-ma 7 \v sip\^atu pi\d s\^a-tum k\'\i ma kakkabi ta-kip ina $^{ois}$ \h ha\d t\d ti\\ + +\medskip +{\cun B +}\\ +ma-\h hi-i\d s ina qi-na-zi la-pit ana par-\d si u ki-du-di-e ul il-liq-ki\\ +\end{center} + +\input sort +\end{document} diff --git a/fonts/cun/cun0001.mf b/fonts/cun/cun0001.mf new file mode 100644 index 0000000000..3266fada20 --- /dev/null +++ b/fonts/cun/cun0001.mf @@ -0,0 +1,13 @@ +beginchar("i",wedge_len#+.5*let_height#*width_to_length_ratio,let_height#,0); + +wccw(2) = (w, h); +mid(2) = wpnt(1); rot(2) := -90; +wlenwid(2, h); +wlenwid(3, .6wedge_len); +wlenwid(4, .6wedge_len); +wcw(4) = mid(1); rot(4) := -90; +mid(3) = mstem(4); + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0002.mf b/fonts/cun/cun0002.mf new file mode 100644 index 0000000000..1c372b89f8 --- /dev/null +++ b/fonts/cun/cun0002.mf @@ -0,0 +1,7 @@ +beginchar("h",1.33wedge_len#,let_height#,0); +wcw(1) = wccw(2) = (0, h/2); +tback(3) = mid(1); tback(4) = mid(2); + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0003.mf b/fonts/cun/cun0003.mf new file mode 100644 index 0000000000..b38b1c628b --- /dev/null +++ b/fonts/cun/cun0003.mf @@ -0,0 +1,13 @@ +beginchar("g",1.33wedge_len# + (sind 60)*wedge_wid# + (cosd 60)*wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0004.mf b/fonts/cun/cun0004.mf new file mode 100644 index 0000000000..ad88d6b721 --- /dev/null +++ b/fonts/cun/cun0004.mf @@ -0,0 +1,17 @@ +beginchar("f",1.5(cosd 30)*wedge_len# + half_big#,let_height#,0); +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); +tmid(11) = tmid(10); +rot(11) := 90; +wlenwid(11, 3/4*wedge_len); + +wedgeset(7, 11); +endchar; + diff --git a/fonts/cun/cun0005.mf b/fonts/cun/cun0005.mf new file mode 100644 index 0000000000..fc5b083388 --- /dev/null +++ b/fonts/cun/cun0005.mf @@ -0,0 +1,9 @@ +beginchar("e",wedge_len#,let_height#,0); + +wlenwid(1, h); rot(1) := -90; cen(1) = (w/2, h/2); +cen(2) = mid(1); +cen(3) = mstem(1); + +wedgeset(1, 3); +endchar; + diff --git a/fonts/cun/cun0006.mf b/fonts/cun/cun0006.mf new file mode 100644 index 0000000000..8d938b5d4b --- /dev/null +++ b/fonts/cun/cun0006.mf @@ -0,0 +1,11 @@ +beginchar("d",1.5wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0007.mf b/fonts/cun/cun0007.mf new file mode 100644 index 0000000000..c29daac170 --- /dev/null +++ b/fonts/cun/cun0007.mf @@ -0,0 +1,18 @@ +beginchar("c",(1 + cosd 60)*wedge_len#,let_height#,0); +wcw(1) = wccw(2) = (0, h/2); +wcw(3) = wmid(2); +wcw(4) = wccw(3); +wcw(5) = wccw(4); +tmid(5) = tmid(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; diff --git a/fonts/cun/cun0008.mf b/fonts/cun/cun0008.mf new file mode 100644 index 0000000000..3f63f96315 --- /dev/null +++ b/fonts/cun/cun0008.mf @@ -0,0 +1,9 @@ +beginchar("b",(1 + sind 60)*wedge_len#,let_height#,0); +wcw(1) = wccw(2) = wpnt(0); +rot(1) := -60; +rot(2) := 60; +tback(0) = (0, h/2); + +wedgeset(0, 2); +endchar; + diff --git a/fonts/cun/cun0009.mf b/fonts/cun/cun0009.mf new file mode 100644 index 0000000000..5525fc9936 --- /dev/null +++ b/fonts/cun/cun0009.mf @@ -0,0 +1,16 @@ +beginchar("a",2wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0010.mf b/fonts/cun/cun0010.mf new file mode 100644 index 0000000000..00c3178723 --- /dev/null +++ b/fonts/cun/cun0010.mf @@ -0,0 +1,11 @@ +beginchar("`",2wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0011.mf b/fonts/cun/cun0011.mf new file mode 100644 index 0000000000..1873c238a6 --- /dev/null +++ b/fonts/cun/cun0011.mf @@ -0,0 +1,12 @@ +beginchar("_",1.5wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0012.mf b/fonts/cun/cun0012.mf new file mode 100644 index 0000000000..207ba4da01 --- /dev/null +++ b/fonts/cun/cun0012.mf @@ -0,0 +1,10 @@ +beginchar("^",2*(cosd 60)*wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0013.mf b/fonts/cun/cun0013.mf new file mode 100644 index 0000000000..f41cf26a8c --- /dev/null +++ b/fonts/cun/cun0013.mf @@ -0,0 +1,13 @@ +beginchar("]",wedge_len#+1.5half_big#,let_height#,0); +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; + diff --git a/fonts/cun/cun0014.mf b/fonts/cun/cun0014.mf new file mode 100644 index 0000000000..dedf2fef12 --- /dev/null +++ b/fonts/cun/cun0014.mf @@ -0,0 +1,12 @@ +beginchar("\\",wedge_len#+1.5half_big#,let_height#,0); +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; + diff --git a/fonts/cun/cun0015.mf b/fonts/cun/cun0015.mf new file mode 100644 index 0000000000..7e4e105bf3 --- /dev/null +++ b/fonts/cun/cun0015.mf @@ -0,0 +1,9 @@ +beginchar("[",1.33wedge_len#,let_height#,0); +tback(1) = (0, h/2); +tback(2) = mid(1); +cen(2) = cen(3); +rot(3) := -90; + +wedgeset(1, 3); +endchar; + diff --git a/fonts/cun/cun0016.mf b/fonts/cun/cun0016.mf new file mode 100644 index 0000000000..f86ccd12c3 --- /dev/null +++ b/fonts/cun/cun0016.mf @@ -0,0 +1,8 @@ +beginchar("Z",(sind 60)*wedge_len#,let_height#,0); +wcw(1) = wccw(2) = (0, h/2); +rot(1) := -60; +rot(2) := 60; + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0017.mf b/fonts/cun/cun0017.mf new file mode 100644 index 0000000000..1ebe480f15 --- /dev/null +++ b/fonts/cun/cun0017.mf @@ -0,0 +1,10 @@ +beginchar("Y",2wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0018.mf b/fonts/cun/cun0018.mf new file mode 100644 index 0000000000..d20c4e5fe9 --- /dev/null +++ b/fonts/cun/cun0018.mf @@ -0,0 +1,9 @@ +beginchar("X",3.5wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0019.mf b/fonts/cun/cun0019.mf new file mode 100644 index 0000000000..bc4ae146b7 --- /dev/null +++ b/fonts/cun/cun0019.mf @@ -0,0 +1,17 @@ +beginchar("W",wedge_len#+wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0020.mf b/fonts/cun/cun0020.mf new file mode 100644 index 0000000000..9a0ecd5bdc --- /dev/null +++ b/fonts/cun/cun0020.mf @@ -0,0 +1,12 @@ +beginchar("V",wedge_len#*2,let_height#,0); +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; + diff --git a/fonts/cun/cun0021.mf b/fonts/cun/cun0021.mf new file mode 100644 index 0000000000..c74523e3cc --- /dev/null +++ b/fonts/cun/cun0021.mf @@ -0,0 +1,9 @@ +beginchar("U",wedge_len#,let_height#,0); +wcw(1) = (0, h); +wlen(1) := h; +rot(1) := -90; +wccw(2) = mid(1); +rot(2) := -20; +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0022.mf b/fonts/cun/cun0022.mf new file mode 100644 index 0000000000..19f594a33c --- /dev/null +++ b/fonts/cun/cun0022.mf @@ -0,0 +1,15 @@ +beginchar("T",2*wedge_wid#+wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0023.mf b/fonts/cun/cun0023.mf new file mode 100644 index 0000000000..2fb096b673 --- /dev/null +++ b/fonts/cun/cun0023.mf @@ -0,0 +1,6 @@ +beginchar("S",wedge_len#,let_height#,0); +tback(1) = (0, h/2); + +wedgeset(1, 1); +endchar; + diff --git a/fonts/cun/cun0024.mf b/fonts/cun/cun0024.mf new file mode 100644 index 0000000000..acaac8cf21 --- /dev/null +++ b/fonts/cun/cun0024.mf @@ -0,0 +1,8 @@ +beginchar("R",2*half_big#,let_height#,0); +wlenwid(1, h); +rot(1) := -90; +wcw(1) = (0, h); + +wedgeset(1, 1); +endchar; + diff --git a/fonts/cun/cun0025.mf b/fonts/cun/cun0025.mf new file mode 100644 index 0000000000..bb5e0f0078 --- /dev/null +++ b/fonts/cun/cun0025.mf @@ -0,0 +1,7 @@ +beginchar("Q",wedge_len#,let_height#,0); +rot(2) := -90; +cen(1) = cen(2) = (w/2, h/2); + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0026.mf b/fonts/cun/cun0026.mf new file mode 100644 index 0000000000..d2fbebced5 --- /dev/null +++ b/fonts/cun/cun0026.mf @@ -0,0 +1,14 @@ +beginchar("P",half_big#*3,let_height#,0); +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; + diff --git a/fonts/cun/cun0027.mf b/fonts/cun/cun0027.mf new file mode 100644 index 0000000000..a3ccb9a398 --- /dev/null +++ b/fonts/cun/cun0027.mf @@ -0,0 +1,20 @@ +beginchar("O",half_big#*7/2,let_height#,0); +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; + diff --git a/fonts/cun/cun0028.mf b/fonts/cun/cun0028.mf new file mode 100644 index 0000000000..19edc8d272 --- /dev/null +++ b/fonts/cun/cun0028.mf @@ -0,0 +1,15 @@ +beginchar("N",5wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0029.mf b/fonts/cun/cun0029.mf new file mode 100644 index 0000000000..81bac38088 --- /dev/null +++ b/fonts/cun/cun0029.mf @@ -0,0 +1,17 @@ +beginchar("M",5wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0030.mf b/fonts/cun/cun0030.mf new file mode 100644 index 0000000000..2fca8357ad --- /dev/null +++ b/fonts/cun/cun0030.mf @@ -0,0 +1,13 @@ +beginchar("L",half_big#*3/2 + wedge_len#,let_height#,0); +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; + diff --git a/fonts/cun/cun0031.mf b/fonts/cun/cun0031.mf new file mode 100644 index 0000000000..9690a0120b --- /dev/null +++ b/fonts/cun/cun0031.mf @@ -0,0 +1,8 @@ +beginchar("K",wedge_len#+.5wedge_wid#,let_height#,0); +wpnt(1) = (wedge_wid/2, 0); +rot(1) := -90; +tback(2) = tback(1); + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0032.mf b/fonts/cun/cun0032.mf new file mode 100644 index 0000000000..85db593860 --- /dev/null +++ b/fonts/cun/cun0032.mf @@ -0,0 +1,12 @@ +beginchar("J",2*half_big#,let_height#,0); +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; + diff --git a/fonts/cun/cun0033.mf b/fonts/cun/cun0033.mf new file mode 100644 index 0000000000..e08ef89806 --- /dev/null +++ b/fonts/cun/cun0033.mf @@ -0,0 +1,15 @@ +beginchar("I",(cosd 60)*wedge_len# + 1.5wedge_wid#,let_height#,0); +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; + diff --git a/fonts/cun/cun0034.mf b/fonts/cun/cun0034.mf new file mode 100644 index 0000000000..5a7573d29d --- /dev/null +++ b/fonts/cun/cun0034.mf @@ -0,0 +1,16 @@ +beginchar("H",3wedge_wid#/stem_porp,let_height#,0); +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; + diff --git a/fonts/cun/cun0035.mf b/fonts/cun/cun0035.mf new file mode 100644 index 0000000000..2b1bf40906 --- /dev/null +++ b/fonts/cun/cun0035.mf @@ -0,0 +1,16 @@ +beginchar("G",half_big# + wedge_len#,let_height#,0); +wlenwid(1, h); +wccw(1) = (w, h); +rot(1) := -90; +wpnt(2) = cen(1); +rot(2) := -30; +wpnt(3) = mstem(1); +rot(3) := -30; +wlenwid(3, 3/4*wedge_len); +wcw(4) = mid(2); +rot(4) := 90; +wlenwid(4, 3/4*wedge_len); + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0036.mf b/fonts/cun/cun0036.mf new file mode 100644 index 0000000000..6954db6f01 --- /dev/null +++ b/fonts/cun/cun0036.mf @@ -0,0 +1,10 @@ +beginchar("F",wedge_len# + half_big#,let_height#,0); +wccw(7) = (w, h); +wlenwid(7, h); +rot(7) := -90; +wpnt(5) = mid(7); +wccw(6) = wcw(5); + +wedgeset(5, 7); +endchar; + diff --git a/fonts/cun/cun0037.mf b/fonts/cun/cun0037.mf new file mode 100644 index 0000000000..e889ec1baa --- /dev/null +++ b/fonts/cun/cun0037.mf @@ -0,0 +1,14 @@ +beginchar("E",1.33wedge_len#+half_big#,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; + diff --git a/fonts/cun/cun0038.mf b/fonts/cun/cun0038.mf new file mode 100644 index 0000000000..c5fb7ecbad --- /dev/null +++ b/fonts/cun/cun0038.mf @@ -0,0 +1,20 @@ +beginchar("D",2*(cosd 60)*wedge_len#,let_height#,0); +wedgesetup; + +tmid(1) = tmid(2); +tmid(3) = tmid(4); +mid(1) = mid(4); +rot(1) := rot(3) := -60; +rot(2) := rot(4) := 60; +tmid(5) = tmid(6); +tmid(7) = tmid(8); +mid(5) = mid(8); +rot(5) := rot(7) := -60; +rot(6) := rot(8) := 60; +xpart wcw(1) = 0; +ypart mid(1) = h/2; +wcw(5) = ccwmid(1); + +wedgeset(1, 8); +endchar; + diff --git a/fonts/cun/cun0039.mf b/fonts/cun/cun0039.mf new file mode 100644 index 0000000000..7e65e922c0 --- /dev/null +++ b/fonts/cun/cun0039.mf @@ -0,0 +1,13 @@ +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; + diff --git a/fonts/cun/cun0040.mf b/fonts/cun/cun0040.mf new file mode 100644 index 0000000000..b749aabd9d --- /dev/null +++ b/fonts/cun/cun0040.mf @@ -0,0 +1,13 @@ +beginchar("B",wedge_len#+1.5half_big#,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; + diff --git a/fonts/cun/cun0041.mf b/fonts/cun/cun0041.mf new file mode 100644 index 0000000000..4a38bed7d2 --- /dev/null +++ b/fonts/cun/cun0041.mf @@ -0,0 +1,9 @@ +beginchar("A",wedge_len#,let_height#,0); +wedgesetup; + +cen(1) = cen(2) = (w/2, h/2); +rot(2) := 80; + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0042.mf b/fonts/cun/cun0042.mf new file mode 100644 index 0000000000..0fb389aa31 --- /dev/null +++ b/fonts/cun/cun0042.mf @@ -0,0 +1,11 @@ +beginchar("@",.5wedge_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; diff --git a/fonts/cun/cun0043.mf b/fonts/cun/cun0043.mf new file mode 100644 index 0000000000..edcd38c4ff --- /dev/null +++ b/fonts/cun/cun0043.mf @@ -0,0 +1,9 @@ +beginchar("k",2wedge_len#,let_height#,0); +wedgesetup; + +wcw(1) = wccw(2) = (0, h/2); +tback(3) = wpnt(1); tback(4) = wpnt(2); + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0044.mf b/fonts/cun/cun0044.mf new file mode 100644 index 0000000000..a9216e6fe4 --- /dev/null +++ b/fonts/cun/cun0044.mf @@ -0,0 +1,13 @@ +beginchar("j",wedge_len# + (sind 60)*wedge_wid# + (cosd 60)*wedge_len#,let_height#,0); +wedgesetup; + +wcw(1) = wccw(2) = (0, h/2); +wcw(3) = wpnt(2); rot(3) := -60; +wcw(4) = wccw(3) = wccw(5); +rot(4) := -60; rot(5) := 60; +wlenwid(6, h); rot(6) := -90; +ypart wpnt(6) = 0; xpart wpnt(6) = xpart mstem(1); + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0045.mf b/fonts/cun/cun0045.mf new file mode 100644 index 0000000000..863cc38d42 --- /dev/null +++ b/fonts/cun/cun0045.mf @@ -0,0 +1,14 @@ +beginchar("l",1.5wedge_len#,let_height#,0); +wedgesetup; + +wlen(1) := 3.8wedge_wid; +wlenwid(2, .5wedge_len); wlenwid(3, .5wedge_len); +wlenwid(4, .5wedge_len); wlenwid(5, .5wedge_len); +rot(1) := -45; +xpart wcw(1) = 0; ypart wccw(1) = h; +wccw(2) = mid(1); wccw(3) = wcw(2); wccw(4) = wcw(3); wccw(5) = wcw(4); +rot(2) := 45; rot(3) := 45; rot(4) := 45; rot(5) := 45; + +wedgeset(1, 5); +endchar; + diff --git a/fonts/cun/cun0046.mf b/fonts/cun/cun0046.mf new file mode 100644 index 0000000000..017b1b4243 --- /dev/null +++ b/fonts/cun/cun0046.mf @@ -0,0 +1,9 @@ +beginchar("m",wedge_len# + half_big#,let_height#,0); +wedgesetup; + +wlenwid(1, h); rot(1) := -90; +wcw(1) = (0, h); wccw(2) = mid(1); + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0047.mf b/fonts/cun/cun0047.mf new file mode 100644 index 0000000000..01d900815b --- /dev/null +++ b/fonts/cun/cun0047.mf @@ -0,0 +1,14 @@ +beginchar("n",1.5wedge_len#,let_height#,0); +wedgesetup; + +wlen(1) := 3.8wedge_wid; +wlenwid(2, .5wedge_len); wlenwid(3, .5wedge_len); +wlenwid(4, .5wedge_len); +rot(1) := -45; +xpart wcw(1) = 0; ypart wccw(1) = h; +wccw(2) = mid(1); wccw(3) = wcw(2); wccw(4) = wcw(3); +rot(2) := 45; rot(3) := 45; rot(4) := 45; + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0048.mf b/fonts/cun/cun0048.mf new file mode 100644 index 0000000000..6dbed45f3d --- /dev/null +++ b/fonts/cun/cun0048.mf @@ -0,0 +1,9 @@ +beginchar("o",wedge_len#,let_height#,0); +wedgesetup; + +cen(1) = cen(2) = (w/2, h/2); +rot(2) := -80; + +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0049.mf b/fonts/cun/cun0049.mf new file mode 100644 index 0000000000..5adc4bb02c --- /dev/null +++ b/fonts/cun/cun0049.mf @@ -0,0 +1,9 @@ +beginchar("p",wedge_len#,let_height#,0); +wedgesetup; + +tback(1) = (0, h/2); +wccw(2) = mid(1); +rot(2) := -20; +wedgeset(1, 2); +endchar; + diff --git a/fonts/cun/cun0050.mf b/fonts/cun/cun0050.mf new file mode 100644 index 0000000000..609c3b7d60 --- /dev/null +++ b/fonts/cun/cun0050.mf @@ -0,0 +1,12 @@ +beginchar("q",1.2wedge_len#,let_height#,0); +wedgesetup; + +wccw(1) = wcw(2) = wccw(3); +rot(1) := rot(2) := -60; +rot(3) := 60; +xpart wcw(1) = 0; +ypart wccw(1) = h/2; + +wedgeset(1, 3); +endchar; + diff --git a/fonts/cun/cun0051.mf b/fonts/cun/cun0051.mf new file mode 100644 index 0000000000..cf184be5ae --- /dev/null +++ b/fonts/cun/cun0051.mf @@ -0,0 +1,11 @@ +beginchar("r",1.75wedge_len#,let_height#,0); +wedgesetup; + +wcw(1) = wccw(2) = (0, h/2); +tback(3) = mid(2); +wcw(4) = wpnt(1) = wccw(5); +rot(4) := -60; rot(5) := 60; + +wedgeset(1, 5); +endchar; + diff --git a/fonts/cun/cun0052.mf b/fonts/cun/cun0052.mf new file mode 100644 index 0000000000..d166e6915c --- /dev/null +++ b/fonts/cun/cun0052.mf @@ -0,0 +1,16 @@ +beginchar("s",2wedge_len#,let_height#,0); +wedgesetup; + +tback(1) = (0, h/2); +wccw(2) = mid(1); rot(2) := 60; +wcw(3) = mid(1); rot(3) := -60; +wccw(4) = mid(3); rot(4) := 30; + +wlenwid(5, h); wlenwid(6, h); +xpart mid(5) = xpart wpnt(1); +ypart wpnt(5) = 0; +wccw(5) = wcw(6); rot(5) := rot(6) := -90; + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0053.mf b/fonts/cun/cun0053.mf new file mode 100644 index 0000000000..bc3f40e5ac --- /dev/null +++ b/fonts/cun/cun0053.mf @@ -0,0 +1,17 @@ +beginchar("t",6wedge_wid#,let_height#,0); +wedgesetup; + +wlen(1) := w; tback(1) = (0, h/2); +wccw(2) = mid(1); rot(2) := -20; +tback(3) = wpnt(2); rot(3) := -20; +xpart mid(4) = xpart mid(1); +ypart tback(4) = h; +wccw(4) = wcw(5); wccw(5) = wcw(6); wccw(6) = wcw(7); +rot(4) := rot(5) := rot(6) := rot(7) := -90; +wlenwid(7, h); +mid(8) = wccw(5); rot(8) := 60; +wccw(9) = mid(8); rot(9) := -60; + +wedgeset(1, 9); +endchar; + diff --git a/fonts/cun/cun0054.mf b/fonts/cun/cun0054.mf new file mode 100644 index 0000000000..a7e4f9676a --- /dev/null +++ b/fonts/cun/cun0054.mf @@ -0,0 +1,13 @@ +beginchar("u",wedge_len#,let_height#,0); +wedgesetup; + +wcw(1) = wccw(2); rot(1) := -60; rot(2) := 60; +wcw(3) = wccw(4); rot(3) := -60; rot(4) := 60; +wcw(5) = wccw(6); rot(5) := -60; rot(6) := 60; +tback(4) = mid(2); tback(5) = mid(3); +wcw(1) = (0, h/2); +wcw(7) = (0, 0); + +wedgeset(1, 7); +endchar; + diff --git a/fonts/cun/cun0055.mf b/fonts/cun/cun0055.mf new file mode 100644 index 0000000000..30011834cf --- /dev/null +++ b/fonts/cun/cun0055.mf @@ -0,0 +1,16 @@ +beginchar("v",2wedge_len#,let_height#,0); +wedgesetup; + +rot(1) := -90; +mid(2) = wcw(1); +wpnt(3) = mid(1); +xpart wpnt(4) = xpart wpnt(1); +ypart wcw(4) = 0; +wlenwid(5, h); rot(5) := -90; +cwmid(5) = wpnt(2); +wccw(5) = (w, h); +tmid(6) = .5[mstem(4), wpnt(1)]; + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0056.mf b/fonts/cun/cun0056.mf new file mode 100644 index 0000000000..215352f12f --- /dev/null +++ b/fonts/cun/cun0056.mf @@ -0,0 +1,14 @@ +beginchar("w",1.33wedge_len# + half_big#,let_height#,0); +wedgesetup; + +xpart tback(1) = 0; +mid(1) = tback(2); +wpnt(2) = mstem(3); +ypart wpnt(3) = 0; +wlenwid(3, h); rot(3) := -90; +wpnt(4) = mid(3); rot(4) := -30; +tmid(4) = tmid(5); rot(5) := 30; + +wedgeset(1, 5); +endchar; + diff --git a/fonts/cun/cun0057.mf b/fonts/cun/cun0057.mf new file mode 100644 index 0000000000..d7ff90b954 --- /dev/null +++ b/fonts/cun/cun0057.mf @@ -0,0 +1,21 @@ +beginchar("x",3wedge_len#,let_height#,0); +wedgesetup; + +wpnt(1) = wcw(2); rot(2) := -60; +wcw(3) = wccw(2); rot(3) := -60; +wcw(4) = wccw(3); rot(4) := -60; +wccw(5) := wcw(4); rot(5) := 60; +wcw(6) = wpnt(2); rot(6) := -60; +wlenwid(7, h); xpart mid(7) = xpart wpnt(4); +ypart wpnt(7) = 0; rot(7) := -90; +wlenwid(8, h); +ypart wpnt(8) = 0; rot(8) := -90; +wpnt(9) = cwmid(8); +wpnt(10) = wccw(2); +xpart wpnt(11) = xpart wpnt(8); ypart wcw(11) = 0; + +xpart tback(1) = 0; wccw(2) = mid(8); + +wedgeset(1, 11); +endchar; + diff --git a/fonts/cun/cun0058.mf b/fonts/cun/cun0058.mf new file mode 100644 index 0000000000..eb112c08a5 --- /dev/null +++ b/fonts/cun/cun0058.mf @@ -0,0 +1,14 @@ +beginchar("y",1.33wedge_len#,let_height#,0); +wedgesetup; + +tback(2) = mid(1); +tback(4) = mid(3); +wccw(3) = wcw(1); +tback(6) = mid(5); rot(5) := rot(6) := -90; +mid(2) = wcw(6); +xpart tback(1) = xpart tback(3) = 0; +ypart wpnt(6) = 0; + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0059.mf b/fonts/cun/cun0059.mf new file mode 100644 index 0000000000..1bd8948720 --- /dev/null +++ b/fonts/cun/cun0059.mf @@ -0,0 +1,15 @@ +beginchar("z",wedge_len#+2half_big#,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); +wmid(6) = .5[wcw(3), wccw(4)]; + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0060.mf b/fonts/cun/cun0060.mf new file mode 100644 index 0000000000..7481d1cf56 --- /dev/null +++ b/fonts/cun/cun0060.mf @@ -0,0 +1,20 @@ +beginchar("{",(1 + 2.5*(cosd 60))*wedge_len#,let_height#,0); +rot(1) := 60; rot(2) := -60; wcw(1) = wmid(2); +rot(3) := 60; rot(4) := -60; wcw(3) = wmid(4); +wmid(1) = tback(3); + +rot(5) := rot(6) := rot(7) := rot(8) := -90; +tback(6) = wmid(5); tback(8) = wmid(7); +wccw(5) = wcw(7); +rot(9) := 60; rot(10) := -60; wcw(9) = wmid(10); +wccw(9) = wmid(8); +wmid(11) = tback(12); ccwmid(12) = tmid(6); +ccwmid(13) = wcw(12); + +mstem(4) = wcw(11); +xpart wccw(1) = 0; +ypart wpnt(6) = 0; + +wedgeset(1, 13); +endchar; + diff --git a/fonts/cun/cun0061.mf b/fonts/cun/cun0061.mf new file mode 100644 index 0000000000..afd20ca879 --- /dev/null +++ b/fonts/cun/cun0061.mf @@ -0,0 +1,22 @@ +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); +wlenwid(6, .6wedge_len); +wlenwid(7, .6wedge_len); +wlenwid(8, .6wedge_len); +wlenwid(9, .6wedge_len); +tback(6) = mid(7); rot(6) := rot(7) := -30; +wpnt(6) = wpnt(1); +rot(8) := 60; rot(9) := -60; tmid(8) = tmid(9); +mid(8) = mstem(2); + +wedgeset(1, 9); +endchar; + diff --git a/fonts/cun/cun0062.mf b/fonts/cun/cun0062.mf new file mode 100644 index 0000000000..3337d0d5a7 --- /dev/null +++ b/fonts/cun/cun0062.mf @@ -0,0 +1,24 @@ +beginchar("}",wedge_len#+wedge_wid#,let_height#,0); +wedgesetup; + +rot(1) := -90; +wlenwid(1, h); +wpnt(2) = cwmid(1); +wpnt(3) = mid(1); + +wlenwid(4, .8wedge_len); +wlenwid(5, .8wedge_len); +wlenwid(6, .8wedge_len); +wlenwid(7, .8wedge_len); +wlenwid(8, .8wedge_len); +rot(5) := 60; rot(6) := -60; tmid(5) = tmid(6); +rot(7) := 60; rot(8) := -60; tmid(7) = tmid(8); +wccw(5) = mid(4); +wccw(7) = mid(6); +wpnt(8) = wpnt(1); +wccw(1) = (w, h); + +wedgeset(1, 8); + +endchar; + diff --git a/fonts/cun/cun0063.mf b/fonts/cun/cun0063.mf new file mode 100644 index 0000000000..319342f6bf --- /dev/null +++ b/fonts/cun/cun0063.mf @@ -0,0 +1,26 @@ +beginchar("~",2wedge_len#,let_height#,0); +wedgesetup; + +rot(1) := -90; wlenwid(1, h); +wlen(2) := wlen(3) := wlen(4) := h; +wpnt(2) = cwmid(1); +wcw(3) = tmid(2); rot(3) := -90; +wcw(4) = wpnt(3); + +wlenwid(5, .6wedge_len); +wlenwid(6, .6wedge_len); +wlenwid(7, .6wedge_len); +wlenwid(8, .6wedge_len); +wlenwid(9, .6wedge_len); +wlenwid(10,.8wedge_len); +rot(5) := 60; rot(6) := -60; tmid(5) = tmid(6); +rot(7) := 60; rot(8) := -60; tmid(7) = tmid(8); +rot(9) := -60; +wcw(6) = wccw(9); wcw(9) = wccw(8) = mid(10); +wccw(10) = mid(3); +wccw(1) = (w, h); + +wedgeset(1, 10); + +endchar; + diff --git a/fonts/cun/cun0064.mf b/fonts/cun/cun0064.mf new file mode 100644 index 0000000000..6f9322ee6d --- /dev/null +++ b/fonts/cun/cun0064.mf @@ -0,0 +1,13 @@ +beginchar("~",1.33*(cosd 20)*wedge_len# + half_big#,let_height#,0); +wedgesetup; + +rot(1) := -90; wlenwid(1, h); wccw(1) = (w, h); +rot(2) := rot(3) := rot(4) := -20; +wpnt(2) = mid(1); +wpnt(3) = mstem(1); +wmid(4) = tback(3); + +wedgeset(1, 4); + +endchar; + diff --git a/fonts/cun/cun0065.mf b/fonts/cun/cun0065.mf new file mode 100644 index 0000000000..d07332e44f --- /dev/null +++ b/fonts/cun/cun0065.mf @@ -0,0 +1,9 @@ +beginchar(127,wedge_len#,let_height#,0); +wedgesetup; + +wccw(1) = wcw(2) = (0, h/2); + +wedgeset(1, 2); + +endchar; + diff --git a/fonts/cun/cun0066.mf b/fonts/cun/cun0066.mf new file mode 100644 index 0000000000..a04c6e8ded --- /dev/null +++ b/fonts/cun/cun0066.mf @@ -0,0 +1,14 @@ +beginchar(0,wedge_wid# + (cosd 60)*wedge_len#,let_height#,0); +wcw(1) = (0, h); +wlen(1) := h; +rot(1) := -90; +wccw(2) = mid(1); +rot(2) := -20; +rot(3) := 60; +rot(4) := -60; +tmid(3) = tmid(4); +.5[wccw(3), wcw(4)] = wccw(1); +wedgeset(1, 4); + +endchar; + diff --git a/fonts/cun/cun0067.mf b/fonts/cun/cun0067.mf new file mode 100644 index 0000000000..2d54dd16ed --- /dev/null +++ b/fonts/cun/cun0067.mf @@ -0,0 +1,14 @@ +beginchar(1, 1.5wedge_len# + .5wedge_wid#,let_height#,0); +wccw(1) = (w, h); +rot(1) := -90; +rot(2) := -90; +tback(2) = mid(1); +wpnt(3) = mid(1); +wpnt(4) = mid(2); +wlen(3) := 1.5wedge_len; +wlen(4) := 1.5wedge_len; +rot(5) := -90; +wcw(5) = mid(3); +wedgeset(1, 5); +endchar; + diff --git a/fonts/cun/cun0068.mf b/fonts/cun/cun0068.mf new file mode 100644 index 0000000000..e79ef41080 --- /dev/null +++ b/fonts/cun/cun0068.mf @@ -0,0 +1,24 @@ +beginchar(2, 1.33wedge_len# + 4half_big#,let_height#,0); + +rot(1) := rot(2) := -90; +wlenwid(1, h); wlenwid(2, h); +wccw(1) = (w, h); +wccw(2) = wcw(1); +xpart mid(3) = xpart wpnt(2); +ypart wcw(3) = 0; +wpnt(4) = tback(3); +wcw(5) = wccw(4); +rot(6) := 60; rot(7) := -60; tmid(6) = tmid(7); +.5[wccw(6), wcw(7)] = mid(5); +wlenwid(8, .8wedge_len); +wlenwid(9, .8wedge_len); +wlenwid(10, .8wedge_len); +wlenwid(11, .8wedge_len); +rot(8) := 60; rot(9) := -60; tmid(8) = tmid(9); +rot(10) := 60; rot(11) := -60; tmid(10) = tmid(11); +wpnt(9) = (w, 0); +mid(11) = tback(9); + +wedgeset(1, 11); +endchar; + diff --git a/fonts/cun/cun0069.mf b/fonts/cun/cun0069.mf new file mode 100644 index 0000000000..5c7dab5079 --- /dev/null +++ b/fonts/cun/cun0069.mf @@ -0,0 +1,15 @@ +beginchar(3, 1.5wedge_wid# + .66wedge_len# + half_big#,let_height#,0); + +rot(1) := rot(2) := rot(5) := -90; +wcw(1) = (0, h); +wcw(2) = wccw(1); +mstem(3) = mstem(2); +wlen(3) := .8wedge_len; +tmid(4) = wpnt(1); +wlenwid(5, h); +xpart wpnt(5) = xpart wpnt(3); +ypart wpnt(5) = 0; + +wedgeset(1, 5); +endchar; + diff --git a/fonts/cun/cun0070.mf b/fonts/cun/cun0070.mf new file mode 100644 index 0000000000..304016b796 --- /dev/null +++ b/fonts/cun/cun0070.mf @@ -0,0 +1,16 @@ +beginchar(4, (2 + (cosd 60))*wedge_len#,let_height#,0); + +wcw(1) = wccw(2) = (0, h/2); +tback(3) = wpnt(2); +tmid(4) = tmid(5); rot(4) := 60; rot(5) := -60; +.5[wccw(4), wcw(5)] = mid(1); +tmid(6) = tmid(7); rot(6) := 60; rot(7) := -60; +.5[wccw(6), wcw(7)] = wpnt(3); +tmid(8) = tmid(9); rot(8) := 60; rot(9) := -60; +mid(9) = mid(6); +wlen(10) := .8wedge_len; +.5[wccw(8), wcw(9)] = wpnt(10); + +wedgeset(1, 10); +endchar; + diff --git a/fonts/cun/cun0071.mf b/fonts/cun/cun0071.mf new file mode 100644 index 0000000000..701aa1688b --- /dev/null +++ b/fonts/cun/cun0071.mf @@ -0,0 +1,20 @@ +beginchar(5,half_big#*6/2,let_height#,0); +wlen(1) := h/3; wwid(1) := 2w/3; rot(1) := -90; +wlen(2) := h/3; wwid(2) := 1w/3; rot(2) := -90; +wlen(3) := h/3; wwid(3) := 1w/3; rot(3) := -90; +wlen(4) := h/3; wwid(4) := 1w/3; rot(4) := -90; +wlen(5) := h/3; wwid(5) := 1w/3; rot(5) := -90; +wlen(6) := h/3; wwid(6) := 1w/3; rot(6) := -90; +wlen(7) := h/3; wwid(7) := 1w/3; rot(7) := -90; + +wcw(5) = (0, h); +wcw(6) = wccw(5); +wcw(7) = wccw(6); +tback(2) = wpnt(5); +wcw(3) = wccw(2); +wcw(4) = wccw(3); +wcw(1) = wpnt(2); + +wedgeset(1, 7); +endchar; + diff --git a/fonts/cun/cun0072.mf b/fonts/cun/cun0072.mf new file mode 100644 index 0000000000..98457dbcf7 --- /dev/null +++ b/fonts/cun/cun0072.mf @@ -0,0 +1,8 @@ +beginchar(6,(cosd 60)*wedge_len#,let_height#,0); +tmid(1) = tmid(2); rot(1) := 60; rot(2) := -60; +tmid(3) = tmid(4); rot(3) := 60; rot(4) := -60; +mid(1) = tback(3); +wccw(1) = (0, h/2); + +wedgeset(1, 4); +endchar; diff --git a/fonts/cun/cun0073.mf b/fonts/cun/cun0073.mf new file mode 100644 index 0000000000..6fc856fcda --- /dev/null +++ b/fonts/cun/cun0073.mf @@ -0,0 +1,13 @@ +beginchar(7, 1.5wedge_len#,let_height#,0); + +wwid(1) := wwid(2) := wwid(3) := wwid(4) := h/4; +wlen(1) := wlen(2) := wlen(3) := wlen(4) := w; + +wccw(1) = (0, h); +wccw(2) = wcw(1); +wccw(3) = wcw(2); +wccw(4) = wcw(3); + +wedgeset(1, 4); +endchar; + diff --git a/fonts/cun/cun0074.mf b/fonts/cun/cun0074.mf new file mode 100644 index 0000000000..9887a0f160 --- /dev/null +++ b/fonts/cun/cun0074.mf @@ -0,0 +1,17 @@ +beginchar(8, wedge_len# + 2half_big#,let_height#,0); + +wccw(1) = (w, h); rot(1) := -90; +wlenwid(1, h); +wpnt(2) = wcw(1); +wpnt(3) = mid(1); +rot(4) := -20; +wpnt(4) = wpnt(1); +wlen(4) := 1.2wedge_len; +wlenwid(5, .5wedge_len); wlenwid(6, .5wedge_len); +rot(5) := rot(6) := 70; +wccw(5) = mid(4); +wccw(6) = wcw(5); + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0075.mf b/fonts/cun/cun0075.mf new file mode 100644 index 0000000000..6067961dd0 --- /dev/null +++ b/fonts/cun/cun0075.mf @@ -0,0 +1,14 @@ +beginchar(9,1.33wedge_len# + .5wedge_wid#,let_height#,0); +wedgesetup; + +tback(2) = mid(1); +tback(4) = mid(3); +wccw(3) = wcw(1); +tback(6) = mid(5); rot(5) := rot(6) := -90; +wpnt(2) = tback(6); +xpart tback(1) = xpart tback(3) = 0; +ypart wpnt(6) = 0; + +wedgeset(1, 6); +endchar; + diff --git a/fonts/cun/cun0076.mf b/fonts/cun/cun0076.mf new file mode 100644 index 0000000000..f4d8f64c71 --- /dev/null +++ b/fonts/cun/cun0076.mf @@ -0,0 +1,20 @@ +beginchar(10,1.33wedge_len# + .5wedge_wid#,let_height#,0); +wedgesetup; + +tback(2) = mid(1); +tback(4) = mid(3); +wccw(3) = wcw(1); +tback(6) = mid(5); rot(5) := rot(6) := -90; +wpnt(2) = mid(6); +xpart tback(1) = xpart tback(3) = 0; +ypart wpnt(6) = 0; +wlenwid(7, .6wedge_len); wlenwid(8, .6wedge_len); +wlenwid(9, .6wedge_len); wlenwid(10, .6wedge_len); +rot(7) := rot(9) := 60; rot(8) := rot(10) := -60; +tmid(7) = tmid(8); tmid(9) = tmid(10); +.5[wccw(9), wcw(10)] = .5[mid(7), mid(8)]; +wpnt(8) = mid(2); + +wedgeset(1, 10); +endchar; + diff --git a/fonts/cun/cunbase.mf b/fonts/cun/cunbase.mf new file mode 100644 index 0000000000..2afdd24926 --- /dev/null +++ b/fonts/cun/cunbase.mf @@ -0,0 +1,582 @@ +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; diff --git a/fonts/cun/cunsort.c b/fonts/cun/cunsort.c new file mode 100644 index 0000000000..43c83de8ce --- /dev/null +++ b/fonts/cun/cunsort.c @@ -0,0 +1,94 @@ +#include <stdio.h> +#include <stdlib.h> + +struct cun { + char let; + int wedges; + int fnum; + }; + +struct cun d[3000]; + +int cundif(c1, c2) +struct cun *c1, *c2; +{ + if (c1->wedges == c2->wedges) + return(c2->let - c1->let); + return(c2->wedges - c1->wedges); +} + +void main() +{ + FILE *fin; + int cnt, start, end; + char l; + char fname[42]; + char inbuf[128]; + + for (cnt = 0; cnt < 3000; cnt++) + { + sprintf(fname, "cun%04d.mf", cnt + 1); + fin = fopen(fname, "r"); + if (fin == NULL) + break; + d[cnt].fnum = cnt + 1; + while (fgets(inbuf, 128, fin) != NULL) + { + if (!strncmp(inbuf, "beginchar(", 10)) + { + if (inbuf[10] == '\"') + d[cnt].let = inbuf[11]; + else + d[cnt].let = atoi(inbuf + 10); + } + if (!strncmp(inbuf, "wedgeset(", 9)) + { + d[cnt].wedges = 0; + start = atoi(inbuf + 9); + for (end = 9; inbuf[end]; end++) + if (inbuf[end] == ',') + { + d[cnt].wedges = atoi(inbuf + end + 1) - start + 1; + break; + } + } + } + fclose(fin); + } + printf("%%%d letters\n", cnt); + qsort((char *)&d[0], cnt, sizeof(struct cun), cundif); + fin = fopen("cunsum.mf", "w"); + if (fin == NULL) + { + perror("cunsum.mf"); + exit(1); + } + printf("\\begin{center}\n"); + printf("\\begin{tabular}{rlrlrlrl}\n"); + end = 0; + for (start = 0; start < cnt; start++, end++) + { + if (start && (d[start].wedges != d[start - 1].wedges)) + { + if (end%4) + printf("\\\\\n"); + printf("\\hline\n"); + end = 0; + } + if (end%4) + printf("&"); + l = d[start].let; + if (((l >= 'a') && (l <= 'z')) || ((l >= 'A') && (l <= 'Z'))) + printf("\\tt %c&\\cun %c", l, l); + else + printf("\\tt char%d&\\cun\\char%d",l,l); + if ((end%4) == 3) + printf("\\\\\n"); + fprintf(fin, "input cun%04d;\n", d[start].fnum); + } + if (start%4) + printf("\\\\\n"); + printf("\\end{tabular}\n"); + printf("\\end{center}\n"); + fclose(fin); +} diff --git a/fonts/cun/cunsort.obj b/fonts/cun/cunsort.obj Binary files differnew file mode 100644 index 0000000000..59eecba248 --- /dev/null +++ b/fonts/cun/cunsort.obj diff --git a/fonts/cun/cunsum.mf b/fonts/cun/cunsum.mf new file mode 100644 index 0000000000..f47e21284d --- /dev/null +++ b/fonts/cun/cunsum.mf @@ -0,0 +1,73 @@ +input cun0060; +input cun0057; +input cun0068; +input cun0063; +input cun0070; +input cun0061; +input cun0053; +input cun0062; +input cun0009; +input cun0038; +input cun0054; +input cun0007; +input cun0027; +input cun0033; +input cun0071; +input cun0059; +input cun0058; +input cun0055; +input cun0052; +input cun0044; +input cun0003; +input cun0013; +input cun0022; +input cun0029; +input cun0034; +input cun0056; +input cun0051; +input cun0045; +input cun0004; +input cun0014; +input cun0017; +input cun0018; +input cun0019; +input cun0020; +input cun0028; +input cun0037; +input cun0042; +input cun0069; +input cun0067; +input cun0064; +input cun0047; +input cun0043; +input cun0001; +input cun0002; +input cun0006; +input cun0010; +input cun0011; +input cun0012; +input cun0026; +input cun0030; +input cun0035; +input cun0040; +input cun0073; +input cun0072; +input cun0066; +input cun0050; +input cun0005; +input cun0008; +input cun0015; +input cun0032; +input cun0036; +input cun0039; +input cun0065; +input cun0049; +input cun0048; +input cun0046; +input cun0016; +input cun0021; +input cun0025; +input cun0031; +input cun0041; +input cun0023; +input cun0024; diff --git a/fonts/cun/cuntest.mf b/fonts/cun/cuntest.mf new file mode 100644 index 0000000000..8363974de6 --- /dev/null +++ b/fonts/cun/cuntest.mf @@ -0,0 +1,152 @@ + +beginchar("A",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 0; +setwedge(1); +drawwedges; +endchar; + +beginchar("B",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 20; +setwedge(1); +drawwedges; +endchar; + +beginchar("C",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 40; +setwedge(1); +drawwedges; +endchar; + +beginchar("D",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 60; +setwedge(1); +drawwedges; +endchar; + +beginchar("E",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 80; +setwedge(1); +drawwedges; +endchar; + +beginchar("F",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 100; +setwedge(1); +drawwedges; +endchar; + +beginchar("G",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 120; +setwedge(1); +drawwedges; +endchar; + +beginchar("H",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 140; +setwedge(1); +drawwedges; +endchar; + +beginchar("I",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 160; +setwedge(1); +drawwedges; +endchar; + +beginchar("J",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 180; +setwedge(1); +drawwedges; +endchar; + +beginchar("K",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 200; +setwedge(1); +drawwedges; +endchar; + +beginchar("L",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 220; +setwedge(1); +drawwedges; +endchar; + +beginchar("M",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 240; +setwedge(1); +drawwedges; +endchar; + +beginchar("N",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 260; +setwedge(1); +drawwedges; +endchar; + +beginchar("O",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 280; +setwedge(1); +drawwedges; +endchar; + +beginchar("P",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 300; +setwedge(1); +drawwedges; +endchar; + +beginchar("Q",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 320; +setwedge(1); +drawwedges; +endchar; + +beginchar("R",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 340; +setwedge(1); +drawwedges; +endchar; + +beginchar("S",wedge_wid#,let_height#,0); +wedgesetup; +cwwedge(1) = (w/2, h/2); +rotwedge(1) := 360; +setwedge(1); +drawwedges; +endchar; |