summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf1162
1 files changed, 1162 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf
new file mode 100644
index 00000000000..8bd5d6d5043
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf
@@ -0,0 +1,1162 @@
+% Xucuri Font `xucl.mf' Lowercase
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Designed and (c) by Johannes Heinecke %
+% Humboldt-Universit"at zu Berlin %
+% Philosophische Faskult"at II %
+% Institut f"ur deutsche Sprache und Linguistik %
+% Computerlinguistik %
+% J"agerstr. 10/11 %
+% D - 10099 Berlin %
+% <heinecke@compling.hu-berlin.de> %
+% Please send any improvements, corrections, suggestions, enhancements etc %
+% to the Author! %
+% %
+% Version 0.3 as of 17th July 1998 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+
+% Serifen: Aufruf xuc_serif(Punktnr, 1|-1);
+% unten: -1 Serife f"ur oben, 1 f"ur unten
+def xucmin_serif (suffix $)(expr theta, unten) =
+ if unten = 1:
+ z$a = (x$-(.8px2*(cosd 10)), y$-.8px2*(sind 10));
+ else:
+ z$a = (x$-(1px2*(cosd 10)), y$-1px2*(sind 10));
+ fi;
+ z$c = (x$-(.5px2*(cosd 10)), y$-.5px2*(sind 10));
+ z$b = z$a + unten*.2px2*(dir theta);
+ z$d = z$c + unten*.6px2*(dir theta);
+
+ if unten = 1:
+ z$e = (x$+(1px2*(cosd 10)), y$+1px2*(sind 10));
+ else:
+ z$e = (x$+(.8px2*(cosd 10)), y$+.8px2*(sind 10));
+ fi;
+ z$g = (x$+(.5px2*(cosd 10)), y$+.5px2*(sind 10));
+ z$f = z$e + unten*.2px2*(dir theta);
+ z$h = z$g + unten*.6px2*(dir theta);
+
+ if unten = 1:
+ fill z$--z$a--z$b{dir 10}..{dir theta}z$d--z$h{-dir (theta)}..{dir 10}z$f--z$e--cycle;
+ else:
+ fill z$--z$a--z$b{dir 10}..{-dir theta}z$d--z$h{dir (theta)}..{dir 10}z$f--z$e--cycle;
+ fi;
+ labels($a, $b, $c, $d, $e, $f, $g, $h);
+enddef;
+
+
+def xucl_hakenlinks (suffix $) =
+ pickup xuc_penl;
+ z$m = (x$-7/6xuclone, y$-xucllittle/3);
+ z$n = (x$-xuclone, y$);
+ numeric th;
+ th = angle(z$n-z$m);
+ xucmin_serif($n, th, -1);
+ draw z$--z$m;
+ draw z$m--z$n;
+ labels($m, $n);
+enddef;
+
+def xucl_hakenrechts (suffix $) =
+ pickup xuc_penl;
+ z$m = (x$+7/6xuclone, y$+xucllittle/3);
+ z$n = (x$+xuclone, y$);
+ numeric th;
+ th = angle(z$m-z$n);
+ xucmin_serif($n, th, 1);
+ draw z$--z$m;
+ draw z$m--z$n;
+ labels($m, $n);
+enddef;
+
+
+def xucl_fussrechts (suffix $) =
+ z$e = (x$+5/6xuclone, y$+2/12xucllittle);
+ z$f = (x$e+1/6xuclone, y$);
+ z$g = (x$f, y$-1/6xucllittle);
+ draw z$--z$e{z$e-z$}..z$f..z$g;
+ labels($e, $f, $g);
+enddef;
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% a %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "an";
+beginchar("a", xuclzw#+2xuclone#, xucllittle#, .3xucllow#);
+ pickup xuc_penl;
+ z1 = (7/6xuclone, xucllittle);
+ z2 = (x1-(1/3xuclone), 0);
+ z3 = (2/3[z2, z1]);
+ draw z1--z2;
+ xucl_hakenlinks(1);
+ xucl_hakenrechts(3);
+
+ pickup xuc_penlx;
+ xucl_fussrechts(2);
+ penlabels(1, 2, 3);
+endchar;
+
+%% e %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "en";
+beginchar("e", xuclzw#+2xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[];
+
+ z1 = (7/6xuclone, xucllittle);
+ z2 = (x1-(1/3xuclone), 0);
+ z3 = (2/3[z2, z1]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x4-(1/3xuclone), 0);
+ z6 = (5/3[z4, z5]);
+ theta4 = angle(z4-z6);
+ xucmin_serif(6, theta4, 1);
+
+ draw z1--z2;
+ draw z3--z4--z6;
+
+ xucl_hakenlinks(1);
+
+ penlabels(range 1 thru 9);
+endchar;
+
+%% v %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "vin";
+beginchar("v", xuclzw#+3xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[];
+
+ z1 = (7/6xuclone, xucllittle);
+ z2 = (x1-(1/3xuclone), 0);
+ z3 = (2/3[z2, z1]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x4-(1/3xuclone), 0);
+ z6 = (5/3[z4, z5]);
+ z7 = (2/3[z5, z4]);
+ theta4 = angle(z4-z6);
+ xucmin_serif(6, theta4, 1);
+
+ z8 = (x4+xuclone, y1);
+ z9 = (x8-(1/3xuclone), 0);
+ theta8 = angle(z8-z9);
+ xucmin_serif(9, theta8, 1);
+
+ draw z1--z2;
+ draw z3--z4--z6;
+ draw z7--z8--z9;
+
+ xucl_hakenlinks(1);
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "tan";
+beginchar("t", xuclzw#+2.5xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z3 = (2/3[z2, z1]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, 0);
+ z6 = (2/3[z5, z4]);
+ z7 = (1/3[z5, z4]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+
+
+ z8 = (x4+xuclone, y1);
+ z9 = (x5+xuclone, 0);
+ theta8 = angle(z8-z9);
+ xucmin_serif(9, theta8, 1);
+
+ draw z1--z2;
+ draw z2--z7;
+ draw z3--z4--z5;
+ draw z6--z8--z9;
+
+ penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9);
+endchar;
+
+
+%% l %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "las";
+beginchar("l", xuclzw#+3xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ z3 = (1/3[z1, z2]);
+ xucl_hakenlinks(1);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (1/3[z4, z5]);
+ theta4 = angle(z4-z5);
+% xucmin_serif(5, theta4, 1);
+ draw z3--z4--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z9 = (2/3[z7, z8]);
+ theta7 = angle(z7-z8);
+ xucmin_serif(8, theta7, 1);
+ draw z6--z7--z8;
+ draw z5--z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+
+%% o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "on";
+beginchar("o", xuclzw#+2.5xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ draw z2--z3;
+ draw z4--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z6 = (2/3[z7, z8]);
+ theta7 = angle(z7-z8);
+ xucmin_serif(7, theta7, -1);
+ xucmin_serif(8, theta7, 1);
+ draw z7--z8;
+ draw z5--z6;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% u %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "un";
+beginchar("u", xuclzw#+3.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ draw z2--z3;
+ draw z4--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z6 = (2/3[z7, z8]);
+ theta7 = angle(z7-z8);
+ xucmin_serif(7, theta7, -1);
+ draw z7--z8;
+ draw z5--z6;
+
+ z10 = (x7+xuclone, y7);
+ z11 = (x8+xuclone, y8);
+ z12 = (5/3[z10, z11]);
+ z9 = (2/3[z10, z11]);
+ theta10 = angle(z10-z11);
+ xucmin_serif(10, theta10, -1);
+ xucmin_serif(12, theta10, 1);
+ draw z10--z12;
+ draw z8--z9;
+
+ penlabels(range 1 thru 11);
+endchar;
+
+
+%% p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "par";
+beginchar("p", xuclzw#+2.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ z10 = (1/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z9 = (5/3[z4, z5]);
+ z11 = (1/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(9, theta4, 1);
+ draw z10--z4;
+ draw z2--z3;
+ draw z4--z9;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z6 = (2/3[z7, z8]);
+ theta7 = angle(z7-z8);
+% xucmin_serif(7, theta7, -1);
+ xucmin_serif(8, theta7, 1);
+ draw z11--z7;
+ draw z7--z8;
+ draw z5--z6;
+
+ penlabels(range 1 thru 11);
+endchar;
+
+
+
+%% .g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".ghan (oct022)";
+beginchar(oct"022", xuclzw#+2xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ z3 = (1/3[z1, z2]);
+ xucl_hakenlinks(1);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ draw z3--z4--z5;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+
+
+%% q %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".qar";
+beginchar("q", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z6 = (5/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ xucmin_serif(6, theta4, 1);
+ draw z2--z3;
+ draw z4--z6;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+%% dz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "dz (j) - dzil";
+beginchar("j", xuclzw#+2.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ z10 = (1/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z6 = (1/3[z4, z5]);
+ z9 = (7/4[z5, z4]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ xucmin_serif(9, theta4, -1);
+ draw z10--z4;
+ draw z2--z3;
+ draw z9--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ theta7 = angle(z7-z8);
+ xucmin_serif(8, theta7, 1);
+ draw z7--z8;
+ draw z7--z6;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".can (oct020)";
+beginchar(oct"020", xuclzw#+3xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z10 = (1/3[z1, z2]);
+ z9 = (5/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ xucmin_serif(9, theta1, 1);
+ draw z1--z9;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (1/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ draw z5--z4--z10;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+
+ theta7 = angle(z7-z8);
+ xucmin_serif(8, theta7, 1);
+ draw z6--z7--z8;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "ha";
+beginchar("h", xuclzw#+3xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ z3 = (1/3[z1, z2]);
+ xucl_hakenlinks(1);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ draw z3--z4--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z9 = (2/3[z7, z8]);
+ theta7 = angle(z7-z8);
+ xucmin_serif(7, theta7, -1);
+ xucmin_serif(8, theta7, 1);
+ draw z7--z8;
+ draw z5--z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% i %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "in";
+beginchar("i", xuclzw#+xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ xucl_hakenlinks(1);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+ draw z1--z2;
+
+ penlabels(range 1 thru 2);
+endchar;
+
+
+%% .p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".p - .par (oct024)";
+beginchar(oct"024", xuclzw#+2xuclone#, xucllittle#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ xucl_hakenlinks(1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ draw z4--z5;
+ draw z1--z2--z3;
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ xucmin_serif(5, theta4, 1);
+
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% ^z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^z - ^zan (+z, oct027)";
+beginchar(oct"027", xuclzw#+2xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ xucl_hakenlinks(1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z6 = (5/3[z4, z5]);
+ draw z4--z6;
+ draw z1--z2--z3;
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ xucmin_serif(6, theta4, 1);
+
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% r %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "ran";
+beginchar("r", xuclzw#+2.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z6 = (1/3[z4, z5]);
+ z9 = (7/4[z5, z4]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ xucmin_serif(9, theta4, -1);
+ draw z2--z3;
+ draw z9--z5;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ theta7 = angle(z7-z8);
+ xucmin_serif(8, theta7, 1);
+ draw z7--z8;
+ draw z7--z6;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "san";
+beginchar("s", xuclzw#+1.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ z6 = (7/4[z2, z1]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(6, theta1, -1);
+ draw z6--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ xucmin_serif(5, theta4, 1);
+ draw z2--z3;
+ draw z4--z5;
+
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "we";
+beginchar("w", xuclzw#+1.5xuclone#, xuclheight#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z7 = (5/3[z4, z5]);
+ z6 = (7/4[z5, z4]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(6, theta4, -1);
+ xucmin_serif(7, theta4, 1);
+ draw z2--z3;
+ draw z6--z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% k %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "kan";
+beginchar("k", xuclzw#+2.5xuclone#, xuclheight#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z9 = (1/3[z4, z5]);
+ z10 = (5/3[z4, z5]);
+ z6 = (7/4[z5, z4]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(6, theta4, -1);
+ xucmin_serif(10, theta4, 1);
+ draw z2--z3;
+ draw z6--z10;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ theta7 = angle(z7-z8);
+ xucmin_serif(8, theta7, 1);
+ draw z9--z7--z8;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+%% q %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% To be improved
+xucchar "q - qhar (oct035, TO BE IMPROVED)";
+beginchar(oct"035", xuclzw#+2.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ z10 = (5/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(3, theta4, -1);
+ xucmin_serif(10, theta4, 1);
+ draw z3--z10;
+
+ z7 = (x4+xuclone, y4);
+ z8 = (x5+xuclone, y5);
+ z12 = (3/6[z7, z8]);
+ theta7 = angle(z7-z8);
+ xucmin_serif(7, theta7, -1);
+ xucmin_serif(8, theta7, 1);
+ draw z7--z8;
+
+% pickup xuc_penlx;
+ draw z2--z12;
+
+ penlabels(range 1 thru 12);
+endchar;
+
+
+%% b %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "ban";
+beginchar("b", xuclzw#+2xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+1.5xuclone, y1);
+ z5 = (x2+1.5xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+
+ x6 = .5[x2, x5]; y6 = -1xucllow;
+ z7 = (x2, -.5xucllow);
+ z8 = (.5[x3,x4], y7);
+
+ draw z4--z5;
+
+ pickup xuc_penlx;
+ draw z2--z3;
+
+ pickup xuc_penb;
+ draw z5{-dir theta4}..{down}z8..{left}z6..{up}z7;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "gan";
+beginchar("g", xuclzw#+2xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, xucllittle);
+ z2 = (x1-1/3xuclone, 0);
+ z3 = (1/3[z1, z2]);
+ xucl_hakenlinks(1);
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+ draw z1--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ theta4 = angle(z4-z5);
+ draw z3--z4--z5;
+
+ x6 = .5[x2, x5]; y6 = -1xucllow;
+ z7 = (.5x2, -.5xucllow);
+ z8 = (x4, y7);
+ z9 = (x3, -.2xucllow);
+
+ pickup xuc_penb;
+ draw z5{-dir theta4}..{down}z8..{left}z6..{up}z7..{right}z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+%% d %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "don";
+beginchar("d", xuclzw#+2xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (xuclone, 7/4xucllittle);
+ z2 = (x1, 4/5xucllittle);
+ z3 = (1/3[z1, z2]);
+ xucl_hakenlinks(1);
+ xucl_hakenrechts(3);
+
+ z4 = (2x1, .5y2);
+ z6 = (0, y4);
+ z5 = (x2, 0);
+ draw z1--z2;
+
+ pickup xuc_penb;
+ draw z2..tension 2..z4..tension 2..z5..tension 2..z6..tension 2..cycle;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "zen";
+beginchar("z", xuclzw#+1.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z6 = (7/4[z2, z1]);
+ z7 = (2/3[z2, z1]);
+
+ draw z6--z2;
+ xucl_hakenlinks(6);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ draw z2--z3;
+ draw z4--z5;
+ draw z4--z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% he %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "he (long e, oct036)";
+beginchar(oct"036", xuclzw#+1.8xuclone#, xuclheight#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z6 = (7/4[z2, z1]);
+ z3 = (2/3[z2, z1]);
+ z7 = (5/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(6, theta1, -1);
+ xucmin_serif(7, theta1, 1);
+
+ draw z6--z7;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ draw z3--z4--z5;
+
+ z9 = (7/4[z5, z4]);
+ z8 = (5/4[z5, z4]);
+ draw z8--z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% .k %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".k - .kan (oct003)";
+beginchar(oct"023", xuclzw#+1.5xuclone#, xuclheight#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ z6 = (7/4[z2, z1]);
+ z3 = (1/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(6, theta1, -1);
+ draw z6--z2;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z7 = (2/3[z4, z5]);
+ z8 = (5/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(8, theta4, 1);
+ draw z3--z4--z8;
+ draw z2--z7;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "man";
+beginchar("m", xuclzw#+1.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+
+ z1 = (1.5xuclone, 7/4xucllittle);
+ z2 = (x1, 4/5xucllittle);
+ z3 = (2/3[z1, z2]);
+ xucl_hakenlinks(1);
+
+ z4 = (0, .5y2);
+ z5 = (.5[x4, x1], 0);
+
+ draw z1--z2;
+
+ pickup xuc_penb;
+ draw z2{down}..{left}z5..{up}z4..{z3-z4}z3;
+
+ penlabels(range 1 thru 5);
+endchar;
+
+%% n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% not yet very nice
+xucchar "nar (TO BE IMPROVED)";
+beginchar("n", xuclzw#+1.5xuclone#, xuclheight#, 0);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ z6 = (12/8[z2, z1]);
+ z3 = (1/3[z1, z2]);
+
+ theta1 = angle(z1-z2);
+ xucmin_serif(2, theta1, 1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z7 = (7/4[z5, z4]);
+ z8 = (5/4[z5, z4]);
+ draw z2--z6--z7--z8;
+
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ xucmin_serif(8, theta4, 1);
+ draw z3--z4--z5;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% i1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "i1 - short i, (Old Georgian), oct032";
+beginchar(oct"032", xuclzw#+1.5xuclone#, xucllittle#, 0);
+ pickup xuc_penb;
+ numeric theta[]; % Winkel der Strichs
+
+ z1 = (1.5xuclone, xucllittle);
+ z3 = (xuclhalf, 2/3y1);
+ z2 = (.5[x1, x3], 0);
+ z4 = (x1, y1+.5py2);
+ draw z1{down}..{left}z2..{dir 30}z3;
+ xucmin_serif(4, 90, -1);
+
+ penlabels(range 1 thru 3);
+endchar;
+
+
+%% ^s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^sin";
+beginchar(oct"025", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (0, 0);
+ z1 = (1/3xuclone, xucllittle);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+ draw z1--z2;
+
+ z4 = (x1+1xuclone, y1);
+ z5 = (x2+1xuclone, y2);
+ z3 = (2/3[z4, z5]);
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+
+ x6 = .5[x2, x5]; y6 = -1xucllow;
+ z7 = (x2, -.5xucllow);
+ z8 = (x5, y7);
+
+ draw z2--z3;
+ draw z4--z5;
+
+ pickup xuc_penb;
+ draw z5{-dir theta4}..{down}z8..{left}z6..{up}z7;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% ^c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^cin";
+beginchar(oct"021", xuclzw#+1.5xuclone#, xuclheight#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z6 = (7/4[z2, z1]);
+ z3 = (2/3[z2, z1]);
+ z7 = (5/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(6, theta1, -1);
+ xucmin_serif(7, theta1, 1);
+
+ draw z6--z7;
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+ draw z3--z4--z5;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+%% c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "cin";
+beginchar("c", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z3 = (2/3[z2, z1]);
+ z7 = (4/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (x5, 5/3[y4, y5]);
+
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+
+ draw z1--z7;
+ draw z3--z4--z5;
+
+ pickup xuc_penb;
+ draw z7{down}..{right}z6;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% x %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "xan";
+beginchar("x", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z7 = (4/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (x4, 5/3[y4, y5]);
+ z3 = (2/3[z4, z5]);
+
+ theta4 = angle(z4-z5);
+ xucmin_serif(4, theta4, -1);
+ xucmin_serif(5, theta4, 1);
+
+ draw z1--z7;
+ draw z3--z2;
+ draw z4--z5;
+
+ pickup xuc_penb;
+ draw z7{down}..{right}z6;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+%% .t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".t - .tar (.t oct026)";
+beginchar(oct"026", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z7 = (2/3[z2, z1]);
+ z8 = (4/3[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (x5, 5/3[y4, y5]);
+ z3 = (2/3[z4, z5]);
+
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+
+ draw z1--z8;
+ draw z3--z2;
+ draw z4--z5;
+ draw z4--z7;
+
+ pickup xuc_penb;
+ draw z8{down}..{right}z6;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% .^c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^.c - ^.car (,c .+c oct034)";
+beginchar(oct"034", xuclzw#+1.5xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ numeric theta[]; % Winkel der Strichs
+ z2 = (.5xuclhalf, 0);
+ z1 = (x2+1/3xuclone, xucllittle);
+ z3 = (2/3[z2, z1]);
+ z8 = (7/6[z1, z2]);
+ theta1 = angle(z1-z2);
+ xucmin_serif(1, theta1, -1);
+
+ z4 = (x1+xuclone, y1);
+ z5 = (x2+xuclone, y2);
+ z6 = (x5, 4/3[y4, y5]);
+ z7 = (x2, 5/3[y4, y5]);
+
+ theta4 = angle(z4-z5);
+ xucmin_serif(5, theta4, 1);
+
+ draw z1--z8;
+ draw z3--z4--z5;
+
+ pickup xuc_penb;
+ draw z8{right}..{down}z6..{left}z7;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% d^z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "d^zan (+j oct030)";
+beginchar(oct"030", xuclzw#+2xuclone#, xucllittle#, xucllow#);
+ pickup xuc_penl;
+ z1 = (xuclone, xucllittle);
+ xucl_hakenlinks(1);
+
+ z2 = (2xuclone, -1/3xucllittle);
+ z3 = (x1, 2/3xucllittle);
+
+ z4 = (.75[x1,x2], y1);
+ z5 = (x2, y3);
+ z6 = (x1, -2/3xucllittle);
+
+ pickup xuc_penb;
+ draw z1..z3..z2;
+ draw z3..{right}z4..{down}z5..{right}z6;
+
+ penlabels(range 1 thru 7);
+endchar;