summaryrefslogtreecommitdiff
path: root/language/mongolian/soyombo
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/mongolian/soyombo
Initial commit
Diffstat (limited to 'language/mongolian/soyombo')
-rw-r--r--language/mongolian/soyombo/soyo4tex.pdfbin0 -> 218405 bytes
-rw-r--r--language/mongolian/soyombo/soyo4tex.tex502
-rw-r--r--language/mongolian/soyombo/soyombo.mf1996
-rw-r--r--language/mongolian/soyombo/soyombo.sty95
-rw-r--r--language/mongolian/soyombo/soyombo.tfmbin0 -> 564 bytes
-rw-r--r--language/mongolian/soyombo/soyombot.mf145
-rw-r--r--language/mongolian/soyombo/soyombot.tfmbin0 -> 124 bytes
7 files changed, 2738 insertions, 0 deletions
diff --git a/language/mongolian/soyombo/soyo4tex.pdf b/language/mongolian/soyombo/soyo4tex.pdf
new file mode 100644
index 0000000000..36148d496a
--- /dev/null
+++ b/language/mongolian/soyombo/soyo4tex.pdf
Binary files differ
diff --git a/language/mongolian/soyombo/soyo4tex.tex b/language/mongolian/soyombo/soyo4tex.tex
new file mode 100644
index 0000000000..7c8d8c2b3f
--- /dev/null
+++ b/language/mongolian/soyombo/soyo4tex.tex
@@ -0,0 +1,502 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: soyo4tex.tex
+% Date: September 2, 1996
+% Author: Oliver Corff
+% (c) 1996 Ulaanbaatar, Macau, Berlin
+%
+% A package for providing the Soyombo
+% script to LaTeX-users.
+%
+% NB: This package requires LaTeX2e!
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass[11pt,a4paper]{article}
+\usepackage{a4}
+\usepackage[cp437de]{inputenc}
+\usepackage{soyombo}
+\newcommand{\g}{$\gamma$}
+\title{\Soyombo \\
+ \vspace{.75cm}
+ \sf Soyombo for \LaTeX , v.~0.9}
+\author{Oliver Corff}
+\date{Sep.~2nd, 1996}
+\markboth{\sf Soyombo for \LaTeX }{\sf Soyombo for LaTeX }
+\pagestyle{myheadings}
+\begin{document}
+\maketitle
+
+\section{Introduction}
+{\sf Soyombo for \LaTeX} is a package providing the Soyombo
+script and the Soyombo symbol for \LaTeX\ users. The Soyombo
+script and the Soyombo symbol were both developed in 1686 by
+the famous Mongolian monk and scholar Zanabazar. Modelled after
+the Lantsa-Dewanagari script, the Soyombo script combines
+the phonemic repertoire of Mongolian, Sanskrit, and Tibetan.
+The script is not in wide use today; its
+usage is basically limited to religious texts, inscriptions on
+temples, etc. The Soyombo symbol (the symbol appearing in the
+title of this article) however, can be seen virtually everywhere:
+on the national flag, on money, on books --- the instances are
+too numerous to be counted.
+
+The logical construction of the script is two-dimensional, not
+linear. Basic consonants are combined with vowels and final consonants
+in a way similar to Tibetan; in fact, some of the letter shapes
+as well as the arrangement of the alphabet was heavily influenced
+by Tibetan.
+
+The basic consonant fills the major area of the symbol; if no
+vowel sign is added, the basic vowel {\em a} is assumed; if a
+vowel is added, then it is either placed on top of the character
+(in case of {\em i, „, o, ”}) or in the lower third of the character
+box (in the cases of {\em , u}). A secondary consonant, i.e.
+a consonant closing the syllable, can be added to the basic character;
+it is then placed in the right third of the lower third of the
+character box. Long vowels are marked by a protruding tip of
+the right-side beam. there are two diphthongs, {\em Vu, Vi},
+which are both attached to the right side of the basic character.
+
+Figure~\ref{soyombo:structure} shows how the letters are composed.
+
+\begin{figure}
+%TexCad Options
+%\grade{\on}
+%\emlines{\off}
+%\beziermacro{\off}
+%\reduce{\on}
+%\snapping{\off}
+%\quality{2.00}
+%\graddiff{0.01}
+%\snapasp{1}
+%\zoom{1.00}
+\unitlength 1.00mm
+\linethickness{0.4pt}
+\begin{picture}(73.00,66.00)
+\put(30.00,5.00){\framebox(25.00,50.00)[cc]{Basic Area}}
+\put(63.67,5.00){\dashbox{1.00}(9.33,50.00)[cc]{Di.}}
+\put(30.00,56.00){\dashbox{1.00}(25.00,10.00)[cc]{Vowel(t)}}
+\put(30.50,5.50){\dashbox{1.00}(14.67,13.50)[cc]{Vowel(b)}}
+\put(46.50,5.50){\dashbox{1.00}(7.67,13.50)[cc]{Cns.}}
+\put(56.00,5.00){\framebox(6.67,50.00)[cc]{Be.}}
+%\emline(31.00,54.00)(54.00,54.00)
+\put(31.00,54.00){\line(1,0){23.00}}
+%\end
+%\emline(54.00,54.00)(42.00,48.00)
+\multiput(54.00,54.00)(-0.24,-0.12){50}{\line(-1,0){0.24}}
+%\end
+%\emline(42.00,48.00)(31.00,54.00)
+\multiput(42.00,48.00)(-0.22,0.12){50}{\line(-1,0){0.22}}
+%\end
+%\emline(56.00,4.33)(62.67,4.33)
+\put(56.00,4.33){\line(1,0){6.67}}
+%\end
+%\emline(62.67,4.33)(65.67,0.00)
+\multiput(62.67,4.33)(0.12,-0.17){26}{\line(0,-1){0.17}}
+%\end
+%\emline(65.67,0.00)(56.00,4.33)
+\multiput(65.67,0.00)(-0.26,0.12){37}{\line(-1,0){0.26}}
+%\end
+\end{picture}
+\caption{The Structural Layout of Soyombo Characters}
+\label{soyombo:structure}
+\end{figure}
+
+
+\section{How to use the Soyombo package}
+This section describes which files are necessary, which commands
+are needed for invoking the Soyombo symbol and characters, and
+how special symbols are entered.
+
+\subsection{Necessary files}
+The Soyombo package consists of the following files:
+\begin{description}
+\item [Package] The file {\tt soyombo.sty} provides all necessary
+ declarations and commands for selecting and entering the
+ Soyombo symbol and script. Place this file somewhere where your
+ \LaTeX\ installation will find it. In {\tt emtex} systems,
+ this could be the path \verb"\emtex\texinput\mls" assuming you
+ have a subdirectory named \verb"mls" which holds everything
+ necessary for Mongolian Language Support.
+\item [Fonts] The font files {\tt soyombo.mf} and {\tt soyombot.mf}
+ provide the alphabet and the symbol, respectively. They should
+ reside in a directory where {\sc Metafont} can find them, e.~g.
+ \verb"\emtex\mfinput\mls". Here again, it is assumed that a
+ directory \verb"mls" has been created for holding these and
+ other fonts necessary for typesetting Mongolian.
+\item [Font Metrics] The font metrics files {\tt soyombo.tfm} and
+ {\tt soyombot.tfm} go into \verb"\emtex\tfm\mls".
+\item [Documentation] This file is named {\tt soyo4tex.tex}. You
+ are reading it at the moment. It can be placed in the same directory
+ as {\tt soyombo.sty} or in a separate directory in the
+ \verb"\emtex\doc" branch.
+\end{description}
+
+\subsection{Declarations and Commands}
+In order to use the Soyombo script, the preamble of your document
+must contain the declaration \verb"\usepackage{soyombo}". This
+is the only necessary step. Two commands become available then:
+\verb"\Soyombo" produces the Soyombo symbol (see the title of
+this artice), and \verb"\soyombo" switches to the Soyombo character
+set.
+
+\subsection{Input method}
+Within an environment declared by \verb"\soyombo", entering most
+of the basic characters is straightforward. Initial consonants
+are entered as such. Except for {\em a} which is not marked vowels are entered by
+using lowercase letters for back vowels and uppercase letters
+for front vowels: {\em o ” u } are entered as {\tt o O u U}.
+Both {\tt u U} have
+a form variant entered as {\tt v V} which is shorter and used
+for combinations with final consonants.
+
+Syllable finals are entered in uppercase. In most cases, the
+same letter as for the initial (and lowercase) version is used.
+
+The following example shows how the words {\em xamu\g\ s„dgil-t}
+written in Soyombo {\soyombo kmvG seDgiLtU} translate into a
+sequence of transliteration and input characters.
+
+\begin{center}
+\begin{tabular}{|r|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
+\hline
+Original &
+\multicolumn{2}{c|}{\soyombo k} & \multicolumn{3}{c|}{\soyombo mvG}&&
+\multicolumn{3}{c|}{\soyombo seD} & \multicolumn{3}{c|}{\soyombo giL}&&
+\multicolumn{2}{c|}{\soyombo tU} \\
+
+\hline
+Decomposed & \soyombo k & & \soyombo m & \soyombo `u & \soyombo `G & & \soyombo s &
+\soyombo `e & \soyombo `D & \soyombo g & \soyombo `i & \soyombo `L &
+& \soyombo t & \soyombo `U \\
+\hline
+Transliterated & x & a & m & u & \g & & s & „ & d & g & i & l & - & t & \\
+\hline
+Input & k && m & v & G & & s & e & D & g & i & L & & t & U \\
+\hline
+\end{tabular}
+\end{center}
+
+In order to show the construction of the Soyombo characters (for
+writing text books, etc.) one blind or dummy character {\soyombo `}
+was created which does not appear in the original alphabet.
+
+The symbols used for
+writing Sanskrit and Tibetan are accessed by control sequences
+in the form of \verb"\sXX" where \verb"\s" stands for Soyombo
+and {\tt XX} has to be replaced by a one-, two- or three-letter
+combination found in the encoding table.
+
+\begin{figure}
+\begin{center}
+% :set tabstop=4 ! (vi command)
+% :set shiftwidth=4 ! (vi command)
+\begin{tabular}{|c|c|c|c|c|c|c|c|c|}
+\hline
+& 00 & 01 & 02 & 03 & 04 & 05 & 06 & 07 \\ \hline
+0 & {\Large \soyombo \ } &
+ {\Large \soyombo '} &
+ {\Large \soyombo g} &
+ {\Large \soyombo \$} &
+ {\Large \soyombo \sri} &
+ {\Large \soyombo \sDH} &
+ {\Large \soyombo \ssk} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (000) &
+ \footnotesize (016:\verb|`|) &
+ \footnotesize (032:\verb|g|) &
+ \footnotesize (048:\verb|\$|) &
+ \footnotesize (064:\verb|\sri|) &
+ \footnotesize (080:\verb|\sDH|) &
+ \footnotesize (096:\verb|ssk|) &
+ \footnotesize (112) \\ \hline
+
+1 & {\Large \soyombo `} &
+ {\Large \soyombo `-} &
+ {\Large \soyombo k} &
+ {\Large \soyombo s} &
+ {\Large \soyombo \sri} &
+ {\Large \soyombo \sB} &
+ {\Large \soyombo \srk} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (001:\verb|`|) &
+ \footnotesize (017:\verb|`-|) &
+ \footnotesize (033:\verb|k|) &
+ \footnotesize (049:\verb|s|) &
+ \footnotesize (065:\verb|\sri|) &
+ \footnotesize (081:\verb|\sB|) &
+ \footnotesize (097:\verb|\srk|) &
+ \footnotesize (113) \\ \hline
+
+2 & {\Large \soyombo \sA} &
+ {\Large \soyombo `i} &
+ {\Large \soyombo x} &
+ {\Large \soyombo h} &
+ {\Large \soyombo \sli} &
+ {\Large \soyombo \sBH} &
+ {\Large \soyombo Z} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (002:\verb|\sA|) &
+ \footnotesize (018:\verb|`i|) &
+ \footnotesize (034:\verb|x|) &
+ \footnotesize (050:\verb|h|) &
+ \footnotesize (066:\verb|\sli|) &
+ \footnotesize (082:\verb|\sBH|) &
+ \footnotesize (098:\verb|Z|) &
+ \footnotesize (114) \\ \hline
+
+3 & {\Large \soyombo .} &
+ {\Large \soyombo `i-} &
+ {\Large \soyombo z} &
+ {\Large \soyombo \sks} &
+ {\Large \soyombo \sli-} &
+ {\Large \soyombo \sds} &
+ {\Large \soyombo C} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (003:\verb|.|) &
+ \footnotesize (019:\verb|`i-|) &
+ \footnotesize (035:\verb|z|) &
+ \footnotesize (051:\verb|\sks|) &
+ \footnotesize (067:\verb|\sli-|) &
+ \footnotesize (083:\verb|\sds|) &
+ \footnotesize (099:\verb|C|) &
+ \footnotesize (115) \\ \hline
+
+4 & {\Large \soyombo .. } &
+ {\Large \soyombo `e} &
+ {\Large \soyombo c} &
+ {\Large \soyombo `G} &
+ {\Large \soyombo `0} &
+ {\Large \soyombo \sky} &
+ {\Large \soyombo J} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (004:\verb|..|) &
+ \footnotesize (020:\verb|`e|) &
+ \footnotesize (036:\verb|c|) &
+ \footnotesize (052:\verb|`G|) &
+ \footnotesize (068:\verb|`0|) &
+ \footnotesize (084:\verb|\sky|) &
+ \footnotesize (100:\verb|J|) &
+ \footnotesize (116) \\ \hline
+
+5 & {\Large \soyombo \sO } &
+ {\Large \soyombo `e-} &
+ {\Large \soyombo =} &
+ {\Large \soyombo `K} &
+ {\Large \soyombo `H} &
+ {\Large \soyombo \skr} &
+ {\Large \soyombo X} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (005:\verb|\sO|) &
+ \footnotesize (021:\verb|`e-|) &
+ \footnotesize (037:\verb|=|) &
+ \footnotesize (053:\verb|`K|) &
+ \footnotesize (069:\verb|`H|) &
+ \footnotesize (085:\verb|\skr|) &
+ \footnotesize (101:\verb|X|) &
+ \footnotesize (117) \\ \hline
+
+6 & {\Large \soyombo \ } &
+ {\Large \soyombo `U} &
+ {\Large \soyombo d} &
+ {\Large \soyombo `*} &
+ {\Large \soyombo \sg} &
+ {\Large \soyombo \skl} &
+ {\Large \soyombo q} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (006) &
+ \footnotesize (022:\verb|`U|) &
+ \footnotesize (038:\verb|d|) &
+ \footnotesize (054:\verb|`*|) &
+ \footnotesize (070:\verb|\sg|) &
+ \footnotesize (086:\verb|\skl|) &
+ \footnotesize (102:\verb|q|) &
+ \footnotesize (118) \\ \hline
+
+7 & {\Large \soyombo \ } &
+ {\Large \soyombo `U-} &
+ {\Large \soyombo t} &
+ {\Large \soyombo `D} &
+ {\Large \soyombo \sgh} &
+ {\Large \soyombo \skm} &
+ {\Large \soyombo @} &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (007) &
+ \footnotesize (023:\verb|`U-|) &
+ \footnotesize (039:\verb|t|) &
+ \footnotesize (055:\verb|`D|) &
+ \footnotesize (071:\verb|\sgh|) &
+ \footnotesize (087:\verb|\skm|) &
+ \footnotesize (103:\verb|@|) &
+ \footnotesize (119) \\ \hline
+
+8 & {\Large \soyombo \ } &
+ {\Large \soyombo `u} &
+ {\Large \soyombo n} &
+ {\Large \soyombo `N} &
+ {\Large \soyombo j} &
+ {\Large \soyombo \skk} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (008) &
+ \footnotesize (024:\verb|`u|) &
+ \footnotesize (040:\verb|n|) &
+ \footnotesize (056:\verb|`N|) &
+ \footnotesize (072:\verb|j|) &
+ \footnotesize (088:\verb|\skk|) &
+ \footnotesize (104) &
+ \footnotesize (120) \\ \hline
+
+9 & {\Large \soyombo \ } &
+ {\Large \soyombo `u-} &
+ {\Large \soyombo b} &
+ {\Large \soyombo `B} &
+ {\Large \soyombo \sjh} &
+ {\Large \soyombo \snk} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (009) &
+ \footnotesize (025:\verb|`u-|) &
+ \footnotesize (041:\verb|b|) &
+ \footnotesize (057:\verb|`B|) &
+ \footnotesize (073:\verb|\sjh|) &
+ \footnotesize (089:\verb|\snk|) &
+ \footnotesize (105) &
+ \footnotesize (121) \\ \hline
+
+A & {\Large \soyombo \ } &
+ {\Large \soyombo `o} &
+ {\Large \soyombo p} &
+ {\Large \soyombo `M} &
+ {\Large \soyombo T} &
+ {\Large \soyombo \snc} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (010) &
+ \footnotesize (026:\verb|`o|) &
+ \footnotesize (042:\verb|p|) &
+ \footnotesize (058:\verb|`M|) &
+ \footnotesize (074:\verb|T|) &
+ \footnotesize (090:\verb|\snc|) &
+ \footnotesize (106) &
+ \footnotesize (122) \\ \hline
+
+B & {\Large \soyombo \ } &
+ {\Large \soyombo `o-} &
+ {\Large \soyombo m} &
+ {\Large \soyombo `R} &
+ {\Large \soyombo \sth} &
+ {\Large \soyombo \snt} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (011) &
+ \footnotesize (027:\verb|`o-|) &
+ \footnotesize (043:\verb|m|) &
+ \footnotesize (059:\verb|`R|) &
+ \footnotesize (075:\verb|\sth|) &
+ \footnotesize (091:\verb|\snt|) &
+ \footnotesize (107) &
+ \footnotesize (123) \\ \hline
+
+C & {\Large \soyombo \ } &
+ {\Large \soyombo `O} &
+ {\Large \soyombo y} &
+ {\Large \soyombo `L} &
+ {\Large \soyombo \sdd} &
+ {\Large \soyombo \snd} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (012) &
+ \footnotesize (028:\verb|`O|) &
+ \footnotesize (044:\verb|y|) &
+ \footnotesize (060:\verb|`L|) &
+ \footnotesize (076:\verb|\sdd|) &
+ \footnotesize (092:\verb|\snd|) &
+ \footnotesize (108) &
+ \footnotesize (124) \\ \hline
+
+D & {\Large \soyombo \ } &
+ {\Large \soyombo `O-} &
+ {\Large \soyombo r} &
+ {\Large \soyombo `Q} &
+ {\Large \soyombo \sdh} &
+ {\Large \soyombo P} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (013) &
+ \footnotesize (029:\verb|`O-|) &
+ \footnotesize (045:\verb|r|) &
+ \footnotesize (061:\verb|`Q|) &
+ \footnotesize (077:\verb|\sdh|) &
+ \footnotesize (093:\verb|P|) &
+ \footnotesize (109) &
+ \footnotesize (125) \\ \hline
+
+E & {\Large \soyombo \ } &
+ {\Large \soyombo `W} &
+ {\Large \soyombo w} &
+ {\Large \soyombo `S} &
+ {\Large \soyombo \sdn} &
+ {\Large \soyombo \slk} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (014) &
+ \footnotesize (030:\verb|`W|) &
+ \footnotesize (046:\verb|w|) &
+ \footnotesize (062:\verb|`S|) &
+ \footnotesize (078:\verb|\sdn|) &
+ \footnotesize (094:\verb|\slk|) &
+ \footnotesize (110) &
+ \footnotesize (126) \\ \hline
+
+F & {\Large \soyombo \ } &
+ {\Large \soyombo `I} &
+ {\Large \soyombo l} &
+ {\Large \soyombo `-a} &
+ {\Large \soyombo \sD} &
+ {\Large \soyombo \sSk} &
+ {\Large \soyombo \ } &
+ {\Large \soyombo \ } \\
+
+ & \footnotesize (015) &
+ \footnotesize (031:\verb|`I|) &
+ \footnotesize (047:\verb|l|) &
+ \footnotesize (063:\verb|`-a|) &
+ \footnotesize (079:\verb|\sD|) &
+ \footnotesize (095:\verb|\sSk|) &
+ \footnotesize (111) &
+ \footnotesize (127) \\ \hline
+
+\end{tabular}
+\end{center}
+\caption{Soyombo Character Input Table}
+\end{figure}
+
+\section{Desiderata}
+The package in its present stage cannot be regarded complete.
+Some of the letter shapes still need a bit of refinement, and
+maybe there is even the possibility to create more typeface variants
+in order to reflect various printing styles.
+
+The input method works but is a bit clumsy to use; an input preprocessor
+translating properly spelled Mongolian into the Soyombo equivalent
+waits to be developed.
+
+Comments and suggestions are highly appreciated and should be
+directed to the author of these lines at \verb"corff@zedat.fu-berlin.de".
+
+\end{document}
diff --git a/language/mongolian/soyombo/soyombo.mf b/language/mongolian/soyombo/soyombo.mf
new file mode 100644
index 0000000000..2608fa1e07
--- /dev/null
+++ b/language/mongolian/soyombo/soyombo.mf
@@ -0,0 +1,1996 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: soyombo.mf
+% Date: August 20, 1996
+% Author: Oliver Corff
+% (c) 1996 Ulaanbaatar, Macau, Berlin
+%
+% A metafont for providing the Soyombo script to LaTeX-users.
+%
+% Usage: see package soyombo
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% This font contains the Soyombo alphabet. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+ if unknown mag: mag := 1; fi;
+ mg:=3/4;
+ n#:=mg*pt#;
+ margin#:=mg*2pt#;
+ o_width#:=mg*12pt#;
+ bwidth#:=mg*4pt#;
+ full_w#:=2margin#+o_width#+bwidth#;
+ thin#:=mg*1pt#;
+ height#:=mg*24pt#;
+ vheight#:=height#+mg*4pt#;
+ om_height#:=vheight#+mg*4pt#;
+ depth#:=mg*4pt#;
+ center#:=.5o_width#+margin#;
+ width#:=o_width#+margin#;
+ define_pixels(thin,width,bwidth,o_width,height,
+ vheight,om_height,n,margin,depth,center);
+
+ font_size = 17pt#;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%% Segment definitions. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+def full_balken = % Rechter Balken
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4=height;
+ fill z1--z2--z3--z4--cycle;
+enddef;
+
+def full_k_balken = % Rechter Balken fuer 'k's
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4+2n=height;
+ fill z1--z2--z3--z4--cycle;
+enddef;
+
+def middle_k_beam = % Mittlerer Balken fuer 'k's
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ y5-2n=y6=1/3height+thin;
+ y7=y8=height-2n;
+ fill z5--z6--z7--z8--cycle;
+enddef;
+
+
+def hor_k_beam = % Horizontaler Balken fuer 'k's
+ x20=center+3thin;
+ x21=width;
+ y20=y21=2/3height;
+ pickup pencircle scaled 1.5thin;
+ draw z20--z21;
+enddef;
+
+def shorter_g_horn(expr xofs) = % Linkes, nach oben weisendes Horn
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-xofs*thin;
+
+ y71=y78=height-5n;
+ y75=y76=2/3height;
+ y73=y74=2/3height-1.5thin;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75---z76{left}..{up}z77---z78--cycle;
+enddef;
+
+def g_horn(expr xofs) = % Linkes, nach oben weisendes Horn
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-xofs*thin;
+
+ y71=y78=height-3n;
+ y75=y76=2/3height+.75thin;
+ y73=y74=2/3height-.75thin;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75---z76{left}..{up}z77---z78--cycle;
+enddef;
+
+def common_triangle = % Oberes Dreieck
+ x11=margin;
+ x12=center;
+ x13=width;
+ y11=y13=height;
+ y12=height-3n;
+ fill z11--z12--z13--cycle;
+enddef;
+
+def k_triangle = % Oberes Dreieck fuer 'k's
+ x11=margin;
+ x12=center+1thin;
+ x13=width+1/2bwidth;
+ y11=y13=height;
+ y12=height-3n;
+ fill z11--z12--z13--cycle;
+enddef;
+
+def upper_fish = % Oberer Fisch;
+ x21=width-thin;
+ x22=x27=center;
+ x23=margin;
+ x25=x23+1/4[margin,center];
+ x24=x26=.5[x23,x25];
+
+ y21-1.5n=y23=y25=5/6height;
+ y22=2/3height;
+ y27=1/2[2/3height,5/6height];
+ y24=height-2n;
+ y26=height-4n;
+
+ fill z21..z22..z23..z24..z25..z26 & z26..z27..z21 & cycle;
+enddef;
+
+def lower_fish = % Unterer Fisch;
+ x31=margin;
+ x32=x35=x38=margin+2/3o_width;
+ x33=width-2thin;
+ x34=x36=margin+5/6o_width-thin;
+ x37=x33-1.5thin;
+
+ y33=y37=1/2height;
+ y32=y38-1thin=4/9height;
+ y31=y34=y36+1.5thin=2/3height;
+ y35=2/3[4/9height,2/3height];
+
+ fill z31..z32..z33..z34..z35 & z35..z36..z37..z38..z31 & cycle;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%% Character definitions. %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+beginchar("{",margin#+bwidth#+width#+bwidth#,vheight#+14thin#,depth#);
+ "Soyombo Initial";
+ % Linker Balken
+ z1=(margin,0);
+ z2=(margin+bwidth,0);
+ z3=(x2,height);
+ z4=(x1,height);
+ fill z1--z2--z3--z4--cycle;
+
+ % Rechter Balken
+ z5=(bwidth+width,0);
+ z6=(bwidth+width+bwidth,0);
+ z7=(x6,height);
+ z8=(x5,height);
+ fill z5--z6--z7--z8--cycle;
+
+ % Oberes Dreieck
+ z9=(margin+bwidth,height);
+ z10=(center+bwidth,height-3n);
+ z11=(width+bwidth,height);
+ fill z9--z10--z11--cycle;
+
+ % Unteres Dreieck
+ z12=(margin+bwidth,3n);
+ z13=(center+bwidth,0);
+ z14=(width+bwidth,3n);
+ fill z12--z13--z14--cycle;
+
+ % Unterer Balken
+ z15=(x12+thin,y12+thin);
+ z16=(x15,y15+2thin);
+ z17=(x14-thin,y16);
+ z18=(x17,y15);
+ fill z15--z16--z17--z18--cycle;
+
+ % Oberer Balken
+ z19=(x12+thin,y10-thin);
+ z20=(x19,y19-2thin);
+ z21=(x14-thin,y20);
+ z22=(x21,y19);
+ fill z19--z20--z21--z22--cycle;
+
+ % Fische
+ z23=(x10,y20-thin);
+ z24=(x10,y16+thin);
+ pickup pencircle scaled .5thin;
+ draw z23..z24..cycle;
+
+ % Hilfspunkt z25, wird nur fuer die Halbkreise benoetigt!
+ z25=(x10,.5[y23,y24]);
+ draw halfcircle rotated 90 scaled 5n shifted (x10,.5[y23,y25]) ;
+ draw halfcircle rotated 270 scaled 5n shifted (x10,.5[y25,y24]);
+
+ % Die Augen
+ pickup pencircle scaled .75thin;
+ draw (x10,.5[y23,y25]);
+ draw (x10,.5[y25,y24]);
+
+ % Mond
+ z26=(x9,vheight);
+ z27=(x10,height+thin);
+ z28=(x11,y26);
+ z29=(x10,y27+thin);
+ fill z26..z27..z28 & z28..z29..z26 & cycle;
+
+ % Sonne
+ % pickup pencircle scaled .5thin;
+ z30=(x10,y29+thin);
+ z31=(x10,y30+4thin);
+ draw z30..z31..cycle;
+
+ % Feuer
+ z32=(x10,y31+5thin+thin);
+ penpos32(epsilon,0);
+ z33=(x10-1.5thin,y32-1.5thin);
+ penpos33(.75thin,0);
+ z34=(x10,y31+2thin);
+ penpos34(.75thin,90);
+ z35=(x10+1.5thin,y33+thin);
+ penpos35(.75thin,180);
+ z36=(x10,y32+4thin);
+ penpos36(epsilon,180);
+
+ penstroke z32e{down}..z33e..z34e..z35e{dir 135}..{up}z36e;
+endchar;
+
+beginchar(".",2margin#+bwidth#,height#+2pt#,0);
+ "Punctuation";
+ x1=x4=margin;
+ x2=x3=margin+bwidth;
+ y1=y2=0;
+ y3=y4=height;
+ fill z1--z2--z3--z4--cycle;
+endchar;
+
+beginchar("`",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Empty Carrier";
+ % Balken
+ x1=x4=width;
+ x2=x3=width+bwidth;
+ y1-2n=y2=0;
+ y3=y4=height;
+
+ % Dreieck
+ x11=margin;
+ x12=center;
+ x13=width;
+ y11=y13=height;
+ y12=height-3n;
+
+ % Oberer Fisch
+ x21=width-thin;
+ x22=x27=center;
+ x23=margin;
+ x25=x23+1/4[margin,center];
+ x24=x26=.5[x23,x25];
+
+ y21-1.5n=y23=y25=5/6height;
+ y22=2/3height;
+ y27=1/2[2/3height,5/6height];
+ y24=height-2n;
+ y26=height-4n;
+
+ % Unterer Fisch
+ x31=margin;
+ x32=x35=x38=margin+2/3o_width;
+ x33=width-2thin;
+ x34=x36=margin+5/6o_width-thin;
+ x37=x33-1.5thin;
+
+ y33=y37=1/2height;
+ y32=y38-1thin=4/9height;
+ y31=y34=y36+1.5thin=2/3height;
+ y35=2/3[4/9height,2/3height];
+
+ pickup pencircle scaled .5n;
+
+ draw z1--z2--z3--z4--cycle; % Balken
+ draw z11--z12--z13--cycle; % Dreieck
+ draw z21..z22..z23..z24..z25..z26 & z26..z27..z21 & cycle; % Fisch
+ draw z31..z32..z33..z34..z35 & z35..z36..z37..z38..z31 & cycle;
+endchar;
+
+beginchar("'",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Vowel Carrier";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+endchar;
+
+beginchar("-",0,0,depth#);
+ "Long Vowel";
+ x5=x8=-margin-bwidth;
+ x6=-margin;
+ x7=0;
+ y5-2n=y6=y8=0;
+ y7=-depth;
+ fill z5--z6--z7--z8--cycle;
+endchar;
+
+beginchar("i",0,vheight#+2pt#,0);
+ "i";
+ x100=-bwidth-width;
+ x101=x103=1/2[x100,x102];
+ x102=-margin;
+ y100=y102=height;
+ y101=2/3[height,vheight];
+ y103=vheight;
+ fill z100..z101..z102 & z102..z103..z100 & cycle;
+endchar;
+
+beginchar("e",0,vheight#+2pt#,0);
+ "Umlaut a";
+ x100=x105=-bwidth-width;
+ x101+n=x102+n=x103=x104=-margin;
+ y100=y101=1/2[height,vheight];
+ y105=y104=vheight;
+ y102=y103=height;
+ fill z100--z101--z102--z103--z104--z105--cycle;
+endchar;
+
+beginchar("U",0,height#,0);
+ "U";
+ z101=(-bwidth-width,1/6height);
+ z102=(-bwidth-center,thin);
+ z103=(-bwidth-width+5/6o_width,1/6height);
+ z104=(-bwidth-width+2/3o_width,1/3height-thin);
+ z105=(-bwidth-width+5/6o_width-2thin,1/6height);
+ z106=(-bwidth-center,2thin);
+
+ fill z101{right}..{right}z102{right}..{up}z103..z104
+ ..z105{down}..{left}z106{left}..{left}z101 & cycle;
+endchar;
+
+beginchar("V",0,height#,0);
+ "V";
+ z101=(-width-bwidth,1/6height);
+ z102=(-width-bwidth+1/3o_width,thin);
+ z103=(-width-bwidth+2/3o_width-thin,1/6height);
+ z104=(-width-bwidth+1/2o_width,1/3height-.5thin);
+ z105=(-width-bwidth+2/3o_width-2.5thin,1/6height);
+ z106=(-width-bwidth+1/3o_width,2thin);
+
+ fill z101{right}..{right}z102{right}..{up}z103..z104
+ ..z105{down}..{left}z106{left}..{left}z101 & cycle;
+endchar;
+
+beginchar("u",0,height#,0);
+ "u";
+ x101=x106=-bwidth-width;
+ x102=x105+1.5n=x104+1.5n=x103+1n=5/6o_width-bwidth-width;
+
+ y101=y102=1/9height;
+ y106=y105=2/9height;
+ y104=y103=1/3height;
+
+ fill z101--z102--z103--z104--z105--z106--cycle;
+endchar;
+
+beginchar("v",0,height#,0);
+ "u";
+ x101=x106=-bwidth-width;
+ x102=x105+1.5n=x104+1.5n=x103+1n=5/9o_width-bwidth-width-.5thin;
+
+ y101=y102=1/9height;
+ y106=y105=2/9height;
+ y104=y103=1/3height;
+
+ fill z101--z102--z103--z104--z105--z106--cycle;
+endchar;
+
+beginchar("o",0,vheight#+2pt#,0);
+ "o";
+ x100=-bwidth-width;
+ x101+n=x103-n=x102=1/2[x100,x104];
+ x104=-margin;
+ y100r=y101r=y103r=y104r=vheight;
+ y102l=height;
+ penpos100(2thin,90);
+ penpos101(2thin,90);
+ penpos102(2thin,90);
+ penpos103(2thin,90);
+ penpos104(2thin,90);
+ penstroke z100e--z101e--z102e--z103e--z104e;
+endchar;
+
+beginchar("O",0,vheight#+2pt#,0);
+ "Umlaut o";
+ x100=x107=-bwidth-width;
+ x101+n=x102+n=x103-n=x104-n=1/2[x100,x105];
+ x105=x106=-margin;
+ y100=y101=y104=y105=1/2[height,vheight];
+ y106=y107=vheight;
+ y102=y103=height;
+ fill z100--z101--z102--z103--z104--z105--z106--z107--cycle;
+endchar;
+
+beginchar("W",2/3o_width#,height#,0);
+ "diphthong u";
+ x81=x83=x85=-margin;
+ x90=x92=x81+2thin;
+ x82=x84=x87=-margin+1/3o_width;
+ x86=1/2[x85,x87];
+ x88=x89=x91=x93=-margin+2/3o_width;
+
+ y81=height;
+ y82=y93=5/6height;
+ y83=y92=2/3height+3thin;
+ y84=y91=1/2height+3thin;
+ y85=y90=1/3height+3thin;
+ y86=y89=1/6height;
+ y87=thin;
+ y88=0;
+
+ fill z81{right}..z82..{left}z83
+ & z83{right}..z84..{left}z85
+ & z85{right}..{down}z87 & z87--z88
+ & z88{up}...z89..z90 & z90{right}..z91..{left}z92
+ & z92{right}..z93..{left}z81 & cycle;
+endchar;
+
+beginchar("I",2/3o_width#,height#,0);
+ "diphthong i";
+ x81=x83=x85=x94=-margin;
+ x90=x92=x81+2thin;
+ x82=x84=x87=-margin+1/3o_width;
+ x86=1/2[x85,x87];
+ x88=x89=x91=x93=-margin+2/3o_width;
+
+ y94=y93=height;
+ y81=y82=height-1.5thin;
+ y83=y92=2/3height+3thin;
+ y84=y91=1/2height+3thin;
+ y85=y90=1/3height+3thin;
+ y86=y89=1/6height;
+ y87=thin;
+ y88=0;
+
+ fill z81--z82--z83--z84--z85 & z85{right}..{down}z87 & z87--z88
+ & z88...z89..z90 & z90--z91--z92--z93--z94--cycle;
+endchar;
+
+beginchar("g",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "g";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ g_horn(1);
+endchar;
+
+beginchar("k",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "k";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ x71=x72=margin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-thin;
+
+ z71=whatever[z5,z6];
+ z78=whatever[z5,z6];
+ y75=y76=5/6height-.75thin;
+ y73=y74=5/6height+.75thin;
+ y72=y77=y75-thin;
+
+ fill (center+3thin,y73)--(width,y73)--(width,y75)--(center+3thin,y75)--cycle;
+
+ fill z71---z72{up}..{right}z73---z74--z75---z76{left}..{down}z77---z78--cycle;
+endchar;
+
+beginchar("x",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "x";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ x71=x78=margin;
+ x72=x73=x76=x77=margin+3thin;
+ x74=x75=center-thin;
+ y73=y74=2/3height-.75thin;
+ y75=y76=2/3height+.75thin;
+ y71=y72=1/2height;
+ y78+thin=y77=height-3n;
+
+ fill z71--z72--z73--z74--z75--z76--z77--z78--cycle;
+endchar;
+
+beginchar("z",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "z";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ x21=width;
+ lft x23=margin+thin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23;
+endchar;
+
+beginchar("c",margin#+width#+bwidth#,vheight#,depth#);
+ "c";
+ full_balken;
+ common_triangle;
+
+ lft x19=lft x23=margin;
+ x20=x22=center;
+ rt x21=width-thin;
+
+ y19=1/3[y22,y20];
+ y23=2/3[y22,y20];
+ y20=y12-thin;
+ y22=y20-2/3o_width;
+ y21=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z19--z20--z21--z22--z23;
+endchar;
+
+beginchar("=",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\= n";
+ full_balken;
+ common_triangle;
+
+ x18=x20=x22=center;
+ x19=.5[margin,center];
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y18=y21=y23=.5[y22,y20];
+ y19=.5[y23,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z18--z19--z20--z21--z22--z23;
+endchar;
+
+beginchar("d",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "d";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/4height+.05thin);
+ z32=(margin+1/3o_width,3/4height);
+ z38=(x32,y32-1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,1/3height+2thin);
+ z36=(x32,y34+1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+ z39=(width,2/4height-.05thin);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.7..z39
+ & z39..z31 & cycle;
+endchar;
+
+beginchar("t",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "t";
+ full_balken;
+ common_triangle;
+ x20=x21=center;
+ y20=3/4height;
+ y21=1/2height;
+ y22=y23=1/3height+2thin;
+ x22=margin+1/4o_width;
+ x23=margin+3/4o_width;
+ x24=x25=center;
+ y24=y21;
+ y25=y22;
+ pickup pencircle scaled 1.5thin;
+ draw z20..z21..cycle;
+ draw z22--z23;
+ draw z24--z25;
+endchar;
+
+beginchar("n",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "n";
+ full_balken;
+ common_triangle;
+ x21=x23=x24=x25=margin+2/3width;
+ x22=margin+thin;
+ y24=5/6height;
+ y25=1/2height-2thin;
+ y21=y24-2thin;
+ y23=y25+2thin;
+ y22=1/2[y21,y23];
+
+ pickup pencircle scaled 2thin;
+ draw z21{left}..z22..{right}z23;
+ draw z24--z25;
+endchar;
+
+beginchar("b",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "b";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/3height-.05thin);
+ z39=(width,2/3height+.05thin);
+ z32=(margin+1/3o_width,1/3height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2height);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,2/3height);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z39
+ & z39--z31 & cycle;
+endchar;
+
+beginchar("p",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "p";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/4height);
+ z32=(margin+1/3o_width,1/3height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,2/3height-2thin);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z31 & cycle;
+endchar;
+
+beginchar("m",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "m";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=x32=center;
+ y31=1/3height+1.5n;
+ y32=2/3height-1.5n;
+ pickup pencircle scaled 1.5thin;
+ draw z31..z32..cycle;
+endchar;
+
+beginchar("y",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "y";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=margin+1/4o_width;
+ x32=center;
+ x33=margin+3/4o_width;
+ y31=y33=1/3height+thin;
+ y32=2/3height-2thin;
+
+ pickup pencircle scaled 2thin ;
+ draw z31{up}..z32..{down}z33 & z33--z31;
+endchar;
+
+beginchar("r",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "r";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x40=margin+2thin;
+ x41=width-2thin;
+ x42=center;
+ y40=y41=1/3height+thin;
+ y42=2/3height-2thin;
+ pickup pencircle scaled 2thin;
+ draw z40--z41--z42--cycle;
+endchar;
+
+beginchar("w",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "w";
+ full_balken;
+ common_triangle;
+ x20=x21=center;
+ y20=3/4height;
+ y21=1/2height;
+ pickup pencircle scaled 1.5thin;
+ draw z20..z21..cycle;
+endchar;
+
+beginchar("l",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "l";
+ full_balken;
+ common_triangle;
+ z21=(margin+1thin,5/6height-1thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height+2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+endchar;
+
+beginchar("$",2margin#+width#+bwidth#,height#+2pt#,depth#);
+ "$";
+ full_balken;
+ common_triangle;
+ x31=x33=margin;
+ x32=x34=width;
+ y31r=y32r=5/6height;
+ y33l=y34l=1/3height;
+ penpos31(3thin,90);
+ penpos32(3thin,90);
+ penpos33(3thin,90);
+ penpos34(3thin,90);
+ penstroke z31e--z34e;
+ penstroke z33e--z32e;
+endchar;
+
+beginchar("s",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "s";
+ full_balken;
+ common_triangle;
+
+ z60=(margin,1/2height+thin);
+ z64=(center,height-3n);
+ z65=(width,1/2height+thin);
+ z66=(width,y65-3thin);
+ z67=(center,y64-3thin);
+ z61=1/12[z60,z64];
+ z63=1/2[z60,z64];
+ z62=1/2[z61,z63];
+ z62-z70=(z63-z61) rotated 90;
+ z62-z69=4/3(z63-z61) rotated 90;
+ z71=7/12[z60,z64];
+ z72=(margin,y60-3thin);
+ z68-z71=whatever*(z70-z62);
+ z68=whatever[z72,z67];
+
+ fill z60--z61
+ & z61{z70-z62}..z70..{z62-z70}z63
+ & z63--z64--z65--z66--z67--z68
+ & z68{z70-z62}..z69..{z62-z70}z60 & cycle;
+endchar;
+
+beginchar("h",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "h";
+ full_k_balken;
+
+ z11=(margin,height);
+ z12=(center+thin,height-3n);
+ z13=(width+1/2bwidth,y11);
+
+ z20=(margin,height-1.5n);
+ z21=(x20,1/2height-n);
+ z22=(margin+3thin,y21+n);
+ x23=x22;
+ z20-z23=whatever*(z11-z12);
+
+ z24=(x22,2/3height);
+ z25=(x22,y24+1.5thin);
+ z26=(center-.5thin,y25);
+ z27=(center+2thin,y24-.5thin);
+ z28=(x27,1/2height);
+ z29=(center,y28);
+ z30=(x29,y27);
+ z31=(x26,y24);
+
+ x32=x22;
+ z32-z35=whatever*(z12-z13);
+ z33=(x22,y32+2thin);
+ z34=whatever[z11,z12];
+ z35=(center+1thin,height-4n);
+ z34-z33=whatever*(z35-z32);
+
+ x36=width;
+ z35-z36=whatever*(z11-z12);
+ z37=(x36,y36+2thin);
+ z38=whatever[z12,z13];
+ z38-z37=whatever*(z35-z36);
+
+ fill z20--z21--z22--z23--cycle;
+ fill z24--z25--z26{right}..{down}z27--z28--
+ z29--z30{up}..{left}z31--z24--cycle;
+
+ fill z32--z33--z34--z11--z13--z38--z37--z36--z35--cycle;
+endchar;
+
+beginchar("!",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "k\d s";
+ k_triangle;
+ full_k_balken;
+ hor_k_beam;
+ g_horn(1);
+ z5=(center-1thin,height-2n);
+ z6=(x5,1/2height+.75thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3height);
+ z9=(center+3thin,y8);
+ z10=(x9,y9+thin);
+ z14=(x7+3thin,y7);
+ z15=(x9,y6-.5thin);
+ z16=(x9,y5);
+
+ fill z5--z6{left}..z7..{right}z9--
+ z10{left}..z14..{right}z15--z16--cycle;
+endchar;
+
+beginchar("G",0,height#,0);
+ "aG";
+ x201=x202=-margin-bwidth-1/3o_width;
+ x207=x208=x201+2thin;
+ x203=x206=x207+.5thin;
+ x204=x205=-margin-bwidth;
+ y201=y208=1/3height;
+ y203=y204=2n;
+ y205=y206=y203+thin;
+ y202=y207=y206+.5n;
+
+
+ fill z201---z202{down}..{right}z203---z204--z205
+ ---z206{left}..{up}z207---z208--cycle;
+endchar;
+
+beginchar("K",0,height#,0);
+ "aK";
+ x201=x202=-margin-bwidth-1/3o_width;
+ x207=x208=x201+2thin;
+ x203=x206=x207+.5thin;
+ x204=x205=-margin-bwidth;
+
+ y201=y208=0;
+ y203=y204=1/3height;
+ y205=y206=y203-thin;
+ y202=y207=y206-.5n;
+
+ fill z201---z202{up}..{right}z203---z204--z205
+ ---z206{left}..{down}z207---z208--cycle;
+endchar;
+
+beginchar("*",0,height#,0);
+ "ang";
+ x201=x208=-margin-bwidth-1/3o_width;
+ x202=x203=x206=x207=x201+2thin;
+ x204=x205=-margin-bwidth;
+ y201=y202=0;
+ y203=y204=1/6height;
+ y205=y206=1/6height+1n;
+ y207=y208+1n=1/3height;
+
+ fill z201--z202--z203--z204--z205--z206--z207--z208--cycle;
+endchar;
+
+beginchar("D",0,height#,0);
+ "aD";
+ z201=(-margin-bwidth,1/6height+1/2thin);
+ z203=(x201-1/3o_width,1/6height);
+ z202=(1/2[x201,x203],1/3height-thin);
+ z204=(x202,0);
+ z205=(1/3[x202,x201],1/3[y204,y203]);
+ z206=(x204,y204+1.5thin);
+ z207=(x203+1.5thin,y203);
+ z208=(x202,y202-2thin);
+ z209=(x201,1/6height-1/2thin);
+
+ fill z201{left}..z202..z203..z204..z205
+ & z205..z206..z207..z208..{right}z209
+ & z209--z201 & cycle;
+endchar;
+
+beginchar("N",0,height#,0);
+ "aN";
+ z201=(-margin-bwidth-2thin,2n);
+ z202=(x201-1/3o_width,1/2[y201,y203]);
+ z203=(x201,1/3height);
+ z204=(x201,y202);
+ z205=(-margin-bwidth,y202);
+
+ pickup pencircle scaled thin;
+ draw z201{left}..z202..{right}z203;
+ pickup penrazor scaled 1thin;
+ draw z201--z203;
+ pickup penrazor scaled 1thin rotated 90;
+ draw z204--z205;
+endchar;
+
+beginchar("B",0,height#,0);
+ "aB";
+ z201=(-margin-bwidth,1/6height-1/2thin);
+ z203=(x201-1/3o_width,1/6height);
+ z202=(1/2[x201,x203],thin);
+ z204=(x202,1/3height-thin);
+ z205=(1/3[x202,x201],1/3[y204,y203]);
+ z206=(x204,y204-1.5thin);
+ z207=(x203+1.5thin,y203);
+ z208=(x202,y202+2thin);
+ z209=(x201,1/6height+1/2thin);
+
+ fill z201{left}..z202..z203..z204..z205
+ & z205..z206..z207..z208..{right}z209
+ & z209--z201 & cycle;
+endchar;
+
+beginchar("M",0,height#,0);
+ "aM";
+ y201=y202=1/6height+thin;
+ x201+thin=x202+1/3o_width=-margin-bwidth-.5thin;
+ pickup pencircle scaled thin;
+ draw z201..z202..cycle;
+endchar;
+
+beginchar("R",0,height#,0);
+ "aR";
+ y201=y202=3n;
+ y203=1/3height-thin;
+ x201=x203=-margin-bwidth;
+ x202+1/3o_width=-margin-bwidth;
+ pickup penrazor scaled thin rotated 90;
+ draw z201--z202--z203;
+endchar;
+
+beginchar("L",0,height#,0);
+ "aL";
+ x201=x204=-margin-bwidth-1/3o_width;
+ x203=x206=-margin-bwidth;
+ x202=x205=1/2[x201,x203];
+
+ y201=y202=y203=2n;
+ y204=y205=y206=1/3height-2n;
+
+ pickup penrazor scaled 1.5thin rotated 90;
+ draw z201--z203;
+ draw z204--z206;
+ pickup penrazor scaled 1thin;
+ draw z202--z205;
+endchar;
+
+beginchar("Q",0,height#,0);
+ "a$";
+ x201=x203=-1/3o_width-margin-bwidth;
+ x202=x204=-margin-bwidth;
+ y201=3/4[2n,1/3height];
+ y202=3n;
+ y203=1/4[2n,1/3height];
+ y204=1/3height;
+ pickup penrazor scaled 1.5thin rotated 90;
+ draw z201--z202;
+ draw z203--z204;
+endchar;
+
+beginchar("S",0,height#,0);
+ "aS";
+ z204=(-margin-bwidth,1/3height);
+ z201=(-margin-bwidth-1/3o_width-2thin,2n);
+ z203=1/2[z201,z204];
+ z205=1/2[z201,z203];
+ z202-z205=2/3(z201-z203) rotated 90;
+
+ pickup pencircle scaled 1.5thin;
+ draw z201{z202-z205}..z202..{z205-z202}z203--z204;
+endchar;
+
+beginchar("a",2/3o_width#,height#,0);
+ "\'a\.n";
+ z81=(-margin+2/3o_width,0);
+ z82=(-margin+1/3o_width,0);
+ z83=(-margin,1/6height);
+ z84=(-margin,1/3height);
+
+ fill z81--z82--z83--z84--cycle;
+endchar;
+
+beginchar("%",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d r";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+
+ z41=(margin+1/6o_width,1/3height+1thin);
+ z42=(margin+1/3o_width-.25thin,y50+1.5thin);
+ z43=(center-.125thin-thin,y41);
+ z44=(center+.125thin-thin,y43);
+ z45=(margin+2/3o_width-1.75thin,y42);
+ z46=(margin+5/6o_width-2thin,y41);
+ z47=(x45,y41-1/3height+2thin);
+ z48=(x44,y45);
+ z49=(x43,y42);
+ z50=(x42,y47);
+
+ fill z41..tension 1.1..z42..tension 1.3..{up}z43
+ ..z44{down}..tension 1.3..z45..tension 1.2..z46
+ & z46..tension 1.2..z47..tension 1.3..{up}z48
+ ..z49{down}..tension 1.3..z50..tension 1.1..z41 & cycle;
+endchar;
+
+beginchar("&",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d l";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ lower_fish;
+
+ z41=(margin+1/6o_width,3thin);
+ z42=(margin+1/3o_width-.25thin,y50-1.5thin);
+ z43=(center-.1thin-thin,y41);
+ z44=(center+.1thin-thin,y43);
+ z45=(margin+2/3o_width-1.75thin,y42);
+ z46=(margin+5/6o_width-2thin,y41);
+ z47=(x45,y41+1/3height-2thin);
+ z48=(x44+.1thin,y45);
+ z49=(x43-.1thin,y42);
+ z50=(x42,y47);
+
+ fill z41..tension 1.1..z42..tension 1.3..{down}z43
+ ..z44{up}..tension 1.3..z45..tension 1.2..z46
+ & z46..tension 1.2..z47..tension 1.3..{down}z48
+ ..z49{up}..tension 1.3..z50..tension 1.1..z41 & cycle;
+endchar;
+
+beginchar("0",0,om_height#+2pt#,0);
+ "am0";
+ x91=x92=-bwidth-center;
+ y91=vheight+3n;
+ y92=vheight;
+ pickup pencircle scaled thin;
+ draw z91..z92..cycle;
+endchar;
+
+beginchar("H",2/3o_width#,height#+2pt#,0);
+ "H";
+ x81=lft x84=lft x88=-margin;
+ x82=x86=x90=-margin+2/3o_width;
+ x83=x85=x87=x89=x91=-margin+1/3o_width;
+
+ y81=y82=height;
+ y83=5/6height;
+ y85=y83-thin;
+ y87-thin=y89+thin=.5[0,y85];
+ y84=y86=.5[y85,y87];
+ y88=y90=.5[y89,0];
+ bot y91=0;
+
+ fill z81--z82--z83--cycle;
+ pickup pencircle scaled 1.5thin;
+ draw z84--z85--z86--z87--cycle;
+ draw z88--z89--z90--z91--cycle;
+endchar;
+
+beginchar("(",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "g";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ z41=(margin+3thin,1/2height);
+ z42=(margin,2/3height);
+ z43=(x41,5/6height);
+ z44=(x41,2/3height+.75thin);
+ z45=(x5,y44);
+ z46=(x5,2/3height-.75thin);
+ z47=(x41,y46);
+
+ fill z41..z42..z43 & z43--z44--z45--z46--z47--z41 & cycle;
+endchar;
+
+beginchar(")",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "gh";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ z41=(margin,1/2height);
+ z42=(1/2[x41,x48],2/3height);
+ z43=(margin,5/6height);
+ z48=(4/6[x41,x45],y42);
+ z44=(x48,2/3height+.75thin);
+ z45=(x5,y44);
+ z46=(x5,2/3height-.75thin);
+ z47=(x44,y46);
+
+ fill z41..z42..z43 & z43..{down}z44
+ & z44--z45--z46--z47 & z47{down}..z41 & cycle;
+endchar;
+
+beginchar("j",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "j";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ x21=width;
+ lft x23=margin+thin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z23--z20--z21--z22;
+endchar;
+
+beginchar(",",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "jh";
+ full_balken;
+ common_triangle;
+ x20=x22=center;
+ rt x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+ z24=(x23,y20);
+ pickup pensquare scaled 2thin rotated 45;
+ draw z23--z20--z21--z22;
+ pickup penrazor scaled 2.5thin rotated -45;
+ draw z23--z24;
+endchar;
+
+beginchar("T",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d t";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,5/6height);
+ z26=(x21-2.5thin,1/2[y25,y27]);
+ z27=(x21,1/2[y25,y29]);
+ z28=(x26,1/2[y27,y29]);
+ z29=(x21,1/2height);
+
+ fill z21--z22--z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("1",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d th";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,5/6height); % << Beginn des oberen Dreiecks,
+ z26=(x21-2.5thin,1/2[y25,y27]); % von dem alle anderen Dreiecke
+ z27=(x21,1/2[y25,y29]); % abhaengen!
+ z28=(x26,1/2[y27,y29]);
+ z29=(x21,1/2height);
+ z30=(x22,y28);
+ z31=(x22+2.5thin,y27);
+ z32=(x22,y26);
+
+ fill z21--z22--z30--z31--z32--z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("2",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d d";
+ full_balken;
+ common_triangle;
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,2/3[y21,y24]); % << Beginn des Dreiecks
+ z26=(x21-2.5thin,1/2[y25,y27]); %
+ z27=(x21,1/3[y21,y24]); %
+
+ fill z21--z22--z23--z24--z25--z26--z27--cycle;
+endchar;
+
+beginchar("3",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d dh";
+ full_balken;
+ common_triangle;
+ g_horn(2);
+ z21=(center-2n,1/3height+2n-thin);
+ z22=(center+2n,y21-2n);
+ z23=(x22,height-2n);
+ z24=(x21,y23);
+ z25=(x21,2/3[y21,y74]); % << Beginn des Dreiecks
+ z26=(x21-2.5thin,1/2[y25,y27]); %
+ z27=(x21,1/3[y21,y74]); %
+
+ fill z21--z22--z23--z24--z25--z26--z27--cycle;
+endchar;
+
+beginchar("4",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d n";
+ full_balken;
+ common_triangle;
+ z5=(center,y12-2n);
+ z6=(center,1/3[y5,y9]);
+ z7=(center-3thin,1/2[y6,y8]);
+ z8=(center,2/3[y5,y9]);
+ z9=(center,1/3height+2n);
+ z10=(center+3thin,1/3height);
+ z14=(x10,y8);
+ z15=(width,y8);
+ z16=(width,y6);
+ z17=(x10,y6);
+ x18=x10;
+ z5-z18=whatever*(z12-z13);
+
+ fill z5--z6--z7--z8--z9--z10--z14--z15--z16--z17--z18--cycle;
+endchar;
+beginchar("5",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_d";
+ full_balken;
+ common_triangle;
+ x5=center-2thin;
+ z5=whatever[z11,z12];
+ z6=(x5,2/3[y9,y5]+.5thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3[y9,y5]-.5thin);
+ z9=(x5,1/3height+n);
+ z10=(center+2thin,1/3height-n);
+ z14=(x10,y8+thin);
+ z15=(x7+3thin,1/2[y14,y16]);
+ z16=(x10,y6-thin);
+ x17=x10;
+ z17=whatever[z12,z13];
+
+ fill z5--z6{left}..z7..{right}z8--z9--z10--
+ z14{left}..z15..{right}z16--z17--cycle;
+endchar;
+
+beginchar("6",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_dh";
+ full_balken;
+ common_triangle;
+ g_horn(2);
+ z5=(center-2thin,height-2n);
+ z6=(x5,2/3height-2thin);
+ z7=(x5-4thin,1/2[y6,y8]);
+ z8=(x5,1/3height);
+ z9=(center+2thin,y8);
+ z10=(x9,y9+thin);
+ z14=(x7+3thin,y7);
+ z15=(x9,y6-.5thin);
+ z16=(x9,y5);
+
+ fill z5--z6{left}..z7..{right}z9--
+ z10{left}..z14..{right}z15--z16--cycle;
+
+endchar;
+
+beginchar("7",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_b";
+ full_balken;
+ common_triangle;
+
+ x16=center+2thin;
+ y16=y17-thin;
+ x17=x19=x21=center;
+ y17=5/6height;
+ y19=1/3height+2thin;
+ y21=2/3[y19,y17];
+ x18=margin+thin;
+ x20=width-3thin;
+ y18=1/2[y17,y19];
+ y20=1/2[y19,y21];
+ x22=center-1thin;
+ y22=y21-thin;
+
+ z23=(center,y21-thin);
+ z24=(x20-1.5thin,y20);
+ z25=(x19,y19+1.5thin);
+ z26=(x18+1.5thin,y18);
+ z27=(center,y17-.75thin);
+
+ fill z16..z17..z18..z19..z20..z21..z22
+ & z22..z23..z24..z25..z26..z27..z16 & cycle;
+endchar;
+
+beginchar("8",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\_bh";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ x16=center+2thin;
+ y16=y17-thin;
+ x17=x19=x31=center;
+ y17=2/3height-thin;
+ y19=1/3height;
+ y31=2/3[y19,y17];
+ x18=margin+thin;
+ x30=width-3thin;
+ y18=1/2[y17,y19];
+ y30=1/2[y19,y31];
+ x32=center-1thin;
+ y32=y31-thin;
+
+ z33=(center,y31-thin);
+ z34=(x30-1.5thin,y30);
+ z35=(x19,y19+1thin);
+ z36=(x18+1.5thin,y18);
+ z37=(center,y17-.75thin);
+
+ fill z16..z17..z18..z19..z30..z31..z32
+ & z32..z33..z34..z35..z36..z37..z16 & cycle;
+endchar;
+
+beginchar("9",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d s";
+ full_balken;
+ common_triangle;
+
+ z71=(margin,5/6height);
+ z88=(margin,y71-3thin);
+ z73=(width,y71);
+ z74=(width,y88);
+ z77=(width,1/3height);
+ z76=(width,y77+3thin);
+ z75=(whatever,1/2[y74,y76]);
+ z75=whatever[z71,z76];
+ z72=whatever[z71,z76];
+ z72=(center,whatever);
+ z78=(center,y72-3thin);
+ z88=(margin,y74);
+ z87=whatever[z88,z77];
+ z87=whatever[z72,z73];
+ z81=(margin,y76);
+ z82=1/12[z81,z87];
+ z83=1/2[z82,z85];
+ z84-z83=7/6(z82-z85) rotated 90;
+ z85=2/3[z81,z87];
+ z86=9/12[z81,z87];
+ z79=whatever[z74,z75];
+ z86-z79=whatever*(z81-z73) rotated 90;
+ z80-z83=5/3(z82-z85) rotated 90;
+ z89-z81=whatever*(z81-z73) rotated 90;
+ z89=whatever[z75,z74];
+
+ fill z87--z88--z71--z72--z73--z74--z75--z76--z77--z78--z79
+ & z79{z84-z83}..z80..{z83-z84}z89
+ ---z89--z81--z82{z84-z83}..z84..{z83-z84}z85--z87 & cycle;
+endchar;
+
+beginchar(":",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "ky";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(x18-1/3o_width,1/3height-3thin);
+ z20=(x18+1/3o_width,y19);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z19{up}..z18..{down}z20--z19 & cycle;
+endchar;
+
+beginchar(";",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kr";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(x18-1/3o_width,1/3height-3thin);
+ z20=(x18+1/3o_width,y19);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z18--z19--z20--cycle;
+endchar;
+
+beginchar("<",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kl";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z21=(margin+1thin,2/3height-2thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height-2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+endchar;
+
+beginchar(">",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "km";
+ full_k_balken;
+ k_triangle;
+ g_horn(1);
+
+ x5=x8=center-1thin;
+ x6=x7=center+3thin;
+ z7=whatever[z13,z12];
+ z8=whatever[z12,z11];
+ y5=y6-2n=1/2height+thin;
+
+ z14=(x6,1/2[y6,y7]+.75thin);
+ z15=(width,y14);
+ z16=(x15,y14-1.5thin);
+ z17=(x14,y16);
+
+ z18=(center,y5-2thin);
+ z19=(center,1/3height-3thin);
+
+ fill z5--z6--z7--z8--cycle;
+ fill z14--z15--z16--z17--cycle;
+
+ pickup pencircle scaled 1.5thin;
+ draw z18..z19..cycle;
+endchar;
+
+beginchar("?",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "kk";
+ g_horn(1);
+
+ z10=(margin,height);
+ z11=(margin+2thin,height-1.25thin);
+ z12=(margin,y11);
+ z13=(center+thin,height-3thin);
+
+ z14=(center-thin,whatever);
+ z14=whatever[z12,z13];
+ z15=(x14,1/3height+thin);
+ z16=(center+3thin,1/3height-thin);
+ z17=(x16,whatever);
+ z18=(width+2thin,y11);
+ z17=whatever[z13,z18];
+
+ z19=(x18-2thin,y11);
+ z20=(x18,height);
+
+ z21=(width,whatever);
+ z24=(width+bwidth,whatever);
+ z21-z24=whatever*(z13-z18);
+
+ y21=y25-1.5n;
+ x25=width;
+ z25=whatever[z13,z18];
+
+ y22-2n=y23=0;
+ x22=x21;
+ x23=x24;
+
+ x26=x29=x16;
+ x27=x28=width;
+ y26=y27=y75;
+ y28=y29=y73;
+
+ fill z20--z10--z11--z12--z14--z15--z16--z17--z18--z19--z20--cycle;
+ fill z21--z22--z23--z24--cycle;
+ fill z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("A",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\.nk";
+ z11=(margin,height);
+ z12=(center+1thin,height-3n);
+ z13=(width+1/2bwidth,height);
+ z14=(center-thin,whatever);
+ z14=whatever[z11,z12];
+ z31=(center+3thin,whatever);
+ z31=whatever[z12,z13];
+ z15=(x14,5/6height+.75thin);
+ z16=(1/2[x11,x14],y15);
+ z17=(margin,y16+2thin);
+ z18=(margin,y19-2thin);
+ z19=(x16,5/6height-.75thin);
+ z20=(x14,y19);
+ z21=(x14,1/3height+thin);
+ z22=(x31,1/3height-thin);
+ z23=(x31,1/2height-.75thin);
+ z24=(width,y23);
+ z32=(width,2n);
+ z33=(width+bwidth,0);
+ z34=(x33,2/3height-.75thin);
+ z35=(x32,y34);
+ z25=(x24,y24+1.5thin);
+ z26=(x31,y25);
+ z27=(x31,y20);
+ z28=(x24,y20);
+ z36=(x32,y35+1.5thin);
+ z37=(x33,y36);
+ z38=(x33,height);
+ z39=(x36,height-2n);
+ z29=(x28,y15);
+ z30=(x31,y15);
+
+ x71=x72=margin+thin;
+ x77=x78=x71+2thin;
+ x73=x76=x77+thin;
+ x74=x75=center-thin;
+
+ y71=y78=y18-thin;
+ y75=y76=y26;
+ y73=y74=y23;
+ y72=y77=y75+thin;
+
+ fill z71---z72{down}..{right}z73---z74--z75
+ ---z76{left}..{up}z77---z78--cycle;
+
+ fill z11--z14--z15--z16--z17--z18--z19--z20--z21--z22
+ --z23--z24--z32--z33--z34--z35--z25--z26
+ --z27--z28--z36--z37--z38--z39--z29--z30--z31--z13--cycle;
+
+endchar;
+beginchar("E",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\=nc";
+ full_balken;
+ common_triangle;
+
+ z23=(center,y12-1thin);
+ z21=(center,1/2[y23,y25]);
+ z20=1/2[z21,z22];
+ z22=(whatever,1/2[y21,y23]);
+ z28=(center,1/3height-2thin);
+ z25=(center,6/12[y23,y28]);
+ z22-z23=(z22-z21) rotated 90;
+ y24=y21;
+ z23-z24=whatever*(z23-z28) rotated 45;
+ z23-z24=whatever*(z22-z21);
+ z27=(x24,1/2[y25,y28]);
+ z26=(margin+1/6o_width,whatever);
+ z26=whatever[z25,z27];
+ z29=(margin+1/6o_width,whatever);
+ z29-z28=whatever*(z26-z27);
+
+ pickup pensquare scaled 1.5thin rotated 45;
+ draw z21--z22--z23--z24--z25;
+ draw z26--z27--z28--z29;
+endchar;
+
+beginchar("|",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\d n\d t";
+ full_balken;
+ common_triangle;
+ z14=(center-2thin,height-4thin);
+ z15=(x14,1/9[y14,y23]);
+ z16=(x14-2.5thin,1/2[y15,y17]);
+ z17=(x14,3/9[y14,y23]);
+ z18=(x14,5/9[y14,y23]);
+ z19=(x16,1/2[y18,y20]);
+ z20=(x14,1/2[y18,y22]);
+ z21=(x16,1/2[y20,y22]);
+ z22=(x14,8/9[y14,y23]);
+ z23=(x14,1/3height+thin);
+
+ z24=(center+2thin,1/3height-thin);
+ z25=(x24,y18);
+ z26=(width,y18);
+ z27=(width,y17);
+ z28=(x24,y17);
+ z29=(x24,y14);
+
+ fill z14--z15--z16--z17--z18--z19--z20--z21--z22
+ --z23--z24--z25--z26--z27--z28--z29--cycle;
+endchar;
+
+beginchar("~",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "nt";
+ full_balken;
+ common_triangle;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/6height+.05thin);
+ z32=(margin+1/3o_width,y31+1/4height-.05thin);
+ z38=(x32,y32-1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,y32-1/3height+2thin);
+ z36=(x32,y34+1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+ z39=(width,y31-.1thin);
+
+ z40=(width-1/6o_width,2/3height-2thin);
+ z41=(width-2/3o_width+2thin,1/2[y40,y42]);
+ z42=(x40,5/6height);
+ z43=(width,y41);
+ z44=(x40,y41);
+ pickup pencircle scaled 1.5thin;
+ draw z40{left}..z41..{right}z42--z40 & cycle;
+ draw z43--z44;
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.7..z39
+ & z39..z31 & cycle;
+endchar;
+
+beginchar("P",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "mp";
+ full_balken;
+ common_triangle;
+ upper_fish;
+
+ % Wie Lower Fish, nur spiegelverkehrt
+ z31=(width,2/6height);
+ z32=(margin+1/3o_width,y31-1/6height);
+ z38=(x32,y32+1.5thin);
+ z33=(margin,1/2[y34,y32]);
+ z37=(x33+1.5thin,y33);
+ z34=(x32,y31+1/6height-2thin);
+ z36=(x32,y34-1.25thin);
+ z35=(margin+5/12o_width,3/2[y34,y36]);
+
+ z39=(center,2/3height-1.5thin);
+ z40=(center,1/3height+3thin);
+
+ fill z31..tension 1.8..z32..z33..z34..z35
+ & z35..z36..z37..z38..tension 1.8..z31 & cycle;
+
+ pickup pencircle scaled 1.5thin;
+
+ draw z39..z40..cycle;
+endchar;
+
+beginchar("Y",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "lk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z61=(margin,height-thin);
+ z62=(whatever,y61);
+ z62=whatever[z11,z12];
+ z63=(margin,height-2thin);
+ z64=(whatever,y63);
+ z64=whatever[z11,z12];
+
+ fill z61--z62--z64--z63--cycle;
+endchar;
+
+beginchar("[",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "\vsk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z61=(margin+1thin,height-thin);
+ z62=(whatever,y61);
+ z62=whatever[z11,z12];
+ z63=(margin+1thin,height-2thin);
+ z64=(whatever,y63);
+ z64=whatever[z11,z12];
+
+ z65=(x64-1.5thin,height-4thin);
+ z66=(x64-.5thin,y65);
+ z67=(x64-.5thin,y64);
+ z68=(x64-1.5thin,y64);
+
+ fill z61--z62--z64--z63--cycle;
+ fill z68--z65--z66--z67--cycle;
+endchar;
+
+beginchar("]",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "sk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z14=5/12[z11,z12];
+ z15=(x14,y14-3thin);
+ z16=(whatever,1/2[y14,y15]);
+ z16-z15=(z14-z15) rotated 60;
+
+ fill z14--z15--z16--cycle;
+endchar;
+
+beginchar("f",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "rk";
+ k_triangle;
+ full_k_balken;
+ middle_k_beam;
+ hor_k_beam;
+ shorter_g_horn(1);
+
+ z14=whatever[z11,z12];
+ z14=whatever[z5,z8];
+ z15=3/12[z11,z14];
+ z16=9/12[z11,z14];
+ z17=1/2[z11,z14];
+ z18-z17=8/6(z15-z16) rotated 90;
+
+ fill z15--z16--z18--cycle;
+endchar;
+
+beginchar("Z",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "Z";
+ x20=x22=center;
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+endchar;
+
+beginchar("C",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "C";
+ x20=x22=center;
+ x21=width;
+ lft x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+
+ pickup pencircle scaled thin;
+ draw z20--z22;
+endchar;
+
+beginchar("J",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "J";
+ x20=x22=center;
+ x21=width;
+ x23=margin;
+ y20=y12-thin;
+ y22=y20-o_width;
+ y21=y23=.5[y22,y20];
+
+ full_balken;
+ common_triangle;
+ pickup pensquare scaled 2thin rotated 45;
+ draw z20--z21--z22--z23--cycle;
+ pickup pencircle scaled thin;
+ draw z21--z23;
+endchar;
+
+beginchar("X",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "X";
+ full_balken;
+ common_triangle;
+ upper_fish;
+ x31=margin+1/4o_width;
+ x32=center;
+ x33=margin+3/4o_width;
+ y31=y33=1/3height;
+ y32=2/3height-2thin;
+
+ pickup pencircle scaled 2thin ;
+ draw z31{up}..z32..{down}z33 ;
+endchar;
+
+beginchar("q",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "z";
+ full_balken;
+ common_triangle;
+ z21=(margin+1thin,5/6height-1thin);
+ z22=(margin,1/9[y21,y29]);
+ z23=(margin+1/3o_width,4/9[y21,y29]);
+ z24=(x23+2thin,y23);
+ z25=(width-thin,y24+thin);
+ z26=(x25,y25+thin);
+ z27=(x23+thin,y23+thin);
+ z28=(margin+2thin,y22);
+
+ z29=(x21,1/3height+2thin);
+
+ z30=(x22,8/9[y21,y29]);
+ z31=(x23,5/9[y21,y29]);
+ z32=(x24,y31);
+ z33=(x25,y32-thin);
+ z34=(x33,y33-thin);
+ z35=(x27,y32-thin);
+ z36=(x28,y30);
+
+ z37=(width,1/6height+.5thin);
+ z38=(width-1/4o_width,y37);
+ z39=(x38,y37-1thin);
+ z40=(x37,y39);
+
+ fill z21..z22..z23..z24..z25--z26..z27..{up}z28..z21..cycle;
+ fill z23--z24--z32--z31--cycle;
+ fill z29..z30..z31..z32..z33--z34..z35..{down}z36..z29..cycle;
+ fill z37--z38--z39--z40--cycle;
+endchar;
+
+beginchar("@",margin#+width#+bwidth#,height#+2pt#,depth#);
+ "'a";
+ full_balken;
+ common_triangle;
+ z21=(center-.05thin,1/3height);
+ z27=(center,height-3n-thin);
+ z23=(center,y27-1.5thin);
+ z26=(margin+2thin,2/3[y21,y27]);
+ z24=(x26+1.5thin,y26);
+ z28=(width-2thin,y26);
+ z22=(x28-1.5thin,y26);
+ z25=(3/2[x26,x24],5/12[y27,y21]);
+ z29=(center+.05thin,1/3height);
+
+ fill z21{up}..tension 1.1..z22..z23..z24..z25
+ & z25..z26..z27..z28..tension 1.2..{down}z29
+ & z29..z21 & cycle;
+endchar;
+
+beginchar("}",margin#+bwidth#+width#+bwidth#,vheight#+2pt#,depth#);
+ "Soyombo Terminal";
+ % Linker Balken
+ z1=(margin,0);
+ z2=(margin+bwidth,0);
+ z3=(x2,height);
+ z4=(x1,height);
+ fill z1--z2--z3--z4--cycle;
+
+ % Rechter Balken
+ z5=(bwidth+width,0);
+ z6=(bwidth+width+bwidth,0);
+ z7=(x6,height);
+ z8=(x5,height);
+ fill z5--z6--z7--z8--cycle;
+
+ % Symmetrieachse festlegen
+ z9=(1/2[x2,x5],0.25thin);
+ z10=(x9,height);
+
+ % Unterer Lotusbluetenboden, linke Haelfte
+ z11=(1/3[x12,x9],1.75thin);
+ z12=(2/3[x2,x9],0.25thin);
+ z13=(1/3[x14,x12],1.25thin);
+ z14=(1/3[x2,x9],0.25thin);
+ pickup pencircle scaled .5thin;
+ draw z9{up}..z11..{down}z12 & z12{up}..z13..{down}z14;
+
+ % Unterer Lotusbluetenboden, rechte Haelfte
+ z15=z11 reflectedabout (z9,z10);
+ z16=z12 reflectedabout (z9,z10);
+ z17=z13 reflectedabout (z9,z10);
+ z18=z14 reflectedabout (z9,z10);
+ draw z9{up}..z15..{down}z16 & z16{up}..z17..{down}z18 & z18--z14;
+
+ % Erstes Blatt links
+ z20=(x9,2thin);
+ z21=(x12,2.5thin);
+ z22=(x14,1.5thin);
+ z23=(x21,3.5thin);
+ draw z20..z21..z22 & z22..z23..z20;
+
+ % Erstes Blatt rechts
+ z24=z21 reflectedabout (z9,z10);
+ z25=z22 reflectedabout (z9,z10);
+ z26=z23 reflectedabout (z9,z10);
+ draw z20..z24..z25 & z25..z26..z20;
+
+
+ % Vertikales Blatt
+ z37=(2/3[x11,x9],2/3[y9,y38]);
+ z38=(x9,1/4[y9,y10]);
+ z39=z37 reflectedabout (z9,z10);
+ draw z20..z37..z38 & z38..z39..z20;
+
+ % Zweites Blatt links
+ z27=(x13,y37);
+ z28=(1/2[x2,x14],y27-thin);
+ z29=(x13,y27+thin);
+ draw z20..z27..z28 & z28..tension 1.5..z29..tension 1.5..z20;
+
+ % Zweites Blatt rechts
+ z30=z27 reflectedabout (z9,z10);
+ z31=z28 reflectedabout (z9,z10);
+ z32=z29 reflectedabout (z9,z10);
+ draw z20..z30..z31 & z31..tension 1.5..z32..tension 1.5..z20;
+
+ % Drittes, kleines Blatt links
+ z33=(1/2[x37,x34],y37+thin);
+ z34=(x11,y37);
+ % draw z37..z33..z34;
+
+ % Drittes, kleines Blatt rechts
+ z35=z33 reflectedabout (z9,z10);
+ z36=z34 reflectedabout (z9,z10);
+ % draw z39..z35..z36;
+
+ % Gluehbirne
+ z40=(x28,height-4thin);
+ z41=(x9,vheight);
+ z42=z40 reflectedabout (z9,z10);
+ path leftglass, rightglass;
+ leftglass=(z37...z40{up}..{up}z41);
+ rightglass=(z41{down}..{down}z42...z39);
+ draw leftglass & rightglass;
+
+ % Gluehfaden
+ path Horizontale;
+ Horizontale=((x2,1/2height)--(x5,1/2height));
+ z43=Horizontale intersectionpoint leftglass;
+ z44=(2/3[x43,x9],y43+2thin);
+ z45=(1/2[x43,x9],y40);
+ z46=(x9,height-thin);
+ z47=z45 reflectedabout (z9,z10);
+ z48=z44 reflectedabout (z9,z10);
+ z49=z43 reflectedabout (z9,z10);
+ draw z43..z44..z45..z46..z47..z48..z49;
+ penlabels(range 1 thru 50);
+endchar;
+
+font_normal_space 1/2full_w#;
+font_x_height height#;
+font_quad full_w#;
+font_extra_space .25full_w#;
+
+end.
diff --git a/language/mongolian/soyombo/soyombo.sty b/language/mongolian/soyombo/soyombo.sty
new file mode 100644
index 0000000000..fcc9106187
--- /dev/null
+++ b/language/mongolian/soyombo/soyombo.sty
@@ -0,0 +1,95 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: soyombo.sty
+% Date: August 20, 1996
+% Author: Oliver Corff
+% (c) 1996 Ulaanbaatar, Macau, Berlin
+%
+% A package for providing the Soyombo
+% script to LaTeX-users.
+%
+% Usage: \usepackage{soyombo}
+%
+% No options.
+%
+% Provides the commands '\soyombo' for switching to the
+% Soyombo font (there is only one style. Size options
+% are recognized) and \Soyombo (which enters the Soyombo
+% symbol into the file. Useful for chapter beginnings,
+% etc.!
+%
+% NB: This package requires LaTeX2e!
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Identification
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{soyombo}[1996/09/01 v0.9 Soyombo for LaTeX2e]
+%
+%
+% Preliminary declarations
+%
+\DeclareFontFamily{OT1}{sor}{}
+\DeclareFontShape{OT1}{sor}{m}{n}{%
+ <-> soyombo}{}
+%
+\DeclareFontFamily{OT1}{sot}{}
+\DeclareFontShape{OT1}{sot}{m}{n}{%
+ <-> soyombot}{}
+%
+\DeclareTextSymbol{\sST}{OT1}{35}
+%
+% The two author commands \Soyombo and \soyombo are declared here.
+%
+% This command is only used internally:
+%
+\newcommand{\SoyomboTemdegFont}{%
+ \usefont{OT1}{sot}{m}{n}\selectfont
+ \fontsize{\f@size}{\f@baselineskip}\selectfont
+ }
+\newcommand{\Soyombo}{{\SoyomboTemdegFont \sST}}
+
+\newcommand{\soyombo}{%
+ \usefont{OT1}{sor}{m}{n}\selectfont
+ \fontsize{\f@size}{\f@baselineskip}\selectfont
+ }
+%
+\DeclareTextSymbol{\sA}{OT1}{123}
+\DeclareTextSymbol{\sks}{OT1}{33}
+\DeclareTextSymbol{\sri}{OT1}{37}
+\DeclareTextSymbol{\sli}{OT1}{38}
+\DeclareTextSymbol{\sky}{OT1}{58}
+\DeclareTextSymbol{\skr}{OT1}{59}
+\DeclareTextSymbol{\skl}{OT1}{60}
+\DeclareTextSymbol{\skm}{OT1}{62}
+\DeclareTextSymbol{\skk}{OT1}{63}
+\DeclareTextSymbol{\snk}{OT1}{65}
+\DeclareTextSymbol{\snc}{OT1}{69}
+\DeclareTextSymbol{\snt}{OT1}{124}
+\DeclareTextSymbol{\snd}{OT1}{126}
+\DeclareTextSymbol{\smb}{OT1}{80}
+\DeclareTextSymbol{\slk}{OT1}{89}
+\DeclareTextSymbol{\sSk}{OT1}{91}
+\DeclareTextSymbol{\ssk}{OT1}{93}
+\DeclareTextSymbol{\srk}{OT1}{102}
+\DeclareTextSymbol{\sg}{OT1}{40}
+\DeclareTextSymbol{\sgh}{OT1}{41}
+\DeclareTextSymbol{\sjh}{OT1}{44}
+\DeclareTextSymbol{\sth}{OT1}{49}
+\DeclareTextSymbol{\sdd}{OT1}{50}
+\DeclareTextSymbol{\sdh}{OT1}{51}
+\DeclareTextSymbol{\sdn}{OT1}{52}
+\DeclareTextSymbol{\sD}{OT1}{53}
+\DeclareTextSymbol{\sDH}{OT1}{54}
+\DeclareTextSymbol{\sB}{OT1}{55}
+\DeclareTextSymbol{\sBH}{OT1}{56}
+\DeclareTextSymbol{\sds}{OT1}{57}
+\DeclareTextSymbol{\sKY}{OT1}{0}
+\DeclareTextSymbol{\sO}{OT1}{125}
+%
+% Options
+% No options with this package.
+%
+% No More declarations
+%
+% End of file `soyombo.sty'.
diff --git a/language/mongolian/soyombo/soyombo.tfm b/language/mongolian/soyombo/soyombo.tfm
new file mode 100644
index 0000000000..07a5c7fbcb
--- /dev/null
+++ b/language/mongolian/soyombo/soyombo.tfm
Binary files differ
diff --git a/language/mongolian/soyombo/soyombot.mf b/language/mongolian/soyombo/soyombot.mf
new file mode 100644
index 0000000000..d532a04753
--- /dev/null
+++ b/language/mongolian/soyombo/soyombot.mf
@@ -0,0 +1,145 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% File: soyombot.mf
+% Date: August 20, 1996
+% Author: Oliver Corff
+% (c) 1996 Ulaanbaatar, Macau, Berlin
+%
+% A metafont for providing the Soyombo symbol to LaTeX-users.
+%
+% Usage: see package soyombo
+%
+% No options.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% This font contains only one character, the Soyombo. %%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+mode_setup;
+ mg:=3/4;
+ n#:=mg*pt#;
+ width#:=mg*24pt#;
+ height#:=mg*45pt#;
+ depth#:=mg*0pt#;
+ y_ofs#:=mg*0pt#;
+ center#:=.5width#;
+
+ define_pixels(width,height,depth,
+ n,y_ofs,center);
+
+ font_size = 10pt#;
+
+beginchar("#",width#,height#,depth#);
+ "Soyombo";
+ % First the vertical walls:
+ x1=x4=x2-5n=x3-5n=center-11n;
+ x5+5n=x8+5n=x6=x7=center+11n;
+ y1=y2=y5=y6=0-y_ofs;
+ y3=y4=y7=y8=24n-y_ofs;
+ fill z1--z2--z3--z4--cycle;
+ fill z5--z6--z7--z8--cycle;
+
+ % Now the triangles:
+ x10=x13=center;
+ x9=x12=center-5n;
+ x11=x14=center+5n;
+ y9=y11=3n-y_ofs;
+ y10=0-y_ofs;
+ y12=y14=y4;
+ y13=y12-3n;
+ fill z9--z10--z11--cycle;
+ fill z12--z13--z14--cycle;
+
+ % Now the horizontal walls:
+ x15+5n=x18+5n=x19+5n=x22+5n=center=x16-5n=x17-5n=x20-5n=x21-5n;
+ y15=y16=y9+1n;
+ y17=y18=y15+2n;
+ y19=y20=y21-2n;
+ y21=y22=y13-1n;
+ fill z15--z16--z17--z18--cycle;
+ fill z19--z20--z21--z22--cycle;
+
+ % Now the Yin and Yang:
+ % First the "big" circle:
+ x23=x24=center;
+ y23=y18+1n;
+ y24=y19-1n;
+ fill z23..z24..cycle;
+
+ % Then one "eye":
+ x25=x26=center;
+ y25=y23+2.35n-1n;
+ y26=y23+2.25n+1n;
+ unfill z25..z26..cycle;
+
+ % And the other "eye":
+ x27=x28=center;
+ y27=y24-2.35n-1n;
+ y28=y24-2.25n+1n;
+ unfill z27..z28..cycle;
+
+ % Finally the separation between the two fishes:
+ pickup pencircle scaled .5n;
+ undraw halfcircle rotated 90 scaled 5.30n shifted (center,.5[y25,y26]) ;
+ undraw halfcircle rotated 270 scaled 5.30n shifted (center,.5[y27,y28]);
+
+ % Now the moon:
+ x29+5.5n=x31-5.5n=center;
+ x30=x32=center;
+ y29=y31=y4+6.5n;
+ y30=y4+1n;
+ y32=y30+2n;
+
+ fill z29..z30..z31 & z31..z32..z29 & cycle;
+
+ % Now the sun:
+ x33=x34=center;
+ y33=y32+1n;
+ y34=y33+8n;
+ fill z33..z34..cycle;
+
+ % Now the flame:
+ x126=x113=center;
+ x101+2.5n=center;
+ x125-2.5n=center;
+ x102=x107=center-1.75n;
+ x103=center-1.75n;
+ x119=x121=center+1.5n;
+ x104=x108=center-1n;
+ x106=center-1.25n;
+ x110=center-.5n;
+ x111=center-.25n;
+ x105=center-1.5n;
+ x109=x112=center-.5n;
+ x114=center-1/4n;
+ x115=center+.75n;
+ x116=x117=center+0.5n;
+ x118=x122=center+1n;
+ x120=center+1.25n;
+ x123=center+2n;
+ x124=center+1.75n;
+
+
+ y126=y34+n;
+ y101=y108=y118=y125=y126+2.5n;
+ y102=y106=y120=y124=y101+1.25n;
+ y103=y105=y110=y115=y121=y123=y101+2n;
+ y104=y122=y111-.25n=y101+3n;
+ y107=y109=y117=y119=y101+.5n;
+ y116=y101+1n;
+ y112=y114=y101+4n;
+ y113=y101+5.5n;
+
+ fill z125..z126..z101 % lower half circle
+ ..flex(z101,z102,z103,z104) % left small flame
+ & flex(z104,z105,z106,z107) % left small flame
+ ..z107..z108..z109 % left flame separator
+ ..flex(z109,z110,z111,z112,z113)% central flame
+ & flex(z113,z114,z115,z116,z117)% central flame
+ ..z117..z118..z119 % right flame separator
+ ..flex(z119,z120,z121,z122) % right small flame
+ & flex(z122,z123,z124,z125) % right small flame
+ ..cycle;
+ penlabels(range 1 thru 125);
+endchar;
+
+end.
diff --git a/language/mongolian/soyombo/soyombot.tfm b/language/mongolian/soyombo/soyombot.tfm
new file mode 100644
index 0000000000..c04f4e7a8f
--- /dev/null
+++ b/language/mongolian/soyombo/soyombot.tfm
Binary files differ