summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/mxedruli
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/mxedruli
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/mxedruli')
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxed.mf107
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxed10.mf126
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedacc.mf63
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedbase.mf79
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedbf10.mf126
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedc10.mf126
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedcaps.mf869
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedd.mf170
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedfont.mf980
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedi10.mf127
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/mxedp.mf252
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xuc.mf120
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xuc10.mf150
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucbase.mf122
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucd.mf170
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucfont.mf965
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucl.mf1162
-rw-r--r--Master/texmf-dist/fonts/source/public/mxedruli/xucp.mf252
18 files changed, 5966 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxed.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxed.mf
new file mode 100644
index 00000000000..8b2f2695d74
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxed.mf
@@ -0,0 +1,107 @@
+% Driver file for Mxedruli font `mxed.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.2 as of 5th March 1996 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+font_coding_scheme:="Mxedruli - Georgian";
+mode_setup;
+if known cmbase: font_setup; fi % If used with cmbase
+font_mxed_setup;
+let mxedchar=\;
+
+% fontmaking:=1; % to generate a TFM File during proof-ing
+
+%% Zeichendefinitionsdateien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+if mxcap: input mxedcaps; else: input mxedfont; fi % the mxedruli alphabet
+if unknown cmbase: input mxedd; else: input romand; fi % digits: if cmbase is
+ % used this font will
+ % load cm-digits, for
+ % they are finer tuned.
+if unknown cmbase: input mxedp; else: input punct; fi % The same for punctuation
+input mxedacc; % Accents
+
+%% Font-Parameter fuer TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+font_quad 2.5mxu#; % 1 em
+font_x_height mxlittle#; % 1 ex
+font_normal_space 3mxu#; % word gap
+font_normal_stretch 2mxu#; % word gap may stretch by ...
+font_normal_shrink 1mxu#; % word gap my shrink by ...
+font_slant slant;
+
+% special "grayfont graylj"; % Only for GFtoDVI on emTeXs METAFONT
+
+%% Ligature-Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Palatals:
+ligtable "+" : "s" =: oct"005",
+ "c" =: oct"001",
+ "j" =: oct"010",
+ "z" =: oct"007";
+
+% Glottalized stops
+ligtable "." : "c" =: oct"000",
+ "g" =: oct"002",
+ "k" =: oct"003",
+ "p" =: oct"004",
+ "t" =: oct"006",
+ "+" =: ",";
+
+% Old Georgian "ho"
+ligtable "o" : "1" =: oct"011",
+ oct"005" kern -mxhalf#,
+ "z" kern -.5mxzw#;
+
+% Old Georgian "Short i"
+ligtable "i" : "1" =: oct"012",
+ oct"005" kern -mxhalf#,
+ "z" kern -.5mxzw#;
+
+% Ossetian "ae" and long "ee"
+ligtable "e" : "1" =: oct"013",
+ "0" =: oct"016",
+ "e" =: oct"016",
+ oct"005" kern -mxhalf#,
+ "z" kern -.5mxzw#;
+
+% Variated "b"
+if not mxcap: ligtable "b" : "1" =: oct"020"; fi;
+
+% Unaspirated "q"
+ligtable "q" : "1" =: oct"015",
+ oct"005" kern -mxhalf#,
+ "z" kern -.5mxzw#;
+
+% Keep the "s" away from letters with an ascender on the right
+ligtable oct"004" : oct"007" : "k" : "m" : "x" : "s" kern .5mxzw#;
+
+% two ' make a double quote
+ligtable "'" : "'" kern -.8mxzw#;
+
+% two , make a double comma,
+ligtable "," : "," kern -mxzw#,
+ "c" =: oct"014";
+
+%% Hyphens etc.
+ligtable "-" : "-" =: 123; % cf. The METAfontbook S. 306
+ligtable 123 : "-" =: 124;
+
+% Let "z" and oct005 closer two the little letters
+ligtable "a" : "d" : "g" : "l" : "t" : "u" : "p" : oct"002" : "c" : oct"010" :
+ oct"005" kern -mxhalf#,
+ "1" =: oct"021",
+ "z" kern -.5mxzw#;
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxed10.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxed10.mf
new file mode 100644
index 00000000000..fac820e8fb7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxed10.mf
@@ -0,0 +1,126 @@
+% Mxedruli Font 10 point Normal Face `mxed10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Based on the parameters as in CMR10
+
+% if unknown cmbase: input cmbase fi
+if unknown mxedbase: input mxedbase fi
+
+font_identifier:="MXED"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+% These are the real Mxedruli Parameters
+boolean mxcap;
+mxcap:=false; % No capitals
+mxu#:= 2.5u#; % was 2.7u# % the unit, which where used to design this fonts
+mxlittle#:= 3mxu#; % height of letters without ascenders
+mxtop#:= 2mxu#; % the height of the ascenders
+mxheight#:=mxtop#+mxlittle#;
+mxhalf#:=mxu#; % Half width of the letter 'a'
+mxone#:=2mxhalf#;
+mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+mxthird#:=1/3mxlittle#;
+mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+mxzw#:= .65mxu#; % Seperation of two letters
+
+
+px1#:=.18mxu#; % pen 1 xscaling
+py1#:=.60mxu#; % pen 1 yscaling
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.74mxu#; % pen for dots
+pdash#:=.40mxu#; % pen for dashes
+
+
+slant:=0;
+
+input mxed; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedacc.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedacc.mf
new file mode 100644
index 00000000000..4270d44a171
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedacc.mf
@@ -0,0 +1,63 @@
+% Mxedruli Accents `mxedacc.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Trema %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Trema (Umlaut)";
+beginchar(127, mxzw#+mxone#, mxheight#, 0);
+ pickup mxed_dot;
+ top lft z1 = (0, mxheight);
+ rt z2 = (mxone, y1);
+ drawdot z1;
+ drawdot z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% Macron %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Macron";
+beginchar(22, mxzw#+mxone#, mxheight#, 0);
+ pickup mxed_dash;
+ top z1 = (0, mxheight);
+ z2 = (mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% Hachek %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Hachek";
+beginchar(94, mxzw#+mxone#, mxheight#, 0);
+% pickup mxed_dash;
+% lft top z1 = (0, mxheight-mxthird);
+% rt z2 = (mxone, y1);
+% z3 = (.5[x1,x2], mxheight);
+% draw z1--z3--z2;
+% penlabels(range 1 thru 2);
+ z1 = (0, mxheight-1.2mxthird);
+ z2 = (1.2mxone, y1);
+ z3 = (.5[x1,x2], mxheight);
+ z4 = (x3, y3-.6mxthird);
+ fill z1--z3--z2--z4--cycle;
+endchar;
+
+
+
+endinput; \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedbase.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedbase.mf
new file mode 100644
index 00000000000..ba1462a69b4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedbase.mf
@@ -0,0 +1,79 @@
+% Mxedruli Base File `mxedbase.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+mxedbase:=1; % Es soll nur einmal geladen werden.
+
+newinternal slant;
+
+def font_mxed_setup = % Eigenes Macro
+ define_pixels(mxu, mxlittle, mxhalf, mxone, mxheight, mxthird,
+ mxmiddle, mxtop, mxfeet, mxlow, mxzw);
+ define_blacker_pixels(px1, py1, dpx1, dpy1, pdot, pdash);
+
+ pickup pencircle xscaled px1 yscaled py1 rotated -10; % was 10
+ mxed_pen:=savepen;
+
+ pickup pencircle xscaled dpx1 yscaled dpy1 rotated -10;
+ mxed_digitpen:=savepen; % Pen for digits and punctuation
+
+ pickup pencircle scaled pdot;
+ mxed_dot:=savepen; % Pen for dots
+
+ pickup pencircle scaled pdash;
+ mxed_dash:=savepen; % Pen for lines
+
+
+ pickup pensquare scaled pdash;
+ mxed_square:=savepen;
+
+ pickup pencircle xscaled px1 yscaled py1;
+ mxed_pencc:=savepen;
+
+ currenttransform:=identity slanted slant yscaled aspect_ratio;
+enddef;
+
+
+
+if known cmbase:
+ def makebox(text rule) =
+ for y=0,h,mxlittle,-d,mxthird:
+ rule((0,y)t_,(r,y)t_); endfor % horizontals
+ for x=0,r,r-mxzw,mxhalf,mxone:
+ rule((x,-d)t_,(x,h)t_); endfor % verticals
+ % for x=u*(1+floor(l/u)) step u until r-1:
+ % rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals
+ % if charic<>0:
+ % rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction
+ enddef;
+else:
+ def makebox(text r) =
+ % horizontal lines on y-values:
+ % 0, char-height, char-depth, mxlittle, ...
+ for y=0%,h.o_,-d.o_
+ ,mxlittle,mxthird, mxheight,-mxlow: r((0,y),(w,y)); endfor
+ % vertical lines on x-values:
+ % 0, char-width, char-width - mxzw
+% for x=0,w,w-mxzw, mxhalf, mxone: r((x,-d.o_),(x,h.o_)); endfor
+ for x=0,w, mxhalf, mxone: r((x,-mxlow),(x,mxheight)); endfor
+ if charic<>0: r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); fi
+ enddef;
+fi
+
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedbf10.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedbf10.mf
new file mode 100644
index 00000000000..37e351498eb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedbf10.mf
@@ -0,0 +1,126 @@
+% Mxedruli Font 10 point Bold Face `mxedbf10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.4 as of 15th July 1996 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Based on the parameters as in CMBX10
+
+% if unknown cmbase: input cmbase fi
+if unknown mxedbase: input mxedbase fi
+
+font_identifier:="MXEDBF"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+% These are the real Mxedruli Parameters
+boolean mxcap;
+mxcap:=false; % No capitals
+mxu#:= 2.5u#; % war 2.7u# % the unit, which where used to design this fonts
+mxlittle#:= 3mxu#; % height of letters without ascenders
+mxtop#:= 2mxu#; % the height of the ascenders
+mxheight#:=mxtop#+mxlittle#;
+mxhalf#:=1.12mxu#; % Half width of the letter 'a'
+mxone#:=2mxhalf#;
+mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+mxthird#:=1/3mxlittle#;
+mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+mxlow#:= 1.8mxu#; % war 2mxu# % max depth below the baseline
+mxzw#:= .65mxu#; % Seperation of two letters
+
+
+px1#:=.27mxu#; % pen 1 xscaling
+py1#:=.88mxu#; % pen 1 yscaling
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.89mxu#; % pen for dots
+pdash#:=.55mxu#; % pen for dashes
+
+slant:=0;
+
+input mxed; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedc10.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedc10.mf
new file mode 100644
index 00000000000..f120feb468b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedc10.mf
@@ -0,0 +1,126 @@
+% Mxedruli Font 10 point Capitals `mxedc10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Based on the parameters as in CMR10
+
+% if unknown cmbase: input cmbase fi
+if unknown mxedbase: input mxedbase fi
+
+font_identifier:="MXEDC"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+% These are the real Mxedruli Parameters
+boolean mxcap;
+mxcap:=true; % Capitals
+mxu#:= 2.5u#; % was 2.7u# % the unit, which where used to design this fonts
+mxlittle#:= 3.1mxu#; % height of letters without ascenders
+mxtop#:= 3.1mxu#; % the height of the ascenders
+mxheight#:=mxtop#+mxlittle#;
+mxhalf#:=mxu#; % Half width of the letter 'a'
+mxone#:=2mxhalf#;
+mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+mxthird#:=1/3mxlittle#;
+mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+mxzw#:= 1.20mxu#; % Seperation of two letters
+
+
+px1#:=.60mxu#; % pen 1 xscaling
+py1#:=.24mxu#; % pen 1 yscaling
+
+dpx1#:=.25mxu#; % digitpen xscaling
+dpy1#:=.68mxu#; % digitpen yscaling
+pdot#:=.74mxu#; % pen for dots
+pdash#:=.40mxu#; % pen for dashes
+
+
+slant:=0;
+
+input mxed; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedcaps.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedcaps.mf
new file mode 100644
index 00000000000..e8d04b819bb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedcaps.mf
@@ -0,0 +1,869 @@
+% Mxedruli CAPITALS `mxedcaps.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.3 as of 20th May 1996 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%% Glottal Stop %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "' - Glottal Stop";
+beginchar(oct"021", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z1 = (mxone, mxheight);
+ lft z2 = (mxone, 1.5mxlittle);
+ lft z3 = (mxhalf, mxlittle);
+ lft z4 = (0, y2);
+ z5 = (x4, y1);
+ draw z1..{down}z2..{left}z3..{up}z4..z5;
+
+ z6 = (x4, .5mxlittle);
+ bot z7 = (x3, 0);
+ z8 = (x2, y6);
+ draw z4--z6{down}..{right}z7..{up}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+%% qh %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Contributed by Mark Leisher and adapted by J Heinecke
+mxedchar "q - qhar (oct015)";
+beginchar(oct"015", mxzw#+mxone#+.5mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxthird);
+ bot lft z2 = (mxhalf, 0);
+ z4 = (x2, mxlittle);
+ lft z3 = (mxone, .67mxlittle);
+ z31 = (x3, .33mxlittle);
+ lft z5 = (0, .7mxlittle);
+ draw z1{down}..{right}z2..{up}z31..{up}z3..{left}z4..z5;
+
+ z6 = (x3, 1.5mxlittle);
+ z7 = (x4-.25mxthird, 1.75mxlittle);
+ z8 =(x6, mxheight);
+ draw z4{right}..{up}z6..{dir 90}z7..z8;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+%% long ee %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Contributed by Mark Leisher and adapted by J Heinecke
+mxedchar "ee - (Long e) oct(016)";
+beginchar(oct"016", mxzw#+1.5mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ lft top z1 = (0, mxheight);
+ lft z2 = (0, mxthird);
+ bot z25 = (mxone, 0);
+ z3 = (1.5mxone, y2);
+ z4 = (1.2mxone, .5mxlittle);
+ z5 = (.75mxone, 2/3mxlittle);
+ draw z1..z2{down}..{right}z25..z3..z4..z5;
+
+ z6 = (x3, 3/4mxlittle);
+ z7 = (x4, mxlittle);
+ z8 = (x5, 7/6mxlittle);
+ draw z4..z6..z7--z8;
+
+ z9 = (x6, 17/12mxlittle);
+ top z10 = (x5, mxheight);
+ draw z7..z9..{up}z10;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% a %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "a - an";
+beginchar("a", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ top z4 = (x2, mxheight);
+ draw z1{down}..z2{right}..{up}z3..{up}z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% ae %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "e1 - ae (Ossetian), oct013";
+beginchar(oct"013", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ top z4 = (.25mxhalf, mxheight); % x4 war x2
+ z5 = (x4+mxhalf, y4);
+ draw z1{down}..z2{right}..{up}z3..{up}z4..{down}z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% i %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "i - in";
+beginchar("i", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z1 = (0, 0);
+ lft z2 = (0, mxlittle);
+ top lft z3 = (mxhalf, mxheight);
+ lft z4 = (mxone, y2);
+ lft z5 = (mxone, y1);
+ draw z1..{up}z2..{right}z3..{down}z4..z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% oo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "oo - ho, (Old Georgian), oct011";
+beginchar(oct"011", mxzw#+mxone#+mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (mxone+mxhalf, .9mxlittle);
+ z8 = (x1, 1.1mxlittle);
+ lft z2 = (mxhalf, y1);
+ z7 = (x2, y8);
+ bot z3 = (x2, 0);
+ top z6 = (x2, mxheight);
+ lft z4 = (mxone, .8mxthird);
+ z5 = (x4, mxheight-.8mxthird);
+ draw z1--z2{left}..z3..{up}z4--z5{up}..z6..{right}z7--z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+%% o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "o - on";
+beginchar("o", mxzw#+1.6mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z1 = (0, 0);
+ z2 = (x1, 1.5mxlittle);
+ top lft z3 = (.8mxhalf, mxheight);
+ lft z4 = (.8mxone, mxlittle);
+ z41 = (x4, 1.5mxlittle);
+ lft z5 = (.8mxone+.8mxhalf, y3);
+ lft z6 = (1.6mxone, y2);
+ z7 = (x6, y1);
+ draw z1..{up}z2..{right}z3..{down}z41--z4;
+ draw z4--z41{up}..{right}z5..{down}z6..z7;
+ penlabels(range 1 thru 7, 41);
+endchar;
+
+%% r %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "r - ran";
+beginchar("r", mxzw#+1.6mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z1 = (0, 0);
+ z2 = (x1, .5mxlittle);
+ lft z3 = (.8mxhalf, .5mxheight);
+ lft z4 = (.8mxone, .5mxlittle);
+ lft z5 = (.8mxone+.8mxhalf, y3);
+ lft z6 = (1.6mxone, y2);
+ z7 = (x6, y1);
+ top z8 = (x6, mxheight);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z5..{down}z6..z7;
+ draw z2{up}..z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+%% b %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "b - ban";
+beginchar("b", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x4-.7mxhalf, mxheight-.7mxhalf);
+ top z6 = (x4, mxheight);
+ draw z5--z6--z4;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+
+%% c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "c - can";
+beginchar("c", mxzw#+mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z1 = (0, mxheight);
+ lft z4 = (mxone, .4mxheight);
+ bot z3 = (.5[x1,x4], 0);
+ z2 = (x1, y4);
+ z5 = (x4-.5mxhalf, .5mxheight);
+ draw z1..{down}z2..{right}z3..{up}z4..tension 2..{left}z5;
+
+ z6 = (x4, 1.2mxlittle);
+ z7 = (x4, y1);
+ draw z5{right}..{up}z6..z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% .c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".c - .cil (oct000)";
+beginchar(oct"000", mxzw#+mxone#+mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxheight-.3mxtop);
+ lft z9 = (mxone+mxhalf, y1);
+ bot z2 = (.5[x1,x9], 0);
+ z3 = (.4[z1,z2]);
+ z4 = (.4[z9,z2]);
+ z7 = (x2, y1);
+ top z6 = (.5[x1, x7], mxheight);
+ z8 = (.5[x7, x9], y6);
+ draw z1--z2--z4--z3;
+ draw z1{up}..{right}z6..{down}z7;
+ draw z7{up}..{right}z8..{down}z9;
+ penlabels(range 1 thru 9);
+endchar;
+
+%% ^c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^c - ^cin (+c, oct001)";
+beginchar(oct"001", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z1 = (0, 0);
+ lft z2 = (0, .5mxlittle);
+ lft z3 = (mxhalf, mxlittle);
+ lft z4 = (mxone, y2);
+ bot z5 = (x4, 0);
+ draw z1..{up}z2..{right}z3..{down}z4..z5;
+
+ lft z6 = (0, mxheight-.05mxtop);
+ top lft z9 = (mxhalf, mxheight);
+ z7 = (x4-.5mxhalf,mxheight-.25mxtop);
+ z10 = (x9, mxheight-.5mxtop);
+ lft z8 = (0, mxheight-.45mxtop);
+ draw z2--z6;
+ draw z6..{right}z9..{down}z7..{left}z10..z8;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% ^.c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^.c - ^.car (,c .+c oct014)";
+beginchar(oct"014", mxzw#+1.2mxone#, mxheight#, 0); % war "y"
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (.5mxhalf, .6mxmiddle);
+ lft z2 = (0, .6mxthird);
+ bot lft z3 = (mxhalf, 0);
+ lft z4 = (mxone, y2);
+ lft z5 = (.75mxone, 1.3mxthird);
+ top z6 = (x5, mxheight);
+ z7 = (x1, .9mxheight);
+ draw z1{dir -135}..{down}z2..{right}z3..{up}z4..{up}z5--z6--z7;
+
+ z8 = (x5, mxlittle); % z10 and z11 should be 45 degree NE/SE
+ z9 = (x1, y8);
+ z10 = (x5+.7mxhalf, y8+.7mxhalf);
+ z11 = (x5+.7mxhalf, y8-.7mxhalf);
+ draw z10--z8..{up}z9..z8--z11;
+
+ penlabels(range 1 thru 11);
+endchar;
+
+%% d %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "d - don";
+beginchar("d", mxzw#+1.6mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (.8mxone, 1.5mxlittle);
+ lft z2 = (.8mxone+.8mxhalf, mxlittle);
+ lft z3 = (1.6mxone, y1);
+ top z4 = (x2, mxheight);
+ z5 = (x1, mxmiddle+mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..{down}z5..cycle;
+
+ lft z6 = (.8mxhalf, y4);
+ lft z7 = (0, y1);
+ z8 = (x7, mxlittle);
+ draw z5{up}..{left}z6..{down}z7..z8;
+
+ bot z9 = (x3, 0);
+ draw z8..{dir -75}z9;
+ penlabels(range 1 thru 10);
+endchar;
+
+%% e %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "e - en";
+beginchar("e", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .4mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, mxlittle);
+ z4 = (x3, mxmiddle+mxlittle);
+ top z5 = (x2, mxheight);
+ lft z6 = (0, y4);
+ draw z1{down}..{right}z2..{up}z3--z4..{left}z5..z6;
+
+ penlabels(range 1 thru 6);
+endchar;
+
+%% g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "g - gan";
+beginchar("g", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z2 = (mxhalf, 0);
+ z4 = (x2, mxlittle);
+ lft z1 = (0, .5[y2,y4]); % y was -.5mxlow
+ lft z3 = (mxone, y1);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3-.3mxhalf, 1.5mxlittle);
+ top z6 = (x4, mxheight);
+ lft z7 = (.3mxhalf, y5);
+ draw z4{right}..{up}z5..{left}z6..{down}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% .g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".g - .gan (oct002)";
+beginchar(oct"002", mxzw#+1.6mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ lft z2 = (0, 1.5mxlittle);
+ top lft z3 = (.8mxhalf, mxheight);
+ lft z4 = (.8mxone, mxmiddle+mxlittle);
+ lft z5 = (.8mxone+.8mxhalf, y3);
+ lft z6 = (1.6mxone, y2);
+ z7 = (x6, y1);
+ bot z8 = (x6, 0);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z5..{down}z6..z7;
+ draw z1..{dir -75}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "h - ha";
+beginchar("h", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxthird);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, .5mxlittle);
+ lft z4 = (.75mxone, 5/6mxlittle);
+ lft z5 = (.75mxhalf, y4);
+ draw z1{dir -80}..{right}z2..{up}z3..{left}z4--z5;
+
+ z6 = (x3, mxlittle);
+ z7 = (x4, 7/6mxlittle);
+ z8 = (x5, y7);
+ draw z4..{up}z6..{left}z7--z8;
+
+ z9 = (x6, 8/6mxlittle);
+ top lft z10= (0, mxheight);
+ draw z7..{up}z9..{dir 110}z10;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% ^dz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^dz/^j - ^jan (oct010)";
+beginchar(oct"010", mxzw#+2mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxthird);
+ lft z3 = (1.5mxhalf, y1);
+ z2 = (.5[x1,x3], 0);
+ lft z4 = (1.2mxhalf, .5mxlittle);
+ top lft z5 = (2mxone, mxheight);
+ draw z1{down}..{right}z2..{up}z3..z4;
+ draw z4--z5;
+
+ lft z6 = (.3mxhalf, 11/12mxheight);
+ top lft z7 = (mxhalf, mxheight);
+ lft z8 = (1.75mxone, .5mxlittle);
+ z9 = (x5, y8+1/12mxheight);
+ draw z6{up}..{right}z7..{right}z8..z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% dz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "dz (j) - dzil";
+beginchar("j", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ top z5 = (x3, mxheight);
+ draw z3--z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% k %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "k - kan";
+beginchar("k", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .8mxlittle);
+ lft z2 = (mxhalf, mxlittle);
+ lft z3 = (mxone, .8mxlittle);
+ z4 = (x3, .2mxlittle);
+ bot z5 = (x2, 0);
+ z6 = (x1, y4);
+ top z7 = (x3, mxheight);
+ z8 = z7 - (mxhalf, mxthird);
+ draw z1..z2..{down}z3--z4{down}..{left}z5..{up}z6;
+ draw z3--z7--z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+mxedchar ".k - .kan (oct003)";
+beginchar(oct"003", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxthird);
+ bot lft z2 = (mxhalf, 0);
+ z4 = (x2, mxlittle);
+ lft z3 = (mxone, .67mxlittle);
+ z31 = (x3, .33mxlittle);
+ lft z5 = (0, .7mxlittle);
+ draw z1{down}..{right}z2..{up}z31..{up}z3..{left}z4..z5;
+
+ z6 = (x3, 1.33mxlittle);
+ top z7 = (x6, mxheight);
+ draw z4{right}..{up}z6..z7;
+
+ penlabels(range 1 thru 7, 31);
+endchar;
+
+
+
+%% l %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "l - las";
+beginchar("l", mxzw#+2.4mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ lft z2 = (0, 1.5mxlittle);
+ top lft z3 = (.8mxhalf, mxheight);
+ lft z4 = (.8mxone, 1.5mxlittle);
+ lft z9 = (.8mxone+.8mxhalf, y3);
+ lft z10= (1.6mxone, y4);
+ lft z5 = (1.6mxone+.8mxhalf, y3);
+ lft z6 = (2.4mxone, y2);
+ lft z7 = (2.4mxone, y1);
+ z8 = (x6, 0);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z9..{down}z10;
+ draw z10{up}..{right}z5..{down}z6..z7;
+ draw z1..{dir -50}z8;
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "m - man";
+beginchar("m", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3, mxheight-.5mxtop);
+ z6 = (x4, mxheight);
+ lft z7 = (0, y5);
+ draw z3..z5{up}..{left}z6..{down}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "n - nar";
+beginchar("n", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ lft z5 = (0, mxheight-.25mxtop);
+ top lft z6 = (.5mxhalf, mxheight);
+ z7 = (x3, y6+.2mxtop);
+ draw z1..z5{up}..{right}z6..{dir 75}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "p - par";
+beginchar("p", mxzw#+1.6mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, 1.5mxlittle);
+ lft z2 = (.8mxhalf, mxlittle);
+ lft z3 = (.8mxone, y1);
+ z4 = (x3, mxlittle+mxmiddle);
+ top z5 = (x2, mxheight);
+ draw z1{down}..{right}z2..{up}z3..z4{up}..{left}z5..cycle;
+
+ lft z6 = (.8mxhalf+.8mxone, y5);
+ lft z7 = (1.6mxone, y1);
+ bot z8 = (x6, 0);
+ z9 = (x7, .5mxlittle);
+ lft z11= (.6mxone, y9);
+ bot z10= (.5[x11,x9], 0);
+% draw z4{up}..{right}z6..{down}z7..{left}z8;
+% draw z8{right}..{down}z9..{left}z10..{dir 70}z11;
+ draw z4{up}..{right}z6..{down}z7..{down}z9..
+ {left}z8..{left}z10..{up}z11;
+ penlabels(range 1 thru 11);
+endchar;
+
+%% .p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".p - .par (oct004)";
+beginchar(oct"004", mxzw#+mxone#, mxthird#+mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxthird);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, .5mxlittle);
+ z4 = (x2, mxlittle);
+ z5 = (mxhalf, y4);
+ draw z1{dir -80}..{right}z2..{up}z3..{left}z4--z5;
+
+ z6 = (x3, mxlittle+.4mxtop);
+ z7 = (x1, .2mxtop+mxheight);
+ draw z4..{up}z6..{dir 110}z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% q %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "q - qar";
+beginchar("q", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z1 = (0, mxheight);
+ lft z2 = (0, 1.5mxlittle);
+ lft z3 = (mxhalf, mxlittle);
+ lft z4 = (mxone, y2);
+ z5 = (x4, y1);
+ draw z1..{down}z2..{right}z3..{up}z4..z5;
+
+ z6 = (x4, .5mxlittle);
+ bot z7 = (x3, 0);
+ z8 = (x2, y6);
+ draw z4--z6{down}..{left}z7..{up}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "s - san";
+beginchar("s", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z5 = (0, mxheight);
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ lft z4 = (1/3mxone, mxlittle);
+ draw z5--z1{down}..{right}z2..{up}z3..{up}z4;
+
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% ^s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^s - ^san (+s, oct005)";
+beginchar(oct"005", mxzw#+mxhalf#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (mxhalf, .5mxlittle);
+ bot lft z2 = (mxhalf+mxhalf, 0);
+ lft z3 = (mxone+mxhalf, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3, mxheight-.5mxtop);
+ top z6 = (x4, mxheight);
+ lft z7 = (mxhalf, y5);
+ draw z3..z5{up}..{left}z6..{down}z7;
+
+ lft z8 = (0, y6);
+ draw z7{up}..{left}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "t - tan";
+beginchar("t", mxzw#+1.6mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ bot lft z2 = (.8mxhalf, 0);
+ lft z3 = (.8mxone, y1);
+ z4 = (x3, mxlittle+mxmiddle);
+ top z5 = (x2, mxheight);
+ draw z1{down}..tension 1.3..{right}z2..tension 1.3..{up}z3..z4{up}..{left}z5..tension 1.3..cycle;
+
+ lft z6 = (.8mxhalf+.8mxone, y5);
+ lft z7 = (1.6mxone, y1);
+ bot z8 = (x7, 0);
+ draw z4{up}..{right}z6..tension 1.3..{down}z7..z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% .t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".t - tar (oct006)";
+beginchar(oct"006", mxzw#+mxone#+mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .8mxlittle);
+ bot lft z2 = (.5mxhalf+.5mxone, 0);
+ lft z3 = (mxone+mxhalf, y1);
+ z4 = (x2, .8mxheight);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ bot z5 = (x4, y4-.2mxheight);
+ top z6 = (x4, y4+.2mxheight);
+ draw z4{left}..{right}z5..cycle;
+ draw z4{left}..{right}z6..cycle;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+
+%% u %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "u - un";
+beginchar("u", mxzw#+2.2mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z1 = (0, mxheight);
+ lft z5 = (mxone, y1);
+ z2 = (.5[x1,x5], 1.75mxlittle);
+ lft z6 = (1.4mxone, 1.5mxlittle);
+ z7 = (x6, mxlittle);
+ draw z1..z2..{right}z5..{down}z6--z7;
+
+ lft z8 = (1.4mxone+.8mxhalf, y5);
+ lft z9 = (2.2mxone, y6);
+ z10= (x9, .5mxlittle);
+ bot z11= (x6, 0);
+ z12= (x2, y10);
+ draw z6{dir 75}..{right}z8..{down}z9--z10...{left}z11..{up}z12;
+ penlabels(range 1 thru 12);
+endchar;
+
+
+%% v %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "v - vin";
+beginchar("v", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle+mxmiddle);
+ top lft z2 = (mxhalf, mxheight);
+ lft z3 = (mxone, .5[y4,y2]);
+ z4 = (x2, mxlittle);
+ draw z1{up}..{right}z2..{down}z3..{left}z4; % ..z5;
+
+ z6 = (x3, .5[y4,y7]);
+ bot z7 = (x2, 0);
+ lft z8 = (0, y6);
+ draw z4{right}..{down}z6..{left}z7..{up}z8;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% x %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "x - xan";
+beginchar("x", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, .5mxlittle);
+ bot lft z2 = (mxhalf, 0);
+ lft z3 = (mxone, y1);
+ z4 = (x2, 5/6mxlittle);
+ z6 = (x1, y4);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z6;
+
+ top lft z5 = (0, mxheight);
+ draw z1--z5;
+
+ z7 = z6 +(1mxu, 1mxu);
+ draw z6--z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "z - zen";
+beginchar("z", mxzw#+2mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (.75mxone, .5mxlittle);
+ bot lft z2 = (.75mxone+mxhalf, 0);
+ lft z3 = (.75mxone+mxone, y1);
+ z4 = (x2, 5/6mxlittle);
+ z6 = (x1, y4);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z6;
+
+ lft z5 = (.75mxone, mxheight-.5mxtop);
+ top z11= (x5, mxheight);
+ lft z8 = (mxhalf, y11);
+ lft z9 = (0, y5);
+ z10 =(.5[x9,x5], mxheight-mxtop);
+% draw z1--z11..{left}z8..{down}z9..{right}z10..{up}z5;
+ draw z1--z5{up}..{left}z8..{down}z9..{right}z10..{up}z5;
+
+ z7 = z6 + (1mxu, 1mxu);
+ draw z6--z7;
+ penlabels(range 1 thru 11);
+endchar;
+
+
+
+%% ^z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^z - ^zan (+z, oct007)";
+beginchar(oct"007", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, 1.5mxlittle);
+ lft z2 = (.5mxhalf, mxlittle);
+ lft z3 = (mxhalf, y1);
+ top lft z4 = (mxone, mxheight);
+ draw z1{down}..{right}z2..{up}z3..{up}z4;
+
+ z5 = (x4, .5mxlittle);
+ bot z6 = (x3, 0);
+ lft z7 = (0, y5);
+ draw z4--z5{down}..{left}z6..{up}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% f %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "f, (Ossetian)";
+beginchar("f", mxzw#+mxone#+mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, mxlittle);
+ lft z2 = (1.5mxone, y1);
+ draw z1..z2..cycle;
+
+ lft z3 = (0, .8mxheight);
+ top lft z31 = (1/3mxone, mxheight);
+ lft z4 = (1.5mxhalf, y1);
+ bot lft z51 = (7/6mxone, 0);
+ lft z5 = (1.5mxone, .2mxheight);
+ draw z3{up}..{right}z31..{down}z4..{right}z51..{up}z5;
+
+ penlabels(range 1 thru 5, 31, 51);
+endchar;
+
+%% i1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "i1 - short i, (Old Georgian), oct012";
+beginchar(oct"012", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ bot lft z1 = (0, 0);
+ lft z2 = (mxhalf, .5mxthird);
+ top z4 = (x2, mxheight);
+ lft z3 = (mxone, .5[y2,y4]);
+ lft z5 = (0, y3);
+ z6 = (x3, y1);
+ draw z2..z3..z4..z5..cycle;
+ draw z1..z2..z6;
+ penlabels(range 1 thru 6);
+endchar;
+
+%% w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "w - wi, (Old Georgian)";
+beginchar("w", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ top lft z1 = (.5mxhalf, mxheight);
+ lft z2 = (mxone, y1);
+ z3 = (x1, mxlittle);
+ z4 = (x2, .5mxlittle);
+ bot lft z5 = (mxhalf, 0);
+ lft z6 = (0, mxthird);
+ draw z1--z2--z3{dir 30}..{down}z4..{left}z5..z6;
+ penlabels(range 1 thru 6);
+endchar;
+
+%% Schwa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "y - Schwa, (Ossetian)";
+beginchar("y", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pencc;
+ lft z1 = (0, 1.5mxlittle);
+ lft z2 = (mxone, y1);
+ top z12 = (.5[x1,x2], mxheight);
+ z3 = (x1, .5mxlittle);
+ z4 = (x2, y3);
+ bot z34 = (x12, 0);
+ draw z1{up}..{right}z12..{down}z2..{down}z3..{right}z34..{up}z4;
+ penlabels(range 1 thru 4, 12, 34);
+endchar;
+
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedd.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedd.mf
new file mode 100644
index 00000000000..c3674928821
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedd.mf
@@ -0,0 +1,170 @@
+% Mxedruli digits `mxedd.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%% 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "1";
+beginchar("1", mxhalf#+mxzw#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_digitpen;
+ top z1 = (mxhalf, mxheight);
+ bot z2 = (x1, 0);
+ z3 = (0, mxheight-.5mxtop);
+ draw z3--z1--z2;
+ penlabels(1, 2, 3);
+endchar;
+
+%% 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "2";
+beginchar("2", mxone#+mxzw#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_digitpen;
+ z1 = (0, mxheight-.5mxtop);
+ top z2 = (mxhalf, mxheight);
+ z3 = (mxone, y1);
+ bot z4 = (x1, 0);
+ z5 = (x3, y4);
+% draw z1{up}..{right}z2..{down}z3..tension 2..z4--z5;
+ draw z1{up}..{right}z2..z3..{z4-z3}z4--z5;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "3";
+beginchar("3", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ top z1 = (0, mxheight);
+ z2 = (mxone, y1);
+ z3 = (mxhalf, mxlittle);
+ z4 = (x2, .5mxlittle);
+ bot z5 = (x3, 0);
+ z6 = (x1, .5mxlittle);
+ draw z1--z2--z3;
+ draw z3{right}..{down}z4..{left}z5..{up}z6;
+ penlabels(1, 2, 3, 4, 5, 6);
+endchar;
+
+%% 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "4";
+beginchar("4", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ top z1 = (mxhalf, mxheight);
+ z2 = (0, .6mxlittle);
+ z3 = (mxone, y2);
+ draw z1--z2--z3;
+ bot z4 = (x1, 0);
+ z5 = (x4, 1.25mxlittle);
+ draw z4--z5;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "5";
+beginchar("5", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ top z1 = (mxone, mxheight);
+ z2 = (0, y1);
+ z3 = (x2, mxlittle);
+ z4 = (mxhalf, y3);
+ z5 = (x1, .5mxlittle);
+ bot z6 = (x4, 0);
+ z7 = (x2, .3mxlittle);
+ draw z1--z2--z3--z4{right}..z5..{left}z6..z7;
+ penlabels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+%% 6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "6";
+beginchar("6", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (x1, mxlittle);
+ z3 = (0, .5mxlittle);
+ z5 = (mxone, y3);
+ draw z1{left}..{up}z3..{right}z2..{down}z5..cycle;
+ top z4 = (1.5mxhalf, mxheight);
+% draw z3{up}..{dir 60}z4;
+ draw z3{up}..z4;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "7";
+beginchar("7", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ top z1 = (0, mxheight);
+ z2 = (mxone, y1);
+ bot z3 = (x1, 0);
+ draw z1--z2--z3;
+ penlabels(1, 2, 3);
+endchar;
+
+%% 8 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "8";
+beginchar("8", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (x1, mxlittle);
+ z6 = (0, .5mxlittle);
+ z7 = (mxone, y6);
+ draw z1{left}..{up}z6..{right}z2..{down}z7..cycle;
+ top z3 = (x1, mxheight);
+ z4 = (.2mxhalf, .5[y2, y3]);
+ z5 = (1.8mxhalf, y4);
+ draw z3{left}..{down}z4..{right}z2..{up}z5..cycle;
+ penlabels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+%% 9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "9";
+beginchar("9", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ top z1 = (mxhalf, mxheight);
+ z2 = (x1, mxlittle);
+ z3 = (mxone, mxheight-.5mxtop);
+ z4 = (0, y3);
+
+ draw z1{left}..{down}z4..{right}z2..{up}z3..cycle;
+ bot z5 = (.5mxhalf, 0);
+% draw z3{down}..{dir -120}z5;
+ draw z3{down}..z5;
+ penlabels(1, 2, 3, 4);
+endchar;
+
+%% 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "0";
+beginchar("0", mxone#+mxzw#, mxheight#, 0);
+ pickup mxed_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (mxone, mxlittle);
+ top z3 = (x1, mxheight);
+ z4 = (0, y2);
+ draw z1{right}..{up}z2..{left}z3..{down}z4..cycle;
+ penlabels(1, 2, 3, 4);
+endchar;
+
+
+endinput;
+
+
+
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedfont.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedfont.mf
new file mode 100644
index 00000000000..6dfd68e1c55
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedfont.mf
@@ -0,0 +1,980 @@
+% Mxedruli FONT `mxedfont.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.3 as of 20th May 1996 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Glottal Stop %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "' - Glottal Stop";
+beginchar(oct"021", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxone-mxfeet, mxlittle);
+ z2 = (mxone, .5mxlittle);
+ z3 = (mxhalf, 0);
+ z4 = (0, y2);
+ z5 = (mxfeet, y1);
+ draw z1..{down}z2..{left}z3..{up}z4..z5;
+
+ z6 = (x4, -.5mxlow);
+ z7 = (x3, -mxlow);
+ z8 = (x2, y6);
+ draw z4--z6..{right}z7..{up}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% qh %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Contributed by Mark Leisher
+mxedchar "q - qhar (oct015)";
+beginchar(oct"015", mxzw#+mxone#+.5mxhalf#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, -.5mxlow);
+ z2 = (mxhalf, -mxlow);
+ z3 = (mxone, -.25mxlow);
+ z4 = (x2, 1/3mxlittle);
+ z5 = (0, 1/6mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z5;
+
+ z6 = (x3, 1.75mxthird);
+ z7 = (x4-.25mxthird, mxlittle);
+ z8 =(x6, y7+.5mxthird);
+ draw z4{right}..{up}z6..{dir 90}z7..z8;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% long ee %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Contributed by Mark Leisher
+mxedchar "ee - (Long e) oct(016)";
+beginchar(oct"016", mxzw#+2mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z0 = (0, .5[mxlittle,2/3mxlittle]);
+ z1 = (.5mxthird, mxheight-.5mxthird);
+ z2 = (0, mxlittle);
+ z3 = (.7w, .1mxlittle);
+ z4 = (.6w, 2/6mxlittle);
+ z5 = (.4w, 3/6mxlittle);
+ draw z0{right}..{left}z1..z2{down}..{up}z3..z4--z5;
+
+ z6 = (x3+.5mxthird, .6mxlittle);
+ z7 = (x4+.5mxthird, 5/6mxlittle);
+ z8 = (x5+.5mxthird, mxlittle);
+ draw z4..{up}z6..z7--z8;
+
+ z9 = (x6+.5mxthird, mxlittle);
+ z10= (.5w, mxheight);
+ draw z7..{up}z9..{dir 110}z10;
+
+ penlabels(range 0 thru 10);
+endchar;
+
+
+%% ae %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "e1 - ae (Ossetian), oct013";
+beginchar(oct"013", mxzw#+mxone#, 4mxthird#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (.2mxhalf, mxlittle); % x4 war x2
+ z5 = (x4+mxhalf, y4);
+ draw z1{down}..z2{right}..{up}z3..{up}z4..{down}z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% a %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "a - an";
+beginchar("a", mxzw#+mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..z2{right}..{up}z3..{up}z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% b %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% New Design
+mxedchar "b - ban";
+beginchar("b", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+
+ top z5 = (x1, mxheight);
+ z6 = (x5, mxheight);
+ z7 = (x4, y6-.3mxtop);
+ draw z5--z6--z7--z4;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% b1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "b - ban (Variation, b1)";
+beginchar(oct"020", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+% Correction by JDL (8/5/94)
+% z5 = (x3, mxheight);
+% z6 = (0, y5);
+% z7 = (0, y5-.3mxtop);
+% draw z4{up}..{left}z5;
+% draw z5--z6--z7;
+ z5 = (0, 0.5[y6,y7]);
+ z6 = (0, mxheight);
+ z7 = (0, y6-.3mxtop);
+ draw z4{up}..{left}z5;
+ draw z6--z7;
+% end correction
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "c - can";
+beginchar("c", mxzw#+mxone#+.5mxhalf#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (.5mxhalf, mxlittle);
+ z2 = (0, .5mxthird);
+ z3 = (mxhalf, -mxlow);
+ z4 = (mxone+.5mxhalf, -.4mxlow);
+ z5 = (x4-mxhalf, y2);
+ draw z1..{down}z2..{right}z3..{up}z4..{left}z5;
+
+ z6 = (x4, 1.2mxthird);
+ z7 = (x5, y1);
+ draw z5{right}..{up}z6..{dir 135}z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% %% .c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% mxedchar ".c - .cil (oct000)";
+%% beginchar(oct"000", mxzw#+mxone#+mxhalf#, mxheight#, mxlow#);
+%% if known cmbase: adjust_fit(0,0); fi
+%% pickup mxed_pen;
+%% z1 = (0, mxheight-.5mxtop);
+%% z2 = (.5mxone+.5mxhalf, -mxlow);
+%% z3 = (.4[z1,z2]);
+%% z4 = (mxone+mxhalf, y3);
+%% x5 = .5[x3,x4];
+%% y5 = y4+mxthird;
+%% z6 = (.5[x1, x7], mxheight);
+%% z7 = (x2, y1);
+%% z8 = (.5[x7, x9], y6);
+%% z9 = (x4, y1);
+%% draw z1--z2--z4..{left}z5..{(z2-z1)}z3;
+%% draw z1..{right}z6..{down}z7;
+%% draw z7..{right}z8..{down}z9;
+%% penlabels(range 1 thru 9);
+%% endchar;
+
+
+%% .c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".c - .cil (oct000)";
+beginchar(oct"000", mxzw#+mxone#+mxhalf#, mxheight#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxheight-.5mxtop);
+ z9 = (mxone+mxhalf, y1);
+ z2 = (.5[x1,x9], -mxlow);
+ z3 = (.4[z1,z2]);
+ z4 = (.4[z9,z2]);
+ z7 = (x2, y1);
+ z6 = (.5[x1, x7], mxheight);
+ z8 = (.5[x7, x9], y6);
+ draw z1--z2--z4--z3;
+ draw z1{up}..{right}z6..{down}z7;
+ draw z7{up}..{right}z8..{down}z9;
+ penlabels(range 1 thru 9);
+endchar;
+
+%% ^c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^c - ^cin (+c, oct001)";
+beginchar(oct"001", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, mxlittle);
+ z4 = (mxone, y2);
+ z5 = (mxone-mxfeet, 0);
+ draw z1..{up}z2..{right}z3..{down}z4..z5;
+
+ z6 = (0, mxheight-.05mxtop);
+ z9 = (mxhalf, mxheight);
+ z7 = (x4-.5mxhalf,mxheight-.25mxtop);
+ z10 = (x9, mxheight-.5mxtop);
+ z8 = (0, mxheight-.45mxtop);
+ draw z2--z6;
+ draw z6..{right}z9..{down}z7..{left}z10..z8;
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% ^.c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^.c - ^.car (,c .+c oct014)";
+beginchar(oct"014", mxzw#+1.2mxone#, mxheight#, mxlow#); % war "y"
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (.5mxhalf, 0);
+ z2 = (0, -.5mxlow);
+ z3 = (mxhalf, -mxlow);
+ z4 = (mxone, y2);
+ z5 = (.75mxone, mxthird);
+ z6 = (x5, mxheight);
+ z7 = (x1, mxheight-.5mxtop);
+ draw z1{dir -135}..{down}z2..{right}z3..{up}z4..{up}z5--z6--z7;
+
+ z8 = (x5, .5mxlittle); % z10 and z11 should be 45 degree NE/SE
+ z9 = (x1, y8);
+ z10 = (x5+.7mxhalf, y8+.7mxhalf);
+ z11 = (x5+.7mxhalf, y8-.7mxhalf);
+ draw z10--z8..{up}z9..z8--z11;
+
+ penlabels(range 1 thru 11);
+endchar;
+
+%% d %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "d - don";
+beginchar("d", mxzw#+2mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxone, .5mxlittle);
+ z2 = (mxone+mxhalf, 0);
+ z3 = (mxone+mxone, y1);
+ z4 = (x2, mxlittle);
+ z5 = (x1, mxmiddle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..{down}z5..cycle;
+
+ z6 = (mxhalf, y4);
+ z7 = (0, y1);
+ z8 = (mxfeet, 0);
+ draw z5{up}..{left}z6..{down}z7..z8;
+
+ z9 = (x3, -mxlow);
+ draw z8..{dir -50}z9;
+ penlabels(range 1 thru 10);
+endchar;
+
+%% e %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "e - en";
+beginchar("e", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, -.5mxlow);
+ z2 = (mxhalf, -mxlow);
+ z3 = (mxone, 0);
+ z4 = (x3, mxmiddle);
+ z5 = (x2, mxlittle);
+ z6 = (0, y4);
+ draw z1{down}..{right}z2..{up}z3--z4..{left}z5..z6;
+
+ penlabels(range 1 thru 6);
+endchar;
+
+%% g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "g - gan";
+beginchar("g", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z2 = (mxhalf, -mxlow);
+ z4 = (x2, mxthird);
+ z1 = (0, .5[y2,y4]); % y was -.5mxlow
+ z3 = (mxone, y1);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3-.3mxhalf, mxmiddle);
+ z6 = (x4, mxlittle);
+ z7 = (.3mxhalf, y5);
+ draw z4{right}..{up}z5..{left}z6..{down}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% .g %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".g - .gan (oct002)";
+beginchar(oct"002", mxzw#+2mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, mxlittle);
+ z4 = (mxone, mxmiddle);
+ z5 = (mxone+mxhalf, y3);
+ z6 = (2mxone, y2);
+ z7 = (2mxone-mxfeet, 0);
+ z8 = (x6, -mxlow);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z5..{down}z6..z7;
+ draw z1..{dir -50}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "h - ha";
+beginchar("h", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, .5mxlittle);
+ z4 = (.75mxone, 5/6mxlittle);
+ z5 = (.75mxhalf, y4);
+ draw z1{dir -80}..{right}z2..{up}z3..{left}z4--z5;
+
+ z6 = (x3, mxlittle);
+ z7 = (x4, 7/6mxlittle);
+ z8 = (x5, y7);
+ draw z4..{up}z6..{left}z7--z8;
+
+ z9 = (x6, 8/6mxlittle);
+ z10= (0, mxheight);
+ draw z7..{up}z9..{dir 110}z10;
+
+ penlabels(range 1 thru 10);
+endchar;
+
+%% i %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "i - in";
+beginchar("i", mxzw#+mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, mxlittle);
+ z4 = (mxone, y2);
+ z5 = (mxone-mxfeet, 0);
+ draw z1..{up}z2..{right}z3..{down}z4..z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% i1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "i1 - short i, (Old Georgian), oct012";
+beginchar(oct"012", mxzw#+mxone#+mxhalf#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, 0);
+ z2 = (1.5mxhalf, .15mxthird); % y2 war .5mxthird
+ z4 = (x2, mxlittle);
+ z3 = (mxone+.5mxhalf, .5[y2,y4]);
+ z5 = (.5mxhalf, y3);
+ z6 = (mxone+mxhalf, y1);
+ draw z1..z2..z3..z4..z5..z2..z6;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% %% i1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% mxedchar "i1 - short i, (Old Georgian), oct012";
+%% beginchar(oct"012", mxzw#+mxone#, mxlittle#, 0);
+%% if known cmbase: adjust_fit(0,0); fi
+%% pickup mxed_pen;
+%% z1 = (0, 0);
+%% z2 = (mxhalf, .15mxthird); % y2 war .5mxthird
+%% z4 = (x2, mxlittle);
+%% z3 = (mxone, .5[y2,y4]);
+%% z5 = (0, y3);
+%% z6 = (x3, y1);
+%% draw z1..z2..z3..z4..z5..z2..z6;
+%% penlabels(range 1 thru 6);
+%% endchar;
+
+
+%% ^dz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^dz/^j - ^jan (oct010)";
+beginchar(oct"010", mxzw#+1.75mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, -.5mxlow);
+ z3 = (1.5mxhalf, y1);
+ z2 = (.5[x1,x3], -mxlow);
+ z4 = (1.2mxhalf, 0);
+ z5 = (1.75mxone, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..z4;
+ draw z4--z5;
+
+ z6 = (.3mxhalf, 5/6mxlittle);
+ z7 = (mxhalf, mxlittle);
+ z8 = (1.5mxone, 0);
+ z9 = (x5, .5mxthird);
+ draw z6{up}..{right}z7..{right}z8..{dir 45}z9;
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% dz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "dz (j) - dzil";
+beginchar("j", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3, mxheight);
+ draw z3--z5;
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% k %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "k - kan";
+beginchar("k", mxzw#+mxone#, mxheight#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (mxhalf, 2mxthird);
+ z3 = (mxone, 1.5mxthird);
+ z4 = (x3, -.5mxlow);
+ z5 = (x2, -mxlow);
+ z6 = (x1, y4);
+ z7 = (x3, mxheight);
+ z8 = z7 - (mxhalf, mxthird);
+ draw z1..z2..{down}z3--z4{down}..{left}z5..{up}z6;
+ draw z3--z7--z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% .k %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% mxedchar ".k - .kan (oct003)";
+%% beginchar(oct"003", mxzw#+mxone#, mxlittle#, 1.5mxlow#);
+%% if known cmbase: adjust_fit(0,0); fi
+%% pickup mxed_pen;
+%% z1 = (0, -mxlow);
+%% % z1 = (0, -.66mxlow);
+%% z2 = (mxhalf, -1.5mxlow);
+%% % z2 = (mxhalf, -mxlow);
+%% z3 = (mxone, -.75mxlow);
+%% % z3 = (mxone, -.5mxlow);
+%% z4 = (x2, 0);
+%% z5 = (0, -1/6mxlittle);
+%% draw z1{down}..{right}z2..{up}z3..{left}z4..z5;
+%%
+%% z6 = (x3, .75mxthird);
+%% z7 = (x6, mxlittle);
+%% draw z4{right}..{up}z6--z7;
+%%
+%% penlabels(range 1 thru 7);
+%% endchar;
+
+mxedchar ".k - .kan (oct003)";
+beginchar(oct"003", mxzw#+mxone#, mxheight#, 1mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, -.5mxlow);
+ z2 = (mxhalf, -mxlow);
+ z3 = (mxone, -.25mxlow);
+ z4 = (x2, 1/3mxlittle);
+ z5 = (0, 1/6mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z5;
+
+ z6 = (x3, 1.75mxthird);
+% z7 = (x6, 4/3mxlittle);
+ z7 = (x4, 4/3mxlittle);
+% draw z4{right}..{up}z6--z7;
+ draw z4{right}..{up}z6..z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+%% l %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "l - las";
+beginchar("l", mxzw#+2.4mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (.8mxhalf, mxlittle);
+ z4 = (.8mxone, mxmiddle);
+ z9 = (.8mxone+.8mxhalf, y3);
+ z10= (1.6mxone, y4);
+ z5 = (1.6mxone+.8mxhalf, y3);
+ z6 = (2.4mxone, y2);
+ z7 = (2.4mxone-mxfeet, 0);
+ z8 = (x6, -mxlow);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z9..{down}z10;
+ draw z10{up}..{right}z5..{down}z6..z7;
+ draw z1..{dir -50}z8;
+ penlabels(range 1 thru 10);
+endchar;
+
+
+%% m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "m - man";
+beginchar("m", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3, mxheight-.5mxtop);
+ z6 = (x4, mxheight);
+ z7 = (0, y5);
+ draw z3..z5{up}..{left}z6..{down}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "n - nar";
+beginchar("n", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (0, mxheight-.25mxtop);
+ z6 = (.5mxhalf, mxheight);
+ z7 = (x3, y6+.2mxtop);
+ draw z1..z5{up}..{right}z6..{dir 75}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% o %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "o - on";
+beginchar("o", mxzw#+2mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, mxlittle);
+ z4 = (mxone, mxmiddle);
+ z5 = (mxone+mxhalf, y3);
+ z6 = (2mxone, y2);
+ z7 = (2mxone-mxfeet, 0);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z5..{down}z6..z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+%% p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "p - par";
+beginchar("p", mxzw#+2mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x3, mxmiddle);
+ z5 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..z4{up}..{left}z5..cycle;
+
+ z6 = (mxhalf+mxone, y5);
+ z7 = (2mxone, y1);
+ z8 = (x6, 0);
+ z9 = (x7, -.5mxlow);
+ z11= (.75mxone, y9);
+ z10= (.5[x11,x9], -mxlow);
+ draw z4{up}..{right}z6..{down}z7..{left}z8;
+ draw z8{right}..{down}z9..{left}z10..{dir 70}z11;
+ penlabels(range 1 thru 11);
+endchar;
+
+%% .p %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".p - .par (oct004)";
+beginchar(oct"004", mxzw#+mxone#, mxthird#+mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, .5mxlittle);
+ z4 = (x2, mxlittle);
+ z5 = (x1, y4);
+ draw z1{dir -80}..{right}z2..{up}z3..{left}z4--z5;
+
+ z6 = (x3, mxlittle+.4mxtop);
+ z7 = (x1, mxthird+mxheight);
+ draw z4..{up}z6..{dir 110}z7;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% q %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".q - .qar";
+beginchar("q", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, mxlittle);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, 0);
+ z4 = (mxone, y2);
+ z5 = (x4 - mxfeet, y1);
+ draw z1..{down}z2..{right}z3..{up}z4..z5;
+
+ z6 = (x4, -.5mxlow);
+ z7 = (x3, -mxlow);
+ z8 = (x2, y6);
+ draw z4--z6..{left}z7..{up}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+%% r %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "r - ran";
+beginchar("r", mxzw#+2mxone#, mxthird#+mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxfeet, 0);
+ z2 = (0, .5mxlittle);
+ z3 = (mxhalf, mxlittle);
+ z4 = (mxone, mxmiddle);
+ z5 = (mxone+mxhalf, y3);
+ z6 = (2mxone, y2);
+ z7 = (2mxone-mxfeet, 0);
+ z8 = (x6, mxheight+mxthird);
+ draw z1..{up}z2..{right}z3..{down}z4;
+ draw z4{up}..{right}z5..{down}z6..z7;
+ draw z2{up}..{dir 70}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "s - san";
+beginchar("s", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z5 = (0, mxheight);
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (1/3mxone, mxlittle);
+ draw z5--z1{down}..{right}z2..{up}z3..{up}z4;
+
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% ^s %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^s - ^san (+s, oct005)";
+beginchar(oct"005", mxzw#+mxhalf#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxhalf, .5mxlittle);
+ z2 = (mxhalf+mxhalf, 0);
+ z3 = (mxone+mxhalf, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x3, mxheight-.5mxtop);
+ z6 = (x4, mxheight);
+ z7 = (mxhalf, y5);
+ draw z3..z5{up}..{left}z6..{down}z7;
+
+ z8 = (0, y6);
+ draw z7{up}..{left}z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "t - tan";
+beginchar("t", mxzw#+2mxone#, mxlittle#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x3, mxmiddle);
+ z5 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..z4{up}..{left}z5..cycle;
+
+ z6 = (mxhalf+mxone, y5);
+ z7 = (2mxone, y1);
+ z8 = (x7-.mxfeet, 0);
+ draw z4{up}..{right}z6..{down}z7..z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% .t %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar ".t - tar (oct006)";
+beginchar(oct"006", mxzw#+mxone#+mxhalf#, mxheight#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .3mxlittle);
+ z2 = (.5mxhalf+.5mxone, -mxlow);
+ z3 = (mxone+mxhalf, y1);
+ z4 = (x2, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..cycle;
+
+ z5 = (x4, y4-1.2mxthird);
+ z6 = (x4, y4+1.2mxthird);
+ draw z4{left}..{right}z5..cycle;
+ draw z4{left}..{right}z6..cycle;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+
+%% u %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "u - un";
+beginchar("u", mxzw#+2.1mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxlittle);
+ z5 = (.9mxone, y1);
+ z2 = (.5[x1,x5], 2.4mxthird);
+ z6 = (1.3mxone, 2mxthird);
+ z7 = (x6, .5mxlittle);
+ draw z1..z2..{right}z5..{down}z6--z7;
+
+ z8 = (1.3mxone+.8mxhalf, y5);
+ z9 = (2.1mxone, y6);
+ z10= (x9, 0);
+ z11= (x6, -mxlow);
+ z12= (x2, -.5mxlow);
+ draw z6{dir 75}..{right}z8..{down}z9--z10..{left}z11..{up}z12;
+ penlabels(range 1 thru 12);
+endchar;
+
+
+%% v %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "v - vin";
+beginchar("v", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxmiddle);
+ z2 = (mxhalf, mxlittle);
+% z3 = (mxone, .5mxlittle);
+ z3 = (mxone, .5[y4,y2]);
+% Esthetic correction JDL (8/5/94)
+% z4 = (x2, 0);
+ z4 = (x2, .375y1);
+% end of esthetic correction
+% z5 = (0, 1/6mxlittle);
+ draw z1{up}..{right}z2..{down}z3..{left}z4; % ..z5;
+
+% z6 = (x3, -.5mxlow);
+ z6 = (x3, .5[y4,y7]);
+% Correction by JDL (8/5/94)
+% z7 = (x2, -1.5mxlow);
+% z8 = (0, -mxlow);
+ z7 = (x2, -mxlow);
+ z8 = (0, y6);
+ draw z4{right}..{down}z6..{left}z7..{up}z8;
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% x %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "x - xan";
+beginchar("x", mxzw#+mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (mxhalf, 0);
+ z3 = (mxone, y1);
+ z4 = (x2, 5/6mxlittle);
+ z6 = (x1, y4);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z6;
+
+ z5 = (0, mxheight);
+ draw z1--z5;
+
+ z7 = z6 +(1mxu, 1mxu);
+ draw z6--z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "z - zen";
+beginchar("z", mxzw#+2mxone#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (.75mxone, .5mxlittle);
+ z2 = (.75mxone+mxhalf, 0);
+ z3 = (.75mxone+mxone, y1);
+ z4 = (x2, 5/6mxlittle);
+ z6 = (x1, y4);
+ draw z1{down}..{right}z2..{up}z3..{left}z4..z6;
+
+ z5 = (.75mxone, mxheight-.5mxtop);
+ z11= (x5, mxheight);
+ z8 = (mxhalf, y11);
+ z9 = (0, y5);
+ z10 =(.5[x9,x5], mxheight-mxtop);
+% draw z1--z11..{left}z8..{down}z9..{right}z10..{up}z5;
+ draw z1--z5{up}..{left}z8..{down}z9..{right}z10..{up}z5;
+ z7 = z6 + (1mxu, 1mxu);
+ draw z6--z7;
+ penlabels(range 1 thru 10);
+endchar;
+
+%% %% z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% mxedchar "z - zen";
+%% beginchar("z", mxzw#+2mxone#, mxheight#, 0);
+%% if known cmbase: adjust_fit(0,0); fi
+%% pickup mxed_pen;
+%% z1 = (mxone, .5mxlittle);
+%% z2 = (mxone+mxhalf, 0);
+%% z3 = (mxone+mxone, y1);
+%% z4 = (x2, 5/6mxlittle);
+%% z6 = (x1, y4);
+%% draw z1{down}..{right}z2..{up}z3..{left}z4..z6;
+%%
+%% z5 = (mxone, mxheight-.5mxtop);
+%% z11= (x5, mxheight);
+%% z8 = (mxhalf, y11);
+%% z9 = (0, y5);
+%% z10 =(x8, mxheight-mxtop);
+%% draw z1--z11..{left}z8..{down}z9..{right}z10..{up}z5;
+%%
+%% z7 = z6 + (1.8mxu, 1.8mxu);
+%% draw z6--z7;
+%% penlabels(range 1 thru 10);
+%% endchar;
+
+
+%% ^z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "^z - ^zan (+z, oct007)";
+beginchar(oct"007", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, mxthird);
+ z2 = (.5mxhalf, 0);
+ z3 = (mxhalf, y1);
+ z4 = (mxone, mxlittle);
+ draw z1{down}..{right}z2..{up}z3..{up}z4;
+
+ z5 = (x4, -.5mxlow);
+ z6 = (x3, -mxlow);
+ z7 = (0, y5);
+ draw z4--z5..{left}z6..{up}z7;
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% f %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "f, (Ossetian)";
+beginchar("f", mxzw#+mxone#+mxhalf#, mxheight#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, .5mxlittle);
+ z2 = (1.5mxone, y1);
+ draw z1..z2..cycle;
+
+ z3 = (0, 4mxthird);
+ z31 = (1/3mxone, 5mxthird);
+ z4 = (1.5mxhalf, y1);
+ z51 = (7/6mxone, -mxlow);
+ z5 = (1.5mxone, -.5mxlow);
+% draw z3{dir 45}..z4..{dir 45}z5;
+ draw z3{up}..{right}z31..{down}z4..{right}z51..{up}z5;
+
+ penlabels(range 1 thru 5, 31, 51);
+endchar;
+
+
+%% oo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "oo - ho, (Old Georgian), oct011";
+beginchar(oct"011", mxzw#+mxone#+mxhalf#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (mxone+mxhalf, 2/3mxlittle);
+ z8 = (x1, mxlittle);
+ z2 = (mxhalf, y1);
+ z7 = (x2, y8);
+ z3 = (x2, 0);
+ z6 = (x2, mxheight);
+ z4 = (mxone, .7mxthird);
+ z5 = (x4, mxheight-.7mxthird);
+ draw z1--z2{left}..z3..{up}z4--z5{up}..z6..{right}z7--z8;
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% w %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "w - wi, (Old Georgian)";
+beginchar("w", mxzw#+mxone#, mxheight#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (.5mxhalf, 2/3mxlittle);
+ z2 = (mxone, y1);
+ z3 = (x1, .4mxthird);
+ z4 = (x2, -.4mxlow);
+ z5 = (mxhalf, -mxlow);
+ z6 = (0, -.75mxlow);
+ draw z1--z2--z3{dir 30}..{down}z4..{left}z5..z6;
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% Schwa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "y - Schwa, (Ossetian)";
+beginchar("y", mxzw#+mxone#, mxlittle#, mxlow#);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_pen;
+ z1 = (0, 2mxthird);
+ z2 = (mxone, y1);
+ z3 = (0, -.5mxlow);
+ z4 = (x2, y3);
+ draw z1{up}..{down}z2..{down}z3..{up}z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedi10.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedi10.mf
new file mode 100644
index 00000000000..72c55b2dfb7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedi10.mf
@@ -0,0 +1,127 @@
+% Mxedruli Font 10 point Italics `mxedi10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.4 as of 15th July 1996 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Based on the parameters as in CMTI10
+
+% if unknown cmbase: input cmbase fi
+if unknown mxedbase: input mxedbase fi
+
+font_identifier:="MXED"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.2/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=29/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=34/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+fi
+
+% These are the real Mxedruli Parameters
+boolean mxcap;
+mxcap:=false; % No capitals
+mxu#:= 2.5u#; % was 2.7u# % the unit, which where used to design this fonts
+mxlittle#:= 3mxu#; % height of letters without ascenders
+mxtop#:= 2mxu#; % the height of the ascenders
+mxheight#:=mxtop#+mxlittle#;
+mxhalf#:=mxu#; % Half width of the letter 'a'
+mxone#:=2mxhalf#;
+mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+mxthird#:=1/3mxlittle#;
+mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+mxzw#:= .65mxu#; % Seperation of two letters
+
+
+px1#:=.18mxu#; % pen 1 xscaling
+py1#:=.60mxu#; % pen 1 yscaling
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.74mxu#; % pen for dots
+pdash#:=.40mxu#; % pen for dashes
+
+
+slant:=.25;
+
+input mxed; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/mxedp.mf b/Master/texmf-dist/fonts/source/public/mxedruli/mxedp.mf
new file mode 100644
index 00000000000..b34048b3c00
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/mxedp.mf
@@ -0,0 +1,252 @@
+% Mxedruli punctuation `mxedp.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 16th June 1995 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "+";
+beginchar("+", mxzw#+mxone#, mxone#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup mxed_dash;
+ z1 = (0, .5mxone);
+ z2 = (mxone, y1);
+ draw z1--z2;
+
+ z3 = (.5[x1, x2], 0);
+ z4 = (x3, mxone);
+ draw z3--z4;
+
+ penlabels(range 1 thru 4);
+endchar;
+
+%% = %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Equals sign =";
+beginchar("=", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ lft z1 = (0, 1.5mxthird);
+ rt z2 = (1.5mxone, y1);
+ lft z3 = (0, 2.5mxthird);
+ rt z4 = (1.5mxone, y3);
+ draw z1--z2;
+ draw z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Slash /";
+beginchar("/", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ z1 = (0,0);
+ z2 = (1.5mxone, mxheight);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+%% \ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Backslash \ ";
+beginchar("\", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ z1 = (0,mxheight);
+ z2 = (1.5mxone, 0);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+
+
+%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "-";
+beginchar("-", mxzw#+mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ z1 = (0, mxmiddle);
+ z2 = (mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "-- (123)";
+beginchar(123, mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ z1 = (0, mxmiddle);
+ z2 = (1.5mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% --- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "--- (124)";
+beginchar(124, mxzw#+2mxone#, mxlittle#, 0);
+ pickup mxed_dash;
+ z1 = (0, mxmiddle);
+ z2 = (2mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% . %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Period .";
+beginchar(".", mxzw#+mxhalf#, mxlittle#, 0);
+ pickup mxed_dot;
+ lft z1 = (0, 0);
+ drawdot z1;
+ penlabels(1);
+endchar;
+
+%% : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Colon :";
+beginchar(":", mxzw#+mxhalf#, mxlittle#, 0);
+ pickup mxed_dot;
+ lft z1 = (0, mxthird);
+ lft z2 = (0, 2.5mxthird);
+ drawdot z1;
+ drawdot z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Semicolon ;";
+beginchar(";", mxzw#+pdot#, mxlittle#, .6mxlow#);
+ pickup mxed_dot;
+ lft z1 = (0, 0);
+ z4 = (x1, .5mxlittle);
+ drawdot z1;
+ drawdot z4;
+
+ pickup mxed_digitpen;
+ rt z2 = (pdot, -1/12mxlow);
+ z3 = (0, -.6mxlow);
+% draw z2{dir -45}..{dir -135}z3;
+ draw z2{down}..{dir -135}z3;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Comma ,";
+beginchar(",", mxzw#+pdot#, mxlittle#, .6mxlow#);
+ pickup mxed_dot;
+ lft z1 = (0, 0);
+ drawdot z1;
+
+ pickup mxed_digitpen;
+ rt z2 = (pdot, y1-1/12mxlow);
+ z3 = (0, -.6mxlow);
+ draw z2{down}..{dir -135}z3;
+ penlabels(range 1 thru 3);
+endchar;
+
+
+%% ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Apostroph '";
+beginchar("'", mxzw#+pdot#, mxheight#, 0#);
+ pickup mxed_dot;
+ lft z1 = (0, mxheight);
+ drawdot z1;
+
+ pickup mxed_digitpen;
+ rt z2 = (pdot, y1-1/12mxlow);
+ z3 = (0, mxheight-.6mxlow);
+ draw z2{down}..{dir -135}z3;
+ penlabels(range 1 thru 3);
+endchar;
+
+%% ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Question mark ?";
+beginchar("?", mxzw#+mxone#, mxheight#, 0);
+ pickup mxed_dot;
+ z1 = (mxhalf, 0);
+ drawdot z1;
+
+ pickup mxed_digitpen;
+ z2 = (0, mxheight-.5mxtop);
+ z3 = (x1, mxheight);
+ z4 = (mxone, y2);
+ z5 = (x1, mxmiddle);
+ z6 = (x5, 1.2mxthird);
+
+ draw z2{up}..{right}z3..{down}z4..{down}z5--z6;
+ penlabels(1,2,3,4,5);
+endchar;
+
+%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Exclamation mark !";
+beginchar("!", mxzw#+.5mxhalf#, mxheight#, 0);
+ pickup mxed_dot;
+ lft z1 = (0, 0);
+ drawdot z1;
+
+ z2 = (x1, mxheight-.5pdot); penpos2(pdot, 0);
+ drawdot z2;
+ z3 = (x1, mxmiddle); penpos3(px1, 0);
+ penstroke z2e..z3e;
+ penlabels(1,2,3);
+endchar;
+
+%% ( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Left parenthesis (";
+beginchar("(", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ z1 = (.5pdot+mxhalf, 1.1mxheight); penpos1(dpx1, 0);
+ z3 = (x1, -.1mxheight); penpos3(dpx1, 0);
+ z2 = (.5pdot, .5[y1, y3]); penpos2(pdot, 0);
+ penstroke z1e..z2e..z3e;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Right parenthesis )";
+beginchar(")", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ z1 = (0, 1.1mxheight); penpos1(dpx1, 0);
+ z3 = (x1, -.1mxheight); penpos3(dpx1, 0);
+ z2 = (mxhalf, .5[y1, y3]); penpos2(pdot, 0);
+ penstroke z1e..z2e..z3e;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% [ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Left bracket [";
+beginchar("[", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ pickup mxed_square;
+ z1 = (mxhalf, -.1mxheight);
+ z2 = (0, y1);
+ z3 = (0, 1.1mxheight);
+ z4 = (x1, y3);
+ draw z1--z2--z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+mxedchar "Right bracket ]";
+beginchar("]", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ pickup mxed_square;
+ z1 = (0, -.1mxheight);
+ z2 = (mxhalf, y1);
+ z3 = (x2, 1.1mxheight);
+ z4 = (0, y3);
+ draw z1--z2--z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+endinput; \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xuc.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xuc.mf
new file mode 100644
index 00000000000..160d459e297
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xuc.mf
@@ -0,0 +1,120 @@
+% Driver file for Xucuri font `xuc.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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.2 as of 14th July 1998 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+font_coding_scheme:="Xucuri - Georgian";
+mode_setup;
+if known cmbase: font_setup; fi % If used with cmbase
+
+font_xuc_setup;
+
+let xucchar=\;
+
+% fontmaking:=1; % to generate a TFM File during proof-ing
+
+%% Zeichendefinitionsdateien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+input xucfont; % the xucuri alphabet majuscules (Mrglovani)
+input xucl; % the xucuri alphabet minuscules (.Kutxovani)
+if unknown cmbase: input xucp; else: input punct; fi % punctuation
+if unknown cmbase: input xucd; else: input romand; fi % digits: if cmbase is
+ % used this font will
+ % load cm-digits, for
+ % they are finer tuned.
+
+
+%% Font-Parameter fuer TeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+font_quad 2.5mxu#; % 1 em
+font_x_height mxlittle#; % 1 ex
+font_normal_space 3.5mxu#; % word gap
+font_normal_stretch 2mxu#; % word gap may stretch by ...
+font_normal_shrink 1mxu#; % word gap my shrink by ...
+font_slant slant;
+
+% special "grayfont graylj"; % Only for GFtoDVI on emTeXs METAFONT
+
+%% Ligature-Tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+% Palatals:
+ligtable "+" : "S" =: oct"005",
+ "C" =: oct"001",
+ "J" =: oct"010",
+ "Z" =: oct"007",
+ "s" =: oct"025",
+ "c" =: oct"021",
+ "j" =: oct"030",
+ "z" =: oct"027";
+
+% Glottalized stops
+ligtable "." : "C" =: oct"000",
+ "G" =: oct"002",
+ "K" =: oct"003",
+ "P" =: oct"004",
+ "T" =: oct"006",
+ "c" =: oct"020",
+ "g" =: oct"022",
+ "k" =: oct"023",
+ "t" =: oct"026",
+ "p" =: oct"024",
+ "+" =: ",";
+
+% Old Georgian "ho"
+ligtable "O" : "1" =: oct"011";
+% oct"005" kern -mxhalf#,
+% "Z" kern -.5mxzw#;
+
+% Old Georgian "Short i"
+ligtable "I" : "1" =: oct"012";
+
+ligtable "i" : "1" =: oct"032";
+
+
+% long "ee"
+ligtable "E" : "0" =: oct"016";
+
+ligtable "e" : "0" =: oct"036";
+
+
+% Unaspirated "q"
+ligtable "Q" : "1" =: oct"015";
+
+ligtable "q" : "1" =: oct"035";
+
+
+% Keep the "s" away from letters with an ascender on the right
+% ligtable oct"004" : oct"007" : "k" : "m" : "x" : "s" kern .5mxzw#;
+
+% two ' make a double quote
+ligtable "'" : "'" kern -.8mxzw#;
+
+% two , make a double comma,
+ligtable "," : "," kern -mxzw#,
+ "C" =: oct"014",
+ "c" =: oct"034";
+
+%% Hyphens etc.
+ligtable "-" : "-" =: 123; % cf. The METAfontbook S. 306
+ligtable 123 : "-" =: 124;
+
+% Let "z" and oct005 closer two the little letters
+%ligtable "a" : "d" : "g" : "l" : "t" : "u" : "p" : oct"002" : "c" : oct"010" :
+% oct"005" kern -mxhalf#,
+% "1" =: oct"021",
+% "z" kern -.5mxzw#;
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xuc10.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xuc10.mf
new file mode 100644
index 00000000000..4fc227ca79a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xuc10.mf
@@ -0,0 +1,150 @@
+% Xucuri Font 10 point Normal Face `xuc10.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Based on the parameters as in CMR10
+
+% if unknown cmbase: input cmbase fi
+if unknown xucbase: input xucbase fi
+
+font_identifier:="XUC"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+if known cmbase:
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numeralsx_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% These are the real Xucuri Parameters
+boolean mxcap;
+%mxcap:=false; % No capitals
+
+mxu#:= 2.5u#; % was 2.7u# % the unit, which where used to design this fonts
+mxlittle#:= 3mxu#; % height of letters without ascenders
+mxtop#:= 2mxu#; % the height of the ascenders
+mxheight#:=mxtop#+mxlittle#;
+
+mxhalf#:=mxu#; % Half width of the letter 'a'
+mxone#:=2mxhalf#;
+mxmiddle#:=2/3mxlittle#; % strokes not reaching the baseline, as in 'o'
+mxthird#:=1/3mxlittle#;
+mxfeet#:= .4mxhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+mxlow#:= 1.8mxu#; %war 2mxu# % max depth below the baseline
+%mxzw#:= .65mxu#; % Seperation of two letters
+mxzw#:= 1.65mxu#; % Seperation of two letters
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Parameters for Xucuri Minuscles
+xuclu#:=.8mxu#;
+xucllittle#:= 3xuclu#; % height of letters without ascenders
+xucltop#:= 2/3xucllittle#; % the height of the ascenders
+xuclheight#:=xucltop#+xucllittle#;
+
+xuclhalf#:=.9xuclu#; % Half width of the letter 'a'
+xuclone#:=2xuclhalf#;
+xuclmiddle#:=2/3xucllittle#; % strokes not reaching the baseline, as in 'o'
+xuclthird#:=1/3xucllittle#;
+xuclfeet#:= .4xuclhalf#; % The feet of 'i' and 'o' etc are slightly
+ % bent to the middle
+xucllow#:= 2xuclu#; % max depth below the baseline
+xuclzw#:= 1.65xuclu#; % Seperation of two letters
+
+
+px1#:=.75mxu#; % pen 1 xscaling (Uppercase)
+py1#:=.21mxu#; % pen 1 yscaling
+px2#:=.65mxu#; % pen 2 xscaling (Lowercase)
+py2#:=.15mxu#; % pen 2 yscaling
+
+mxserifonset# := .4mxu#;
+% mxserifonset# := 2py1#;
+mxseriffoot# := .02mxu#;
+
+dpx1#:=px1#; % digitpen xscaling
+dpy1#:=py1#; % digitpen yscaling
+pdot#:=.74mxu#; % pen for dots
+pdash#:=.40mxu#; % pen for dashes
+pcomma#:=.15mxu#; % pen for commas
+slant:=0;
+
+input xuc; % switch to the driver file
+bye.
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xucbase.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xucbase.mf
new file mode 100644
index 00000000000..664c77efebd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xucbase.mf
@@ -0,0 +1,122 @@
+% Xucuri Base File `xucbase.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+xucbase:=1; % Es soll nur einmal geladen werden.
+
+newinternal slant;
+
+def font_xuc_setup = % Eigenes Macro
+ define_pixels(mxu, mxlittle, mxhalf, mxone, mxheight, mxthird,
+ mxmiddle, mxtop, mxfeet, mxlow, mxzw,
+ mxseriffoot,
+ xuclu, xucllittle, xuclhalf, xuclone, xuclheight, xuclthird,
+ xuclmiddle, xucltop, xuclfeet, xucllow, xuclzw,
+ xuclseriffoot);
+
+ define_blacker_pixels(px1, py1, dpx1, dpy1, px2, py2, pdot,
+ pdash, pcomma, mxserifonset);
+
+ % used by Xucuri majuscules
+ pickup pensquare xscaled px1 yscaled py1 rotated 0;
+ xuc_pen:=savepen;
+
+ % used by Xucuri minuscules main strokes
+ pickup penrazor xscaled px2 rotated 10;
+ xuc_penl:=savepen;
+
+ % used by Xucuri minuscules secondary
+ pickup penrazor xscaled px2 rotated 1;
+ xuc_penlx:=savepen;
+
+ % used by Xucuri arabesques
+ pickup pencircle xscaled px2 yscaled py2 rotated 10;
+ xuc_penb:=savepen;
+
+ pickup penrazor xscaled px2 rotated 30;
+ xuc_penlr:=savepen;
+
+ pickup pencircle xscaled dpx1 yscaled dpy1 rotated 90; % rotated -10;
+ xuc_digitpen:=savepen; % Pen for digits
+
+ pickup pencircle xscaled dpx1 yscaled dpy1; % rotated -10;
+ xuc_punctpen:=savepen; % Pen for punctuation
+
+ pickup pencircle scaled pdot;
+ xuc_dot:=savepen; % Pen for dots
+
+ pickup pencircle scaled pdash;
+ xuc_dash:=savepen; % Pen for lines
+
+ pickup pencircle scaled pcomma;
+ xuc_pcomma:=savepen; % Pen for Commas
+
+ pickup pensquare scaled pdash;
+ xuc_square:=savepen;
+
+
+ currenttransform:=identity slanted slant yscaled aspect_ratio;
+enddef;
+
+if known cmbase: % Boxen f"uer den Proofmode (mit CM-Base)
+ def makebox(text rule) =
+ for y=0,h,mxlittle,-d,mxthird:
+ rule((0,y)t_,(r,y)t_); endfor % horizontals
+ for x=0,r,r-mxzw,mxhalf,mxone:
+ rule((x,-d)t_,(x,h)t_); endfor % verticals
+ % for x=u*(1+floor(l/u)) step u until r-1:
+ % rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals
+ % if charic<>0:
+ % rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction
+ enddef;
+
+else: % Boxen f"uer den Proofmode
+ def makebox(text r) =
+ % horizontal lines on y-values:
+ % 0, char-height, char-depth, mxlittle, ...
+ for y=0, xucllittle, xuclheight, -xucllow:
+ r((0,y),(w-mxzw,y)); endfor
+ r((0, h.o_),(w, h.o_)); % Bounding Box top
+ r((0, -d.o_),(w, -d.o_)); % Bounding Box bottom
+ r((0, h.o_-2),(w, h.o_-2)); % Bounding Box top
+ r((0, -d.o_+2),(w, -d.o_+2)); % Bounding Box bottom
+
+ % vertical lines on x-values:
+ for x=0 step mxhalf until w-mxzw: r((x,h.o_),(x, -d.o_)); endfor
+ r((w,-d.o_),(w,h.o_)); % Bounding Box right
+ r((0,-d.o_),(0,h.o_)); % Bounding Box left
+ r((w-2,-d.o_),(w-2,h.o_)); % Bounding Box right
+ r((2,-d.o_),(2,h.o_)); % Bounding Box left
+% if charic<>0: r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); fi
+ enddef;
+
+%% def makebox(text r) =
+%% % horizontal lines on y-values:
+%% % 0, char-height, char-depth, mxlittle, ...
+%% for y=0, % h.o_,-d.o_
+%% xmxthird ,xmxlittle, xmxmiddle, xmxheight,-xmxlow:
+%% r((0,y),(w,y)); endfor
+%% % vertical lines on x-values:
+%% % 0, char-width, char-width - mxzw
+%% % for x=0 step xmxhalf until w-mxzw+1: r((x,-xmxlow),(x,xmxheight)); endfor
+%% for x=0 step xmxone/3 until w-mxzw+1: r((x,-xmxlow),(x,xmxheight)); endfor
+%% r((w,-xmxlow),(w,xmxheight))
+%% if charic<>0: r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); fi
+%% enddef;
+fi
+
+endinput; \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xucd.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xucd.mf
new file mode 100644
index 00000000000..2e9ca859399
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xucd.mf
@@ -0,0 +1,170 @@
+% Xucuri digits `xucd.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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 2.0 as of 14th July 1998 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%% 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "1";
+beginchar("1", mxhalf#+mxzw#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup xuc_digitpen;
+ top z1 = (mxhalf, mxheight);
+ bot z2 = (x1, 0);
+ z3 = (0, mxheight-.5mxtop);
+ draw z3--z1--z2;
+ penlabels(1, 2, 3);
+endchar;
+
+%% 2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "2";
+beginchar("2", mxone#+mxzw#, mxheight#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup xuc_digitpen;
+ z1 = (0, mxheight-.5mxtop);
+ top z2 = (mxhalf, mxheight);
+ z3 = (mxone, y1);
+ bot z4 = (x1, 0);
+ z5 = (x3, y4);
+% draw z1{up}..{right}z2..{down}z3..tension 2..z4--z5;
+ draw z1{up}..{right}z2..z3..{z4-z3}z4--z5;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "3";
+beginchar("3", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ top z1 = (0, mxheight);
+ z2 = (mxone, y1);
+ z3 = (mxhalf, mxlittle);
+ z4 = (x2, .5mxlittle);
+ bot z5 = (x3, 0);
+ z6 = (x1, .5mxlittle);
+ draw z1--z2--z3;
+ draw z3{right}..{down}z4..{left}z5..{up}z6;
+ penlabels(1, 2, 3, 4, 5, 6);
+endchar;
+
+%% 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "4";
+beginchar("4", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ top z1 = (mxhalf, mxheight);
+ z2 = (0, .6mxlittle);
+ z3 = (mxone, y2);
+ draw z1--z2--z3;
+ bot z4 = (x1, 0);
+ z5 = (x4, 1.25mxlittle);
+ draw z4--z5;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "5";
+beginchar("5", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ top z1 = (mxone, mxheight);
+ z2 = (0, y1);
+ z3 = (x2, mxlittle);
+ z4 = (mxhalf, y3);
+ z5 = (x1, .5mxlittle);
+ bot z6 = (x4, 0);
+ z7 = (x2, .3mxlittle);
+ draw z1--z2--z3--z4{right}..z5..{left}z6..z7;
+ penlabels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+%% 6 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "6";
+beginchar("6", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (x1, mxlittle);
+ z3 = (0, .5mxlittle);
+ z5 = (mxone, y3);
+ draw z1{left}..{up}z3..{right}z2..{down}z5..cycle;
+ top z4 = (1.5mxhalf, mxheight);
+% draw z3{up}..{dir 60}z4;
+ draw z3{up}..z4;
+ penlabels(1, 2, 3, 4, 5);
+endchar;
+
+%% 7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "7";
+beginchar("7", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ top z1 = (0, mxheight);
+ z2 = (mxone, y1);
+ bot z3 = (x1, 0);
+ draw z1--z2--z3;
+ penlabels(1, 2, 3);
+endchar;
+
+%% 8 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "8";
+beginchar("8", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (x1, mxlittle);
+ z6 = (0, .5mxlittle);
+ z7 = (mxone, y6);
+ draw z1{left}..{up}z6..{right}z2..{down}z7..cycle;
+ top z3 = (x1, mxheight);
+ z4 = (.2mxhalf, .5[y2, y3]);
+ z5 = (1.8mxhalf, y4);
+ draw z3{left}..{down}z4..{right}z2..{up}z5..cycle;
+ penlabels(1, 2, 3, 4, 5, 6, 7);
+endchar;
+
+%% 9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "9";
+beginchar("9", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ top z1 = (mxhalf, mxheight);
+ z2 = (x1, mxlittle);
+ z3 = (mxone, mxheight-.5mxtop);
+ z4 = (0, y3);
+
+ draw z1{left}..{down}z4..{right}z2..{up}z3..cycle;
+ bot z5 = (.5mxhalf, 0);
+% draw z3{down}..{dir -120}z5;
+ draw z3{down}..z5;
+ penlabels(1, 2, 3, 4);
+endchar;
+
+%% 0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "0";
+beginchar("0", mxone#+mxzw#, mxheight#, 0);
+ pickup xuc_digitpen;
+ bot z1 = (mxhalf, 0);
+ z2 = (mxone, mxlittle);
+ top z3 = (x1, mxheight);
+ z4 = (0, y2);
+ draw z1{right}..{up}z2..{left}z3..{down}z4..cycle;
+ penlabels(1, 2, 3, 4);
+endchar;
+
+
+endinput;
+
+
+
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xucfont.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xucfont.mf
new file mode 100644
index 00000000000..b51ab111fbe
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xucfont.mf
@@ -0,0 +1,965 @@
+% Xucuri Font `xucfont.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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.1 as of 29th March 1997 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+
+% Serifen: Aufruf xuc_serif(Punktnr, 1|-1);
+% unten: -1 Serife f"ur oben, 1 f"ur unten
+def xuc_serif (suffix $)(expr unten) =
+ z$a = (x$-.5px1, y$+ ((mxserifonset-.55py1)*unten));
+ z$d = (x$+.5px1, y$a);
+
+ z$c = (x$-px1, y$-(.55py1*unten));
+ z$f = (x$+px1, y$c);
+
+ z$b = (x$c, y$c+(.5py1*unten));
+ z$e = (x$f, y$b);
+
+ if unten = 1:
+ fill z$a--z$d{down}..{right}z$e--z$f--z$c--z$b{right}..{up}cycle
+ else:
+ fill z$a--z$d{up}..{right}z$e--z$f--z$c--z$b{right}..{down}cycle
+ fi;
+ labels($a, $b, $c, $d, $e, $f);
+enddef;
+
+
+% links = 1: linke Halbserife, links = -1: rechte Halbserife
+def xuc_halbserif (suffix $)(expr unten, links) =
+ z$a = (x$-(.5px1*links), y$+ ((mxserifonset-.55py1)*unten));
+ z$d = (x$, y$a);
+
+ z$c = (x$-(px1*links), y$-(.55py1*unten));
+ z$f = (x$, y$c);
+
+ z$b = (x$c, y$c+(.5py1*unten));
+
+ if unten = 1:
+ if links = 1:
+ fill z$a--z$d--z$f--z$c--z$b{right}..{up}cycle
+ else:
+ fill z$a--z$d--z$f--z$c--z$b{left}..{up}cycle
+ fi;
+ else:
+ if links = 1:
+ fill z$a--z$d--z$f--z$c--z$b{right}..{down}cycle
+ else:
+ fill z$a--z$d--z$f--z$c--z$b{left}..{down}cycle
+ fi;
+ fi;
+% labels($a, $b, $c, $d, $f);
+enddef;
+
+
+% Kleiner Haken links oben
+def xuc_haken (suffix $) =
+ z$x = (x$ - mxhalf, y$ + .5mxtop);
+ draw z$x{down}..{right}z$;
+ xuc_serif($x, -1);
+ labels($x);
+enddef;
+
+% Grosser Haken links oben
+def xuc_haken_gross (suffix $) =
+ z$x = (x$ - mxone, y$ + .5mxtop);
+ z$y = (x$ - mxhalf, y$);
+ draw z$x{down}..{right}z$y--z$;
+ xuc_serif($x, -1);
+ labels($x, $y);
+enddef;
+
+% Grosser Haken rechts unten
+def xuc_fuss_gross (suffix $) =
+ z$x = (x$ + mxone, y$ - mxthird);
+ z$y = (x$ + mxhalf, y$);
+ draw z$x{up}..{left}z$y--z$;
+ xuc_serif($x, 1);
+ labels($x, $y);
+enddef;
+
+% Kleiner Haken rechts unten
+def xuc_fuss (suffix $) =
+ z$x = (x$ + mxhalf, y$ - mxthird);
+ draw z$x{up}..{left}z$;
+ xuc_serif($x, 1);
+ labels($x);
+enddef;
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% ^C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^C - ^Cin (+C, oct001)";
+beginchar(oct"001", mxzw#+1mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (0, 0);
+ z2 = (x1, mxheight);
+ draw z1--z2;
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+ z3 = (x1, mxlittle);
+ xuc_fuss_gross(3);
+ penlabels(range 1 thru 3);
+endchar;
+
+
+
+
+%% K %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "K";
+beginchar("K", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ z3 = (x1, .5[y1, y2]);
+ z4 = (x1-mxone, mxlittle);
+ z5 = (x1+mxone, y4-mxthird);
+ draw z1--z2;
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+ xuc_serif(4, -1);
+ xuc_serif(5, 1);
+ draw z4{down}..{down}z5;
+
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "S";
+beginchar("S", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z2 = (0, mxheight);
+ z5 = (x2+mxhalf, mxmiddle);
+ bot z3 = (x5, 0);
+ z1 = (x2, .5[y3, y5]);
+ z4 = (x2+mxone, y1);
+ draw z2---z1..z3..z4..{left}z5;
+ xuc_serif(2, -1);
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% ^DZ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^DZ/^J - ^Jan (oct010)";
+beginchar(oct"010", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (mxone, mxheight-.5mxtop);
+ bot z2 = (x1, 0);
+ draw z1--z2;
+ xuc_serif(2, 1);
+ xuc_haken_gross(1);
+
+ z3 = (x1+mxhalf, y1);
+ z5 = (x2, mxmiddle);
+ z4 = (x1+mxone, .5[y1, y5]);
+ z6 = (x1-mxone, y2);
+ draw z1---z3..z4..z5..{down}z6;
+ xuc_serif(6, 1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% X %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "X";
+beginchar("X", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (0, mxheight);
+ bot z2 = (x1, mxthird);
+ draw z1--z2;
+ xuc_fuss_gross(2);
+ xuc_serif(1, -1);
+
+ z3 = (x1, mxmiddle);
+ z4 = (x1+mxone, mxlittle);
+ xuc_halbserif(4, 1, -1);
+ z5 = (x4, y1);
+ draw z3{up}..{right}z4--z5;
+ xuc_serif(5, -1);
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% ^.c %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^.C - ^.Car (,C .+C oct014)";
+beginchar(oct"014", mxzw#+1.5mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (0, mxheight);
+ z2 = (x1, mxlittle);
+ x4 = x1+1.5mxone;
+ z3 = (.5[x1, x4], y2);
+ bot z5 = (x3, 0);
+
+ y4 = .5[y3, y5];
+ z6 = (x1, y4);
+ z7 = (x4-.5mxhalf, y1);
+ z8 = (x7, y1-.5mxtop);
+ draw z8--z7--z1--z2---z3..z4..z5..{up}z6;
+ xuc_serif(8, 1);
+ xuc_halbserif(1, -1, 1);
+ xuc_serif(6, -1);
+ penlabels(range 1 thru 8);
+endchar;
+
+%% A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "A";
+beginchar("A", mxzw#+1.5mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (0, mxheight);
+ z2 = (x1, y1-.5mxtop);
+ z3 = (x1+1.5mxone, y1);
+ z4 = (x3, y2);
+% z5 = (x1+1.2mxone, y1);
+ z5 = (.5[z2, z3]);
+ z6 = (x1, 1.5mxthird);
+ bot z7 = (x1+mxhalf, 0);
+ z8 = (x3, mxthird);
+
+ draw z1--z2{right}..z5..{right}z3--z4;
+ xuc_serif(1, -1);
+ xuc_serif(4, 1);
+
+ draw z5..{down}z6..{right}z7..{up}z8;
+ xuc_serif(8, -1);
+ penlabels(range 1 thru 8);
+endchar;
+%endinput;
+
+
+% %% A1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% xucchar "A -- variant A1";
+% beginchar(oct"0??", mxzw#+mxone#, mxheight#, 0);
+% pickup xuc_pen;
+% lft z1 = (0, mxlittle+.35mxtop);
+% bot z2 = (x1, mxthird);
+% draw z1--z2;
+% xuc_serif(1, -1);
+% xuc_halbserif(2, 1, 1);
+% xuc_fuss_gross(2);
+%
+% z3 = (x1, mxheight);
+% z5 = (x2x, mxheight-.5mxtop);
+% z4 = .5[z3, z5];
+% draw z3{down}..{dir 65}z4..{dir -80}z5;
+% xuc_serif(3, -1);
+% xuc_serif(5, 1);
+%
+% penlabels(range 1 thru 5);
+% endchar;
+
+
+
+%% I1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "I1 - short I, (Old Georgian), oct012";
+beginchar(oct"012", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ bot lft z1 = (0, mxmiddle);
+ z3 = (x1+2mxone, y1);
+ bot z2 = (.5[x1, x3], 0);
+ z4 = (x2, 2mxmiddle);
+ z5 = (x1+mxhalf, y4);
+
+ draw z1{down}..z2..z3..{left}z4---z5;
+ xuc_serif(1, -1);
+ xuc_haken(5);
+ penlabels(range 1 thru 5);
+endchar;
+
+
+%% .K %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".K - .Kan (oct003)";
+beginchar(oct"003", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (0, mxheight);
+ z2 = (x1, mxheight-mxtop);
+ z3 = (x1+mxhalf, y2-mxthird);
+
+ bot z4 = (x1+mxone, 0);
+ z5 = (x4, y4+mxtop);
+ z6 = (x3, y2);
+ draw z1---z2..z3---z5;
+ draw z4---z5..z6---z2;
+ xuc_serif(1, -1);
+ xuc_serif(4, 1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "C";
+beginchar("C", mxzw#+2.75mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft x3 = 0;
+ lft x1 = 1.75mxone;
+ x2 = x4 = .5[x1, x3];
+ y2 = mxheight;
+ bot y4 = 0;
+ y3 = .5[y4, y2];
+ y1 = mxlittle;
+ z5 = (x1, mxmiddle);
+ z6 = (x5+mxhalf, y5);
+ z7 = (x5+mxone, mxthird);
+ z8 = (x7, y4);
+ draw z1..{left}z2..z3..z4{right}..z5;
+ draw z5---z6..z7---z8;
+ xuc_serif(1, 1);
+ xuc_serif(8, 1);
+ xuc_halbserif(5, -1, 1);
+ penlabels(range 1 thru 8);
+endchar;
+
+%% G %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "G";
+beginchar("G", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z1 = (0, mxlittle);
+ z2 = (x1, mxheight);
+ z3 = (x1+mxone, y2);
+ bot z4 = (x3, mxmiddle);
+ z5 = (x4+mxhalf, y4-mxthird);
+
+ draw z1--z2--z3--z4{right}..{down}z5;
+ xuc_serif(1, 1);
+ xuc_halbserif(2, -1, 1);
+ xuc_halbserif(3, -1, -1);
+ xuc_halbserif(4, 1, 1);
+ xuc_halbserif(5, 1, 1);
+ xuc_fuss(5);
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% Q %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Q";
+beginchar("Q", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ z3 = (x1, mxlittle);
+ z6 = (x1-mxone, y2);
+ z5 = (x6, .5[y3, y2]);
+ z4 = (.5[x5, x3], y3);
+ draw z1--z2;
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+
+ draw z6---z5...z4---z3;
+ xuc_serif(6, -1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% ^Z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^Z - ^Zan (+Z, oct007)";
+beginchar(oct"007", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (2mxone, 0);
+ z2 = (x1, mxheight);
+ z3 = (x1, mxlittle);
+ z5 = (x1-mxone, .5[y3, y2]);
+ z4 = (.5[x5, x3], y3);
+ draw z1--z2;
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+
+ draw z5{down}..z4---z3;
+ xuc_halbserif(5, -1, -1);
+ xuc_haken_gross(5);
+% xuc_haken(5);
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+
+%% B %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "B";
+beginchar("B", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, mxthird);
+ z2 = (x1, mxheight);
+ z6 = (x1-mxone, y2);
+ z3 = (x1, mxlittle);
+ z5 = (x6, .5[y3, y2]);
+ z4 = (.5[x5, x3], y3);
+% draw z6---z5...z4---z3;
+ draw z6--z5{down}...z4---z3;
+ draw z2--z1;
+
+ xuc_fuss_gross(1);
+ xuc_halbserif(1, 1, 1);
+ xuc_serif(2, -1);
+
+
+ xuc_serif(6, -1);
+ penlabels(range 1 thru 6);
+endchar;
+%endinput;
+
+
+%% ^S %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "^S - ^San (+S, oct005)";
+beginchar(oct"005", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ y9 = mxmiddle;
+ lft bot z1 = (mxone, .5[0, y9]);
+ z2 = (x1, mxheight);
+ z3 = (x1, mxlittle);
+ z6 = (x1-mxone, y2);
+ z5 = (x6, .5[y3, y2]);
+ z4 = (.5[x5, x3], y3);
+
+ bot z7 = (x4, 0);
+ z8 = (x6, y1);
+ x9 = x4;
+ draw z2---z1..z7..z8..{right}z9;
+
+ xuc_serif(2, -1);
+
+ draw z6---z5...z4---z3;
+ xuc_serif(6, -1);
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% R %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "R";
+beginchar("R", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ y9 = mxmiddle;
+ lft bot z1 = (mxone, .5[0, y9]);
+ z2 = (x1, mxheight);
+ z3 = (x1, mxlittle);
+
+ z8 = (x1-mxone, y1);
+ x9 = .5[x8, x1];
+ bot z7 = (x9, 0);
+ draw z2---z1..z7..z8..{right}z9;
+
+ xuc_serif(2, -1);
+ xuc_fuss_gross(3);
+ penlabels(range 1 thru 9);
+endchar;
+
+
+
+%% O %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "O";
+beginchar("O", mxzw#+2.75mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ z2 = (2mxone, .5mxheight);
+ lft z4 = (0, y2);
+
+ bot z1 = (.5[x4,x2], 0);
+ z3 = (x1, mxheight);
+ draw z1..z2..z3..z4..cycle;
+
+ y5 = y2 - (sind 30)*mxone;
+ x5 = x1 + (cosd 30)*mxone;
+
+ z7 = (3mxone, y5);
+ z6 = (.5[x5,x7], y1);
+ draw z5{down}..{right}z6..{up}z7;
+
+ xuc_serif(7, -1);
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% U %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "U";
+beginchar("U", mxzw#+2.5mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ z2 = (2mxone, .5mxheight);
+ lft z4 = (0, y2);
+
+ bot z1 = (.5[x4,x2], 0);
+ z3 = (x1, mxheight);
+ draw z1..z2..z3..z4..cycle;
+
+ y5 = y2 - (sind 30)*mxone;
+ x5 = x1 + (cosd 30)*mxone;
+
+ lft z6 = (2.5mxone, y1);
+ draw z5{right}..z6;
+
+ xuc_serif(6, 1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+
+
+%% D %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "D";
+beginchar("D", mxzw#+1.8mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z2 = (1.8mxone, .5mxlittle);
+ lft z4 = (0, y2);
+
+ bot z1 = (.5[x4,x2], 0);
+ z3 = (x1, mxlittle+.5mxthird);
+ draw z1..z2..z3..z4..cycle;
+
+ z5 = (x3, mxheight);
+ draw z3--z5;
+
+ z6 = (x4, y5-.5mxtop);
+ z7 = (x6, y5);
+ z8 = (x2, y5);
+ z9 = (x8, y6);
+ draw z6--z7---z8---z9;
+
+ xuc_serif(6, 1);
+ xuc_serif(9, 1);
+ penlabels(range 1 thru 9);
+endchar;
+
+%% E %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "E";
+beginchar("E", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ lft z3 = (0, y2);
+ z4 = (x3, mxlittle);
+ z5 = (x1, mxlittle);
+ rt z6 = (2mxone, y5);
+ z7 = (x6, .5y6);
+ draw z1--z2--z3--z4;
+
+ xuc_serif(1, 1);
+ xuc_halbserif(2, -1, -1);
+ xuc_halbserif(3, -1, 1);
+
+ xuc_serif(4, 1);
+
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% N %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "N";
+beginchar("N", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ bot lft z1 = (0, 0);
+ z2 = (x1, mxheight);
+ z3 = (x1+mxone, y2);
+ z4 = (x3, 1.2mxlittle);
+
+ z5 = (x1, mxmiddle);
+ z6 = (x3, y1);
+
+ z7 = (.5[x5, x6], y5);
+ z8 = (x6, .5[y5, y6]);
+ draw z1--z2--z3--z4;
+ draw z5..z7{right}..{down}z8..z6;
+
+ xuc_serif(1, 1);
+ xuc_halbserif(2, -1, 1);
+ xuc_halbserif(3, -1, -1);
+ xuc_serif(4, 1);
+ xuc_serif(6, 1);
+
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% T %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "T";
+beginchar("T", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ lft z3 = (0, .5[y1, y2]);
+ draw z1--z2{left}..{down}z3..{right}z1;
+
+ z5 = (x1, mxlittle);
+ z6 = (x1+mxone, y5);
+% z7 = (x6, .5y6);
+
+% draw z5--z6--z7;
+ xuc_fuss_gross(5);
+ xuc_halbserif(1, 1, -1);
+ xuc_halbserif(2, -1, -1);
+
+% xuc_halbserif(6, -1, -1);
+% xuc_serif(7, 1);
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+
+
+
+%% V %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "V";
+beginchar("V", mxzw#+1.8mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (.9mxone, 0);
+ z2 = (x1, mxheight);
+ lft z3 = (0, y2);
+ z4 = (x3, mxlittle);
+ z5 = (x1, mxlittle);
+ z6 = (x1+.9mxone, y5);
+ z7 = (x6, .5y6);
+ draw z1--z2--z3--z4;
+ draw z5--z6--z7;
+ xuc_serif(1, 1);
+ xuc_halbserif(2, -1, -1);
+ xuc_halbserif(3, -1, 1);
+ xuc_serif(4, 1);
+ xuc_halbserif(6, -1, -1);
+ xuc_serif(7, 1);
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% E %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "EE - (Long E) oct(016)";
+beginchar(oct"016", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (0, 0);
+ z2 = (x1, mxheight);
+ z5 = (x1, mxlittle);
+ z6 = (x1+mxone, y5);
+ z7 = (x6, .5y6);
+ draw z1--z2;
+ draw z5--z6--z7;
+
+ z3 = (x6, y2);
+ z4 = (x6, y2-.5mxtop);
+ draw z3--z4;
+
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+ xuc_serif(3, -1);
+ xuc_serif(4, 1);
+ xuc_halbserif(6, -1, -1);
+ xuc_serif(7, 1);
+
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% L %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "L";
+beginchar("L", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, .5mxlittle);
+ z2 = (x1, mxheight);
+ lft z3 = (0, y2);
+ z4 = (x3, mxlittle+mxthird);
+ draw z1--z2--z3--z4;
+
+ z5 = (x1, mxlittle);
+ z7 = (x1+mxone, .5mxlittle);
+ z6 = (.5[x5, x7], y5);
+ bot z8 = (.x6, 0);
+
+ draw z5---z6..z7..z8{left}..{up}z1;
+
+ xuc_halbserif(2, -1, -1);
+ xuc_halbserif(3, -1, 1);
+ xuc_serif(4, 1);
+
+ penlabels(range 1 thru 8);
+endchar;
+
+%% H %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "H";
+beginchar("H", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, .5mxlittle);
+ z2 = (x1, mxheight);
+ lft z3 = (0, y2);
+ z4 = (x3, mxlittle);
+ draw z1--z2--z3--z4;
+
+ z5 = (x1, mxlittle);
+ z7 = (x1+mxone, .5mxlittle);
+ z6 = (.5[x5, x7], y5);
+ bot z8 = (.x6, 0);
+
+ draw z6{right}..z7..z8{left}..{up}z1;
+
+ xuc_halbserif(2, -1, -1);
+ xuc_halbserif(3, -1, 1);
+ xuc_serif(4, 1);
+
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% Z %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Z";
+beginchar("Z", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, .5mxlittle);
+ z2 = (x1, mxheight-.5mxtop);
+ draw z1--z2;
+
+ z5 = (x1, mxlittle);
+ z7 = (x1+mxone, .5mxlittle);
+ z6 = (.5[x5, x7], y5);
+ bot z8 = (.x6, 0);
+
+ draw z5--z6{right}..z7..z8{left}..{up}z1;
+
+ xuc_halbserif(2, -1, -1);
+% xuc_haken(2);
+ xuc_haken_gross(2);
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% I %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "I";
+beginchar("I", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight-.5mxtop);
+ draw z1--z2;
+ xuc_serif(1, 1);
+% xuc_haken(2);
+ xuc_haken_gross(2);
+ penlabels(range 1 thru 2);
+endchar;
+
+
+%% W %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "W";
+beginchar("W", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ draw z1--z2;
+
+ z3 = (x1, mxlittle);
+ xuc_serif(1, 1);
+ xuc_serif(2, -1);
+ xuc_haken_gross(3);
+ penlabels(range 1 thru 3);
+endchar;
+
+
+%% M %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "M";
+beginchar("M", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z8 = (mxone, mxheight-.5mxtop);
+ z1 = (x8, mxlittle);
+ lft bot z2 = (mxhalf, 0);
+ lft z3 = (0, .5mxlittle);
+ z4 = (x2, mxlittle);
+ z5 = (x8+.5mxone, y4);
+ z6 = (x8+mxone, y3);
+ z7 = (x6, y2);
+ draw z8--z1{down}..{left}z2..z3..{right}z4--z5{right}..{down}z6--z7;
+ xuc_haken_gross(8);
+ xuc_serif(7, 1);
+ xuc_halbserif(8, -1, -1);
+ penlabels(range 1 thru 8);
+endchar;
+
+
+%% DZ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Dz (j) - Dzil";
+beginchar("J", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z8 = (mxone, mxheight);
+ z1 = (x8, mxlittle);
+ lft bot z2 = (mxhalf, 0);
+ lft z3 = (0, .5mxlittle);
+ z4 = (x2, mxlittle);
+ z5 = (x8+.5mxone, y4);
+ z6 = (x8+mxone, y3);
+ z7 = (x6, y2);
+ draw z8--z1{down}..{left}z2..z3..{right}z4--z5{right}..{down}z6--z7;
+ xuc_serif(8, -1);
+ xuc_serif(7, 1);
+ penlabels(range 1 thru 8);
+endchar;
+
+
+
+%% OO/HO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "OO - HO (Old Georgian), oct011";
+beginchar(oct"011", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z8 = (mxone, mxheight);
+ z1 = (x8, mxlittle);
+ lft bot z2 = (mxhalf, 0);
+ lft z3 = (0, .5mxlittle);
+ z4 = (x2, mxlittle);
+ lft z5 = (1.5mxone, y4);
+ lft z6 = (2mxone, y3);
+ z7 = (x6, y2);
+ draw z8--z1{down}..{left}z2..z3..{right}z4--z5{right}..{down}z6--z7;
+
+ z12 = (x8, 1.2mxlittle);
+ z10 = (x6, .5[y8, y12]);
+ z9 = (.5[x8, x10], y8);
+ z11 = (x9, y12);
+ draw z8--z9{right}..{down}z10..{left}z11--z12;
+
+ xuc_halbserif(8, -1, 1);
+ xuc_serif(7, 1);
+
+ penlabels(range 1 thru 12);
+endchar;
+
+
+
+
+%% .G %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".G - .Gan (oct002)";
+beginchar(oct"002", mxzw#+1.3mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ bot lft z1 = (0, 0);
+ z5 = (x1+1.3mxone, y1);
+ z2 = (x1, mxheight-mxtop);
+ z4 = (x5, y2);
+ z3 = (.5[x1, x5], mxheight);
+ draw z1--z2{up}..{right}z3..{down}z4--z5;
+ xuc_serif(1, 1);
+ xuc_serif(5, 1);
+
+ penlabels(range 1 thru 5);
+endchar;
+
+
+
+%% .P %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".P - .Par (oct004)";
+beginchar(oct"004", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+% lft z6 = (0, mxheight);
+ lft z1 = (mxone, mxheight-.5mxtop);
+ z5 = (x1+1mxone, y1);
+ z2 = (x1, mxmiddle);
+ z4 = (x5, y2);
+ bot z3 = (.5[x1, x5], 0);
+ draw z1--z2{down}..{right}z3..{up}z4--z5;
+ xuc_halbserif(1, -1, -1);
+ xuc_serif(5, -1);
+% xuc_haken(1);
+ xuc_haken_gross(1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+
+%% .T %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".T - .Tar (oct006)";
+beginchar(oct"006", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (0, mxthird);
+ z2 = (x1, mxheight);
+ z6 = (x1, mxlittle);
+ z4 = (x1+mxone, .5[y2, y6]);
+ x3 = x5 = .5[x4, x6];
+ y3 = y2;
+ y5 = y6;
+ draw z1--z2--z3{right}..{down}z4..{left}z5--z6;
+ xuc_halbserif(2, -1, 1);
+ xuc_halbserif(1, 1, 1);
+ xuc_fuss_gross(1);
+ penlabels(range 1 thru 6);
+endchar;
+
+
+%% .C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar ".C - .Cil (oct000)";
+beginchar(oct"000", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (0, 0);
+ z2 = (x1, mxheight);
+ z6 = (x1, mxlittle);
+ z4 = (x1+mxone, .5[y2, y6]);
+ x3 = x5 = .5[x4, x6];
+ y3 = y2;
+ y5 = y6;
+ draw z1--z2--z3{right}..{down}z4..{left}z5--z6;
+
+ z7 = (x1, mxmiddle);
+ xuc_halbserif(2, -1, 1);
+ xuc_serif(1, 1);
+ xuc_fuss_gross(7);
+ penlabels(range 1 thru 7);
+endchar;
+
+
+%% P %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "P";
+beginchar("P", mxzw#+2mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft bot z1 = (mxone, 0);
+ z2 = (x1, mxheight);
+ x4 = x1+mxone;
+ x8 = x1-mxone;
+ x3 = x5 = .5[x4, x2];
+ x9 = x7 = .5[x8, x2];
+ y3 = y9 = y2;
+ y7 = y5 = mxlittle;
+ y4 = y8 = .5[y2, y5];
+
+
+ draw z1--z2;
+ draw z3{right}..{down}z4..{left}z5--z7..{up}z8..{right}z9--cycle;;
+ xuc_serif(1, 1);
+
+ penlabels(range 1 thru 9);
+endchar;
+
+
+%% Qh %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Qh - qhar (oct015)";
+beginchar(oct"015", mxzw#+1.5mxone#, mxheight#, 0);
+ pickup xuc_pen;
+ lft z3 = (0, mxheight);
+ z6 = (x3 + 1.5mxone, y3);
+ x4 = x3;
+ x5 = x6;
+ y4 = y5 = mxlittle;
+ z2 = (.5[x4, x5], y4);
+ bot z1 = (x2, 0);
+ draw z1--z2;
+ draw z3--z4--z5--z6;
+ xuc_serif(1, 1);
+ xuc_serif(3, -1);
+ xuc_serif(6, -1);
+ penlabels(range 1 thru 6);
+endchar;
+
+% Dummy Digits for Ligatures
+%xucchar "0 (empty)";
+%beginchar("0", mxzw#+mxone#, mxheight#, 0);
+%endchar;
+%
+%xucchar "1 (empty)";
+%beginchar("1", mxzw#+mxone#, mxheight#, 0);
+%endchar;
+
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;
diff --git a/Master/texmf-dist/fonts/source/public/mxedruli/xucp.mf b/Master/texmf-dist/fonts/source/public/mxedruli/xucp.mf
new file mode 100644
index 00000000000..a15d31a983e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mxedruli/xucp.mf
@@ -0,0 +1,252 @@
+% Xucuri Punctuation `xucp.mf'
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 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.1 as of 30th March 1997 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+
+
+def xuc_comma (suffix $) =
+ pickup xuc_pcomma;
+ rt z$a = (pdot, y$);
+ z$b = (0, y$-.6mxlow);
+ draw z$a{down}..{dir -135}z$b;
+ labels($a, $b);
+enddef;
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Character Definitions: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "+";
+beginchar("+", mxzw#+mxone#, mxone#, 0);
+ if known cmbase: adjust_fit(0,0); fi
+ pickup xuc_dash;
+ lft z1 = (0, .5mxone);
+ z2 = (x1+mxone, y1);
+ draw z1--z2;
+
+ z3 = (.5[x1, x2], 0);
+ z4 = (x3, mxone);
+ draw z3--z4;
+
+ penlabels(range 1 thru 4);
+endchar;
+
+%% = %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Equals sign =";
+beginchar("=", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ lft z1 = (0, 1.5mxthird);
+ z2 = (x1+1.5mxone, y1);
+ z3 = (x1, 2.5mxthird);
+ z4 = (x2, y3);
+ draw z1--z2;
+ draw z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Slash /";
+beginchar("/", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ z1 = (0,0);
+ z2 = (1.5mxone, mxheight);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+%% \ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Backslash \ ";
+beginchar("\", mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ z1 = (0,mxheight);
+ z2 = (1.5mxone, 0);
+ draw z1--z2;
+ penlabels(1,2);
+endchar;
+
+
+
+%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "-";
+beginchar("-", mxzw#+mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ lft z1 = (0, mxmiddle);
+ z2 = (x1+mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "-- (123)";
+beginchar(123, mxzw#+1.5mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ lft z1 = (0, mxmiddle);
+ z2 = (x1+1.5mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% --- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "--- (124)";
+beginchar(124, mxzw#+2mxone#, mxlittle#, 0);
+ pickup xuc_dash;
+ lft z1 = (0, mxmiddle);
+ z2 = (x1+2mxone, y1);
+ draw z1--z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% . %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Period .";
+beginchar(".", mxzw#+mxhalf#, mxlittle#, 0);
+ pickup xuc_dot;
+ bot lft z1 = (0, 0);
+ drawdot z1;
+ penlabels(1);
+endchar;
+
+%% : %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Colon :";
+beginchar(":", mxzw#+mxhalf#, mxlittle#, 0);
+ pickup xuc_dot;
+ lft z1 = (0, mxthird);
+ lft z2 = (0, 2.5mxthird);
+ drawdot z1;
+ drawdot z2;
+ penlabels(range 1 thru 2);
+endchar;
+
+%% ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Semicolon ;";
+beginchar(";", mxzw#+pdot#, mxlittle#, .6mxlow#);
+ pickup xuc_dot;
+ bot lft z1 = (0, 0);
+ z4 = (x1, y1+.5mxlittle);
+ drawdot z1;
+ drawdot z4;
+
+ xuc_comma(1);
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Comma ,";
+beginchar(",", mxzw#+pdot#, mxlittle#, .6mxlow#);
+ pickup xuc_dot;
+ bot lft z1 = (0, 0);
+ drawdot z1;
+ xuc_comma(1);
+ penlabels(range 1 thru 3);
+endchar;
+
+
+%% ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Apostroph '";
+beginchar("'", mxzw#+pdot#, mxheight#, 0#);
+ pickup xuc_dot;
+ lft z1 = (0, mxheight);
+ drawdot z1;
+
+ xuc_comma(1);
+ penlabels(range 1 thru 3);
+endchar;
+
+%% ? %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Question mark ?";
+beginchar("?", mxzw#+mxone#, mxheight#, 0);
+ pickup xuc_dot;
+ bot z1 = (mxhalf, 0);
+ drawdot z1;
+
+ pickup xuc_punctpen;
+ z2 = (0, mxheight-.5mxtop);
+ z3 = (x1, mxheight);
+ z4 = (mxone, y2);
+ z5 = (x1, mxmiddle);
+ z6 = (x5, 1.2mxthird);
+
+ draw z2{up}..{right}z3..{down}z4..{down}z5--z6;
+ penlabels(1,2,3,4,5);
+endchar;
+
+%% ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Exclamation mark !";
+beginchar("!", mxzw#+.5mxhalf#, mxheight#, 0);
+ pickup xuc_dot;
+ bot lft z1 = (0, 0);
+ drawdot z1;
+
+ z2 = (x1, mxheight-.5pdot); penpos2(pdot, 0);
+ drawdot z2;
+ z3 = (x1, mxmiddle); penpos3(.18mxu, 0);
+ penstroke z2e..z3e;
+ penlabels(1,2,3);
+endchar;
+
+%% ( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Left parenthesis (";
+beginchar("(", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ z1 = (.5pdot+mxhalf, 1.1mxheight); penpos1(.18mxu, 0);
+ z3 = (x1, -.1mxheight); penpos3(.18mxu, 0);
+ z2 = (.5pdot, .5[y1, y3]); penpos2(pdot, 0);
+ penstroke z1e..z2e..z3e;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%% ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Right parenthesis )";
+beginchar(")", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ z1 = (0, 1.1mxheight); penpos1(.18mxu, 0);
+ z3 = (x1, -.1mxheight); penpos3(.18mxu, 0);
+ z2 = (mxhalf, .5[y1, y3]); penpos2(pdot, 0);
+ penstroke z1e..z2e..z3e;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% [ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Left bracket [";
+beginchar("[", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ pickup xuc_square;
+ z1 = (mxhalf, -.1mxheight);
+ z2 = (0, y1);
+ z3 = (0, 1.1mxheight);
+ z4 = (x1, y3);
+ draw z1--z2--z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+%% ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+xucchar "Right bracket ]";
+beginchar("]", mxzw#+mxhalf#, 1.1mxheight#, .1mxheight#);
+ pickup xuc_square;
+ z1 = (0, -.1mxheight);
+ z2 = (mxhalf, y1);
+ z3 = (x2, 1.1mxheight);
+ z4 = (0, y3);
+ draw z1--z2--z3--z4;
+ penlabels(range 1 thru 4);
+endchar;
+
+
+%endinput; \ No newline at end of file