summaryrefslogtreecommitdiff
path: root/fonts/cun
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cun
Initial commit
Diffstat (limited to 'fonts/cun')
-rw-r--r--fonts/cun/cun.mf201
-rw-r--r--fonts/cun/cun.old153
-rw-r--r--fonts/cun/cun.tex33
-rw-r--r--fonts/cun/cun0001.mf13
-rw-r--r--fonts/cun/cun0002.mf7
-rw-r--r--fonts/cun/cun0003.mf13
-rw-r--r--fonts/cun/cun0004.mf17
-rw-r--r--fonts/cun/cun0005.mf9
-rw-r--r--fonts/cun/cun0006.mf11
-rw-r--r--fonts/cun/cun0007.mf18
-rw-r--r--fonts/cun/cun0008.mf9
-rw-r--r--fonts/cun/cun0009.mf16
-rw-r--r--fonts/cun/cun0010.mf11
-rw-r--r--fonts/cun/cun0011.mf12
-rw-r--r--fonts/cun/cun0012.mf10
-rw-r--r--fonts/cun/cun0013.mf13
-rw-r--r--fonts/cun/cun0014.mf12
-rw-r--r--fonts/cun/cun0015.mf9
-rw-r--r--fonts/cun/cun0016.mf8
-rw-r--r--fonts/cun/cun0017.mf10
-rw-r--r--fonts/cun/cun0018.mf9
-rw-r--r--fonts/cun/cun0019.mf17
-rw-r--r--fonts/cun/cun0020.mf12
-rw-r--r--fonts/cun/cun0021.mf9
-rw-r--r--fonts/cun/cun0022.mf15
-rw-r--r--fonts/cun/cun0023.mf6
-rw-r--r--fonts/cun/cun0024.mf8
-rw-r--r--fonts/cun/cun0025.mf7
-rw-r--r--fonts/cun/cun0026.mf14
-rw-r--r--fonts/cun/cun0027.mf20
-rw-r--r--fonts/cun/cun0028.mf15
-rw-r--r--fonts/cun/cun0029.mf17
-rw-r--r--fonts/cun/cun0030.mf13
-rw-r--r--fonts/cun/cun0031.mf8
-rw-r--r--fonts/cun/cun0032.mf12
-rw-r--r--fonts/cun/cun0033.mf15
-rw-r--r--fonts/cun/cun0034.mf16
-rw-r--r--fonts/cun/cun0035.mf16
-rw-r--r--fonts/cun/cun0036.mf10
-rw-r--r--fonts/cun/cun0037.mf14
-rw-r--r--fonts/cun/cun0038.mf20
-rw-r--r--fonts/cun/cun0039.mf13
-rw-r--r--fonts/cun/cun0040.mf13
-rw-r--r--fonts/cun/cun0041.mf9
-rw-r--r--fonts/cun/cun0042.mf11
-rw-r--r--fonts/cun/cun0043.mf9
-rw-r--r--fonts/cun/cun0044.mf13
-rw-r--r--fonts/cun/cun0045.mf14
-rw-r--r--fonts/cun/cun0046.mf9
-rw-r--r--fonts/cun/cun0047.mf14
-rw-r--r--fonts/cun/cun0048.mf9
-rw-r--r--fonts/cun/cun0049.mf9
-rw-r--r--fonts/cun/cun0050.mf12
-rw-r--r--fonts/cun/cun0051.mf11
-rw-r--r--fonts/cun/cun0052.mf16
-rw-r--r--fonts/cun/cun0053.mf17
-rw-r--r--fonts/cun/cun0054.mf13
-rw-r--r--fonts/cun/cun0055.mf16
-rw-r--r--fonts/cun/cun0056.mf14
-rw-r--r--fonts/cun/cun0057.mf21
-rw-r--r--fonts/cun/cun0058.mf14
-rw-r--r--fonts/cun/cun0059.mf15
-rw-r--r--fonts/cun/cun0060.mf20
-rw-r--r--fonts/cun/cun0061.mf22
-rw-r--r--fonts/cun/cun0062.mf24
-rw-r--r--fonts/cun/cun0063.mf26
-rw-r--r--fonts/cun/cun0064.mf13
-rw-r--r--fonts/cun/cun0065.mf9
-rw-r--r--fonts/cun/cun0066.mf14
-rw-r--r--fonts/cun/cun0067.mf14
-rw-r--r--fonts/cun/cun0068.mf24
-rw-r--r--fonts/cun/cun0069.mf15
-rw-r--r--fonts/cun/cun0070.mf16
-rw-r--r--fonts/cun/cun0071.mf20
-rw-r--r--fonts/cun/cun0072.mf8
-rw-r--r--fonts/cun/cun0073.mf13
-rw-r--r--fonts/cun/cun0074.mf17
-rw-r--r--fonts/cun/cun0075.mf14
-rw-r--r--fonts/cun/cun0076.mf20
-rw-r--r--fonts/cun/cunbase.mf582
-rw-r--r--fonts/cun/cunsort.c94
-rw-r--r--fonts/cun/cunsort.objbin0 -> 1981 bytes
-rw-r--r--fonts/cun/cunsum.mf73
-rw-r--r--fonts/cun/cuntest.mf152
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
new file mode 100644
index 0000000000..59eecba248
--- /dev/null
+++ b/fonts/cun/cunsort.obj
Binary files differ
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;