summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/archaic/hieroglf.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/fonts/archaic/hieroglf.dtx')
-rw-r--r--Master/texmf-dist/source/fonts/archaic/hieroglf.dtx5840
1 files changed, 5840 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/archaic/hieroglf.dtx b/Master/texmf-dist/source/fonts/archaic/hieroglf.dtx
new file mode 100644
index 00000000000..998d590d6b3
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/archaic/hieroglf.dtx
@@ -0,0 +1,5840 @@
+% \iffalse meta-comment
+%
+% hieroglf.dtx
+%
+% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net
+% Copyright 2000--2005 Peter R. Wilson
+%
+% This work may be distributed and/or modified under the
+% conditions of the Latex Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2003/06/01 or later.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% This work consists of the files listed in the README file.
+%
+% If you do not have the docmfp package (available from CTAN in
+% tex-archive/macros/latex/contrib), comment out the
+% \usepackage{docmfp} line below and uncomment the line following it.
+%
+%<*driver>
+\documentclass[twoside]{ltxdoc}
+\usepackage{docmfp}
+%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{}
+\usepackage{hieroglf}
+\usepackage{url}
+\usepackage[draft=false,
+ plainpages=false,
+ pdfpagelabels,
+ bookmarksnumbered,
+ hyperindex=false
+ ]{hyperref}
+\providecommand{\phantomsection}{}
+\OnlyDescription %% comment this out for the full glory
+\EnableCrossrefs
+\CodelineIndex
+\setcounter{StandardModuleDepth}{1}
+\makeatletter
+ \@mparswitchfalse
+\makeatother
+\renewcommand{\MakeUppercase}[1]{#1}
+\pagestyle{headings}
+\newenvironment{addtomargins}[1]{%
+ \begin{list}{}{%
+ \topsep 0pt%
+ \addtolength{\leftmargin}{#1}%
+ \addtolength{\rightmargin}{#1}%
+ \listparindent \parindent
+ \itemindent \parindent
+ \parsep \parskip}%
+ \item[]}{\end{list}}
+\begin{document}
+ \raggedbottom
+ \DocInput{hieroglf.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{12458}
+%
+% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath}
+% \DoNotIndex{\@centercr,\@cite}
+% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
+% \DoNotIndex{\@input,\@ixpt,\@m}
+% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint}
+% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
+% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
+% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
+% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace}
+% \DoNotIndex{\advance,\Alph,\alph}
+% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box}
+% \DoNotIndex{\bullet}
+% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption}
+% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass}
+% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist}
+% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup}
+% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter}
+% \DoNotIndex{\fbox}
+% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef}
+% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule}
+% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi}
+% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi}
+% \DoNotIndex{\input}
+% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark}
+% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright}
+% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment}
+% \DoNotIndex{\NeedsTeXFormat,\newdimen}
+% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number}
+% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@}
+% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip}
+% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions}
+% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright}
+% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font}
+% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman}
+% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength}
+% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space}
+% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase}
+% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt}
+% \DoNotIndex{\viipt,\vipt,\vskip,\vspace}
+% \DoNotIndex{\wd,\xiipt,\year,\z@}
+% \DoNotIndex{\0,\1,\2,\3,\4,\5,\6,\7,\8,\9}
+%
+% \changes{v1.0}{2000/08/19}{First public release}
+% \changes{v1.1}{2000/08/26}{Added 6 extra glyphs}
+% \changes{v1.2}{2000/09/23}{Added glyphs A1, F20, Y4, Z2, Z4}
+% \changes{v1.2}{2000/09/23}{Added number glyphs C11, D50, I8, M12, V1, V20}
+% \changes{v1.3}{2005/04/02}{Minor updates for changed circumstances and Postscript}
+%
+% \def\fileversion{v1.0} \def\filedate{2000/08/19}
+% \def\fileversion{v1.1} \def\filedate{2000/08/26}
+% \def\fileversion{v1.2} \def\filedate{2000/09/23}
+% \def\fileversion{v1.3} \def\filedate{2005/04/02}
+% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package
+% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option
+% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file
+% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter
+% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle
+% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment
+% \newcommand{\BC}{\textsc{bc}}
+% \newcommand{\AD}{\textsc{ad}}
+%
+% \title{\Lpack{Hieroglf}: The Poor Man's Hieroglyphic Font\thanks{This
+% file has version number \fileversion, last revised
+% \filedate.}}
+%
+% \author{%
+% Peter Wilson\thanks{\texttt{herries dot press at earthlink dot net}}\\
+% Herries Press
+% }
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% The \Lpack{hieroglf} bundle provides a Postscript Type1 rendition of some
+% of the ancient Egyptian's hieroglyphs.
+% Hieroglyphic writing was used between about 3000~\BC{} and 400~\AD.
+%
+% It is based on Serge Rosmorduc's \Lpack{hieroglyph} package but
+% only provides one tenth of his 650 odd hieroglyphs. Sufficient
+% glyphs are provided for writing a few names, like Cleopatra or
+% Ptolemy, but the package is not for serious Egyptologists.
+%
+% The package also requires the use of the \Lpack{oands} package.
+% \end{abstract}
+% \tableofcontents
+% \listoftables
+%
+%
+%
+%
+% \section{Introduction}
+%
+% The font presented here is a rendition of a very small fraction
+% of the hieroglyphs used by the ancient Egyptians between about
+% 3000~\BC{} and 400~\AD.
+% It is one of a series of fonts that was initially intended
+% to show how the Latin alphabet has evolved from its original Phoenician form
+% to its present day appearance.
+%
+% This manual is typeset according to the conventions of the
+% \LaTeX{} \textsc{docstrip} utility which enables the automatic
+% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}.
+%
+% Section~\ref{sec:usc} describes the usage of the package.
+% Commented code for a Metafont version of the fonts and the package code
+% may be in later sections.
+%
+% \subsection{An alphabetic tree}
+%
+% Scholars are reasonably agreed that all the world's alphabets are descended
+% from a Semitic alphabet invented about 1600~\BC{} in the Middle
+% East~\cite{DRUCKER95}. The word `Semitic' refers
+% to the family of languages used in the geographical area from
+% Sinai in the south, up the Mediterranean coast to Asia Minor in the north and
+% west to the valley of the Euphrates.
+%
+% The Phoenician alphabet was stable by about 1100~\BC{} and the script was
+% written right to left. In earlier times the writing direction was variable,
+% and so were
+% the shapes and orientation of the characters. The alphabet consisted of
+% 22 letters and they were named after things. For example, their first two
+% letters were called \textit{aleph} (ox), and \textit{beth} (house).
+% The Phoenician script had
+% only one case --- unlike our modern fonts which have both upper- and
+% lower-cases. In modern day terms the Phoenician abecedary was: \\
+% A B G D E Y Z H $\Theta$ I K L M N X O P ts Q R S T \\
+% where the `Y' (\textit{vau}) character was sometimes written as `F' and
+% `ts' stands for the \textit{tsade} character.
+%
+% The Greek alphabet is one of the descendants of the Phoenician alphabet;
+% another was Aramaic which is the ancestor of the Arabic, Persian and Indian
+% scripts.
+% Initially Greek was written right to left but around the 6th C~\BC{} became
+% \textit{boustrophedron}, meaning that the lines
+% alternated in direction. At about 500~\BC{} the writing direction stabilised
+% as left to
+% right. The Greeks modified the Phoenician alphabet to match the vocalisation
+% of their language. They kept the Phoenician names of the letters, suitably
+% `greekified', so \textit{aleph} became the familar \textit{alpha} and
+% \textit{beth} became \textit{beta}. At this
+% point the names of the letters had no meaning. There were several variants
+% of the Greek character glyphs until they were finally fixed in Athens in
+% 403~\BC.
+% The Greeks did not develop a lower-case
+% script until about 600--700~\AD.
+%
+% The Etruscans based their alphabet on the Greek one, and again modified it.
+% However, the Etruscans wrote right to left, so their borrowed characters are
+% mirror images of the original Greek ones. Like the Phoenicians, the Etruscan
+% script consisted of only one case; they died out before ever needing a
+% lower-case script. The Etruscan script was used up until the first century
+% \AD, even though the Etruscans themselves had dissappeared by that time.
+%
+%
+% In turn, the Romans based their alphabet on the Etruscan one, but as they
+% wrote left to right, the characters were again mirrored (although the early
+% Roman inscriptions are boustrophedron).
+%
+% As the English alphabet is descended from the Roman alphabet
+% it has a pedigree of some three and a half thousand years.
+%
+% \section{The \Lpack{hieroglf} package} \label{sec:usc}
+%
+% Hieroglyphs were first used by the Egyptians around about 3000~\BC, and
+% the last datable hieroglyphic inscription was created
+% in 394~\AD. The period of use was more than three millenia.
+% There is some evidence to suggest that at least some of the signs
+% in what might be a proto-Semitic alphabet were developed from the hieroglyphs.
+%
+% Hieroglyphs are a complete writing system and much is known about the
+% hieroglyphic signs, the Egyptian language and grammar. As one might expect
+% for a script that spans thousands of years, it changed during its lifetime.
+% To date some
+% 6000 different glyphs have been recorded, although at any given time
+% fewer than 1000 were in use, and only a small proportion of this number
+% occured frequently.
+%
+%
+% Apart from the specialised literature, the story of the hieroglyphs
+% can be found in Collier \& Manley~\cite{COLLIER98}, Davies~\cite{DAVIES87}
+% and Gordon~\cite{GORDON87}, among others. For the Egyptian numbering
+% system~\cite{DAVIES87} provides a start while for detailed information
+% Ifrah's magnificent work should be consulted~\cite{IFRAH00}.
+%
+%
+% Serge Rosmorduc has created a font set for some 650 hieroglyphs as well
+% as a comprehensive package and programs for typesetting
+% Egyptian~\cite{HIEROGLYPH}. The fonts in the \Lpack{hieroglyf} package
+% are a small subset, about one tenth, of Rosmorduc's fonts
+% (which are in the public domain). They should be sufficient to typeset some
+% Egyptian words and names, more as a curiousity than for any kind of
+% scholarly work.
+%
+% Use of the \Lpack{hieroglf} package requires that the \Lpack{oands}
+% package is also available.
+%
+% \DescribeMacro{\pmhgfamily}
+% This command selects the hieroglyphic font family.
+% The family name is |pmhg|.
+%
+% \DescribeMacro{\textpmhg}
+% The command |\textpmhg{|\meta{text}|}| typesets \meta{text} in the
+% hieroglyphic font.
+%
+% I have maintained Rosmorduc's glyph codes, which he based on a work
+% that I have not yet been able to get\footnote{The reference given is:
+% Jan Buurman, Nicolas Grimal, Michael Hainsworth, Jochen Hallof
+% and Dirk Van Der Plas, \textit{Inventaire des signes hieroglyphique en
+% vue de leur saisie informatique}.}. Essentially the glyphs come as
+% several
+% series of signs, where a series is denoted by a letter. An individual
+% sign within a series is denoted by a number. For example, the glyphs in
+% the G series are all pictures related to birds; the G39 glyph looks, at
+% least to me, like a duck standing on the ground and G40 looks like a flying
+% duck.
+%
+% \begin{table}
+% \centering
+% \caption{Commands and encoding for the signs A---N}\label{tab:basic1}
+% \begin{tabular}{lclcp{0.35\textwidth}} \hline
+% Glyph & ASCII & Command & Command & Comment \\ \hline
+% A1 & & |\HAi| & |\Hman| & kneeling man pointing (man) \\
+% A2 & I & |\HAii| & |\HI| & man pointing at mouth (eat, drink, speak) \\
+% A28 & Y & |\HAxxviii| & |\HY| & man with upraised arms (joy) \\
+% C11 & 7 & |\HCxxi| & |\Hmillion| & kneeling man with upraised arms (hh, numeral 1,000,000) \\
+% D1 & Q & |\HDi| & |\HQ| & profile of head (tp) \\
+% D2 & q & |\HDii| & |\Hq| & full face (hr) \\
+% D4 & e & |\HDiv| & |\He| & an eye (ir) \\
+% D21 & r & |\HDxxi| & |\Hr| & pointy ellipse (mouth, r) \\
+% D36 & A & |\HDxxxvi| & |\HA| & elbow, forearm and hand (the semitic gutteral ayin) \\
+% D46 & d & |\HDxlvi| & |\Hd| & hand in a mitt (d) \\
+% D47 & P & |\HDxlvii| & |\HP| & curved hand in mitt (palm of hand) \\
+% D50 & 5 & |\HDl| & |\HXthousand| & ship's ventilator (db, numeral 10,000) \\
+% D54 & L & |\HDliv| & |\HL| & legs walking left (walk, run, come, ir) \\
+% D58 & b & |\HDlviii| & |\Hb| & lower leg and foot (b) \\
+% E23 & l & |\HExxiii| & |\Hl| & lion lying down (l) \\
+% F1 & X & |\HFi| & |\HX| & ox head \\
+% F20 & & |\HFxx| & |\Htongue| & tongue (ns) \\
+% F31 & & |\HFxxxi| & |\Hms| & three brambles hanging down (ms) \\
+% F34 & G & |\HFxxxiv| & |\HG| & vase with stopper (heart, ib) \\
+% F40 & Z & |\HFxl| & |\HZ| & like a zylophone (Aw) \\
+% G1 & a & |\HGi| & |\Ha| & Egyptian vulture (glottal stop) \\
+% G17 & m & |\HGxvii| & |\Hm| & owl (m) \\
+% G26 & & |\HGxxvi| & |\Hibp| & sacred ibis on a post (dhwty) \\
+% G26* & & |\HGxxvis| & |\Hibw| & ibis (jabiru?) walking (b) \\
+% G27 & & |\HGxxvii| & |\Hibs| & short-necked ibis pecking \\
+% G28 & & |\HGxxviii| & |\Hibl| & long-necked black ibis pecking (gm) \\
+% G36 & R & |\HGxxxvi| & |\HR| & a swallow (wr) \\
+% G43 & w & |\HGxliii| & |\Hw| & a quail chick (w) \\
+% H8 & O & |\HHviii| & |\HO| & egg \\
+% I8 & 6 & |\HIviii| & |\HCthousand| & mongoose? (hfnw, numeral 100,000) \\
+% I9 & f & |\HIix| & |\Hf| & horned viper (f) \\
+% I10 & D & |\HIx| & |\HD| & cobra with dropped tail (a dj sound) \\
+% K1 & F & |\HKi| & |\HF| & fish with large dorsal fin (in) \\
+% M3 & N & |\HMiii| & |\HN| & tree branch (wood, tree, Ht) \\
+% M8 & E & |\HMviii| & |\HE| & lotus pool (SA) \\
+% M12 & 4 & |\HMxii| & |\Hthousand| & lotus (h3, numeral 1,000) \\
+% M17 & i & |\HMxvii| & |\Hi| & a machette (i) \\
+% N29 & K & |\HNxxix| & |\HK| & triangle with wavy hypotenuse (q) \\
+% N35 & n & |\HNxxxv| & |\Hn| & zigzag line (n) \\
+% N37 & z & |\HNxxxvii| & |\Hz| & rectangle (stone, sh) \\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+%
+% \begin{table}
+% \centering
+% \caption{Commands and encoding for the signs O---PW}\label{tab:basic2}
+% \begin{tabular}{lclcp{0.35\textwidth}} \hline
+% Glyph & ASCII & Command & Command & Comment \\ \hline
+% O1 & j & |\HOi| & |\Hj| & single doored house floorplan (house, pr) \\
+% O4 & h & |\HOiv| & |\Hh| & square spiral (h) \\
+% O34 & S & |\HOxliv| & |\HS| & horizontal line with 2 blobs (z or s) \\
+% Q3 & p & |\HQiii| & |\Hp| & a square (p) \\
+% R7 & B & |\HRvii| & |\HB| & pestle and mortar (b) \\
+% S12 & v & |\HSxii| & |\Hv| & a gold collar (nbw) \\
+% S29 & s & |\HSxxix| & |\Hs| & long umbrella handle (s) \\
+% S39 & ? & |\HSxxxix| & |\Hquery| & shepherd's crook (awt) \\
+% S41 & c & |\HSxli| & |\Hc| & hanging twisted string (dm) \\
+% T3 & u & |\HTiii| & |\Hu| & upright with a knob at top (HD) \\
+% T14 & / & |\HTxiv| & |\Hslash| & throw stick, boomerang (qma) \\
+% U36 & J & |\HUxxxvi| & |\HJ| & upright cudgel (Hm) \\
+% V1 & 3 & |\HVi| & |\Hhundred| & coil of rope (st, numeral 100) \\
+% V4 & o & |\HViv| & |\Ho| & lassoo (wA) \\
+% V13 & T & |\HVxiii| & |\HT| & pair of sugar tongs (tj, T) \\
+% V20 & 2 & |\HVxx| & |\Hten| & cattle hobble (mdw, numeral 10) \\
+% V24 & U & |\HVxxiv| & |\HU| & vertical line with centre oval (wD) \\
+% V28 & H & |\HVxxviii| & |\HH| & twisted flax (an emphatic h) \\
+% V31 & k & |\HVxxxi| & |\Hk| & bowl with handle (k) \\
+% W11 & g & |\HWxi| & |\Hg| & chockstone of a stone arch with triangular crest (g) \\
+% X1 & t & |\HXi| & |\Ht| & upper semicircle (t) \\
+% Y1v & V & |\HYiV| & |\HV| & rectangle with W (book, writing, abstract) \\
+% Y4 & & |\HYiv| & |\Hscribe| & scribe (sh) \\
+% \DeleteShortVerb{\|}\MakeShortVerb{\?}%
+% Z1 & ?|? & ?\HZi? & ?\Hvbar?, ?\Hone? & short vertical line (numeral 1) \\
+% \DeleteShortVerb{\?}\MakeShortVerb{\|}%
+% Z2 & & |\HZii| & |\Hplural| & 3 short vertical lines (plural) \\
+% Z4 & & |\HZiv| & |\Hdual| & 2 short sloping lines (dual, pair) \\
+% Z6 & & |\HZvi| & |\Hsv| & stick with a V at righthand end \\
+% Z7 & W & |\HZvii| & |\HW| & curved spiral (W) \\
+% Z11 & + & |\HZxi| & |\Hplus| & crossed planks (imi, wnm) \\
+% Aa1 & C & |\HAai| & |\HC| & shaded circle (ch as in loch, x) \\
+% Aa12 & M & |\HAaxii| & |\HM| & parallel lines joined at left (M) \\
+% PW1 & x & |\HPWi| & |\Hx| & notched rectangle (door) \\
+% PW2 & y & |\HPWii| & |\Hy| & a pair of machettes (y) \\
+% \hline
+% \end{tabular}
+% \end{table}
+%
+% There are three ways of accessing the glyphs:
+% ASCII characters, a command based on Rosmorduc's coding, and a command
+% based on the name of the ASCII character.
+%
+% The commands (and their ASCII equivalents) for the glyphs
+% are given in Tables~\ref{tab:basic1} and~\ref{tab:basic2}. The comment column
+% in the Tables first attempts to describe the appearance of the glyph, then
+% in parenthesis, if I know it, the meaning and/or the sound that the glyph
+% represents.
+%
+% The glyphs denoted as PWn are my additions to Rosmorduc's glyphs and coding
+% scheme.
+%
+%
+% More graphically, table~\ref{tab:coded}
+% shows the `numeric' coded commands and the corresponding
+% glyphs.
+%
+% Table~\ref{tab:alpha}
+% shows the alphabetic coding (in both single
+% character and command form) and the corresponding glyphs together with their
+% transliterations. Note that not every glyph has a transliteration.
+%
+% \DeleteShortVerb{\|}
+%
+% \begin{table}
+% \begin{addtomargins}{-1in}
+% \centering
+% \caption{Coded coding} \label{tab:coded}
+% \begin{tabular}{|l|c||l|c||l|c|} \hline
+% \verb|\HAii| (A2) & \textpmhg{\HAii} & \verb|\HNxxix| (N31) & \textpmhg{\HNxxix} & \verb|\HAai| (Aa1) & \textpmhg{\HAai} \\
+% \verb|\HAxxviii| (A28) & \textpmhg{\HAxxviii} & \verb|\HNxxxv| (N35) & \textpmhg{\HNxxxv} & \verb|\HAaxii| (Aa12) & \textpmhg{\HAaxii} \\
+% \verb|\HDi| (D1) & \textpmhg{\HDi} & \verb|\HNxxxvii| (N37) & \textpmhg{\HNxxxvii} & \verb|\HPWi| (PW1) & \textpmhg{\HPWi} \\
+% \verb|\HDii| (D2) & \textpmhg{\HDii} & \verb|\HOi| (O1) & \textpmhg{\HOi} & \verb|\HPWii| (PW2) & \textpmhg{\HPWii} \\
+% \verb|\HDiv| (D4) & \textpmhg{\HDiv} & \verb|\HOiv| (O4) & \textpmhg{\HOiv} & \verb|\HFxxxi| (F31) & \textpmhg{\HFxxxi} \\
+% \verb|\HDxxi| (D21) & \textpmhg{\HDxxi} & \verb|\HOxxxiv| (O34) & \textpmhg{\HOxxxiv} & \verb|\HGxxvi| (G26) & \textpmhg{\HGxxvi} \\
+% \verb|\HDxxxvi| (D36) & \textpmhg{\HDxxxvi} & \verb|\HQiii| (Q3) & \textpmhg{\HQiii} & \verb|\HGxxvis| (G26*) & \textpmhg{\HGxxvis} \\
+% \verb|\HDxlvi| (D46) & \textpmhg{\HDxlvi} & \verb|\HRvii| (R7) & \textpmhg{\HRvii} & \verb|\HGxxvii| (G27) & \textpmhg{\HGxxvii} \\
+% \verb|\HDxlvii| (D47) & \textpmhg{\HDxlvii} & \verb|\HSxii| (S12) & \textpmhg{\HSxii} & \verb|\HGxxviii| (G28) & \textpmhg{\HGxxviii} \\
+% \verb|\HDliv| (D54) & \textpmhg{\HDliv} & \verb|\HSxxix| (S29) & \textpmhg{\HSxxix} & \verb|\HZvi| (Z6) & \textpmhg{\HZvi} \\
+% \verb|\HDlviii| (D58) & \textpmhg{\HDlviii} & \verb|\HSxxxix| (S39) & \textpmhg{\HSxxxix} & \verb|\HAi| (A1) & \textpmhg{\HAi} \\
+% \verb|\HExxiii| (E23) & \textpmhg{\HExxiii} & \verb|\HSxli| (S41) & \textpmhg{\HSxli} & \verb|\HFxx| (F20) & \textpmhg{\HFxx} \\
+% \verb|\HFi| (F1) & \textpmhg{\HFi} & \verb|\HTiii| (T3) & \textpmhg{\HTiii} & \verb|\HYiv| (Y4) & \textpmhg{\HYiv} \\
+% \verb|\HFxxxiv| (F34) & \textpmhg{\HFxxxiv} & \verb|\HTxiv| (T14) & \textpmhg{\HTxiv} & \verb|\HZii| (Z2) & \textpmhg{\HZii} \\
+% \verb|\HFxl| (F40) & \textpmhg{\HFxl} & \verb|\HUxxxvi| (U36) & \textpmhg{\HUxxxvi} & \verb|\HZiv| (Z4) & \textpmhg{\HZiv} \\
+% \verb|\HGi| (G1) & \textpmhg{\HGi} & \verb|\HViv| (V4) & \textpmhg{\HViv} & \verb|\HCxi| (C11) & \textpmhg{\HCxi} \\
+% \verb|\HGxvii| (G17) & \textpmhg{\HGxvii} & \verb|\HVxiii| (V13) & \textpmhg{\HVxiii} & \verb|\HDl| (D50) & \textpmhg{\HDl} \\
+% \verb|\HGxxxvi| (G36) & \textpmhg{\HGxxxvi} & \verb|\HVxxiv| (V24) & \textpmhg{\HVxxiv} & \verb|\HIviii| (I8) & \textpmhg{\HIviii} \\
+% \verb|\HGxliii| (G43) & \textpmhg{\HGxliii} & \verb|\HVxxviii| (V28) & \textpmhg{\HVxxviii} & \verb|\HMxii| (M12) & \textpmhg{\HMxii} \\
+% \verb|\HHviii| (H8) & \textpmhg{\HHviii} & \verb|\HVxxxi| (V31) & \textpmhg{\HVxxxi} & \verb|\HVi| (V1) & \textpmhg{\HVi} \\
+% \verb|\HIix| (I9) & \textpmhg{\HIix} & \verb|\HWxi| (W11) & \textpmhg{\HWxi} & \verb|\HVxx| (V20) & \textpmhg{\HVxx} \\
+% \verb|\HIx| (I10) & \textpmhg{\HIx} & \verb|\HXi| (X1) & \textpmhg{\HXi} & & \\
+% \verb|\HKi| (K1) & \textpmhg{\HKi} & \verb|\HYiV| (Y1v) & \textpmhg{\HYiV} & & \\
+% \verb|\HMiii| (M3) & \textpmhg{\HMiii} & \verb|\HZi| (Z1) & \textpmhg{\HZi} & & \\
+% \verb|\HMviii| (M8) & \textpmhg{\HMviii} & \verb|\HZvii| (Z7) & \textpmhg{\HZvii} & & \\
+% \verb|\HMxvii| (M17) & \textpmhg{\HMxvii} & \verb|\HZxi| (Z11) & \textpmhg{\HZxi} & & \\
+% \hline
+% \end{tabular}
+% \end{addtomargins}
+% \end{table}
+%
+% \begin{table}
+% \begin{addtomargins}{-1in}
+% \centering
+% \caption{Alphabetic coding} \label{tab:alpha}
+% \begin{tabular}{|cl|c|l||cl|c|l||cl|c|l|} \hline
+% A & \verb|\HA| & \textpmhg{A} & \translitpmhg{\HA} & a & \verb|\Ha| & \textpmhg{a} & \translitpmhg{\Ha}
+% & + & \verb|\Hplus| & \textpmhg{+} & \translitpmhg{\Hplus} \\
+% B & \verb|\HB| & \textpmhg{B} & \translitpmhg{\HB} & b & \verb|\Hb| & \textpmhg{b} & \translitpmhg{\Hb}
+% & ? & \verb|\Hquery| & \textpmhg{?} & \translitpmhg{\Hquery} \\
+% C & \verb|\HC| & \textpmhg{C} & \translitpmhg{\HC} & c & \verb|\Hc| & \textpmhg{c} & \translitpmhg{\Hc}
+% & / & \verb|\Hslash| & \textpmhg{/} & \translitpmhg{\Hslash} \\
+% D & \verb|\HD| & \textpmhg{D} & \translitpmhg{\HD} & d & \verb|\Hd| & \textpmhg{d} & \translitpmhg{\Hd}
+% & \verb?|? & \verb|\Hvbar| & \textpmhg{|} & \translitpmhg{\Hvbar} \\
+% E & \verb|\HE| & \textpmhg{E} & \translitpmhg{\HE} & e & \verb|\He| & \textpmhg{e} & \translitpmhg{\He}
+% & & \verb|\Hms| & \textpmhg{\Hms} & \translitpmhg{\Hms} \\
+% F & \verb|\HF| & \textpmhg{F} & \translitpmhg{\HF} & f & \verb|\Hf| & \textpmhg{f} & \translitpmhg{\Hf}
+% & & \verb|\Hibp| & \textpmhg{\Hibp} & \translitpmhg{\Hibp} \\
+% G & \verb|\HG| & \textpmhg{G} & \translitpmhg{\HG} & g & \verb|\Hg| & \textpmhg{g} & \translitpmhg{\Hg}
+% & & \verb|\Hibw| & \textpmhg{\Hibw} & \translitpmhg{\Hibw} \\
+% H & \verb|\HH| & \textpmhg{H} & \translitpmhg{\HH} & h & \verb|\Hh| & \textpmhg{h} & \translitpmhg{\Hh}
+% & & \verb|\Hibs| & \textpmhg{\Hibs} & \translitpmhg{\Hibs} \\
+% I & \verb|\HI| & \textpmhg{I} & \translitpmhg{\HI} & i & \verb|\Hi| & \textpmhg{i} & \translitpmhg{\Hi}
+% & & \verb|\Hibl| & \textpmhg{\Hibl} & \translitpmhg{\Hibl} \\
+% J & \verb|\HJ| & \textpmhg{J} & \translitpmhg{\HJ} & j & \verb|\Hj| & \textpmhg{j} & \translitpmhg{\Hj}
+% & & \verb|\Hsv| & \textpmhg{\Hsv} & \translitpmhg{\Hsv} \\
+% K & \verb|\HK| & \textpmhg{K} & \translitpmhg{\HK} & k & \verb|\Hk| & \textpmhg{k} & \translitpmhg{\Hk}
+% & & \verb|\Hman| & \textpmhg{\Hman} & \translitpmhg{\Hman} \\
+% L & \verb|\HL| & \textpmhg{L} & \translitpmhg{\HL} & l & \verb|\Hl| & \textpmhg{l} & \translitpmhg{\Hl}
+% & & \verb|\Htongue| & \textpmhg{\Htongue} & \translitpmhg{\Htongue} \\
+% M & \verb|\HM| & \textpmhg{M} & \translitpmhg{\HM} & m & \verb|\Hm| & \textpmhg{m} & \translitpmhg{\Hm}
+% & & \verb|\Hscribe| & \textpmhg{\Hscribe} & \translitpmhg{\Hscribe} \\
+% N & \verb|\HN| & \textpmhg{N} & \translitpmhg{\HN} & n & \verb|\Hn| & \textpmhg{n} & \translitpmhg{\Hn}
+% & & \verb|\Hplural| & \textpmhg{\Hplural} & \translitpmhg{\Hplural} \\
+% O & \verb|\HO| & \textpmhg{O} & \translitpmhg{\HO} & o & \verb|\Ho| & \textpmhg{o} & \translitpmhg{\Ho}
+% & & \verb|\Hdual| & \textpmhg{\Hdual} & \translitpmhg{\Hdual} \\
+% P & \verb|\HP| & \textpmhg{P} & \translitpmhg{\HP} & p & \verb|\Hp| & \textpmhg{p} & \translitpmhg{\Hp}
+% & \verb?|? & \verb|\Hone| & \textpmhg{|} & \translitpmhg{\Hone} \\
+% Q & \verb|\HQ| & \textpmhg{Q} & \translitpmhg{\HQ} & q & \verb|\Hq| & \textpmhg{q} & \translitpmhg{\Hq}
+% & 2 & \verb|\Hten| & \textpmhg{2} & \translitpmhg{\Hten} \\
+% R & \verb|\HR| & \textpmhg{R} & \translitpmhg{\HR} & r & \verb|\Hr| & \textpmhg{r} & \translitpmhg{\Hr}
+% & 3 & \verb|\Hhundred| & \textpmhg{3} & \translitpmhg{\Hhundred} \\
+% S & \verb|\HS| & \textpmhg{S} & \translitpmhg{\HS} & s & \verb|\Hs| & \textpmhg{s} & \translitpmhg{\Hs}
+% & 4 & \verb|\Hthousand| & \textpmhg{4} & \translitpmhg{\Hthousand} \\
+% T & \verb|\HT| & \textpmhg{T} & \translitpmhg{\HT} & t & \verb|\Ht| & \textpmhg{t} & \translitpmhg{\Ht}
+% & 5 & \verb|\HXthousand| & \textpmhg{5} & \translitpmhg{\HXthousand} \\
+% U & \verb|\HU| & \textpmhg{U} & \translitpmhg{\HU} & u & \verb|\Hu| & \textpmhg{u} & \translitpmhg{\Hu}
+% & 6 & \verb|\HCthousand| & \textpmhg{6} & \translitpmhg{\HCthousand} \\
+% V & \verb|\HV| & \textpmhg{V} & \translitpmhg{\HV} & v & \verb|\Hv| & \textpmhg{v} & \translitpmhg{\Hv}
+% & 7 & \verb|\Hmillion| & \textpmhg{7} & \translitpmhg{\Hmillion} \\
+% W & \verb|\HW| & \textpmhg{W} & \translitpmhg{\HW} & w & \verb|\Hw| & \textpmhg{w} & \translitpmhg{\Hw} & & & & \\
+% X & \verb|\HX| & \textpmhg{X} & \translitpmhg{\HX} & x & \verb|\Hx| & \textpmhg{x} & \translitpmhg{\Hx} & & & & \\
+% Y & \verb|\HY| & \textpmhg{Y} & \translitpmhg{\HY} & y & \verb|\Hy| & \textpmhg{y} & \translitpmhg{\Hy} & & & & \\
+% Z & \verb|\HZ| & \textpmhg{Z} & \translitpmhg{\HZ} & z & \verb|\Hz| & \textpmhg{z} & \translitpmhg{\Hz} & & & & \\
+% \hline
+% \end{tabular}
+% \end{addtomargins}
+% \end{table}
+%
+% \MakeShortVerb{\|}
+%
+% \DescribeMacro{\pmglyph}
+% The command |\pmglyph{|\meta{codes}|}| will typeset its argument as
+% hieroglyphs. The \meta{codes} argument can contain character commands
+% and the two special characters |-| and |:|.
+% The special |-| character causes the
+% following glyph to be typeset to the right of the previous glyph, and
+% adds a little (breakable) space between the two glyphs.
+% The special |:| character causes the following glyph to be typeset below
+% the previous glyph. The characters |{| and |}| can be used for grouping.
+% For example
+% |\pmglyph{K:l-i-o-p-a-d:r-a}| (which means Cleopatra) typesets the \textit{l}
+% glyph under the \textit{K} glyph, then there are the \textit{i},
+% \textit{o}, \textit{p}, and \textit{a} glyphs in a line,
+% followed by the \textit{d} glyph stacked above the \textit{r} glyph,
+% and ending with the final
+% \textit{a} glyph.
+%
+% As another example |\pmglyph{A-i-{p-x}:a-H}| results in
+% the \textit{a} glyph being typeset below both the \textit{p} and \textit{x}
+% glyphs (alternatively, the \textit{p} and \textit{x} glyphs are both
+% typeset above the \textit{a} glyph).
+%
+% This last example could just as well have been written as: \\
+% |\pmglyph{\HA-\Hi-{\Hp-\Hx}:\Ha-\HH}| or \\
+% |\pmglyph{\HDxxxvi-\HMxvii-{\HQiii-\HPWi}:\HGi-\HVxxviii}|, or any combination
+% of these. Note, however, that |\pmglyph{{Ai{px}:aH}| will produce a very
+% different typeset result (it typesets the \textit{A}, \textit{i}, \textit{p}
+% and \textit{x} glyphs all in a row above the \textit{a} and \textit{H} glyphs
+% which are also in a row).
+%
+%
+% \DescribeMacro{\cartouche}
+% \DescribeMacro{\Cartouche}
+% The command |\cartouche{|\meta{text}|}| draws a cartouche around \meta{text}.
+% A cartouche is an oval box with a vertical line at the right hand end. It
+% is used for enclosing royal names. The only difference between the |\cartouche|
+% and |\Cartouche| is that a |\cartouche| is drawn with |\thinlines| while
+% |\Cartouche| is drawn with |\thicklines|. The seperation between the cartouche box
+% and the enclosed text is given by the normal \LaTeX{} |\fboxsep| command.
+% A cartouche command should not be used as part of the argument to |\pmglyph|;
+% instead use |\pmglyph| as the argument to the cartouche commands. That is: \\
+% |\pmglyph{...\cartouche{...}...}| \\
+% will produce unexpected results; instead use \\
+% |\pmglyph{...} \cartouche{\pmglyph{...}} \pmglyph{...}| \\
+% The |\cartouche| command can take any text, for example: \\
+% |\cartouche{Some text}| will draw a cartouche around the two
+% words \textit{Some text}; or add interest to an otherwise dry maths paper
+% by cartouching some equations --- |\cartouche{$sin^{2} x + cos^{2} x = 1$}|
+%
+% As an example the cartouche, and transliteration, of Cleopatra shown below is
+% produced by the following code:
+% \begin{verbatim}
+% \cartouche{\pmglyph{K:l-i-o-p-a-d:r-a}} \translitpmhg{\HK\Hl\Hi\Ho\Hp\Ha\Hd\Hr\Ha}
+% \end{verbatim}
+%
+% \cartouche{\pmglyph{K:l-i-o-p-a-d:r-a}} \translitpmhg{\HK\Hl\Hi\Ho\Hp\Ha\Hd\Hr\Ha}
+%
+% \vspace{\baselineskip}
+%
+%
+% \DescribeMacro{\pmvglyph}
+% \DescribeMacro{\vertouche}
+% \DescribeMacro{\Vertouche}
+% The commands |\pmglyph|, |\cartouche| and |\Cartouche| are for use when
+% the glyphs are principally in a horizontal sequence. The total height
+% of the glyphs as printed are, as far as possible, limited to the height
+% of a single line of text.
+%
+% In cases where the glyphs are principally in a vertical sequence, use
+% the corresponding vertical versions of the commands, namely
+% |\pmvglyph|, |\vertouche| and |\Vertouche|. With these commands, the
+% total height of the glyphs is unlimited (except by the physical size
+% of the page).
+%
+%
+% \DescribeMacro{\cartouchecorner}
+% \DescribeMacro{\cartouchecorner*}
+% When \LaTeX{} normally draws an oval box it tries to make the left and right
+% hand ends as close to a semicircle as it can, given the limited number of
+% circular arcs it has got to choose from. The command
+% |\cartouchecorner{|\meta{fraction}|}| instructs \LaTeX{} to do its best to make
+% the diameter of the corner circles equal to \meta{fraction} of the height of
+% the cartouche. For example |\cartouchecorner{0.5}| asks for the corner diameter
+% to be half the height of the cartouche, while |\cartouchecorner{1}| asks
+% for the ends to be semicrcles. The |\cartouchecorner*{|\meta{length}|}| command is
+% similar except that \LaTeX{} will try and use corners of diameter \meta{length}.
+%
+% \DescribeMacro{\translitpmhg}
+% \DescribeMacro{\translitpmhgfont}
+% |\translitpmhg{|\meta{char-commands}|}| will typeset a transliterated version
+% of \meta{char-commands}, where the commands are taken from the fourth column
+% of Tables~\ref{tab:basic1} and/or~\ref{tab:basic2}. That is, commands
+% like |\HK| must be used rather than either |K| or |\HNxxix|.
+% The transliteration is typeset using the |\translitpmhgfont|, which is
+% initialised to |\itshape|. The font can be changed by renewing
+% the |\trnslitpmhgfont| command.
+%
+%
+% \StopEventually{
+% \bibliographystyle{alpha}
+% \begin{thebibliography}{GMS94}
+%
+% \bibitem[CM98]{COLLIER98}
+% Mark Collier and Bill Manley.
+% \newblock \emph{How to Read Egyptian Hieroglyphs}.
+% \newblock University of California Press, 1998.
+% (ISBN 0-520-21597-4)
+%
+% \bibitem[Dav87]{DAVIES87}
+% W.~V.~Davies.
+% \newblock \emph{Egyptian Hieroglyphs}.
+% \newblock University of California Press/British Museum, 1987.
+% (ISBN 0-520-06287-6)
+%
+% \bibitem[Dru95]{DRUCKER95}
+% Johanna Drucker.
+% \newblock \emph{The Alphabetic Labyrinth}.
+% \newblock Thames and Hudson, 1995.
+%
+% \bibitem[Fir93]{FIRMAGE93}
+% Richard A.~Firmage.
+% \newblock \emph{The Alphabet Abecedarium}.
+% \newblock David R.~Goodine, 1993.
+%
+%
+% \bibitem[GMS94]{GOOSSENS94}
+% Michel Goossens, Frank Mittelbach, and Alexander Samarin.
+% \newblock \emph{The LaTeX Companion}.
+% \newblock Addison-Wesley Publishing Company, 1994.
+%
+% \bibitem[Gor87]{GORDON87}
+% Cyrus H.~Gordon.
+% \newblock \emph{Forgotten Scripts}.
+% \newblock Dorset Press, (Revised and enlarged edition) 1987.
+%
+% \bibitem[Ros95]{HIEROGLYPH}
+% Serge Rosmorduc.
+% \newblock \emph{A \LaTeX periment of hieroglyphic typesetting}.
+% \newblock 1995. (Available from CTAN in \texttt{fonts/hieroglyph}).
+%
+% \bibitem[Ifr00]{IFRAH00}
+% Georges Ifrah.
+% \newblock \emph{The Universal History of Numbers}.
+% \newblock John Wiley \& Sons, 2000,
+% (ISBN 0-471-37568-3).
+% \newblock (Originally published as \textit{Histoire universelle des chiffres},
+% Editions Robert Laffort, Paris, 1994.)
+%
+% \bibitem[Zan98]{FANCYBOX}
+% Timothy Van Zandt.
+% \newblock \emph{Documentation for fancybox.sty --- Box tips and tricks
+% for \LaTeX}.
+% \newblock 1998. (Available from CTAN in the \texttt{fancybox} subdirectory).
+%
+% \end{thebibliography}
+%
+% \PrintIndex
+% }
+%
+%
+% \section{The Metafont code} \label{sec:mf}
+%
+%
+% \subsection{Initialization}
+%
+% This part of the Metafont code sets up the general font characteristics.
+%
+% \begin{macrocode}
+%<*maj>
+%% PMHG.MF Program file for poor man's hieroglyphic font.
+%%
+%% It is a concatenation of parts of the font definitions
+%% from the hieroglyphic package. The fonts in that package
+%% are declared to be in the public domain, so these font
+%% definitions are similarly in the public domain.
+%%
+% \end{macrocode}
+%
+% \DescribeVariable{true_design_size}
+% The design size,
+% \begin{macrocode}
+true_design_size# := 14pt#;
+% \end{macrocode}
+% Input the definitions, per the \Lpack{hieroglyph} package.
+% \begin{macrocode}
+%%%input Hibzrstp;
+
+% \end{macrocode}
+% The relevent definitions are in the \file{Hibzrstp.mf} file of the
+% \Lpack{hieroglyph} package. As a convenience, this file is included
+% here so that the user does not have to get the \Lpack{hieroglyph}
+% package.
+%
+% \begin{macrocode}
+%%%%%%%%%%%%%%%%%%%% file Hibzrstp.mf from the hieroglyph package %%%%%%
+%
+% THIS FILE was patched (1993) by S. Rosmorduc to allow both left-to-right and
+% right-to-left drawing with the same MF sources.
+% This patch is probably of no interest for non-hieroglyphic fonts.
+%
+% bzrsetup.mf: interesting and/or necessary things for bzrto's Metafont output.
+%
+% Copyright (C) 1992 Free Software Foundation, Inc.
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2, or (at your option)
+% any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+% |true_design_size| must be set before this file is input. It is
+% supposed to be the design size of the original font. If the user does
+% not set |designsize| on the command line, we default to the following.
+default_design_size# := 10pt#;
+if designsize = 0: designsize := default_design_size#; fi;
+
+% It's pointless to actually produce different TFM files for different
+% design sizes: we have only one set of outlines, after all. So we
+% adjust the resolution to account for different sizes, by setting
+% |mag|. Then we reset |designsize| to the default.
+if unknown mag: mag := 1; fi;
+mag := mag * designsize / default_design_size#;
+
+% So we can produce output at varying sizes, all our dimensions are
+% output in terms of the ad hoc parameter |u|.
+%
+u# := default_design_size# / true_design_size#;
+
+designsize := default_design_size#;
+
+% Macros from page 289 of {\sl The Metafontbook} for short-circuit evaluation.
+%
+def cand (text q) = startif true q else: false fi enddef;
+def cor (text q) = startif true true else: q fi enddef;
+tertiarydef p startif true = if p: enddef;
+
+% The proof resolution of 2601.72 pixels per inch established by plain
+% \MF\ does not always work, because the characters might be too large
+% (or small, for that matter) for the paper size. So, here we change
+% the proof resolution to fit the design size of the font into
+% |proof_size| inches. To do this, we must know the resolution of the
+% device the proof output will be printed on; we make |proof_resolution|
+% default to 300.
+%
+if unknown mode cor ((mode = proof) or (mode = smoke)):
+ % Given in inches:
+ if unknown proof_size: proof_size := 7; fi;
+
+ % Given in pixels per inch:
+ if unknown proof_resolution: proof_resolution := 300; fi;
+
+ % Set up the new mode to be the same as the old one, except for the
+ % resolution.
+ original_mode := if known mode: mode else: proof fi;
+ mode_def bzr_proof_mode =
+ if original_mode = proof:
+ proof_;
+ else:
+ smoke_;
+ fi;
+ pixels_per_inch
+ := (proof_size * proof_resolution)
+ * (72.27 / proof_resolution)
+ * (72.27 / designsize);
+ enddef;
+ mode := bzr_proof_mode;
+fi;
+
+% Set up the device values for this run. Since we allow a nonstandard
+% value of |proofing| (see below), we must save its value, if it has
+% already been assigned.
+%
+if (known proofing) cand (proofing > 2):
+ save_proofing := proofing;
+fi
+
+mode_setup;
+
+if known save_proofing:
+ proofing := save_proofing;
+fi;
+
+
+% We can't define the pixel-oriented version of |u| until after
+% |mode_setup| has been called.
+define_pixels (u);
+
+
+% Use a font that blends better with the \MF\ logo for the title line.
+%
+special "titlefont cmss8";
+
+% If we are doing smoke proofs, put the character at its actual size on
+% the output; if we're doing gray proofs, use a smaller font for the
+% labels.
+%
+
+% Produce a |makelabel| command for each |z| point in |point_list| and
+% each suffix in |suffixes|.
+%
+def general_label (text point_list, suffixes) =
+ forsuffixes point_suffix = ,suffixes:
+ forsuffixes point = point_list:
+ % Unfortunately, the way in which the |str| operator formats its
+ % argument (which is an arbitrary suffix) cannot be changed, so
+ % the proofsheets end up showing "0 0" for the variable |z[0][0]|.
+ makelabel (str point.point_suffix, z.point.point_suffix);
+ endfor
+ endfor
+enddef;
+
+% Define our labels for the proofsheets. The person running Metafont
+% can also see the control points on each spline, by setting
+% |proofing>2| at the beginning. (The {\tt plain.mf} macros only
+% distinguish between |proofing=0|, |proofing>0| and |proofing>1|, so we
+% are not disturbing them.)
+%
+def proof_labels (text t) =
+ % We need to delimit the arguments here, so \MF\ knows where the
+ % second |text| argument begins. Our output uses the suffix |"s"| for
+ % startpoints of segments, and the suffixes |"c1"| and |"c2"| for
+ % control points.
+ if proofing > 1: general_label (t) (s); fi;
+ if proofing > 2: general_label (t) (c1,c2); fi;
+enddef;
+
+
+% We define our characters as filled outlines; page 206 of {\sl The
+% Metafontbook} suggests disabling \MF's |autorounding| and
+% |smoothing| features in that case.
+%
+autorounding := 0; % 0 avant pour les deux!
+%%% granularity:=0;
+smoothing := 0;
+
+% Sometimes we want to fill our paths, other times unfill them,
+% depending on whether the winding number is positive or negative. We
+% could be absolutely safe here, and declare |temp_path| inside a group,
+% at every invocation of |fill_or_unfill|; but this would waste time and
+% space to no advantage, since we know exactly what kind of \MF\
+% programs we output, and the variable |temp_path| is not used in them.
+%
+% Incidentally, we need a variable in the first place only because it is more
+% efficient to avoid evaluating long paths more than once.
+%
+path temp_path;
+
+def fill_or_unfill expr p =
+ temp_path := p;
+ if turningnumber temp_path > 0: fill else: unfill fi temp_path;
+enddef;
+
+% Since we can assume the font fills all cycles counterclockwise
+% (because PostScript requires this), we want to disable the
+% |turningnumber| checking which generates the `Strange path' errors.
+% See p.112 and p.119 of the Metafontbook.
+%
+% (By the way, setting |turningcheck := 0| makes Metafont always use the
+% filling rule for positive turning number, i.e., always |fill| and
+% never |unfill|. When would this be useful?)
+%
+turningcheck := 1;
+
+% When we don't know the dimensions of the character we're defining
+% before we define it, we have to use these to begin it:
+def begin_no_dimen_char (expr c) =
+ begingroup
+ transform save_currenttransform;
+ save_currenttransform := currenttransform;
+ charcode:=if known c: byte c else: 0 fi;
+ charic:=0; clearxy; clearit; clearpen; scantokens extra_beginchar;
+enddef;
+
+def end_no_dimen_char =
+ currenttransform := save_currenttransform;
+ endchar;
+enddef;
+
+% When use the above to start a character, must call this before `endchar'.
+%
+def set_char_dimens (expr w_sharp,h_sharp,d_sharp) =
+ charwd:=w_sharp; charht:=h_sharp; chardp:=d_sharp;
+ w:=hround(charwd*hppp); h:=vround(charht*hppp); d:=vround(chardp*hppp);
+enddef;
+
+% Move by shifting the current transform matrix.
+%
+def move (expr h_amount, v_amount) =
+ currenttransform := currenttransform shifted (h_amount, v_amount);
+enddef;
+
+def hmove (expr amount) = move (amount, 0); enddef;
+def vmove (expr amount) = move (0, amount); enddef;
+
+%%
+%% BEGINNING OF PATCH
+%%
+def depart= -31; enddef;
+
+transform modif;
+modif := identity;
+def mamodif= identity; enddef;
+
+def beginchar(expr c,w_sharp,h_sharp,d_sharp) =
+ begingroup
+ charcode:=c + depart;
+ charwd:=w_sharp; charht:=h_sharp; chardp:=d_sharp;
+ w:=hround(charwd*hppp); h:=vround(charht*hppp); d:=vround(chardp*hppp);
+ charic:=0; clearxy; clearit; clearpen; scantokens extra_beginchar;
+ transform save_currenttransform;
+ save_currenttransform= currenttransform;
+ modif:= mamodif;
+ currenttransform:= currenttransform transformed modif;
+ enddef;
+
+def endchar =
+ scantokens extra_endchar;
+ if proofing>0: makebox(proofrule); fi
+ chardx:=w; % desired width of the character in pixels
+ shipit;
+ if displaying>0: makebox(screenrule); showit; fi
+ currenttransform:= save_currenttransform;
+ endgroup enddef;
+
+%%%%%%%%%%%%%%%%%%%% end of file Hibzrstp.mf %%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \end{macrocode}
+%
+% \DescribeVariable{font_coding_scheme}
+% \DescribeVariable{font_identifier}
+% \DescribeVariable{font_normal_space}
+% These are specific to this file, and are not the same as in
+% the \Lpack{hieroglyph} package. I added the |font_normal_space| to let
+% the font breathe a little.
+% \begin{macrocode}
+font_coding_scheme := "Poor Man's Hieroglyphs";
+font_identifier := "pmhg";
+font_normal_space 2pt#;
+
+% \end{macrocode}
+%
+% \DescribeVariable{side}
+% The glyphs as originally defined completely filled their bounding
+% boxes. That is, two glyphs when normally typeset would touch each other.
+% I add |side| to the original specified glyph widths to add a little
+% interglyph space.
+% \begin{macrocode}
+side# := 2pt#;
+% \end{macrocode}
+%
+%
+%
+% \subsection{The glyph code}
+%
+% The following code generates the glyphs for the
+% poor man's hieroglyphic font. It is a concatenation of parts of the
+% font definitions from the \Lpack{hieroglyphic} package.
+%
+% \subsubsection{The glyphs}
+%
+% Only a few of the many possible glyphs are defined. The glyphs provided
+% encompass those that correspond to letters of the Latin alphabet, and
+% the remainder have been chosen so that a non-specialist \LaTeX{}
+% article about the
+% decipherment of hieroglyphs could be written, together with some
+% short examples of hieroglyphic sentences.
+%
+% The ordering of the glyphs follows the ordering in the
+% \Lpack{hieroglyphic} package.
+%
+% The Metafont code is the same as the original except that I have changed
+% the encoding and deleted the |proof_labels| to save some space (but I
+% have retained these for the first sign as an example).
+%
+% \begin{routine}{A2}
+% The sign \textit{A2}. A man pointing at his mouth (eat, drink, speak).
+% \begin{macrocode}
+
+%% A2: man pointing at his mouth
+%% (code as I(73) 73+31 = 104)
+beginchar (104, 12.749u# + side#, 17.744u#, 0.000u#);
+ "A2";
+ z33\0\0s = (0.482u,8.672u);
+ z33\0\0 = (5.401u,10.415u);
+ z33\0\1 = (6.467u,8.598u);
+ z33\0\2 = (6.467u,5.541u);
+ z33\0\3 = (6.022u,5.541u);
+ z33\0\4c1 = (5.682u,6.417u);
+ z33\0\4c2 = (3.120u,8.839u);
+ z33\0\4 = (2.340u,7.538u);
+ z33\0\5c1 = (1.197u,5.629u);
+ z33\0\5c2 = (5.269u,3.047u);
+ z33\0\5 = (0.000u,0.482u);
+ z33\0\6 = (0.000u,0.000u);
+ z33\0\7 = (5.782u,0.240u);
+ z33\0\8 = (12.527u,0.000u);
+ z33\0\9c1 = (11.896u,1.017u);
+ z33\0\9c2 = (10.644u,0.867u);
+ z33\0\9 = (10.279u,1.607u);
+ z33\0\10c1 = (10.011u,2.156u);
+ z33\0\10c2 = (10.278u,2.799u);
+ z33\0\10 = (10.279u,3.372u);
+ z33\0\11c1 = (10.277u,5.615u);
+ z33\0\11c2 = (9.641u,8.036u);
+ z33\0\11 = (10.840u,10.118u);
+ z33\0\12c1 = (11.829u,8.140u);
+ z33\0\12c2 = (11.955u,7.059u);
+ z33\0\12 = (11.742u,4.837u);
+ z33\0\13c1 = (11.640u,3.767u);
+ z33\0\13c2 = (11.169u,3.083u);
+ z33\0\13 = (11.322u,1.927u);
+ z33\0\14c1 = (11.780u,2.096u);
+ z33\0\14c2 = (12.380u,2.334u);
+ z33\0\14 = (12.570u,2.811u);
+ z33\0\15c1 = (12.888u,3.412u);
+ z33\0\15c2 = (12.563u,4.403u);
+ z33\0\15 = (12.570u,5.068u);
+ z33\0\16 = (12.749u,7.709u);
+ z33\0\17c1 = (12.748u,8.573u);
+ z33\0\17c2 = (12.018u,10.815u);
+ z33\0\17 = (11.627u,11.627u);
+ z33\0\18c1 = (11.262u,12.382u);
+ z33\0\18c2 = (10.468u,12.750u);
+ z33\0\18 = (10.301u,13.149u);
+ z33\0\19c1 = (10.030u,13.799u);
+ z33\0\19c2 = (11.529u,17.741u);
+ z33\0\19 = (8.191u,17.744u);
+ z33\0\20c1 = (5.327u,17.746u);
+ z33\0\20c2 = (6.043u,15.169u);
+ z33\0\20 = (4.806u,14.225u);
+ z33\0\21 = (3.624u,13.721u);
+ z33\0\22c1 = (2.401u,12.841u);
+ z33\0\22c2 = (0.017u,10.220u);
+ z33\1\0s = (9.395u,13.490u);
+ z33\1\0 = (8.637u,15.630u);
+ z33\1\1 = (6.745u,16.863u);
+ z33\1\2c1 = (9.201u,17.234u);
+ z33\1\2c2 = (10.919u,16.079u);
+ z33\2\0s = (8.191u,15.177u);
+ z33\2\0c1 = (7.584u,12.276u);
+ z33\2\0c2 = (10.108u,13.176u);
+ z33\2\0 = (10.840u,11.322u);
+ z33\2\1c1 = (9.148u,10.518u);
+ z33\2\1c2 = (9.832u,6.122u);
+ z33\2\1 = (9.079u,5.375u);
+ z33\2\2c1 = (8.745u,5.043u);
+ z33\2\2c2 = (7.693u,4.891u);
+ z33\2\2 = (7.227u,4.818u);
+ z33\2\3 = (6.572u,9.945u);
+ z33\2\4 = (5.541u,12.045u);
+ z33\2\5c1 = (6.294u,12.168u);
+ z33\2\5c2 = (7.817u,12.550u);
+ z33\2\5 = (6.888u,13.635u);
+ z33\2\6 = (6.112u,14.255u);
+ z33\2\7c1 = (5.604u,14.962u);
+ z33\2\7c2 = (6.583u,14.979u);
+ z33\2\7 = (6.986u,14.936u);
+ z33\2\8 = (6.986u,15.418u);
+ z33\3\0s = (6.504u,12.768u);
+ z33\3\0 = (4.119u,11.299u);
+ z33\3\1 = (2.168u,10.359u);
+ z33\3\2c1 = (3.310u,13.450u);
+ z33\3\2c2 = (4.682u,12.247u);
+ z33\3\2 = (5.300u,13.490u);
+ z33\4\0s = (6.263u,4.336u);
+ z33\4\0 = (3.854u,3.613u);
+ z33\4\1 = (3.372u,6.745u);
+ z33\4\2c1 = (4.870u,6.596u);
+ z33\4\2c2 = (5.591u,5.611u);
+ z33\5\0s = (9.636u,4.577u);
+ z33\5\0c1 = (9.636u,0.804u);
+ z33\5\0c2 = (9.524u,1.366u);
+ z33\5\0 = (6.260u,1.442u);
+ z33\5\1 = (2.891u,1.204u);
+ z33\5\2c1 = (3.305u,3.075u);
+ z33\5\2c2 = (7.896u,4.422u);
+ fill_or_unfill z33\0\0s
+ --z33\0\0
+ --z33\0\1
+ --z33\0\2
+ --z33\0\3
+ ..controls z33\0\4c1 and z33\0\4c2..z33\0\4
+ ..controls z33\0\5c1 and z33\0\5c2..z33\0\5
+ --z33\0\6
+ --z33\0\7
+ --z33\0\8
+ ..controls z33\0\9c1 and z33\0\9c2..z33\0\9
+ ..controls z33\0\10c1 and z33\0\10c2..z33\0\10
+ ..controls z33\0\11c1 and z33\0\11c2..z33\0\11
+ ..controls z33\0\12c1 and z33\0\12c2..z33\0\12
+ ..controls z33\0\13c1 and z33\0\13c2..z33\0\13
+ ..controls z33\0\14c1 and z33\0\14c2..z33\0\14
+ ..controls z33\0\15c1 and z33\0\15c2..z33\0\15
+ --z33\0\16
+ ..controls z33\0\17c1 and z33\0\17c2..z33\0\17
+ ..controls z33\0\18c1 and z33\0\18c2..z33\0\18
+ ..controls z33\0\19c1 and z33\0\19c2..z33\0\19
+ ..controls z33\0\20c1 and z33\0\20c2..z33\0\20
+ --z33\0\21
+ ..controls z33\0\22c1 and z33\0\22c2..cycle;
+ fill_or_unfill z33\1\0s
+ --z33\1\0
+ --z33\1\1
+ ..controls z33\1\2c1 and z33\1\2c2..cycle;
+ fill_or_unfill z33\2\0s
+ ..controls z33\2\0c1 and z33\2\0c2..z33\2\0
+ ..controls z33\2\1c1 and z33\2\1c2..z33\2\1
+ ..controls z33\2\2c1 and z33\2\2c2..z33\2\2
+ --z33\2\3
+ --z33\2\4
+ ..controls z33\2\5c1 and z33\2\5c2..z33\2\5
+ --z33\2\6
+ ..controls z33\2\7c1 and z33\2\7c2..z33\2\7
+ --z33\2\8
+ --cycle;
+ fill_or_unfill z33\3\0s
+ --z33\3\0
+ --z33\3\1
+ ..controls z33\3\2c1 and z33\3\2c2..z33\3\2
+ --cycle;
+ fill_or_unfill z33\4\0s
+ --z33\4\0
+ --z33\4\1
+ ..controls z33\4\2c1 and z33\4\2c2..cycle;
+ fill_or_unfill z33\5\0s
+ ..controls z33\5\0c1 and z33\5\0c2..z33\5\0
+ --z33\5\1
+ ..controls z33\5\2c1 and z33\5\2c2..cycle;
+ proof_labels (
+ 33\0\0,
+ 33\0\1,
+ 33\0\2,
+ 33\0\3,
+ 33\0\4,
+ 33\0\5,
+ 33\0\6,
+ 33\0\7,
+ 33\0\8,
+ 33\0\9,
+ 33\0\10,
+ 33\0\11,
+ 33\0\12,
+ 33\0\13,
+ 33\0\14,
+ 33\0\15,
+ 33\0\16,
+ 33\0\17,
+ 33\0\18,
+ 33\0\19,
+ 33\0\20,
+ 33\0\21,
+ 33\0\22,
+ 33\1\0,
+ 33\1\1,
+ 33\1\2,
+ 33\2\0,
+ 33\2\1,
+ 33\2\2,
+ 33\2\3,
+ 33\2\4,
+ 33\2\5,
+ 33\2\6,
+ 33\2\7,
+ 33\2\8,
+ 33\2\9,
+ 33\3\0,
+ 33\3\1,
+ 33\3\2,
+ 33\3\3,
+ 33\4\0,
+ 33\4\1,
+ 33\4\2,
+ 33\5\0,
+ 33\5\1,
+ 33\5\2,
+);
+endchar; % A2
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{A28}
+% The sign \textit{A28}.
+% Crude drawing of man with upraised arms.
+% \begin{macrocode}
+
+%% A28. Man with raised arms.
+%% (code as Y(89) 89+31 = 120)
+beginchar (120, 11.332u# + side#, 18.029u#, 0.000u#);
+ "A28";
+ z62\0\0s = (0.000u,18.029u); z62\0\0c1 = (0.039u,17.276u);
+ z62\0\0c2 = (1.481u,13.837u); z62\0\0 = (1.972u,13.256u);
+ z62\0\1c1 = (2.699u,12.397u); z62\0\1c2 = (4.029u,12.670u);
+ z62\0\1 = (4.552u,12.223u); z62\0\2c1 = (5.270u,11.610u);
+ z62\0\2c2 = (5.224u,10.208u); z62\0\2 = (4.336u,9.839u);
+ z62\0\3 = (4.948u,8.566u); z62\0\4 = (3.641u,1.379u);
+ z62\0\5 = (1.927u,0.684u); z62\0\6 = (1.927u,0.203u);
+ z62\0\7c1 = (6.311u,-1.170u); z62\0\7c2 = (4.615u,4.822u);
+ z62\0\7 = (6.278u,4.903u); z62\0\8c1 = (6.907u,4.934u);
+ z62\0\8c2 = (8.278u,1.237u); z62\0\8 = (5.541u,0.925u);
+ z62\0\9 = (5.541u,0.203u); z62\0\10c1 = (6.119u,0.203u);
+ z62\0\10c2 = (7.440u,0.112u); z62\0\10 = (7.873u,0.518u);
+ z62\0\11c1 = (8.808u,1.397u); z62\0\11c2 = (7.563u,9.975u);
+ z62\0\11 = (8.271u,11.926u); z62\0\12c1 = (8.675u,13.040u);
+ z62\0\12c2 = (9.676u,12.467u); z62\0\12 = (10.308u,13.262u);
+ z62\0\13c1 = (10.652u,13.695u); z62\0\13c2 = (11.740u,17.295u);
+ z62\0\13 = (11.173u,17.594u); z62\0\14c1 = (10.601u,17.896u);
+ z62\0\14c2 = (10.174u,17.157u); z62\0\14 = (10.078u,16.705u);
+ z62\0\15c1 = (9.705u,14.955u); z62\0\15c2 = (10.283u,13.907u);
+ z62\0\15 = (7.950u,13.693u); z62\0\16c1 = (8.806u,19.335u);
+ z62\0\16c2 = (2.784u,16.978u); z62\0\16 = (4.336u,13.693u);
+ z62\0\17c1 = (0.564u,13.740u); z62\0\17c2 = (3.512u,17.272u);
+ z62\1\0s = (7.227u,14.416u); z62\1\0c1 = (6.879u,15.524u);
+ z62\1\0c2 = (7.215u,15.698u); z62\1\0 = (5.781u,15.861u);
+ z62\1\1 = (5.781u,16.343u); z62\1\2c1 = (7.175u,16.204u);
+ z62\1\2c2 = (7.685u,15.880u); z62\2\0s = (6.022u,14.898u);
+ z62\2\0c1 = (6.384u,12.937u); z62\2\0c2 = (7.169u,13.552u);
+ z62\2\0 = (7.519u,12.824u); z62\2\1c1 = (8.065u,11.690u);
+ z62\2\1c2 = (6.892u,10.044u); z62\2\1 = (5.781u,9.839u);
+ z62\2\2 = (5.611u,13.565u); z62\2\3 = (4.818u,14.657u);
+ z62\3\0s = (7.468u,9.116u); z62\3\0c1 = (7.113u,8.002u);
+ z62\3\0c2 = (7.568u,6.917u); z62\3\0 = (7.338u,6.274u);
+ z62\3\1c1 = (7.228u,5.968u); z62\3\1c2 = (7.033u,5.853u);
+ z62\3\1 = (6.716u,5.817u); z62\3\2c1 = (4.885u,5.607u);
+ z62\3\2c2 = (5.264u,9.719u);
+ fill_or_unfill z62\0\0s
+ ..controls z62\0\0c1 and z62\0\0c2..z62\0\0
+ ..controls z62\0\1c1 and z62\0\1c2..z62\0\1
+ ..controls z62\0\2c1 and z62\0\2c2..z62\0\2
+ --z62\0\3 --z62\0\4 --z62\0\5 --z62\0\6
+ ..controls z62\0\7c1 and z62\0\7c2..z62\0\7
+ ..controls z62\0\8c1 and z62\0\8c2..z62\0\8
+ --z62\0\9
+ ..controls z62\0\10c1 and z62\0\10c2..z62\0\10
+ ..controls z62\0\11c1 and z62\0\11c2..z62\0\11
+ ..controls z62\0\12c1 and z62\0\12c2..z62\0\12
+ ..controls z62\0\13c1 and z62\0\13c2..z62\0\13
+ ..controls z62\0\14c1 and z62\0\14c2..z62\0\14
+ ..controls z62\0\15c1 and z62\0\15c2..z62\0\15
+ ..controls z62\0\16c1 and z62\0\16c2..z62\0\16
+ ..controls z62\0\17c1 and z62\0\17c2..cycle;
+ fill_or_unfill z62\1\0s
+ ..controls z62\1\0c1 and z62\1\0c2..z62\1\0
+ --z62\1\1
+ ..controls z62\1\2c1 and z62\1\2c2..cycle;
+ fill_or_unfill z62\2\0s
+ ..controls z62\2\0c1 and z62\2\0c2..z62\2\0
+ ..controls z62\2\1c1 and z62\2\1c2..z62\2\1
+ --z62\2\2 --z62\2\3 --cycle;
+ fill_or_unfill z62\3\0s
+ ..controls z62\3\0c1 and z62\3\0c2..z62\3\0
+ ..controls z62\3\1c1 and z62\3\1c2..z62\3\1
+ ..controls z62\3\2c1 and z62\3\2c2..cycle;
+endchar; % A28
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D1}
+% The sign \textit{D1}.
+% A man's head in profile (tp).
+% \begin{macrocode}
+
+%% D1. Man's head in profile.
+%% (code as Q(81) 81+31 = 112)
+beginchar (112, 9.197u# + side#, 8.871u#, 0.000u#);
+ "D1";
+ z32\0\0s = (0.000u,3.851u); z32\0\0c1 = (0.075u,3.245u);
+ z32\0\0c2 = (0.844u,3.732u); z32\0\0 = (0.778u,3.123u);
+ z32\0\1c1 = (0.905u,1.801u); z32\0\1c2 = (0.869u,1.324u);
+ z32\0\1 = (0.723u,0.442u); z32\0\2c1 = (1.068u,0.407u);
+ z32\0\2c2 = (1.302u,0.317u); z32\0\2 = (1.665u,0.442u);
+ z32\0\3c1 = (2.107u,0.511u); z32\0\3c2 = (2.518u,0.947u);
+ z32\0\3 = (2.919u,0.986u); z32\0\4c1 = (3.440u,1.037u);
+ z32\0\4c2 = (4.199u,-0.053u); z32\0\4 = (6.022u,0.000u);
+ z32\0\5c1 = (9.824u,0.111u); z32\0\5c2 = (10.897u,7.849u);
+ z32\0\5 = (5.541u,8.798u); z32\0\6c1 = (4.348u,9.010u);
+ z32\0\6c2 = (3.169u,8.766u); z32\0\6 = (2.213u,7.995u);
+ z32\0\7c1 = (1.579u,7.484u); z32\0\7c2 = (1.269u,6.777u);
+ z32\0\7 = (1.068u,5.950u); z32\0\8c1 = (0.582u,5.274u);
+ z32\0\8c2 = (0.202u,4.513u); z32\1\0s = (7.709u,1.683u);
+ z32\1\0c1 = (3.871u,2.694u); z32\1\0c2 = (8.669u,4.546u);
+ z32\1\0 = (4.577u,5.746u); z32\1\1c1 = (3.584u,6.038u);
+ z32\1\1c2 = (2.987u,6.250u); z32\1\1 = (1.927u,6.260u);
+ z32\1\2c1 = (3.658u,10.462u); z32\1\2c2 = (10.910u,7.565u);
+ z32\2\0s = (5.348u,4.895u); z32\2\0c1 = (5.561u,5.047u);
+ z32\2\0c2 = (6.353u,4.407u); z32\2\0 = (5.531u,3.280u);
+ z32\2\1c1 = (5.531u,2.792u); z32\2\1c2 = (5.772u,2.060u);
+ z32\2\1 = (6.745u,0.719u); z32\2\2c1 = (4.453u,0.720u);
+ z32\2\2c2 = (5.129u,0.972u); z32\2\2 = (3.348u,1.751u);
+ z32\2\3c1 = (2.255u,1.480u); z32\2\3c2 = (1.359u,1.438u);
+ z32\2\3 = (1.243u,2.075u); z32\2\4c1 = (1.488u,3.478u);
+ z32\2\4c2 = (1.032u,3.759u); z32\2\4 = (0.752u,3.899u);
+ z32\2\5c1 = (0.815u,4.745u); z32\2\5c2 = (1.068u,5.253u);
+ z32\2\5 = (1.512u,5.506u); z32\2\6 = (1.639u,5.760u);
+ z32\2\7c1 = (2.273u,5.739u); z32\2\7c2 = (2.913u,5.576u);
+ z32\2\7 = (3.342u,5.500u); z32\2\8c1 = (4.628u,5.124u);
+ z32\2\8c2 = (4.010u,4.269u); z32\3\0s = (1.588u,4.851u);
+ z32\3\0c1 = (1.775u,4.371u); z32\3\0c2 = (3.428u,4.317u);
+ z32\3\0 = (3.641u,4.851u); z32\3\1c1 = (2.921u,5.197u);
+ z32\3\1c2 = (2.175u,5.171u);
+ fill_or_unfill z32\0\0s
+ ..controls z32\0\0c1 and z32\0\0c2..z32\0\0
+ ..controls z32\0\1c1 and z32\0\1c2..z32\0\1
+ ..controls z32\0\2c1 and z32\0\2c2..z32\0\2
+ ..controls z32\0\3c1 and z32\0\3c2..z32\0\3
+ ..controls z32\0\4c1 and z32\0\4c2..z32\0\4
+ ..controls z32\0\5c1 and z32\0\5c2..z32\0\5
+ ..controls z32\0\6c1 and z32\0\6c2..z32\0\6
+ ..controls z32\0\7c1 and z32\0\7c2..z32\0\7
+ ..controls z32\0\8c1 and z32\0\8c2..cycle;
+ fill_or_unfill z32\1\0s
+ ..controls z32\1\0c1 and z32\1\0c2..z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..z32\1\1
+ ..controls z32\1\2c1 and z32\1\2c2..cycle;
+ fill_or_unfill z32\2\0s
+ ..controls z32\2\0c1 and z32\2\0c2..z32\2\0
+ ..controls z32\2\1c1 and z32\2\1c2..z32\2\1
+ ..controls z32\2\2c1 and z32\2\2c2..z32\2\2
+ ..controls z32\2\3c1 and z32\2\3c2..z32\2\3
+ ..controls z32\2\4c1 and z32\2\4c2..z32\2\4
+ ..controls z32\2\5c1 and z32\2\5c2..z32\2\5
+ --z32\2\6
+ ..controls z32\2\7c1 and z32\2\7c2..z32\2\7
+ ..controls z32\2\8c1 and z32\2\8c2..cycle;
+ fill_or_unfill z32\3\0s
+ ..controls z32\3\0c1 and z32\3\0c2..z32\3\0
+ ..controls z32\3\1c1 and z32\3\1c2..cycle;
+endchar; % D1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D2}
+% The sign \textit{D2}.
+% Full face man's head (face, hr).
+% \begin{macrocode}
+
+%% D2: full face
+%% (code as E(69) 69+31 = 100)
+%% (code as q(113) 113+31 = 144)
+beginchar (144, 7.553u# + side#, 8.079u#, 0.000u#);
+ "D2";
+ z33\0\0s = (0.829u,5.895u); z33\0\0c1 = (-0.154u,5.895u);
+ z33\0\0c2 = (-0.400u,4.667u); z33\0\0 = (0.829u,3.930u);
+ z33\0\1c1 = (1.074u,3.439u); z33\0\1c2 = (1.811u,2.456u);
+ z33\0\1 = (2.794u,0.982u); z33\0\2 = (2.794u,0.000u);
+ z33\0\3 = (4.759u,0.000u); z33\0\4 = (4.759u,0.982u);
+ z33\0\5c1 = (5.742u,2.456u); z33\0\5c2 = (6.478u,3.439u);
+ z33\0\5 = (6.724u,3.930u); z33\0\6c1 = (7.952u,4.667u);
+ z33\0\6c2 = (7.706u,5.895u); z33\0\6 = (6.724u,5.895u);
+ z33\0\7c1 = (5.742u,8.843u); z33\0\7c2 = (1.811u,8.843u);
+ z33\1\0s = (6.724u,5.404u); z33\1\0c1 = (7.706u,5.404u);
+ z33\1\0c2 = (7.215u,4.421u); z33\1\0 = (6.233u,3.930u);
+ z33\1\1c1 = (5.250u,2.211u); z33\1\1c2 = (4.759u,1.474u);
+ z33\1\1 = (3.776u,1.474u); z33\1\2c1 = (2.794u,1.474u);
+ z33\1\2c2 = (2.303u,2.211u); z33\1\2 = (1.320u,3.930u);
+ z33\1\3c1 = (0.338u,4.421u); z33\1\3c2 = (-0.154u,5.404u);
+ z33\1\3 = (0.829u,5.404u); z33\1\4c1 = (2.794u,7.860u);
+ z33\1\4c2 = (4.759u,7.860u); z33\2\0s = (4.309u,5.198u);
+ z33\2\0c1 = (4.309u,4.461u); z33\2\0c2 = (5.782u,4.461u);
+ z33\2\0 = (5.782u,5.198u); z33\3\0s = (2.556u,2.694u);
+ z33\3\0c1 = (2.556u,2.202u); z33\3\0c2 = (5.012u,2.202u);
+ z33\3\0 = (5.012u,2.694u); z33\4\0s = (1.694u,5.160u);
+ z33\4\0c1 = (1.694u,4.423u); z33\4\0c2 = (3.168u,4.423u);
+ z33\4\0 = (3.168u,5.160u);
+ fill_or_unfill z33\0\0s
+ ..controls z33\0\0c1 and z33\0\0c2..z33\0\0
+ ..controls z33\0\1c1 and z33\0\1c2..z33\0\1
+ --z33\0\2 --z33\0\3 --z33\0\4
+ ..controls z33\0\5c1 and z33\0\5c2..z33\0\5
+ ..controls z33\0\6c1 and z33\0\6c2..z33\0\6
+ ..controls z33\0\7c1 and z33\0\7c2..cycle;
+ fill_or_unfill z33\1\0s
+ ..controls z33\1\0c1 and z33\1\0c2..z33\1\0
+ ..controls z33\1\1c1 and z33\1\1c2..z33\1\1
+ ..controls z33\1\2c1 and z33\1\2c2..z33\1\2
+ ..controls z33\1\3c1 and z33\1\3c2..z33\1\3
+ ..controls z33\1\4c1 and z33\1\4c2..cycle;
+ fill_or_unfill z33\2\0s
+ ..controls z33\2\0c1 and z33\2\0c2..z33\2\0
+ --cycle;
+ fill_or_unfill z33\3\0s
+ ..controls z33\3\0c1 and z33\3\0c2..z33\3\0
+ --cycle;
+ fill_or_unfill z33\4\0s
+ ..controls z33\4\0c1 and z33\4\0c2..z33\4\0
+ --cycle;
+endchar; % D2
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D4}
+% The sign \textit{D4}.
+% An eye (ir).
+% \begin{macrocode}
+
+%% D4 An eye.
+%% (code as e(101) 101+31 = 132)
+beginchar (132, 17.146u# + side#, 5.017u#, 0.000u#);
+ "D4";
+ z35\0\0s = (17.146u,2.935u); z35\0\0 = (15.625u,2.935u);
+ z35\0\1c1 = (10.096u,5.838u); z35\0\1c2 = (4.379u,5.305u);
+ z35\0\1 = (2.942u,3.764u); z35\0\2c1 = (2.409u,3.193u);
+ z35\0\2c2 = (1.307u,1.993u); z35\0\2 = (0.000u,0.884u);
+ z35\0\3 = (0.654u,0.474u); z35\0\4 = (1.309u,1.047u);
+ z35\0\5c1 = (4.253u,-0.344u); z35\0\5c2 = (8.022u,-0.659u);
+ z35\0\5 = (15.625u,2.036u); z35\0\6 = (17.077u,2.036u);
+ z35\1\0s = (14.660u,2.489u); z35\1\0c1 = (9.069u,0.625u);
+ z35\1\0c2 = (4.987u,0.448u); z35\1\0 = (1.970u,1.601u);
+ z35\1\1c1 = (3.429u,4.037u); z35\1\1c2 = (6.079u,4.448u);
+ z35\1\1 = (8.627u,4.155u); z35\1\2c1 = (11.174u,3.862u);
+ z35\1\2c2 = (13.617u,2.866u); z35\2\0s = (6.938u,4.933u);
+ z35\2\0c1 = (3.451u,4.470u); z35\2\0c2 = (4.581u,0.105u);
+ z35\2\0 = (7.209u,0.304u); z35\2\1c1 = (9.933u,0.511u);
+ z35\2\1c2 = (10.271u,4.895u); z35\3\0s = (6.756u,4.082u);
+ z35\3\0c1 = (8.893u,4.271u); z35\3\0c2 = (9.026u,1.478u);
+ z35\3\0 = (7.264u,1.204u); z35\3\1c1 = (5.423u,0.917u);
+ z35\3\1c2 = (4.808u,3.599u);
+ fill_or_unfill z35\0\0s
+ --z35\0\0
+ ..controls z35\0\1c1 and z35\0\1c2..z35\0\1
+ ..controls z35\0\2c1 and z35\0\2c2..z35\0\2
+ --z35\0\3 --z35\0\4
+ ..controls z35\0\5c1 and z35\0\5c2..z35\0\5
+ --z35\0\6 --cycle;
+ fill_or_unfill z35\1\0s
+ ..controls z35\1\0c1 and z35\1\0c2..z35\1\0
+ ..controls z35\1\1c1 and z35\1\1c2..z35\1\1
+ ..controls z35\1\2c1 and z35\1\2c2..cycle;
+ fill_or_unfill z35\2\0s
+ ..controls z35\2\0c1 and z35\2\0c2..z35\2\0
+ ..controls z35\2\1c1 and z35\2\1c2..cycle;
+ fill_or_unfill z35\3\0s
+ ..controls z35\3\0c1 and z35\3\0c2..z35\3\0
+ ..controls z35\3\1c1 and z35\3\1c2..cycle;
+endchar; % D4
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D21}
+% The sign \textit{D21}.
+% A pointy ellipse (mouth, r).
+% \begin{macrocode}
+
+%% D21: a pointy ellipse, or mouth
+%% (code as r(114) 114+31 = 145)
+beginchar (145, 17.532u# + side#, 4.914u#, 0.000u#);
+ "D21";
+ z52\0\0s = (17.532u,2.457u); z52\0\0c1 = (13.149u,5.744u);
+ z52\0\0c2 = (4.383u,5.744u); z52\0\0 = (0.000u,2.457u);
+ z52\0\1c1 = (4.383u,-0.831u); z52\0\1c2 = (13.149u,-0.831u);
+ z52\1\0s = (16.437u,2.457u); z52\1\0c1 = (14.519u,1.635u);
+ z52\1\0c2 = (11.509u,0.944u); z52\1\0 = (8.766u,0.950u);
+ z52\1\1c1 = (5.750u,0.957u); z52\1\1c2 = (3.698u,1.224u);
+ z52\1\1 = (1.370u,2.457u); z52\1\2c1 = (3.698u,3.416u);
+ z52\1\2c2 = (6.023u,3.970u); z52\1\2 = (8.766u,3.964u);
+ z52\1\3c1 = (11.783u,3.957u); z52\1\3c2 = (14.245u,3.279u);
+ fill_or_unfill z52\0\0s
+ ..controls z52\0\0c1 and z52\0\0c2..z52\0\0
+ ..controls z52\0\1c1 and z52\0\1c2..cycle;
+ fill_or_unfill z52\1\0s
+ ..controls z52\1\0c1 and z52\1\0c2..z52\1\0
+ ..controls z52\1\1c1 and z52\1\1c2..z52\1\1
+ ..controls z52\1\2c1 and z52\1\2c2..z52\1\2
+ ..controls z52\1\3c1 and z52\1\3c2..cycle;
+endchar; % D21
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D36}
+% The sign \textit{D36}.
+% A forearm and hand (a, the semitic gutteral ayin).
+% \begin{macrocode}
+
+%% D36: a forearm and hand
+%% (code as a(97) 97+31 = 128)
+%% (code as A(65) 65+31 = 96)
+beginchar (96, 18.328u# + side#, 5.598u#, 0.000u#);
+ "D36";
+ z69\0\0s = (15.422u,1.609u);
+ z69\0\0 = (9.159u,1.638u); z69\0\1 = (6.267u,1.427u);
+ z69\0\2c1 = (3.977u,1.549u); z69\0\2c2 = (4.014u,3.167u);
+ z69\0\2 = (0.969u,1.917u); z69\0\3c1 = (0.891u,1.128u);
+ z69\0\3c2 = (3.543u,2.109u); z69\0\3 = (3.615u,0.940u);
+ z69\0\4c1 = (2.670u,0.339u); z69\0\4c2 = (0.027u,1.622u);
+ z69\0\4 = (0.000u,0.476u); z69\0\5c1 = (0.840u,0.214u);
+ z69\0\5c2 = (1.763u,0.004u); z69\0\5 = (2.648u,0.000u);
+ z69\0\6 = (6.986u,0.445u); z69\0\7 = (17.917u,0.395u);
+ z69\0\8c1 = (18.406u,0.774u); z69\0\8c2 = (18.315u,2.448u);
+ z69\0\8 = (18.320u,3.042u); z69\0\9c1 = (18.324u,3.501u);
+ z69\0\9c2 = (18.372u,4.502u); z69\0\9 = (18.184u,4.895u);
+ z69\0\10c1 = (17.845u,5.603u); z69\0\10c2 = (16.233u,5.933u);
+ z69\0\10 = (15.823u,5.144u); z69\0\11c1 = (15.544u,4.609u);
+ z69\0\11c2 = (15.428u,2.296u); z69\1\0s = (17.587u,0.876u);
+ z69\1\0c1 = (13.966u,1.319u); z69\1\0c2 = (17.541u,7.304u);
+ z69\1\0 = (17.598u,3.285u);
+ fill_or_unfill z69\0\0s
+ --z69\0\0 --z69\0\1
+ ..controls z69\0\2c1 and z69\0\2c2..z69\0\2
+ ..controls z69\0\3c1 and z69\0\3c2..z69\0\3
+ ..controls z69\0\4c1 and z69\0\4c2..z69\0\4
+ ..controls z69\0\5c1 and z69\0\5c2..z69\0\5
+ --z69\0\6 --z69\0\7
+ ..controls z69\0\8c1 and z69\0\8c2..z69\0\8
+ ..controls z69\0\9c1 and z69\0\9c2..z69\0\9
+ ..controls z69\0\10c1 and z69\0\10c2..z69\0\10
+ ..controls z69\0\11c1 and z69\0\11c2..cycle;
+ fill_or_unfill z69\1\0s
+ ..controls z69\1\0c1 and z69\1\0c2..z69\1\0
+ --cycle;
+endchar; % D36
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D46}
+% The sign \textit{D46}.
+% Looks like a mitt (d).
+% \begin{macrocode}
+
+%% D46: a mitt
+%% (code as d(100) 100+31 = 131)
+beginchar (131, 17.000u# + side#, 5.558u#, 0.000u#);
+ "D46";
+ z79\0\0s = (3.284u,3.373u); z79\0\0c1 = (-1.287u,3.975u);
+ z79\0\0c2 = (-0.979u,0.007u); z79\0\0 = (3.284u,0.000u);
+ z79\0\1 = (17.000u,0.416u); z79\0\2 = (16.998u,3.725u);
+ z79\0\3c1 = (15.015u,3.708u); z79\0\3c2 = (12.289u,4.189u);
+ z79\0\3 = (10.579u,4.509u); z79\0\4c1 = (6.678u,5.858u);
+ z79\0\4c2 = (3.470u,5.953u); z79\0\4 = (3.951u,4.135u);
+ z79\0\5c1 = (4.112u,3.654u); z79\0\5c2 = (6.944u,3.975u);
+ z79\0\5 = (7.960u,3.013u); z79\1\0s = (16.363u,3.083u);
+ z79\1\0 = (16.346u,1.193u); z79\1\1 = (14.632u,1.205u);
+ z79\1\2 = (8.850u,0.723u); z79\1\3 = (3.069u,0.723u);
+ z79\1\4c1 = (0.017u,0.739u); z79\1\4c2 = (-0.004u,3.280u);
+ z79\1\4 = (3.069u,2.650u); z79\1\5c1 = (5.225u,2.655u);
+ z79\1\5c2 = (7.725u,2.383u); z79\1\5 = (9.289u,2.829u);
+ z79\1\6c1 = (7.796u,4.562u); z79\1\6c2 = (4.630u,4.024u);
+ z79\1\6 = (4.593u,4.349u); z79\1\7c1 = (4.152u,6.593u);
+ z79\1\7c2 = (11.977u,2.770u);
+ fill_or_unfill z79\0\0s
+ ..controls z79\0\0c1 and z79\0\0c2..z79\0\0
+ --z79\0\1 --z79\0\2
+ ..controls z79\0\3c1 and z79\0\3c2..z79\0\3
+ ..controls z79\0\4c1 and z79\0\4c2..z79\0\4
+ ..controls z79\0\5c1 and z79\0\5c2..z79\0\5
+ --cycle;
+ fill_or_unfill z79\1\0s
+ --z79\1\0 --z79\1\1 --z79\1\2 --z79\1\3
+ ..controls z79\1\4c1 and z79\1\4c2..z79\1\4
+ ..controls z79\1\5c1 and z79\1\5c2..z79\1\5
+ ..controls z79\1\6c1 and z79\1\6c2..z79\1\6
+ ..controls z79\1\7c1 and z79\1\7c2..cycle;
+endchar; % D46
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D47}
+% The sign \textit{D47}.
+% Palm of the hand.
+% \begin{macrocode}
+
+%%% D47. Palm of hand.
+%%% (code as P(80) 80+31 = 111)
+beginchar (111, 17.566u# + side#, 4.327u#, 0.000u#);
+ "D47";
+ z80\0\0s = (5.461u,4.327u); z80\0\0c1 = (5.841u,2.049u);
+ z80\0\0c2 = (8.256u,2.694u); z80\0\0 = (10.038u,2.652u);
+ z80\0\1 = (10.038u,2.170u); z80\0\2c1 = (8.450u,2.170u);
+ z80\0\2c2 = (7.028u,2.230u); z80\0\2 = (5.461u,2.513u);
+ z80\0\3c1 = (4.546u,2.678u); z80\0\3c2 = (1.477u,3.625u);
+ z80\0\3 = (0.897u,3.517u); z80\0\4c1 = (0.395u,3.424u);
+ z80\0\4c2 = (0.114u,3.132u); z80\0\4 = (0.000u,2.639u);
+ z80\0\5c1 = (-0.526u,0.354u); z80\0\5c2 = (5.167u,0.020u);
+ z80\0\5 = (6.665u,0.003u); z80\0\6c1 = (8.021u,-0.013u);
+ z80\0\6c2 = (9.454u,0.027u); z80\0\6 = (10.760u,0.434u);
+ z80\0\7 = (12.929u,1.398u); z80\0\8c1 = (13.826u,1.565u);
+ z80\0\8c2 = (14.895u,1.431u); z80\0\8 = (15.819u,1.398u);
+ z80\0\9c1 = (18.062u,1.490u); z80\0\9c2 = (18.171u,3.727u);
+ z80\0\9 = (16.059u,3.645u); z80\0\10 = (12.756u,3.357u);
+ z80\0\11c1 = (11.371u,3.466u); z80\0\11c2 = (10.438u,4.404u);
+ z80\0\11 = (8.833u,4.327u); z80\1\0s = (10.038u,3.615u);
+ z80\1\0c1 = (12.912u,2.713u); z80\1\0c2 = (13.460u,2.382u);
+ z80\1\0 = (16.542u,3.133u); z80\1\1 = (16.783u,2.176u);
+ z80\1\2 = (13.031u,2.176u); z80\1\3c1 = (12.013u,2.038u);
+ z80\1\3c2 = (11.082u,1.234u); z80\1\3 = (10.038u,0.975u);
+ z80\1\4c1 = (8.557u,0.609u); z80\1\4c2 = (1.372u,0.561u);
+ z80\1\4 = (0.683u,1.996u); z80\1\5c1 = (0.270u,2.856u);
+ z80\1\5c2 = (1.308u,2.917u); z80\1\5 = (1.848u,2.795u);
+ z80\1\6c1 = (4.094u,2.289u); z80\1\6c2 = (6.250u,1.527u);
+ z80\1\6 = (8.592u,1.457u); z80\1\7c1 = (10.131u,1.411u);
+ z80\1\7c2 = (11.752u,2.028u); z80\1\7 = (9.797u,3.374u);
+ fill_or_unfill z80\0\0s
+ ..controls z80\0\0c1 and z80\0\0c2..z80\0\0
+ --z80\0\1
+ ..controls z80\0\2c1 and z80\0\2c2..z80\0\2
+ ..controls z80\0\3c1 and z80\0\3c2..z80\0\3
+ ..controls z80\0\4c1 and z80\0\4c2..z80\0\4
+ ..controls z80\0\5c1 and z80\0\5c2..z80\0\5
+ ..controls z80\0\6c1 and z80\0\6c2..z80\0\6
+ --z80\0\7
+ ..controls z80\0\8c1 and z80\0\8c2..z80\0\8
+ ..controls z80\0\9c1 and z80\0\9c2..z80\0\9
+ --z80\0\10
+ ..controls z80\0\11c1 and z80\0\11c2..z80\0\11
+ --cycle;
+ fill_or_unfill z80\1\0s
+ ..controls z80\1\0c1 and z80\1\0c2..z80\1\0
+ --z80\1\1 --z80\1\2
+ ..controls z80\1\3c1 and z80\1\3c2..z80\1\3
+ ..controls z80\1\4c1 and z80\1\4c2..z80\1\4
+ ..controls z80\1\5c1 and z80\1\5c2..z80\1\5
+ ..controls z80\1\6c1 and z80\1\6c2..z80\1\6
+ ..controls z80\1\7c1 and z80\1\7c2..z80\1\7
+ --cycle;
+endchar; % D47
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D54}
+% The sign \textit{D54}.
+% A pair of legs walking leftwards (come, iw).
+% \begin{macrocode}
+
+%% D54: legs walking leftwards
+%% (code as U(85) 85+31 = 116)
+%% (code as L(76) 76+31 = 107)
+beginchar (107, 10.043u# + side#, 7.983u#, 0.000u#);
+ "D54";
+ z88\0\0s = (0.000u,0.963u); z88\0\0 = (0.241u,0.000u);
+ z88\0\1 = (3.301u,0.518u); z88\0\2 = (6.745u,6.745u);
+ z88\0\3c1 = (7.666u,5.981u); z88\0\3c2 = (8.001u,5.197u);
+ z88\0\3 = (8.416u,4.095u); z88\0\4c1 = (9.989u,-0.087u);
+ z88\0\4c2 = (7.088u,2.355u); z88\0\4 = (6.263u,0.241u);
+ z88\0\5c1 = (6.844u,0.253u); z88\0\5c2 = (9.399u,0.347u);
+ z88\0\5 = (9.732u,0.647u); z88\0\6c1 = (10.785u,1.595u);
+ z88\0\6c2 = (9.007u,7.983u); z88\0\6 = (6.989u,7.983u);
+ z88\0\7c1 = (4.516u,7.983u); z88\0\7c2 = (5.267u,1.710u);
+ fill_or_unfill z88\0\0s
+ --z88\0\0 --z88\0\1 --z88\0\2
+ ..controls z88\0\3c1 and z88\0\3c2..z88\0\3
+ ..controls z88\0\4c1 and z88\0\4c2..z88\0\4
+ ..controls z88\0\5c1 and z88\0\5c2..z88\0\5
+ ..controls z88\0\6c1 and z88\0\6c2..z88\0\6
+ ..controls z88\0\7c1 and z88\0\7c2..cycle;
+endchar; % D54
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{D58}
+% The sign \textit{D58}.
+% Lower leg and foot (b).
+% \begin{macrocode}
+
+%% D58: leg and foot
+%% (code as b(98) 98+31 = 129)
+beginchar (129, 9.836u# + side#, 16.353u#, 0.000u#);
+ "D58";
+ z92\0\0s = (7.558u,16.134u); z92\0\0c1 = (6.778u,15.139u);
+ z92\0\0c2 = (7.527u,8.027u); z92\0\0 = (7.558u,6.263u);
+ z92\0\1c1 = (7.485u,1.739u); z92\0\1c2 = (0.817u,2.085u);
+ z92\0\1 = (0.088u,0.842u); z92\0\2c1 = (-0.380u,0.042u);
+ z92\0\2c2 = (1.097u,0.008u); z92\0\2 = (1.493u,0.000u);
+ z92\0\3 = (6.311u,0.198u); z92\0\4c1 = (7.107u,0.198u);
+ z92\0\4c2 = (7.908u,-0.089u); z92\0\4 = (8.707u,0.035u);
+ z92\0\5c1 = (9.112u,0.098u); z92\0\5c2 = (9.358u,0.194u);
+ z92\0\5 = (9.632u,0.557u); z92\0\6c1 = (10.065u,1.351u);
+ z92\0\6c2 = (9.685u,3.346u); z92\0\6 = (9.632u,4.335u);
+ z92\0\7 = (9.499u,15.995u); z92\0\8c1 = (9.028u,16.550u);
+ z92\0\8c2 = (8.169u,16.352u); z92\1\0s = (8.961u,0.722u);
+ z92\1\0 = (2.698u,0.722u); z92\1\1c1 = (4.054u,1.922u);
+ z92\1\1c2 = (6.176u,2.208u); z92\1\1 = (7.449u,3.465u);
+ z92\1\2c1 = (9.291u,5.284u); z92\1\2c2 = (7.462u,12.926u);
+ z92\1\2 = (8.238u,15.658u); z92\1\3 = (8.881u,14.882u);
+ z92\1\4 = (8.720u,7.708u);
+ fill_or_unfill z92\0\0s
+ ..controls z92\0\0c1 and z92\0\0c2..z92\0\0
+ ..controls z92\0\1c1 and z92\0\1c2..z92\0\1
+ ..controls z92\0\2c1 and z92\0\2c2..z92\0\2
+ --z92\0\3
+ ..controls z92\0\4c1 and z92\0\4c2..z92\0\4
+ ..controls z92\0\5c1 and z92\0\5c2..z92\0\5
+ ..controls z92\0\6c1 and z92\0\6c2..z92\0\6
+ --z92\0\7
+ ..controls z92\0\8c1 and z92\0\8c2..cycle;
+ fill_or_unfill z92\1\0s
+ --z92\1\0
+ ..controls z92\1\1c1 and z92\1\1c2..z92\1\1
+ ..controls z92\1\2c1 and z92\1\2c2..z92\1\2
+ --z92\1\3 --z92\1\4 --cycle;
+endchar; % D58
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{E23}
+% The sign \textit{E23}.
+% A lion lying down (l).
+% \begin{macrocode}
+
+%% E23: A lion lying down
+%% (code as l(108) = 108+31 = 139)
+beginchar (139, 17.288u# + side#, 7.010u#, 0.000u#);
+ "E23";
+ z55\0\0s = (4.577u,2.690u); z55\0\0c1 = (4.426u,0.077u);
+ z55\0\0c2 = (1.837u,1.353u); z55\0\0 = (0.000u,0.763u);
+ z55\0\1 = (0.000u,0.301u); z55\0\2 = (5.502u,0.301u);
+ z55\0\3 = (6.766u,0.845u); z55\0\4 = (10.840u,1.003u);
+ z55\0\5 = (10.600u,0.246u); z55\0\6c1 = (11.421u,0.017u);
+ z55\0\6c2 = (16.303u,-0.169u); z55\0\6 = (16.931u,0.246u);
+ z55\0\7c1 = (18.276u,1.020u); z55\0\7c2 = (15.533u,3.569u);
+ z55\0\7 = (14.695u,3.893u); z55\0\8 = (15.417u,5.099u);
+ z55\0\9c1 = (12.738u,5.073u); z55\0\9c2 = (13.048u,3.553u);
+ z55\0\9 = (9.955u,4.214u); z55\0\10c1 = (8.491u,4.526u);
+ z55\0\10c2 = (8.068u,7.437u); z55\0\10 = (5.347u,6.972u);
+ z55\0\11c1 = (4.792u,6.877u); z55\0\11c2 = (2.583u,4.731u);
+ z55\0\11 = (2.632u,4.179u); z55\0\12c1 = (2.693u,3.496u);
+ z55\0\12c2 = (4.009u,2.815u); z55\1\0s = (5.781u,6.544u);
+ z55\1\0 = (6.504u,6.303u); z55\2\0s = (8.191u,4.376u);
+ z55\2\0 = (6.745u,3.893u); z55\2\1 = (6.504u,6.062u);
+ z55\2\2c1 = (7.466u,5.850u); z55\2\2c2 = (7.979u,5.338u);
+ z55\3\0s = (5.300u,5.581u); z55\3\0c1 = (6.216u,4.989u);
+ z55\3\0c2 = (6.597u,4.122u); z55\3\0 = (5.161u,3.837u);
+ z55\3\1c1 = (4.665u,3.738u); z55\3\1c2 = (4.103u,4.033u);
+ z55\3\1 = (3.613u,4.135u); z55\3\2 = (3.854u,4.858u);
+ z55\3\3 = (5.300u,4.858u); z55\4\0s = (12.768u,2.449u);
+ z55\4\0 = (7.135u,1.613u); z55\4\1 = (5.059u,1.003u);
+ z55\4\2c1 = (6.022u,2.341u); z55\4\2c2 = (7.345u,3.787u);
+ z55\4\2 = (9.114u,3.612u); z55\4\3 = (11.460u,3.273u);
+ z55\4\4c1 = (12.325u,3.308u); z55\4\4c2 = (12.366u,3.185u);
+ z55\5\0s = (16.622u,1.003u); z55\5\0c1 = (15.199u,1.235u);
+ z55\5\0c2 = (13.442u,1.807u); z55\5\0 = (13.249u,3.412u);
+ z55\5\1c1 = (15.022u,3.251u); z55\5\1c2 = (15.814u,2.541u);
+ z55\6\0s = (13.972u,1.243u); z55\6\0 = (11.563u,1.243u);
+ fill_or_unfill z55\0\0s
+ ..controls z55\0\0c1 and z55\0\0c2..z55\0\0
+ --z55\0\1 --z55\0\2 --z55\0\3 --z55\0\4 --z55\0\5
+ ..controls z55\0\6c1 and z55\0\6c2..z55\0\6
+ ..controls z55\0\7c1 and z55\0\7c2..z55\0\7
+ --z55\0\8
+ ..controls z55\0\9c1 and z55\0\9c2..z55\0\9
+ ..controls z55\0\10c1 and z55\0\10c2..z55\0\10
+ ..controls z55\0\11c1 and z55\0\11c2..z55\0\11
+ ..controls z55\0\12c1 and z55\0\12c2..cycle;
+ fill_or_unfill z55\1\0s
+ --z55\1\0 --cycle;
+ fill_or_unfill z55\2\0s
+ --z55\2\0 --z55\2\1
+ ..controls z55\2\2c1 and z55\2\2c2..cycle;
+ fill_or_unfill z55\3\0s
+ ..controls z55\3\0c1 and z55\3\0c2..z55\3\0
+ ..controls z55\3\1c1 and z55\3\1c2..z55\3\1
+ --z55\3\2 --z55\3\3 --cycle;
+ fill_or_unfill z55\4\0s
+ --z55\4\0 --z55\4\1
+ ..controls z55\4\2c1 and z55\4\2c2..z55\4\2
+ --z55\4\3
+ ..controls z55\4\4c1 and z55\4\4c2..cycle;
+ fill_or_unfill z55\5\0s
+ ..controls z55\5\0c1 and z55\5\0c2..z55\5\0
+ ..controls z55\5\1c1 and z55\5\1c2..cycle;
+ fill_or_unfill z55\6\0s
+ --z55\6\0 --cycle;
+endchar; % E23
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{F1}
+% The sign \textit{F1}.
+% An oxhead.
+% \begin{macrocode}
+
+%% F1. An ox head.
+%% (code as K(75) 75+31 = 106)
+%% (code as X(88) 88+31 = 119)
+beginchar (119, 8.026u# + side#, 8.087u#, 0.000u#);
+ "F1";
+ z32\0\0s = (0.744u,8.087u); z32\0\0 = (1.984u,5.678u);
+ z32\0\1 = (0.000u,0.911u); z32\0\2 = (1.467u,0.000u);
+ z32\0\3 = (6.376u,0.526u); z32\0\4 = (6.767u,4.233u);
+ z32\0\5c1 = (7.823u,4.835u); z32\0\5c2 = (8.183u,5.148u);
+ z32\0\5 = (7.971u,6.401u); z32\0\6 = (5.803u,5.678u);
+ z32\0\7 = (7.008u,8.087u); z32\0\8 = (4.358u,6.318u);
+ z32\1\0s = (3.639u,5.302u); z32\1\0c1 = (6.050u,5.699u);
+ z32\1\0c2 = (7.211u,2.079u); z32\1\0 = (5.055u,1.103u);
+ z32\1\1c1 = (4.404u,0.808u); z32\1\1c2 = (3.611u,0.872u);
+ z32\1\1 = (2.912u,0.792u); z32\1\2c1 = (-1.360u,0.301u);
+ z32\1\2c2 = (1.868u,4.461u); z32\2\0s = (6.810u,5.175u);
+ z32\3\0s = (2.672u,3.028u); z32\3\0 = (3.635u,4.233u);
+ z32\3\1c1 = (2.716u,4.071u); z32\3\1c2 = (2.544u,3.984u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0 --z32\0\1 --z32\0\2 --z32\0\3 --z32\0\4
+ ..controls z32\0\5c1 and z32\0\5c2..z32\0\5
+ --z32\0\6 --z32\0\7 --z32\0\8 --cycle;
+ fill_or_unfill z32\1\0s
+ ..controls z32\1\0c1 and z32\1\0c2..z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..z32\1\1
+ ..controls z32\1\2c1 and z32\1\2c2..cycle;
+ fill_or_unfill z32\2\0s
+ --cycle;
+ fill_or_unfill z32\3\0s
+ --z32\3\0
+ ..controls z32\3\1c1 and z32\3\1c2..cycle;
+endchar; % F1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+%
+% \begin{routine}{F34}
+% The sign \textit{F34}.
+% Like a jar with a stopper at the top (heart, ib).
+% \begin{macrocode}
+
+%% F34: stoppered jar
+%% (code as G(71) 71+31 = 102)
+beginchar (102, 8.179u# + side#, 7.922u#, 0.000u#);
+ "F34";
+ z65\0\0s = (2.168u,7.922u); z65\0\0 = (1.927u,6.477u);
+ z65\0\1c1 = (1.174u,6.696u); z65\0\1c2 = (0.019u,6.971u);
+ z65\0\1 = (0.000u,5.759u); z65\0\2c1 = (-0.013u,4.961u);
+ z65\0\2c2 = (1.117u,4.366u); z65\0\2 = (1.482u,3.576u);
+ z65\0\3c1 = (1.896u,2.678u); z65\0\3c2 = (2.014u,1.538u);
+ z65\0\3 = (2.611u,0.730u); z65\0\4c1 = (2.993u,0.213u);
+ z65\0\4c2 = (3.455u,0.000u); z65\0\4 = (4.094u,0.000u);
+ z65\0\5c1 = (6.062u,0.000u); z65\0\5c2 = (6.110u,2.494u);
+ z65\0\5 = (6.709u,3.817u); z65\0\6c1 = (7.075u,4.624u);
+ z65\0\6c2 = (8.368u,5.128u); z65\0\6 = (8.163u,5.992u);
+ z65\0\7c1 = (7.801u,7.510u); z65\0\7c2 = (6.390u,6.037u);
+ z65\0\7 = (5.781u,7.922u); z65\1\0s = (5.059u,7.441u);
+ z65\1\0 = (3.131u,7.200u); z65\2\0s = (7.468u,5.995u);
+ z65\2\0 = (6.144u,4.299u); z65\2\1c1 = (5.738u,3.433u);
+ z65\2\1c2 = (4.750u,-1.275u); z65\2\1 = (2.945u,1.453u);
+ z65\2\2c1 = (2.334u,2.377u); z65\2\2c2 = (2.429u,3.584u);
+ z65\2\2 = (1.889u,4.500u); z65\2\3 = (0.722u,5.995u);
+ z65\2\4 = (4.336u,6.473u);
+ fill_or_unfill z65\0\0s
+ --z65\0\0
+ ..controls z65\0\1c1 and z65\0\1c2..z65\0\1
+ ..controls z65\0\2c1 and z65\0\2c2..z65\0\2
+ ..controls z65\0\3c1 and z65\0\3c2..z65\0\3
+ ..controls z65\0\4c1 and z65\0\4c2..z65\0\4
+ ..controls z65\0\5c1 and z65\0\5c2..z65\0\5
+ ..controls z65\0\6c1 and z65\0\6c2..z65\0\6
+ ..controls z65\0\7c1 and z65\0\7c2..z65\0\7
+ --cycle;
+ fill_or_unfill z65\1\0s
+ --z65\1\0 --cycle;
+ fill_or_unfill z65\2\0s
+ --z65\2\0
+ ..controls z65\2\1c1 and z65\2\1c2..z65\2\1
+ ..controls z65\2\2c1 and z65\2\2c2..z65\2\2
+ --z65\2\3 --z65\2\4 --cycle;
+endchar; % F34
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{F40}
+% The sign \textit{F40}.
+% Like organ pipes on a bench (Aw).
+% \begin{macrocode}
+
+%% F40: organ pipes
+%% (code as R(82) 82+31 = 113)
+%% (code as Z(90) 90+31 = 121)
+beginchar (121, 16.316u# + side#, 14.206u#, 0.000u#);
+ "F40";
+ z71\0\0s = (4.285u,5.936u); z71\0\0 = (5.730u,5.213u);
+ z71\0\1 = (5.730u,5.919u); z71\0\2 = (9.101u,5.919u);
+ z71\0\3 = (11.240u,5.296u); z71\0\4 = (12.476u,6.177u);
+ z71\0\5 = (13.805u,3.768u); z71\0\6c1 = (14.197u,2.801u);
+ z71\0\6c2 = (14.119u,0.433u); z71\0\6 = (15.157u,0.071u);
+ z71\0\7c1 = (16.775u,-0.494u); z71\0\7c2 = (16.295u,2.307u);
+ z71\0\7 = (16.079u,3.045u); z71\0\8c1 = (15.779u,4.066u);
+ z71\0\8c2 = (15.314u,5.080u); z71\0\8 = (14.662u,5.926u);
+ z71\0\9c1 = (13.698u,7.176u); z71\0\9c2 = (12.595u,7.215u);
+ z71\0\9 = (12.759u,9.068u); z71\0\10c1 = (12.968u,11.411u);
+ z71\0\10c2 = (15.066u,14.204u); z71\0\10 = (11.281u,14.114u);
+ z71\0\11c1 = (10.011u,14.083u); z71\0\11c2 = (6.276u,14.577u);
+ z71\0\11 = (5.563u,13.574u); z71\0\12c1 = (5.222u,13.098u);
+ z71\0\12c2 = (4.952u,11.623u); z71\0\12 = (4.798u,10.995u);
+ z71\0\13c1 = (4.597u,10.166u); z71\0\13c2 = (4.416u,8.858u);
+ z71\0\13 = (3.979u,8.155u); z71\0\14c1 = (3.606u,7.558u);
+ z71\0\14c2 = (2.966u,7.291u); z71\0\14 = (2.481u,6.806u);
+ z71\0\15c1 = (1.941u,6.264u); z71\0\15c2 = (1.217u,5.180u);
+ z71\0\15 = (0.872u,4.490u); z71\0\16c1 = (0.520u,3.787u);
+ z71\0\16c2 = (-1.075u,-0.585u); z71\0\16 = (1.132u,0.083u);
+ z71\0\17c1 = (2.864u,0.607u); z71\0\17c2 = (1.351u,3.779u);
+ z71\1\0s = (6.454u,13.404u); z71\1\0c1 = (6.634u,12.209u);
+ z71\1\0c2 = (6.176u,8.343u); z71\1\0 = (5.008u,7.863u);
+ z71\2\0s = (8.380u,13.404u); z71\2\0c1 = (8.257u,12.033u);
+ z71\2\0c2 = (7.805u,8.349u); z71\2\0 = (6.454u,7.863u);
+ z71\2\1c1 = (6.521u,9.307u); z71\2\1c2 = (6.915u,12.896u);
+ z71\3\0s = (9.585u,13.404u); z71\3\0 = (8.863u,7.863u);
+ z71\3\1 = (7.900u,8.104u); z71\4\0s = (11.271u,13.404u);
+ z71\4\0 = (10.067u,7.863u); z71\4\1 = (9.585u,7.863u);
+ z71\4\2 = (9.345u,8.104u); z71\4\3c1 = (9.640u,9.576u);
+ z71\4\3c2 = (10.045u,12.539u); z71\5\0s = (12.717u,13.163u);
+ z71\5\0c1 = (12.686u,11.778u); z71\5\0c2 = (12.457u,8.376u);
+ z71\5\0 = (11.030u,7.863u); z71\6\0s = (11.513u,7.140u);
+ z71\6\0 = (11.513u,6.659u); z71\6\1 = (4.767u,6.659u);
+ z71\6\2 = (4.767u,7.140u); z71\7\0s = (1.395u,2.804u);
+ z71\7\0 = (1.154u,0.877u);
+ fill_or_unfill z71\0\0s
+ --z71\0\0 --z71\0\1 --z71\0\2 --z71\0\3 --z71\0\4 --z71\0\5
+ ..controls z71\0\6c1 and z71\0\6c2..z71\0\6
+ ..controls z71\0\7c1 and z71\0\7c2..z71\0\7
+ ..controls z71\0\8c1 and z71\0\8c2..z71\0\8
+ ..controls z71\0\9c1 and z71\0\9c2..z71\0\9
+ ..controls z71\0\10c1 and z71\0\10c2..z71\0\10
+ ..controls z71\0\11c1 and z71\0\11c2..z71\0\11
+ ..controls z71\0\12c1 and z71\0\12c2..z71\0\12
+ ..controls z71\0\13c1 and z71\0\13c2..z71\0\13
+ ..controls z71\0\14c1 and z71\0\14c2..z71\0\14
+ ..controls z71\0\15c1 and z71\0\15c2..z71\0\15
+ ..controls z71\0\16c1 and z71\0\16c2..z71\0\16
+ ..controls z71\0\17c1 and z71\0\17c2..cycle;
+ fill_or_unfill z71\1\0s
+ ..controls z71\1\0c1 and z71\1\0c2..z71\1\0
+ --cycle;
+ fill_or_unfill z71\2\0s
+ ..controls z71\2\0c1 and z71\2\0c2..z71\2\0
+ ..controls z71\2\1c1 and z71\2\1c2..cycle;
+ fill_or_unfill z71\3\0s
+ --z71\3\0 --z71\3\1 --cycle;
+ fill_or_unfill z71\4\0s
+ --z71\4\0 --z71\4\1 --z71\4\2
+ ..controls z71\4\3c1 and z71\4\3c2..cycle;
+ fill_or_unfill z71\5\0s
+ ..controls z71\5\0c1 and z71\5\0c2..z71\5\0
+ --cycle;
+ fill_or_unfill z71\6\0s
+ --z71\6\0 --z71\6\1 --z71\6\2 --cycle;
+ fill_or_unfill z71\7\0s
+ --z71\7\0 --cycle;
+endchar; % F40
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{G1}
+% The sign \textit{G1}.
+% A falcon in profile (A, glottal stop).
+% \begin{macrocode}
+
+%% G1: a falcon in profile
+%% (code as A(65) 65+31 = 96)
+%% (code as a(97) 97+31 = 128)
+beginchar (128, 15.899u# + side#, 17.164u#, 0.000u#);
+ "G1";
+ z32\0\0s = (0.482u,15.514u); z32\0\0 = (0.723u,15.273u);
+ z32\0\1c1 = (1.489u,15.375u); z32\0\1c2 = (2.628u,15.514u);
+ z32\0\1 = (3.228u,14.892u); z32\0\2c1 = (3.843u,14.255u);
+ z32\0\2c2 = (3.514u,12.552u); z32\0\2 = (3.707u,11.660u);
+ z32\0\3 = (4.490u,9.492u); z32\0\4c1 = (5.042u,7.603u);
+ z32\0\4c2 = (5.459u,3.570u); z32\0\4 = (4.490u,1.818u);
+ z32\0\5c1 = (3.469u,0.030u); z32\0\5c2 = (0.863u,2.552u);
+ z32\0\5 = (0.000u,0.096u); z32\0\6 = (11.081u,0.096u);
+ z32\0\7c1 = (10.576u,1.677u); z32\0\7c2 = (9.338u,1.301u);
+ z32\0\7 = (7.950u,1.301u); z32\0\8 = (8.191u,2.987u);
+ z32\0\9 = (9.636u,2.505u); z32\0\10 = (10.118u,4.674u);
+ z32\0\11c1 = (11.597u,2.734u); z32\0\11c2 = (12.753u,-0.622u);
+ z32\0\11 = (15.899u,0.096u); z32\0\12 = (15.601u,2.265u);
+ z32\0\13c1 = (15.044u,4.208u); z32\0\13c2 = (11.994u,8.802u);
+ z32\0\13 = (10.680u,10.455u); z32\0\14c1 = (9.776u,11.593u);
+ z32\0\14c2 = (8.400u,12.583u); z32\0\14 = (7.693u,13.828u);
+ z32\0\15c1 = (7.205u,14.686u); z32\0\15c2 = (7.353u,16.521u);
+ z32\0\15 = (6.808u,16.961u); z32\0\16c1 = (6.158u,17.487u);
+ z32\0\16c2 = (1.942u,16.905u); z32\0\16 = (1.237u,16.476u);
+ z32\0\17c1 = (0.816u,16.219u); z32\0\17c2 = (0.694u,15.927u);
+ z32\1\0s = (7.468u,12.142u); z32\1\0c1 = (2.270u,12.313u);
+ z32\1\0c2 = (8.088u,7.679u); z32\1\0 = (8.948u,6.339u);
+ z32\1\1c1 = (9.487u,5.499u); z32\1\1c2 = (9.394u,4.423u);
+ z32\1\1 = (9.395u,3.469u); z32\1\2 = (7.981u,4.068u);
+ z32\1\3 = (4.526u,11.660u); z32\1\4 = (3.372u,16.237u);
+ z32\1\5c1 = (7.797u,16.277u); z32\1\5c2 = (6.332u,16.505u);
+ z32\2\0s = (4.796u,15.777u); z32\3\0s = (13.731u,4.192u);
+ z32\3\0c1 = (12.368u,4.893u); z32\3\0c2 = (8.039u,7.768u);
+ z32\3\0 = (7.197u,8.872u); z32\3\1c1 = (6.474u,9.738u);
+ z32\3\1c2 = (5.399u,11.470u); z32\3\1 = (7.197u,11.575u);
+ z32\3\2c1 = (7.681u,11.600u); z32\3\2c2 = (8.195u,11.622u);
+ z32\3\2 = (8.604u,11.405u); z32\3\3c1 = (10.006u,10.659u);
+ z32\3\3c2 = (13.224u,5.786u); z32\4\0s = (6.022u,7.324u);
+ z32\4\0 = (6.986u,3.710u); z32\4\1c1 = (5.511u,4.360u);
+ z32\4\1c2 = (5.475u,5.944u); z32\5\0s = (11.081u,5.155u);
+ z32\5\0c1 = (13.154u,3.964u); z32\5\0c2 = (14.139u,2.942u);
+ z32\5\0 = (14.695u,0.578u); z32\5\1c1 = (13.162u,1.331u);
+ z32\5\1c2 = (10.961u,3.287u); z32\6\0s = (13.972u,4.192u);
+ z32\7\0s = (7.227u,1.060u); z32\7\0 = (5.300u,1.301u);
+ z32\7\1 = (5.781u,3.228u); z32\7\2c1 = (7.239u,2.855u);
+ z32\7\2c2 = (7.211u,2.445u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0
+ ..controls z32\0\1c1 and z32\0\1c2..z32\0\1
+ ..controls z32\0\2c1 and z32\0\2c2..z32\0\2
+ --z32\0\3
+ ..controls z32\0\4c1 and z32\0\4c2..z32\0\4
+ ..controls z32\0\5c1 and z32\0\5c2..z32\0\5
+ --z32\0\6
+ ..controls z32\0\7c1 and z32\0\7c2..z32\0\7
+ --z32\0\8 --z32\0\9 --z32\0\10
+ ..controls z32\0\11c1 and z32\0\11c2..z32\0\11
+ --z32\0\12
+ ..controls z32\0\13c1 and z32\0\13c2..z32\0\13
+ ..controls z32\0\14c1 and z32\0\14c2..z32\0\14
+ ..controls z32\0\15c1 and z32\0\15c2..z32\0\15
+ ..controls z32\0\16c1 and z32\0\16c2..z32\0\16
+ ..controls z32\0\17c1 and z32\0\17c2..cycle;
+ fill_or_unfill z32\1\0s
+ ..controls z32\1\0c1 and z32\1\0c2..z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..z32\1\1
+ --z32\1\2 --z32\1\3 --z32\1\4
+ ..controls z32\1\5c1 and z32\1\5c2..cycle;
+ fill_or_unfill z32\2\0s
+ --cycle;
+ fill_or_unfill z32\3\0s
+ ..controls z32\3\0c1 and z32\3\0c2..z32\3\0
+ ..controls z32\3\1c1 and z32\3\1c2..z32\3\1
+ ..controls z32\3\2c1 and z32\3\2c2..z32\3\2
+ ..controls z32\3\3c1 and z32\3\3c2..cycle;
+ fill_or_unfill z32\4\0s
+ --z32\4\0
+ ..controls z32\4\1c1 and z32\4\1c2..cycle;
+ fill_or_unfill z32\5\0s
+ ..controls z32\5\0c1 and z32\5\0c2..z32\5\0
+ ..controls z32\5\1c1 and z32\5\1c2..cycle;
+ fill_or_unfill z32\6\0s
+ --cycle;
+ fill_or_unfill z32\7\0s
+ --z32\7\0 --z32\7\1
+ ..controls z32\7\2c1 and z32\7\2c2..cycle;
+endchar; % G1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{G17}
+% The sign \textit{G17}.
+% Bird with body in profile but full face head (m).
+% \begin{macrocode}
+
+%% G17: bird in profile but head looking out
+%% (code as m(109) 109+31 = 140)
+beginchar (140, 16.379u# + side#, 17.653u#, 0.000u#);
+ "G17";
+ z50\0\0s = (3.620u,1.743u); z50\0\0c1 = (2.365u,2.029u);
+ z50\0\0c2 = (0.028u,2.327u); z50\0\0 = (0.000u,0.560u);
+ z50\0\1 = (7.209u,0.552u); z50\0\2 = (8.205u,3.162u);
+ z50\0\3 = (9.407u,2.674u); z50\0\4 = (10.140u,4.356u);
+ z50\0\5c1 = (11.518u,1.448u); z50\0\5c2 = (12.706u,-0.796u);
+ z50\0\5 = (16.379u,0.225u); z50\0\6 = (15.905u,1.673u);
+ z50\0\7c1 = (16.753u,2.555u); z50\0\7c2 = (14.380u,4.980u);
+ z50\0\7 = (13.764u,5.780u); z50\0\8 = (10.046u,11.583u);
+ z50\0\9 = (7.202u,14.772u); z50\0\10c1 = (6.627u,15.552u);
+ z50\0\10c2 = (6.721u,16.741u); z50\0\10 = (6.215u,17.242u);
+ z50\0\11c1 = (5.815u,17.640u); z50\0\11c2 = (5.196u,17.623u);
+ z50\0\11 = (4.674u,17.635u); z50\0\12c1 = (4.183u,17.648u);
+ z50\0\12c2 = (2.759u,17.705u); z50\0\12 = (2.368u,17.512u);
+ z50\0\13c1 = (1.794u,17.228u); z50\0\13c2 = (1.797u,16.521u);
+ z50\0\13 = (1.778u,15.967u); z50\0\14c1 = (1.638u,12.002u);
+ z50\0\14c2 = (3.566u,11.804u); z50\0\14 = (4.186u,8.967u);
+ z50\0\15c1 = (4.695u,6.635u); z50\0\15c2 = (4.361u,3.981u);
+ z50\1\0s = (5.867u,15.703u); z50\1\0 = (2.494u,15.481u);
+ z50\1\1 = (2.501u,16.686u); z50\1\2c1 = (3.725u,16.679u);
+ z50\1\2c2 = (5.391u,17.087u); z50\2\0s = (3.925u,13.063u);
+ z50\2\0 = (4.407u,13.061u); z50\2\1 = (4.900u,14.986u);
+ z50\2\2 = (6.105u,15.219u); z50\2\3 = (8.954u,11.822u);
+ z50\2\4 = (12.796u,5.545u); z50\2\5c1 = (11.481u,6.065u);
+ z50\2\5c2 = (5.220u,10.392u); z50\2\5 = (5.562u,11.778u);
+ z50\2\6c1 = (5.675u,12.239u); z50\2\6c2 = (6.874u,12.686u);
+ z50\2\6 = (7.298u,13.044u); z50\2\7c1 = (-0.045u,12.897u);
+ z50\2\7c2 = (11.248u,5.797u); z50\2\7 = (12.427u,4.742u);
+ z50\2\8c1 = (13.438u,3.838u); z50\2\8c2 = (14.939u,1.958u);
+ z50\2\8 = (15.418u,0.712u); z50\2\9c1 = (10.849u,0.753u);
+ z50\2\9c2 = (12.397u,4.018u); z50\2\9 = (9.184u,5.806u);
+ z50\2\10 = (8.931u,3.640u); z50\2\11c1 = (7.677u,4.436u);
+ z50\2\11c2 = (3.742u,11.219u); z50\2\11 = (3.047u,12.828u);
+ z50\2\12c1 = (2.717u,13.592u); z50\2\12c2 = (2.598u,14.421u);
+ z50\2\12 = (2.493u,15.240u); z50\3\0s = (5.340u,7.515u);
+ z50\3\0c1 = (5.600u,7.125u); z50\3\0c2 = (5.888u,6.737u);
+ z50\3\0 = (6.080u,6.306u); z50\3\1c1 = (7.294u,3.575u);
+ z50\3\1c2 = (3.973u,4.128u); z50\4\0s = (12.755u,6.281u);
+ z50\5\0s = (7.002u,3.410u); z50\5\0c1 = (6.965u,1.453u);
+ z50\5\0c2 = (6.683u,1.400u); z50\5\0 = (4.824u,1.736u);
+ z50\5\1 = (5.318u,3.660u);
+ fill_or_unfill z50\0\0s
+ ..controls z50\0\0c1 and z50\0\0c2..z50\0\0
+ --z50\0\1 --z50\0\2 --z50\0\3 --z50\0\4
+ ..controls z50\0\5c1 and z50\0\5c2..z50\0\5
+ --z50\0\6
+ ..controls z50\0\7c1 and z50\0\7c2..z50\0\7
+ --z50\0\8 --z50\0\9
+ ..controls z50\0\10c1 and z50\0\10c2..z50\0\10
+ ..controls z50\0\11c1 and z50\0\11c2..z50\0\11
+ ..controls z50\0\12c1 and z50\0\12c2..z50\0\12
+ ..controls z50\0\13c1 and z50\0\13c2..z50\0\13
+ ..controls z50\0\14c1 and z50\0\14c2..z50\0\14
+ ..controls z50\0\15c1 and z50\0\15c2..cycle;
+ fill_or_unfill z50\1\0s
+ --z50\1\0 --z50\1\1
+ ..controls z50\1\2c1 and z50\1\2c2..cycle;
+ fill_or_unfill z50\2\0s
+ --z50\2\0 --z50\2\1 --z50\2\2 --z50\2\3 --z50\2\4
+ ..controls z50\2\5c1 and z50\2\5c2..z50\2\5
+ ..controls z50\2\6c1 and z50\2\6c2..z50\2\6
+ ..controls z50\2\7c1 and z50\2\7c2..z50\2\7
+ ..controls z50\2\8c1 and z50\2\8c2..z50\2\8
+ ..controls z50\2\9c1 and z50\2\9c2..z50\2\9
+ --z50\2\10
+ ..controls z50\2\11c1 and z50\2\11c2..z50\2\11
+ ..controls z50\2\12c1 and z50\2\12c2..z50\2\12
+ --cycle;
+ fill_or_unfill z50\3\0s
+ ..controls z50\3\0c1 and z50\3\0c2..z50\3\0
+ ..controls z50\3\1c1 and z50\3\1c2..cycle;
+ fill_or_unfill z50\4\0s
+ --cycle;
+ fill_or_unfill z50\5\0s
+ ..controls z50\5\0c1 and z50\5\0c2..z50\5\0
+ --z50\5\1 --cycle;
+endchar; % G17
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{G36}
+% The sign \textit{G36}.
+% A small bird (wr).
+% \begin{macrocode}
+
+%% G36: bird (wr)
+%% (code as Z(90) 90+31 = 121)
+%% (code as R(82) 82+31 = 113)
+beginchar (113, 17.104u# + side#, 11.458u#, 0.000u#);
+ "G36";
+ z70\0\0s = (0.000u,10.358u); z70\0\0 = (0.000u,9.877u);
+ z70\0\1c1 = (0.461u,9.641u); z70\0\1c2 = (0.931u,9.443u);
+ z70\0\1 = (1.290u,9.054u); z70\0\2 = (4.946u,3.613u);
+ z70\0\3c1 = (5.134u,3.212u); z70\0\3c2 = (5.214u,2.849u);
+ z70\0\3 = (5.118u,2.410u); z70\0\4c1 = (4.550u,-0.197u);
+ z70\0\4c2 = (1.694u,2.019u); z70\0\4 = (0.482u,0.000u);
+ z70\0\5 = (9.154u,0.000u); z70\0\6 = (7.709u,1.204u);
+ z70\0\7 = (8.191u,2.649u); z70\0\8 = (16.381u,0.481u);
+ z70\0\9c1 = (15.806u,2.562u); z70\0\9c2 = (16.530u,1.812u);
+ z70\0\9 = (17.104u,3.372u); z70\0\10 = (14.433u,4.277u);
+ z70\0\11 = (11.564u,5.417u); z70\0\12 = (6.273u,9.300u);
+ z70\0\13c1 = (5.667u,9.839u); z70\0\13c2 = (4.641u,11.277u);
+ z70\0\13 = (3.851u,11.458u); z70\0\14c1 = (2.875u,11.681u);
+ z70\0\14c2 = (0.963u,10.633u); z70\1\0s = (5.300u,8.913u);
+ z70\1\0c1 = (3.206u,8.243u); z70\1\0c2 = (3.384u,8.278u);
+ z70\1\0 = (4.095u,6.263u); z70\1\1c1 = (3.373u,6.811u);
+ z70\1\1c2 = (1.402u,9.318u); z70\1\1 = (1.763u,10.283u);
+ z70\1\2c1 = (1.870u,10.569u); z70\1\2c2 = (2.151u,10.692u);
+ z70\1\2 = (2.424u,10.764u); z70\1\3c1 = (3.964u,11.170u);
+ z70\1\3c2 = (4.670u,10.072u); z70\2\0s = (11.804u,4.095u);
+ z70\2\0c1 = (9.049u,4.222u); z70\2\0c2 = (4.852u,5.135u);
+ z70\2\0 = (4.095u,8.190u); z70\2\1 = (5.541u,8.672u);
+ z70\3\0s = (4.336u,6.263u); z70\4\0s = (4.577u,6.022u);
+ z70\4\0c1 = (7.312u,3.929u); z70\4\0c2 = (12.000u,3.047u);
+ z70\4\0 = (15.417u,2.890u); z70\4\1 = (15.417u,1.686u);
+ z70\4\2c1 = (12.740u,1.969u); z70\4\2c2 = (9.962u,4.417u);
+ z70\4\2 = (7.227u,2.890u); z70\5\0s = (6.745u,2.649u);
+ z70\5\0c1 = (7.032u,1.503u); z70\5\0c2 = (6.954u,1.097u);
+ z70\5\0 = (5.781u,0.722u); z70\6\0s = (3.462u,10.135u);
+ z70\6\0c1 = (3.230u,10.490u); z70\6\0c2 = (2.706u,10.201u);
+ z70\6\0 = (2.851u,9.912u); z70\6\1c1 = (3.013u,9.587u);
+ z70\6\1c2 = (3.645u,9.822u);
+ fill_or_unfill z70\0\0s
+ --z70\0\0
+ ..controls z70\0\1c1 and z70\0\1c2..z70\0\1
+ --z70\0\2
+ ..controls z70\0\3c1 and z70\0\3c2..z70\0\3
+ ..controls z70\0\4c1 and z70\0\4c2..z70\0\4
+ --z70\0\5 --z70\0\6 --z70\0\7 --z70\0\8
+ ..controls z70\0\9c1 and z70\0\9c2..z70\0\9
+ --z70\0\10 --z70\0\11 --z70\0\12
+ ..controls z70\0\13c1 and z70\0\13c2..z70\0\13
+ ..controls z70\0\14c1 and z70\0\14c2..cycle;
+ fill_or_unfill z70\1\0s
+ ..controls z70\1\0c1 and z70\1\0c2..z70\1\0
+ ..controls z70\1\1c1 and z70\1\1c2..z70\1\1
+ ..controls z70\1\2c1 and z70\1\2c2..z70\1\2
+ ..controls z70\1\3c1 and z70\1\3c2..cycle;
+ fill_or_unfill z70\2\0s
+ ..controls z70\2\0c1 and z70\2\0c2..z70\2\0
+ --z70\2\1 --cycle;
+ fill_or_unfill z70\3\0s
+ --cycle;
+ fill_or_unfill z70\4\0s
+ ..controls z70\4\0c1 and z70\4\0c2..z70\4\0
+ --z70\4\1
+ ..controls z70\4\2c1 and z70\4\2c2..z70\4\2
+ --cycle;
+ fill_or_unfill z70\5\0s
+ ..controls z70\5\0c1 and z70\5\0c2..z70\5\0
+ --cycle;
+ fill_or_unfill z70\6\0s
+ ..controls z70\6\0c1 and z70\6\0c2..z70\6\0
+ ..controls z70\6\1c1 and z70\6\1c2..cycle;
+endchar; % G36
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{G43}
+% The sign \textit{G43}.
+% A small bird standing up in profile (w).
+% \begin{macrocode}
+
+%% G43: a small bird standing up in profile
+%% (code as w(119) 119+31 = 150)
+beginchar (150, 12.188u# + side#, 17.371u#, 0.000u#);
+ "G43";
+ z77\0\0s = (0.723u,16.381u); z77\0\0 = (0.723u,15.899u);
+ z77\0\1 = (2.003u,14.904u); z77\0\2 = (2.522u,12.527u);
+ z77\0\3 = (5.624u,5.540u); z77\0\4 = (4.577u,1.445u);
+ z77\0\5c1 = (3.101u,1.377u); z77\0\5c2 = (0.304u,1.772u);
+ z77\0\5 = (0.000u,0.000u); z77\0\6 = (9.395u,0.000u);
+ z77\0\7 = (7.950u,1.204u); z77\0\8 = (8.913u,5.299u);
+ z77\0\9c1 = (9.714u,5.367u); z77\0\9c2 = (11.932u,5.621u);
+ z77\0\9 = (12.177u,6.538u); z77\0\10c1 = (12.363u,7.234u);
+ z77\0\10c2 = (11.099u,8.549u); z77\0\10 = (10.705u,9.154u);
+ z77\0\11 = (6.403u,14.716u); z77\0\12c1 = (5.993u,15.304u);
+ z77\0\12c2 = (5.916u,16.035u); z77\0\12 = (5.437u,16.587u);
+ z77\0\13c1 = (5.188u,16.873u); z77\0\13c2 = (4.929u,17.065u);
+ z77\0\13 = (4.573u,17.200u); z77\0\14c1 = (3.231u,17.710u);
+ z77\0\14c2 = (1.878u,16.980u); z77\1\0s = (7.468u,12.045u);
+ z77\1\0c1 = (6.334u,11.350u); z77\1\0c2 = (6.183u,11.190u);
+ z77\1\0 = (6.504u,9.877u); z77\1\1c1 = (5.142u,10.559u);
+ z77\1\1c2 = (4.167u,11.971u); z77\1\1 = (5.781u,13.008u);
+ z77\1\2c1 = (3.995u,13.471u); z77\1\2c2 = (4.263u,12.099u);
+ z77\1\2 = (4.336u,10.840u); z77\1\3 = (2.168u,15.899u);
+ z77\1\4 = (2.168u,16.381u); z77\1\5c1 = (5.269u,17.376u);
+ z77\1\5c2 = (4.497u,16.048u); z77\1\5 = (5.717u,14.234u);
+ z77\1\6c1 = (6.260u,13.428u); z77\1\6c2 = (6.977u,12.939u);
+ z77\2\0s = (3.132u,16.381u); z77\2\0 = (3.132u,15.658u);
+ z77\2\1 = (3.854u,15.899u); z77\3\0s = (11.563u,6.504u);
+ z77\3\0c1 = (7.921u,5.772u); z77\3\0c2 = (5.400u,6.024u);
+ z77\3\0 = (4.577u,10.358u); z77\3\1 = (7.227u,8.913u);
+ z77\3\2 = (6.986u,11.081u); z77\3\3c1 = (8.971u,11.404u);
+ z77\3\3c2 = (10.815u,8.120u); z77\4\0s = (4.458u,10.602u);
+ z77\5\0s = (6.745u,5.781u); z77\5\0c1 = (8.474u,4.047u);
+ z77\5\0c2 = (8.002u,1.235u); z77\5\0 = (5.300u,1.204u);
+ fill_or_unfill z77\0\0s
+ --z77\0\0 --z77\0\1 --z77\0\2 --z77\0\3 --z77\0\4
+ ..controls z77\0\5c1 and z77\0\5c2..z77\0\5
+ --z77\0\6 --z77\0\7 --z77\0\8
+ ..controls z77\0\9c1 and z77\0\9c2..z77\0\9
+ ..controls z77\0\10c1 and z77\0\10c2..z77\0\10
+ --z77\0\11
+ ..controls z77\0\12c1 and z77\0\12c2..z77\0\12
+ ..controls z77\0\13c1 and z77\0\13c2..z77\0\13
+ ..controls z77\0\14c1 and z77\0\14c2..cycle;
+ fill_or_unfill z77\1\0s
+ ..controls z77\1\0c1 and z77\1\0c2..z77\1\0
+ ..controls z77\1\1c1 and z77\1\1c2..z77\1\1
+ ..controls z77\1\2c1 and z77\1\2c2..z77\1\2
+ --z77\1\3 --z77\1\4
+ ..controls z77\1\5c1 and z77\1\5c2..z77\1\5
+ ..controls z77\1\6c1 and z77\1\6c2..cycle;
+ fill_or_unfill z77\2\0s
+ --z77\2\0 --z77\2\1 --cycle;
+ fill_or_unfill z77\3\0s
+ ..controls z77\3\0c1 and z77\3\0c2..z77\3\0
+ --z77\3\1 --z77\3\2
+ ..controls z77\3\3c1 and z77\3\3c2..cycle;
+ fill_or_unfill z77\4\0s
+ --cycle;
+ fill_or_unfill z77\5\0s
+ ..controls z77\5\0c1 and z77\5\0c2..z77\5\0
+ --cycle;
+endchar; % G43
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{H8}
+% The sign \textit{H8}.
+% An oval tilted up at the left (egg sign).
+% \begin{macrocode}
+
+%% H8: The egg sign (tilted ellipse).
+%% (code as O(79) 79+31 = 110)
+beginchar (110, 6.176u# + side#, 8.644u#, 0.000u#);
+ "H8";
+ z40\0\0s = (1.112u,8.644u); z40\0\0c1 = (-2.114u,7.227u);
+ z40\0\0c2 = (2.364u,-0.989u); z40\0\0 = (5.183u,0.015u);
+ z40\0\1c1 = (7.767u,0.935u); z40\0\1c2 = (5.151u,9.387u);
+ z40\1\0s = (1.950u,8.132u); z40\1\0c1 = (4.118u,7.717u);
+ z40\1\0c2 = (5.423u,3.971u); z40\1\0 = (5.312u,2.035u);
+ z40\1\1c1 = (5.056u,-2.442u); z40\1\1c2 = (-2.061u,7.364u);
+ fill_or_unfill z40\0\0s
+ ..controls z40\0\0c1 and z40\0\0c2..z40\0\0
+ ..controls z40\0\1c1 and z40\0\1c2..cycle;
+ fill_or_unfill z40\1\0s
+ ..controls z40\1\0c1 and z40\1\0c2..z40\1\0
+ ..controls z40\1\1c1 and z40\1\1c2..cycle;
+endchar; % H8
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{I9}
+% The sign \textit{I9}.
+% A horizontal snake (f).
+% \begin{macrocode}
+
+%% I9: horizontal snake
+%% (code as f(102) 102+31 = 133)
+beginchar (133, 17.586u# + side#, 5.776u#, 0.000u#);
+ "I9";
+ z41\0\0s = (0.000u,5.776u); z41\0\0 = (0.000u,5.294u);
+ z41\0\1 = (1.204u,4.331u); z41\0\2c1 = (0.976u,4.246u);
+ z41\0\2c2 = (0.763u,4.211u); z41\0\2 = (0.558u,4.059u);
+ z41\0\3c1 = (-1.327u,2.673u); z41\0\3c2 = (2.135u,2.350u);
+ z41\0\3 = (2.572u,2.129u); z41\0\4c1 = (3.328u,1.748u);
+ z41\0\4c2 = (3.719u,0.973u); z41\0\4 = (4.581u,0.666u);
+ z41\0\5c1 = (6.081u,0.016u); z41\0\5c2 = (8.030u,0.759u);
+ z41\0\5 = (9.636u,0.666u); z41\0\6c1 = (12.228u,0.624u);
+ z41\0\6c2 = (15.059u,-0.685u); z41\0\6 = (17.586u,0.476u);
+ z41\0\7 = (16.810u,1.259u); z41\0\8 = (13.490u,1.531u);
+ z41\0\9 = (9.154u,2.773u); z41\0\10 = (5.442u,2.439u);
+ z41\0\11 = (2.650u,4.331u); z41\0\12 = (4.095u,5.776u);
+ z41\0\13 = (1.927u,5.506u); z41\1\0s = (2.891u,3.367u);
+ z41\1\0 = (0.963u,3.126u); z41\1\1 = (0.963u,3.608u);
+ z41\2\0s = (3.613u,2.885u); z41\3\0s = (3.854u,2.644u);
+ z41\3\0c1 = (6.153u,1.024u); z41\3\0c2 = (6.375u,2.081u);
+ z41\3\0 = (8.672u,2.081u); z41\3\1c1 = (9.639u,2.081u);
+ z41\3\1c2 = (10.653u,1.736u); z41\3\1 = (11.563u,1.438u);
+ z41\3\2c1 = (10.682u,1.190u); z41\3\2c2 = (9.608u,1.458u);
+ z41\3\2 = (8.672u,1.438u); z41\3\3c1 = (7.348u,1.406u);
+ z41\3\3c2 = (3.886u,0.334u);
+ fill_or_unfill z41\0\0s
+ --z41\0\0 --z41\0\1
+ ..controls z41\0\2c1 and z41\0\2c2..z41\0\2
+ ..controls z41\0\3c1 and z41\0\3c2..z41\0\3
+ ..controls z41\0\4c1 and z41\0\4c2..z41\0\4
+ ..controls z41\0\5c1 and z41\0\5c2..z41\0\5
+ ..controls z41\0\6c1 and z41\0\6c2..z41\0\6
+ --z41\0\7 --z41\0\8 --z41\0\9 --z41\0\10 --z41\0\11
+ --z41\0\12 --z41\0\13 --cycle;
+ fill_or_unfill z41\1\0s
+ --z41\1\0 --z41\1\1 --cycle;
+ fill_or_unfill z41\2\0s
+ --cycle;
+ fill_or_unfill z41\3\0s
+ ..controls z41\3\0c1 and z41\3\0c2..z41\3\0
+ ..controls z41\3\1c1 and z41\3\1c2..z41\3\1
+ ..controls z41\3\2c1 and z41\3\2c2..z41\3\2
+ ..controls z41\3\3c1 and z41\3\3c2..cycle;
+endchar; % I9
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{I10}
+% The sign \textit{I10}.
+% A snake with its tail dropped and head raised (D).
+% \begin{macrocode}
+
+%% I10: snake with dropping tail
+%% (code as D(68) 68+31 = 99)
+beginchar (99, 15.899u# + side#, 6.745u#, 10.600u#);
+ "I10";
+ z42\0\0s = (2.168u,4.577u); z42\0\0 = (1.869u,3.132u);
+ z42\0\1c1 = (1.697u,1.693u); z42\0\1c2 = (2.360u,1.469u);
+ z42\0\1 = (3.614u,1.446u); z42\0\2c1 = (6.350u,1.397u);
+ z42\0\2c2 = (8.864u,2.071u); z42\0\2 = (11.563u,1.070u);
+ z42\0\3c1 = (14.672u,-0.083u); z42\0\3c2 = (13.899u,-2.250u);
+ z42\0\3 = (13.753u,-4.818u); z42\0\4c1 = (13.683u,-6.058u);
+ z42\0\4c2 = (14.057u,-7.262u); z42\0\4 = (14.427u,-8.431u);
+ z42\0\5c1 = (14.736u,-9.409u); z42\0\5c2 = (14.882u,-10.002u);
+ z42\0\5 = (15.899u,-10.359u); z42\0\6 = (15.186u,-6.504u);
+ z42\0\7c1 = (15.091u,-4.320u); z42\0\7c2 = (16.039u,-1.852u);
+ z42\0\7 = (15.530u,0.241u); z42\0\8c1 = (14.546u,4.295u);
+ z42\0\8c2 = (6.481u,3.776u); z42\0\8 = (3.372u,2.891u);
+ z42\0\9c1 = (3.359u,3.784u); z42\0\9c2 = (3.876u,4.958u);
+ z42\0\9 = (3.516u,5.768u); z42\0\10c1 = (2.486u,8.085u);
+ z42\0\10c2 = (-1.652u,5.671u); z42\0\10 = (0.976u,4.804u);
+ z42\1\0s = (2.650u,5.300u); z42\1\0 = (0.821u,5.680u);
+ z42\1\1c1 = (1.626u,6.588u); z42\1\1c2 = (2.761u,6.175u);
+ z42\2\0s = (14.936u,-2.409u); z42\2\0c1 = (14.570u,-1.518u);
+ z42\2\0c2 = (14.566u,-0.612u); z42\2\0 = (13.980u,0.216u);
+ z42\2\1c1 = (12.073u,2.910u); z42\2\1c2 = (7.586u,2.229u);
+ z42\2\1 = (4.818u,2.168u); z42\2\2c1 = (6.243u,3.217u);
+ z42\2\2c2 = (13.053u,2.897u); z42\2\2 = (14.297u,1.392u);
+ z42\2\3c1 = (15.132u,0.383u); z42\2\3c2 = (14.936u,-1.180u);
+ fill_or_unfill z42\0\0s
+ --z42\0\0
+ ..controls z42\0\1c1 and z42\0\1c2..z42\0\1
+ ..controls z42\0\2c1 and z42\0\2c2..z42\0\2
+ ..controls z42\0\3c1 and z42\0\3c2..z42\0\3
+ ..controls z42\0\4c1 and z42\0\4c2..z42\0\4
+ ..controls z42\0\5c1 and z42\0\5c2..z42\0\5
+ --z42\0\6
+ ..controls z42\0\7c1 and z42\0\7c2..z42\0\7
+ ..controls z42\0\8c1 and z42\0\8c2..z42\0\8
+ ..controls z42\0\9c1 and z42\0\9c2..z42\0\9
+ ..controls z42\0\10c1 and z42\0\10c2..z42\0\10
+ --cycle;
+ fill_or_unfill z42\1\0s
+ --z42\1\0
+ ..controls z42\1\1c1 and z42\1\1c2..cycle;
+ fill_or_unfill z42\2\0s
+ ..controls z42\2\0c1 and z42\2\0c2..z42\2\0
+ ..controls z42\2\1c1 and z42\2\1c2..z42\2\1
+ ..controls z42\2\2c1 and z42\2\2c2..z42\2\2
+ ..controls z42\2\3c1 and z42\2\3c2..cycle;
+endchar; % I10
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{K1}
+% The sign \textit{K1}.
+% A fish with a large dorsal fin (in).
+% \begin{macrocode}
+
+%% K1. A fish.
+%% (code as F(70) 70+31 = 101)
+beginchar (101, 17.658u# + side#, 8.816u#, 0.000u#);
+ "K1";
+ z32\0\0s = (7.799u,0.000u); z32\0\0 = (7.558u,1.204u);
+ z32\0\1 = (13.339u,0.963u); z32\0\2 = (13.098u,2.409u);
+ z32\0\3c1 = (14.327u,2.396u); z32\0\3c2 = (16.068u,1.130u);
+ z32\0\3 = (16.658u,1.310u); z32\0\4c1 = (18.022u,1.725u);
+ z32\0\4c2 = (18.048u,6.132u); z32\0\4 = (16.445u,6.066u);
+ z32\0\5c1 = (15.936u,6.045u); z32\0\5c2 = (14.422u,5.086u);
+ z32\0\5 = (13.821u,4.818u); z32\0\6 = (15.507u,8.672u);
+ z32\0\7 = (4.448u,8.816u); z32\0\8 = (2.073u,6.146u);
+ z32\0\9 = (0.000u,3.602u); z32\0\10 = (0.826u,2.481u);
+ z32\0\11 = (3.703u,1.656u); z32\1\0s = (14.544u,7.950u);
+ z32\1\0 = (12.814u,5.454u); z32\1\1 = (7.076u,6.711u);
+ z32\1\2 = (3.703u,6.711u); z32\1\3c1 = (4.253u,7.935u);
+ z32\1\3c2 = (4.481u,8.372u); z32\1\3 = (5.872u,8.427u);
+ z32\1\4 = (11.412u,8.191u); z32\1\5c1 = (12.500u,8.186u);
+ z32\1\5c2 = (13.477u,8.209u); z32\2\0s = (14.062u,4.095u);
+ z32\2\0c1 = (13.316u,1.907u); z32\2\0c2 = (6.428u,1.681u);
+ z32\2\0 = (4.426u,2.168u); z32\2\1c1 = (5.177u,3.939u);
+ z32\2\1c2 = (6.645u,2.976u); z32\2\1 = (8.280u,3.372u);
+ z32\2\2 = (4.185u,5.300u); z32\2\3c1 = (4.612u,1.387u);
+ z32\2\3c2 = (2.761u,3.198u); z32\2\3 = (0.812u,3.613u);
+ z32\2\4c1 = (3.063u,8.065u); z32\2\4c2 = (10.552u,5.444u);
+ z32\3\0s = (16.471u,1.927u); z32\3\0c1 = (15.039u,2.633u);
+ z32\3\0c2 = (14.846u,2.778u); z32\3\0 = (14.544u,4.336u);
+ z32\3\1c1 = (17.285u,6.189u); z32\3\1c2 = (17.432u,4.002u);
+ z32\4\0s = (2.499u,4.577u); z32\4\0 = (2.499u,3.854u);
+ z32\4\1 = (3.221u,3.854u); z32\4\2 = (3.221u,4.577u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0 --z32\0\1 --z32\0\2
+ ..controls z32\0\3c1 and z32\0\3c2..z32\0\3
+ ..controls z32\0\4c1 and z32\0\4c2..z32\0\4
+ ..controls z32\0\5c1 and z32\0\5c2..z32\0\5
+ --z32\0\6 --z32\0\7 --z32\0\8 --z32\0\9 --z32\0\10
+ --z32\0\11 --cycle;
+ fill_or_unfill z32\1\0s
+ --z32\1\0 --z32\1\1 --z32\1\2
+ ..controls z32\1\3c1 and z32\1\3c2..z32\1\3
+ --z32\1\4
+ ..controls z32\1\5c1 and z32\1\5c2..cycle;
+ fill_or_unfill z32\2\0s
+ ..controls z32\2\0c1 and z32\2\0c2..z32\2\0
+ ..controls z32\2\1c1 and z32\2\1c2..z32\2\1
+ --z32\2\2
+ ..controls z32\2\3c1 and z32\2\3c2..z32\2\3
+ ..controls z32\2\4c1 and z32\2\4c2..cycle;
+ fill_or_unfill z32\3\0s
+ ..controls z32\3\0c1 and z32\3\0c2..z32\3\0
+ ..controls z32\3\1c1 and z32\3\1c2..cycle;
+ fill_or_unfill z32\4\0s
+ --z32\4\0 --z32\4\1 --z32\4\2 --cycle;
+endchar; % K1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{M3}
+% The sign \textit{M3}.
+% A branch with twigs (wood, tree).
+% \begin{macrocode}
+
+%% M3: a branch
+%% (code as c(99) 99+31 = 130)
+%% (code as N(78) 78+31 = 109)
+beginchar (109, 16.863u# + side#, 4.105u#, 0.000u#);
+ "M3";
+ z34\0\0s = (0.000u,4.105u); z34\0\0c1 = (0.245u,2.350u);
+ z34\0\0c2 = (1.152u,1.827u); z34\0\0 = (2.409u,0.733u);
+ z34\0\1 = (0.723u,0.733u); z34\0\2c1 = (2.218u,-1.688u);
+ z34\0\2c2 = (7.643u,2.733u); z34\0\2 = (10.118u,1.937u);
+ z34\0\3 = (8.431u,0.973u); z34\0\4 = (11.804u,1.674u);
+ z34\0\5 = (16.863u,1.214u); z34\0\6 = (16.863u,2.178u);
+ z34\0\7 = (5.541u,3.383u); z34\0\8 = (5.541u,2.901u);
+ z34\0\9 = (7.709u,2.901u); z34\0\10c1 = (6.977u,2.123u);
+ z34\0\10c2 = (6.277u,1.882u); z34\0\10 = (5.300u,1.504u);
+ z34\0\11c1 = (2.091u,0.263u); z34\0\11c2 = (2.138u,2.778u);
+ fill_or_unfill z34\0\0s
+ ..controls z34\0\0c1 and z34\0\0c2..z34\0\0
+ --z34\0\1
+ ..controls z34\0\2c1 and z34\0\2c2..z34\0\2
+ --z34\0\3 --z34\0\4 --z34\0\5 --z34\0\6 --z34\0\7
+ --z34\0\8 --z34\0\9
+ ..controls z34\0\10c1 and z34\0\10c2..z34\0\10
+ ..controls z34\0\11c1 and z34\0\11c2..cycle;
+endchar; % M3
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{M8}
+% The sign \textit{M8}.
+% A lotus pool (SA).
+% \begin{macrocode}
+
+%% M8: A lotus pool.
+%% (code as L(76) 76+31 = 107)
+%% (code as E(69) 69+31 = 100)
+beginchar (100, 16.674u# + side#, 8.723u#, 0.000u#);
+ "M8";
+ z39\0\0s = (0.294u,8.699u); z39\0\0c1 = (0.981u,7.666u);
+ z39\0\0c2 = (2.042u,6.753u); z39\0\0 = (1.953u,5.601u);
+ z39\0\1c1 = (1.868u,4.488u); z39\0\1c2 = (0.796u,4.280u);
+ z39\0\1 = (0.321u,3.401u); z39\0\2c1 = (-0.933u,1.076u);
+ z39\0\2c2 = (1.625u,0.054u); z39\0\2 = (3.447u,0.051u);
+ z39\0\3c1 = (5.281u,0.047u); z39\0\3c2 = (14.440u,-0.164u);
+ z39\0\3 = (15.470u,0.293u); z39\0\4c1 = (16.298u,0.660u);
+ z39\0\4c2 = (16.663u,1.333u); z39\0\4 = (16.674u,2.219u);
+ z39\0\5c1 = (16.699u,4.239u); z39\0\5c2 = (15.127u,3.935u);
+ z39\0\5 = (14.850u,5.135u); z39\0\6c1 = (14.577u,6.317u);
+ z39\0\6c2 = (15.889u,7.369u); z39\0\6 = (16.246u,8.699u);
+ z39\0\7 = (12.280u,8.743u); z39\0\8c1 = (13.742u,6.473u);
+ z39\0\8c2 = (14.038u,6.865u); z39\0\8 = (14.047u,4.628u);
+ z39\0\9 = (11.879u,4.628u); z39\0\10 = (11.879u,8.241u);
+ z39\0\11 = (11.397u,8.241u); z39\0\12 = (11.397u,4.628u);
+ z39\0\13 = (8.506u,4.628u); z39\0\14c1 = (8.515u,6.833u);
+ z39\0\14c2 = (8.823u,6.694u); z39\0\14 = (10.077u,8.743u);
+ z39\0\15 = (6.199u,8.743u); z39\0\16 = (6.338u,8.000u);
+ z39\0\17c1 = (7.703u,6.843u); z39\0\17c2 = (7.777u,6.346u);
+ z39\0\17 = (7.784u,4.628u); z39\0\18 = (5.616u,4.628u);
+ z39\0\19 = (5.616u,8.241u); z39\0\20 = (5.134u,8.241u);
+ z39\0\21 = (5.134u,4.628u); z39\0\22c1 = (2.215u,4.630u);
+ z39\0\22c2 = (1.533u,5.994u); z39\0\22 = (3.929u,8.000u);
+ z39\0\23 = (3.929u,8.723u); z39\1\0s = (3.054u,8.218u);
+ z39\1\0c1 = (2.605u,7.096u); z39\1\0c2 = (2.057u,7.096u);
+ z39\1\0 = (1.609u,8.218u); z39\2\0s = (8.988u,8.241u);
+ z39\2\0c1 = (8.400u,7.213u); z39\2\0c2 = (7.890u,7.213u);
+ z39\2\0 = (7.302u,8.241u); z39\3\0s = (15.252u,8.000u);
+ z39\3\0 = (15.252u,7.518u); z39\3\1c1 = (14.247u,7.258u);
+ z39\3\1c2 = (13.971u,7.232u); z39\3\1 = (13.565u,8.241u);
+ z39\4\0s = (1.772u,3.782u); z39\4\0c1 = (3.225u,4.046u);
+ z39\4\0c2 = (13.943u,4.070u); z39\4\0 = (15.000u,3.629u);
+ z39\4\1c1 = (16.265u,3.102u); z39\4\1c2 = (16.516u,1.547u);
+ z39\4\1 = (15.201u,0.951u); z39\4\2c1 = (14.724u,0.735u);
+ z39\4\2c2 = (13.855u,0.774u); z39\4\2 = (13.324u,0.773u);
+ z39\4\3 = (3.447u,0.773u); z39\4\4c1 = (1.320u,0.784u);
+ z39\4\4c2 = (-0.931u,2.509u);
+ fill_or_unfill z39\0\0s
+ ..controls z39\0\0c1 and z39\0\0c2..z39\0\0
+ ..controls z39\0\1c1 and z39\0\1c2..z39\0\1
+ ..controls z39\0\2c1 and z39\0\2c2..z39\0\2
+ ..controls z39\0\3c1 and z39\0\3c2..z39\0\3
+ ..controls z39\0\4c1 and z39\0\4c2..z39\0\4
+ ..controls z39\0\5c1 and z39\0\5c2..z39\0\5
+ ..controls z39\0\6c1 and z39\0\6c2..z39\0\6
+ --z39\0\7
+ ..controls z39\0\8c1 and z39\0\8c2..z39\0\8
+ --z39\0\9 --z39\0\10 --z39\0\11 --z39\0\12 --z39\0\13
+ ..controls z39\0\14c1 and z39\0\14c2..z39\0\14
+ --z39\0\15 --z39\0\16
+ ..controls z39\0\17c1 and z39\0\17c2..z39\0\17
+ --z39\0\18 --z39\0\19 --z39\0\20 --z39\0\21
+ ..controls z39\0\22c1 and z39\0\22c2..z39\0\22
+ --z39\0\23 --cycle;
+ fill_or_unfill z39\1\0s
+ ..controls z39\1\0c1 and z39\1\0c2..z39\1\0
+ --cycle;
+ fill_or_unfill z39\2\0s
+ ..controls z39\2\0c1 and z39\2\0c2..z39\2\0
+ --cycle;
+ fill_or_unfill z39\3\0s
+ --z39\3\0
+ ..controls z39\3\1c1 and z39\3\1c2..z39\3\1
+ --cycle;
+ fill_or_unfill z39\4\0s
+ ..controls z39\4\0c1 and z39\4\0c2..z39\4\0
+ ..controls z39\4\1c1 and z39\4\1c2..z39\4\1
+ ..controls z39\4\2c1 and z39\4\2c2..z39\4\2
+ --z39\4\3
+ ..controls z39\4\4c1 and z39\4\4c2..cycle;
+endchar; % M8
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{M17}
+% The sign \textit{M17}.
+% A bit like a machete (i).
+% \begin{macrocode}
+
+%% M17: a machette
+%% (code as i(105) 105+31 = 136)
+beginchar (136, 4.197u# + side#, 17.824u#, 0.000u#);
+ "M17";
+ z48\0\0s = (1.412u,17.824u); z48\0\0c1 = (1.533u,16.738u);
+ z48\0\0c2 = (-0.254u,7.357u); z48\0\0 = (0.020u,6.582u);
+ z48\0\1c1 = (0.024u,4.308u); z48\0\1c2 = (2.993u,6.108u);
+ z48\0\1 = (2.993u,0.000u); z48\0\2 = (4.197u,0.000u);
+ z48\0\3 = (4.197u,13.009u); z48\0\4c1 = (4.171u,14.928u);
+ z48\0\4c2 = (3.494u,16.916u); z48\1\0s = (2.029u,16.622u);
+ z48\1\0 = (3.096u,15.176u); z48\1\1 = (3.041u,4.308u);
+ z48\1\2 = (0.749u,7.026u);
+ fill_or_unfill z48\0\0s
+ ..controls z48\0\0c1 and z48\0\0c2..z48\0\0
+ ..controls z48\0\1c1 and z48\0\1c2..z48\0\1
+ --z48\0\2 --z48\0\3
+ ..controls z48\0\4c1 and z48\0\4c2..cycle;
+ fill_or_unfill z48\1\0s
+ --z48\1\0 --z48\1\1 --z48\1\2 --cycle;
+endchar; % M17
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{N29}
+% The sign \textit{N29}.
+% A rightangled triangle with wavy hypotenuse (q).
+% \begin{macrocode}
+
+%% N29: triangle with wavy hypotenuse
+%% (code as q(113) 113+31 = 144)
+%% (code as K(75) 75+31 = 106)
+beginchar (106, 7.468u# + side#, 7.649u#, 0.000u#);
+ "N29";
+ z60\0\0s = (0.000u,0.000u); z60\0\0 = (7.468u,0.000u);
+ z60\0\1 = (7.083u,6.951u); z60\0\2c1 = (6.513u,8.259u);
+ z60\0\2c2 = (4.994u,7.504u); z60\0\2 = (4.358u,6.700u);
+ z60\0\3c1 = (3.551u,5.680u); z60\0\3c2 = (3.170u,4.484u);
+ z60\0\3 = (2.551u,3.372u); z60\0\4c1 = (1.828u,2.075u);
+ z60\0\4c2 = (0.439u,1.425u); z60\1\0s = (6.504u,6.986u);
+ z60\1\0 = (6.504u,0.722u); z60\1\1 = (1.445u,0.722u);
+ z60\1\2 = (3.150u,3.131u); z60\1\3 = (5.152u,6.601u);
+ fill_or_unfill z60\0\0s
+ --z60\0\0 --z60\0\1
+ ..controls z60\0\2c1 and z60\0\2c2..z60\0\2
+ ..controls z60\0\3c1 and z60\0\3c2..z60\0\3
+ ..controls z60\0\4c1 and z60\0\4c2..cycle;
+ fill_or_unfill z60\1\0s
+ --z60\1\0 --z60\1\1 --z60\1\2 --z60\1\3 --cycle;
+endchar; % N29
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{N35}
+% The sign \textit{N35}.
+% Long jagged line (n).
+% \begin{macrocode}
+
+%% N35: long jagged line
+%% (code as n(110) 110+31 = 141)
+beginchar (141, 15.398u# + side#, 2.357u#, 0.000u#);
+ "N35";
+ z66\0\0s = (1.194u,2.357u); z66\0\0 = (0.032u,1.291u);
+ z66\0\1 = (0.000u,0.097u); z66\0\2 = (1.194u,1.259u);
+ z66\0\3 = (2.486u,0.162u); z66\0\4 = (3.745u,1.227u);
+ z66\0\5 = (5.068u,0.162u); z66\0\6 = (6.327u,1.227u);
+ z66\0\7 = (7.650u,0.129u); z66\0\8 = (8.942u,1.227u);
+ z66\0\9 = (10.233u,0.129u); z66\0\10 = (11.524u,1.227u);
+ z66\0\11 = (12.847u,0.000u); z66\0\12 = (14.074u,1.259u);
+ z66\0\13 = (15.398u,0.097u); z66\0\14 = (15.365u,1.227u);
+ z66\0\15 = (14.042u,2.324u); z66\0\16 = (12.847u,1.259u);
+ z66\0\17 = (11.492u,2.324u); z66\0\18 = (10.233u,1.227u);
+ z66\0\19 = (8.942u,2.357u); z66\0\20 = (7.650u,1.227u);
+ z66\0\21 = (6.359u,2.357u); z66\0\22 = (5.100u,1.227u);
+ z66\0\23 = (3.745u,2.324u); z66\0\24 = (2.518u,1.388u);
+ fill_or_unfill z66\0\0s
+ --z66\0\0 --z66\0\1 --z66\0\2 --z66\0\3 --z66\0\4
+ --z66\0\5 --z66\0\6 --z66\0\7 --z66\0\8 --z66\0\9
+ --z66\0\10 --z66\0\11 --z66\0\12 --z66\0\13 --z66\0\14
+ --z66\0\15 --z66\0\16 --z66\0\17 --z66\0\18 --z66\0\19
+ --z66\0\20 --z66\0\21 --z66\0\22 --z66\0\23 --z66\0\24
+ --cycle;
+endchar; % N35
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{N37}
+% The sign \textit{N37}.
+% Rectangular slab (stone, sh)
+% \begin{macrocode}
+
+%% N37: Rectangular slab
+%% (code as S(83) 83+31 = 114)
+%% (code as z(121) 121+31 = 153)
+beginchar (153, 17.586u# + side#, 4.336u#, 0.000u#);
+ "N37";
+ z69\0\0s = (0.000u,4.336u); z69\0\0 = (0.000u,0.000u);
+ z69\0\1 = (17.586u,0.000u); z69\0\2 = (17.586u,4.336u);
+ z69\1\0s = (16.863u,3.614u); z69\1\0 = (16.863u,0.723u);
+ z69\1\1 = (0.723u,0.723u); z69\1\2 = (0.723u,3.614u);
+ fill_or_unfill z69\0\0s
+ --z69\0\0 --z69\0\1 --z69\0\2 --cycle;
+ fill_or_unfill z69\1\0s
+ --z69\1\0 --z69\1\1 --z69\1\2 --cycle;
+endchar; % N37
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{O1}
+% The sign \textit{O1}. (house).
+% Ground plan of a house with one door (house, pr).
+% \begin{macrocode}
+
+%% O1. rectangle with part of base open (house).
+%% (code as j(106) 106+31 = 137)
+beginchar (137, 14.213u# + side#, 7.468u#, 0.000u#);
+ "O1";
+ z32\0\0s = (0.000u,7.468u); z32\0\0 = (0.000u,0.000u);
+ z32\0\1 = (4.577u,0.000u); z32\0\2 = (4.577u,0.722u);
+ z32\0\3 = (0.723u,0.722u); z32\0\4 = (0.723u,6.745u);
+ z32\0\5 = (13.490u,6.745u); z32\0\6 = (13.490u,0.722u);
+ z32\0\7 = (9.636u,0.722u); z32\0\8 = (9.636u,0.000u);
+ z32\0\9 = (14.213u,0.000u); z32\0\10 = (14.213u,7.468u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0 --z32\0\1 --z32\0\2 --z32\0\3 --z32\0\4
+ --z32\0\5 --z32\0\6 --z32\0\7 --z32\0\8 --z32\0\9
+ --z32\0\10 --cycle;
+endchar; % O1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{O4}
+% The sign \textit{O4}.
+% A square spiral (h).
+% \begin{macrocode}
+
+%% O4: square spiral
+%% (code as h(104) 104+31 = 135)
+beginchar (135, 10.359u# + side#, 8.190u#, 0.000u#);
+ "O4";
+ z35\0\0s = (0.000u,8.190u); z35\0\0 = (0.000u,0.000u);
+ z35\0\1 = (0.963u,0.000u); z35\0\2 = (0.963u,7.227u);
+ z35\0\3 = (9.395u,7.227u); z35\0\4 = (9.395u,0.963u);
+ z35\0\5 = (5.300u,0.963u); z35\0\6 = (5.300u,5.540u);
+ z35\0\7 = (4.336u,5.540u); z35\0\8 = (4.336u,0.000u);
+ z35\0\9 = (10.359u,0.000u); z35\0\10 = (10.359u,8.190u);
+ fill_or_unfill z35\0\0s
+ --z35\0\0 --z35\0\1 --z35\0\2 --z35\0\3 --z35\0\4
+ --z35\0\5 --z35\0\6 --z35\0\7 --z35\0\8 --z35\0\9
+ --z35\0\10 --cycle;
+endchar; % O4
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{O34}
+% The sign \textit{O34}.
+% Horizontal line with two blobs in the middle (z).
+% \begin{macrocode}
+
+%% O34: Horizontal line with two blobs
+%% (code as z(122) 122+31 = 153)
+%% (code as S(83) 83+31 = 114)
+beginchar (114, 16.863u# + side#, 2.542u#, 0.000u#);
+ "O34";
+ z65\0\0s = (-0.007u,1.572u); z65\0\0 = (-0.007u,1.044u);
+ z65\0\1 = (5.138u,1.044u); z65\0\2c1 = (5.930u,0.516u);
+ z65\0\2c2 = (7.777u,0.120u); z65\0\2 = (8.436u,1.044u);
+ z65\0\3c1 = (8.964u,0.120u); z65\0\3c2 = (10.679u,0.384u);
+ z65\0\3 = (11.602u,1.044u); z65\0\4 = (16.879u,1.044u);
+ z65\0\5 = (16.879u,1.572u); z65\0\6 = (11.602u,1.572u);
+ z65\0\7c1 = (10.679u,2.231u); z65\0\7c2 = (8.964u,2.495u);
+ z65\0\7 = (8.436u,1.572u); z65\0\8c1 = (7.777u,2.495u);
+ z65\0\8c2 = (6.062u,2.231u); z65\0\8 = (5.138u,1.572u);
+ z65\1\0s = (5.666u,1.308u); z65\1\0c1 = (6.194u,1.703u);
+ z65\1\0c2 = (7.645u,1.703u); z65\1\0 = (8.172u,1.308u);
+ z65\1\1c1 = (7.645u,0.912u); z65\1\1c2 = (6.194u,0.912u);
+ z65\2\0s = (8.700u,1.308u); z65\2\0c1 = (9.096u,1.703u);
+ z65\2\0c2 = (10.547u,1.703u); z65\2\0 = (11.206u,1.308u);
+ z65\2\1c1 = (10.547u,0.912u); z65\2\1c2 = (9.096u,0.912u);
+ fill_or_unfill z65\0\0s
+ --z65\0\0 --z65\0\1
+ ..controls z65\0\2c1 and z65\0\2c2..z65\0\2
+ ..controls z65\0\3c1 and z65\0\3c2..z65\0\3
+ --z65\0\4 --z65\0\5 --z65\0\6
+ ..controls z65\0\7c1 and z65\0\7c2..z65\0\7
+ ..controls z65\0\8c1 and z65\0\8c2..z65\0\8
+ --cycle;
+ fill_or_unfill z65\1\0s
+ ..controls z65\1\0c1 and z65\1\0c2..z65\1\0
+ ..controls z65\1\1c1 and z65\1\1c2..cycle;
+ fill_or_unfill z65\2\0s
+ ..controls z65\2\0c1 and z65\2\0c2..z65\2\0
+ ..controls z65\2\1c1 and z65\2\1c2..cycle;
+endchar; % O34
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Q3}
+% The sign \textit{Q3}.
+% A square (p).
+% \begin{macrocode}
+
+%% Q3: a square
+%% (code as p(112) 112+31 = 143)
+beginchar (143, 5.300u# + side#, 6.986u#, 0.000u#);
+ "Q3";
+ z34\0\0s = (0.000u,6.986u); z34\0\0 = (0.000u,0.000u);
+ z34\0\1 = (5.300u,0.000u); z34\0\2 = (5.300u,6.986u);
+ z34\1\0s = (4.577u,6.263u); z34\1\0 = (4.577u,0.723u);
+ z34\1\1 = (0.723u,0.723u); z34\1\2 = (0.723u,6.263u);
+ fill_or_unfill z34\0\0s
+ --z34\0\0 --z34\0\1 --z34\0\2 --cycle;
+ fill_or_unfill z34\1\0s
+ --z34\1\0 --z34\1\1 --z34\1\2 --cycle;
+endchar; % Q3
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{R7}
+% The sign \textit{R7}.
+% Looks like a bucket or flowerpot with something sticking out of the top (snTp).
+% \begin{macrocode}
+
+%% R7: A bucket with something sticking up.
+%% (code as B(66) 66+31 = 97)
+beginchar (97, 7.709u# + side#, 13.249u#, 0.000u#);
+ "R7";
+ z38\0\0s = (1.445u,13.249u); z38\0\0c1 = (1.650u,12.116u);
+ z38\0\0c2 = (3.518u,8.187u); z38\0\0 = (2.552u,7.473u);
+ z38\0\1c1 = (2.129u,7.160u); z38\0\1c2 = (0.838u,7.156u);
+ z38\0\1 = (0.241u,6.986u); z38\0\2 = (1.135u,2.891u);
+ z38\0\3c1 = (1.210u,2.310u); z38\0\3c2 = (1.135u,1.282u);
+ z38\0\3 = (1.382u,0.793u); z38\0\4c1 = (1.835u,-0.103u);
+ z38\0\4c2 = (5.723u,0.241u); z38\0\4 = (6.745u,0.241u);
+ z38\0\5 = (7.949u,7.227u); z38\0\6c1 = (7.395u,7.229u);
+ z38\0\6c2 = (6.568u,7.173u); z38\0\6 = (6.088u,7.473u);
+ z38\0\7c1 = (4.809u,8.274u); z38\0\7c2 = (4.664u,12.563u);
+ z38\1\0s = (2.890u,11.563u); z38\2\0s = (3.131u,11.322u);
+ z38\2\0 = (5.058u,7.468u); z38\2\1c1 = (3.356u,7.109u);
+ z38\2\1c2 = (2.696u,9.996u); z38\3\0s = (7.226u,6.504u);
+ z38\3\0 = (5.980u,1.342u); z38\3\1c1 = (5.481u,0.711u);
+ z38\3\1c2 = (2.463u,0.764u); z38\3\1 = (2.067u,1.521u);
+ z38\3\2 = (0.963u,6.504u);
+ fill_or_unfill z38\0\0s
+ ..controls z38\0\0c1 and z38\0\0c2..z38\0\0
+ ..controls z38\0\1c1 and z38\0\1c2..z38\0\1
+ --z38\0\2
+ ..controls z38\0\3c1 and z38\0\3c2..z38\0\3
+ ..controls z38\0\4c1 and z38\0\4c2..z38\0\4
+ --z38\0\5
+ ..controls z38\0\6c1 and z38\0\6c2..z38\0\6
+ ..controls z38\0\7c1 and z38\0\7c2..cycle;
+ fill_or_unfill z38\1\0s
+ --cycle;
+ fill_or_unfill z38\2\0s
+ --z38\2\0
+ ..controls z38\2\1c1 and z38\2\1c2..cycle;
+ fill_or_unfill z38\3\0s
+ --z38\3\0
+ ..controls z38\3\1c1 and z38\3\1c2..z38\3\1
+ --z38\3\2 --cycle;
+endchar; % R7
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{S12}
+% The sign \textit{S12} (nbw).
+% Piano stool with a fringe underneath (nbw).
+% \begin{macrocode}
+
+%% S12: fringed piano stool (nbw)
+%% (code as v(118) 118+31 = 149)
+beginchar (149, 17.104u# + side#, 8.913u#, 0.000u#);
+ "S12";
+ z43\0\0s = (1.927u,0.482u); z43\0\0c1 = (1.927u,1.592u);
+ z43\0\0c2 = (1.522u,7.119u); z43\0\0 = (2.685u,7.319u);
+ z43\0\1c1 = (3.175u,7.404u); z43\0\1c2 = (4.328u,6.524u);
+ z43\0\1 = (4.818u,6.263u); z43\0\2 = (4.336u,4.336u);
+ z43\0\3 = (5.552u,5.522u); z43\0\4 = (5.300u,3.854u);
+ z43\0\5 = (6.504u,5.059u); z43\0\6 = (6.924u,3.588u);
+ z43\0\7c1 = (7.733u,4.397u); z43\0\7c2 = (7.803u,4.537u);
+ z43\0\7 = (7.662u,4.432u); z43\0\8 = (8.432u,5.059u);
+ z43\0\9 = (8.432u,3.372u); z43\0\10c1 = (9.597u,3.412u);
+ z43\0\10c2 = (9.632u,3.130u); z43\0\10 = (9.456u,4.994u);
+ z43\0\11 = (10.118u,3.613u); z43\0\12 = (10.600u,3.613u);
+ z43\0\13 = (10.863u,5.065u); z43\0\14 = (12.286u,3.854u);
+ z43\0\15 = (12.045u,5.541u); z43\0\16 = (13.490u,4.336u);
+ z43\0\17 = (13.009u,6.263u); z43\0\18 = (15.418u,7.468u);
+ z43\0\19 = (15.899u,0.241u); z43\0\20 = (17.344u,0.241u);
+ z43\0\21 = (17.344u,5.541u); z43\0\22c1 = (17.330u,6.730u);
+ z43\0\22c2 = (17.229u,7.758u); z43\0\22 = (16.128u,8.467u);
+ z43\0\23c1 = (14.814u,9.311u); z43\0\23c2 = (6.193u,8.917u);
+ z43\0\23 = (4.095u,8.913u); z43\0\24c1 = (-0.427u,8.906u);
+ z43\0\24c2 = (0.218u,5.855u); z43\0\24 = (0.241u,2.409u);
+ z43\0\25c1 = (0.244u,1.970u); z43\0\25c2 = (0.204u,1.224u);
+ z43\0\25 = (0.487u,0.867u); z43\0\26c1 = (0.819u,0.448u);
+ z43\0\26c2 = (1.451u,0.498u); z43\1\0s = (14.213u,7.468u);
+ z43\1\0c1 = (11.513u,5.676u); z43\1\0c2 = (9.178u,4.907u);
+ z43\1\0 = (6.022u,6.112u); z43\1\1c1 = (5.382u,6.357u);
+ z43\1\1c2 = (4.416u,6.803u); z43\1\1 = (4.136u,7.476u);
+ z43\1\2c1 = (3.742u,8.421u); z43\1\2c2 = (4.969u,8.420u);
+ z43\1\2 = (5.541u,8.430u); z43\1\3c1 = (7.460u,8.466u);
+ z43\1\3c2 = (13.129u,8.957u); z43\2\0s = (15.928u,7.070u);
+ z43\2\0 = (16.701u,7.140u); z43\2\1c1 = (16.490u,6.120u);
+ z43\2\1c2 = (17.581u,0.950u); z43\2\1 = (16.315u,1.126u);
+ z43\3\0s = (1.120u,7.316u); z43\3\0 = (1.472u,7.034u);
+ z43\3\1c1 = (1.331u,1.196u); z43\3\1c2 = (1.402u,1.196u);
+ z43\3\1 = (1.331u,1.196u); z43\3\2 = (0.733u,1.266u);
+ z43\4\0s = (5.422u,5.062u);
+ fill_or_unfill z43\0\0s
+ ..controls z43\0\0c1 and z43\0\0c2..z43\0\0
+ ..controls z43\0\1c1 and z43\0\1c2..z43\0\1
+ --z43\0\2 --z43\0\3 --z43\0\4 --z43\0\5 --z43\0\6
+ ..controls z43\0\7c1 and z43\0\7c2..z43\0\7
+ --z43\0\8 --z43\0\9
+ ..controls z43\0\10c1 and z43\0\10c2..z43\0\10
+ --z43\0\11 --z43\0\12 --z43\0\13 --z43\0\14 --z43\0\15
+ --z43\0\16 --z43\0\17 --z43\0\18 --z43\0\19 --z43\0\20
+ --z43\0\21
+ ..controls z43\0\22c1 and z43\0\22c2..z43\0\22
+ ..controls z43\0\23c1 and z43\0\23c2..z43\0\23
+ ..controls z43\0\24c1 and z43\0\24c2..z43\0\24
+ ..controls z43\0\25c1 and z43\0\25c2..z43\0\25
+ ..controls z43\0\26c1 and z43\0\26c2..cycle;
+ fill_or_unfill z43\1\0s
+ ..controls z43\1\0c1 and z43\1\0c2..z43\1\0
+ ..controls z43\1\1c1 and z43\1\1c2..z43\1\1
+ ..controls z43\1\2c1 and z43\1\2c2..z43\1\2
+ ..controls z43\1\3c1 and z43\1\3c2..cycle;
+ fill_or_unfill z43\2\0s
+ --z43\2\0
+ ..controls z43\2\1c1 and z43\2\1c2..z43\2\1
+ --cycle;
+ fill_or_unfill z43\3\0s
+ --z43\3\0
+ ..controls z43\3\1c1 and z43\3\1c2..z43\3\1
+ --z43\3\2 --cycle;
+ fill_or_unfill z43\4\0s
+ --cycle;
+endchar; % S12
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{S29}
+% The sign \textit{S29}.
+% Tall hook (s).
+% \begin{macrocode}
+
+%% S29: tall hook
+%% (code as s(115) 115+31 = 146)
+beginchar (146, 3.216u# + side#, 16.750u#, 0.000u#);
+ "S29";
+ z63\0\0s = (0.000u,0.000u); z63\0\0 = (0.838u,0.030u);
+ z63\0\1 = (0.821u,14.333u); z63\0\2c1 = (0.838u,15.981u);
+ z63\0\2c2 = (2.414u,15.981u); z63\0\2 = (2.414u,14.209u);
+ z63\0\3 = (2.414u,5.544u); z63\0\4 = (3.201u,5.544u);
+ z63\0\5 = (3.216u,14.504u); z63\0\6c1 = (3.201u,17.557u);
+ z63\0\6c2 = (0.051u,17.557u); z63\0\6 = (0.034u,14.333u);
+ fill_or_unfill z63\0\0s
+ --z63\0\0 --z63\0\1
+ ..controls z63\0\2c1 and z63\0\2c2..z63\0\2
+ --z63\0\3 --z63\0\4 --z63\0\5
+ ..controls z63\0\6c1 and z63\0\6c2..z63\0\6
+ --cycle;
+endchar; % S29
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{S39}
+% The sign \textit{S39}.
+% A shepherd's crook (awt).
+% \begin{macrocode}
+
+%% S39: shepherd's crook (awt)
+%% (code as y(121) 121+31 = 152)
+%% (code as ?(63) 63+31 = 94)
+beginchar (94, 3.854u# + side#, 17.345u#, 0.000u#);
+ "S39";
+ z74\0\0s = (0.484u,13.357u); z74\0\0 = (1.351u,13.253u);
+ z74\0\1c1 = (1.169u,14.445u); z74\0\1c2 = (1.188u,15.777u);
+ z74\0\1 = (1.961u,16.100u); z74\0\2c1 = (3.141u,16.592u);
+ z74\0\2c2 = (3.358u,14.959u); z74\0\2 = (3.372u,14.213u);
+ z74\0\3 = (3.372u,0.241u); z74\0\4 = (4.095u,0.241u);
+ z74\0\5 = (4.095u,14.213u); z74\0\6c1 = (4.087u,19.120u);
+ z74\0\6c2 = (-0.312u,17.646u);
+ fill_or_unfill z74\0\0s
+ --z74\0\0
+ ..controls z74\0\1c1 and z74\0\1c2..z74\0\1
+ ..controls z74\0\2c1 and z74\0\2c2..z74\0\2
+ --z74\0\3 --z74\0\4 --z74\0\5
+ ..controls z74\0\6c1 and z74\0\6c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{S41}
+% The sign \textit{S41}.
+% Like a twisted piece of string hanging down (Dwm).
+% \begin{macrocode}
+
+%% S41: hanging piece of string (Dwm)
+%% (code as 0(48) 48+31 = 79)
+%% (code as c(99) 99+31 = 130)
+beginchar (130, 5.064u# + side#, 17.147u#, 0.000u#);
+ "S41";
+ z76\0\0s = (3.903u,12.649u); z76\0\0c1 = (3.361u,13.686u);
+ z76\0\0c2 = (2.532u,14.515u); z76\0\0 = (2.532u,14.930u);
+ z76\0\1 = (2.532u,15.759u); z76\0\2c1 = (2.947u,16.589u);
+ z76\0\2c2 = (5.435u,16.589u); z76\0\2 = (5.020u,17.003u);
+ z76\0\3c1 = (2.117u,17.833u); z76\0\3c2 = (-0.371u,14.930u);
+ z76\0\3 = (0.043u,12.027u); z76\0\4c1 = (0.043u,11.197u);
+ z76\0\4c2 = (0.458u,13.686u); z76\0\4 = (1.702u,14.515u);
+ z76\0\5c1 = (2.117u,14.100u); z76\0\5c2 = (2.532u,13.686u);
+ z76\0\5 = (3.073u,12.649u); z76\0\6c1 = (3.488u,11.820u);
+ z76\0\6c2 = (1.829u,10.161u); z76\0\6 = (2.532u,8.709u);
+ z76\0\7c1 = (3.488u,7.258u); z76\0\7c2 = (1.415u,5.599u);
+ z76\0\7 = (2.532u,4.562u); z76\0\8c1 = (1.495u,2.903u);
+ z76\0\8c2 = (1.288u,2.073u); z76\0\8 = (2.117u,0.000u);
+ z76\0\9c1 = (2.532u,0.000u); z76\0\9c2 = (2.117u,1.244u);
+ z76\0\9 = (2.117u,1.659u); z76\0\10c1 = (2.117u,2.488u);
+ z76\0\10c2 = (2.739u,2.903u); z76\0\10 = (2.947u,2.903u);
+ z76\0\11c1 = (3.154u,2.903u); z76\0\11c2 = (3.776u,2.488u);
+ z76\0\11 = (3.776u,1.659u); z76\0\12c1 = (3.776u,1.244u);
+ z76\0\12c2 = (3.361u,0.000u); z76\0\12 = (3.776u,0.000u);
+ z76\0\13c1 = (4.605u,2.073u); z76\0\13c2 = (4.398u,2.903u);
+ z76\0\13 = (3.361u,4.562u); z76\0\14c1 = (2.659u,5.599u);
+ z76\0\14c2 = (4.318u,7.672u); z76\0\14 = (3.361u,8.709u);
+ z76\0\15c1 = (2.659u,10.161u); z76\0\15c2 = (4.318u,11.820u);
+ fill_or_unfill z76\0\0s
+ ..controls z76\0\0c1 and z76\0\0c2..z76\0\0
+ --z76\0\1
+ ..controls z76\0\2c1 and z76\0\2c2..z76\0\2
+ ..controls z76\0\3c1 and z76\0\3c2..z76\0\3
+ ..controls z76\0\4c1 and z76\0\4c2..z76\0\4
+ ..controls z76\0\5c1 and z76\0\5c2..z76\0\5
+ ..controls z76\0\6c1 and z76\0\6c2..z76\0\6
+ ..controls z76\0\7c1 and z76\0\7c2..z76\0\7
+ ..controls z76\0\8c1 and z76\0\8c2..z76\0\8
+ ..controls z76\0\9c1 and z76\0\9c2..z76\0\9
+ ..controls z76\0\10c1 and z76\0\10c2..z76\0\10
+ ..controls z76\0\11c1 and z76\0\11c2..z76\0\11
+ ..controls z76\0\12c1 and z76\0\12c2..z76\0\12
+ ..controls z76\0\13c1 and z76\0\13c2..z76\0\13
+ ..controls z76\0\14c1 and z76\0\14c2..z76\0\14
+ ..controls z76\0\15c1 and z76\0\15c2..cycle;
+endchar; % S41
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{T3}
+% The sign \textit{T3}.
+% An upright stick with a ball on top (HD).
+% \begin{macrocode}
+
+%% T3: Upright with a ball at the top
+%% (code as ?(63) 63+31 = 94)
+%% (code as u(117) 117+31 = 148)
+beginchar (148, 3.853u# + side#, 17.436u#, 0.000u#);
+ "T3";
+ z34\0\0s = (1.561u,0.000u); z34\0\0 = (2.284u,0.000u);
+ z34\0\1 = (2.284u,10.118u); z34\0\2c1 = (2.298u,12.877u);
+ z34\0\2c2 = (3.432u,12.589u); z34\0\2 = (3.827u,14.454u);
+ z34\0\3c1 = (4.025u,15.389u); z34\0\3c2 = (3.106u,17.445u);
+ z34\0\3 = (2.034u,17.436u); z34\0\4c1 = (1.021u,17.427u);
+ z34\0\4c2 = (-0.062u,15.627u); z34\0\4 = (0.000u,14.695u);
+ z34\0\5c1 = (0.113u,13.018u); z34\0\5c2 = (1.557u,12.748u);
+ z34\0\5 = (1.561u,9.877u); z34\1\0s = (1.586u,16.027u);
+ z34\1\0c1 = (3.996u,16.148u); z34\1\0c2 = (3.128u,13.490u);
+ z34\1\0 = (2.201u,13.049u); z34\1\1c1 = (1.310u,12.626u);
+ z34\1\1c2 = (-0.361u,15.136u);
+ fill_or_unfill z34\0\0s
+ --z34\0\0 --z34\0\1
+ ..controls z34\0\2c1 and z34\0\2c2..z34\0\2
+ ..controls z34\0\3c1 and z34\0\3c2..z34\0\3
+ ..controls z34\0\4c1 and z34\0\4c2..z34\0\4
+ ..controls z34\0\5c1 and z34\0\5c2..z34\0\5
+ --cycle;
+ fill_or_unfill z34\1\0s
+ ..controls z34\1\0c1 and z34\1\0c2..z34\1\0
+ ..controls z34\1\1c1 and z34\1\1c2..cycle;
+endchar; % T3
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{T14}
+% The sign \textit{T14}.
+% A throw stick (early boomerang?) (qmA).
+% \begin{macrocode}
+
+%% T14. Throw stick.
+%% (code as 7(55) 55+31 = 86)
+%% (code as /(47) 47+31 = 78)
+beginchar (78, 4.817u# + side#, 16.880u#, 0.000u#);
+ "T14";
+ z49\0\0s = (0.000u,16.863u); z49\0\0c1 = (1.276u,14.384u);
+ z49\0\0c2 = (3.848u,12.804u); z49\0\0 = (3.854u,9.877u);
+ z49\0\1 = (3.854u,0.000u); z49\0\2 = (4.817u,0.000u);
+ z49\0\3 = (4.817u,10.600u); z49\0\4c1 = (4.783u,12.416u);
+ z49\0\4c2 = (3.367u,13.795u); z49\0\4 = (2.308u,15.177u);
+ z49\0\5c1 = (1.597u,16.105u); z49\0\5c2 = (1.287u,17.030u);
+ fill_or_unfill z49\0\0s
+ ..controls z49\0\0c1 and z49\0\0c2..z49\0\0
+ --z49\0\1 --z49\0\2 --z49\0\3
+ ..controls z49\0\4c1 and z49\0\4c2..z49\0\4
+ ..controls z49\0\5c1 and z49\0\5c2..cycle;
+endchar; % T14
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{U36}
+% The sign \textit{U36}.
+% Like an upright club (Hm).
+% \begin{macrocode}
+
+%% U36: upright club
+%% (code as 4(52) 52+31 = 83)
+%% (code as J(74) 74+31 = 105)
+beginchar (105, 3.371u# + side#, 17.516u#, 0.000u#);
+ "U36";
+ z70\0\0s = (0.481u,0.000u); z70\0\0 = (3.131u,0.000u);
+ z70\0\1 = (2.890u,6.746u); z70\0\2 = (3.371u,14.214u);
+ z70\0\3c1 = (3.366u,15.331u); z70\0\3c2 = (3.280u,17.157u);
+ z70\0\3 = (1.914u,17.472u); z70\0\4c1 = (0.137u,17.883u);
+ z70\0\4c2 = (0.014u,15.637u); z70\0\4 = (0.000u,14.454u);
+ z70\0\5 = (0.722u,6.746u); z70\1\0s = (1.459u,16.644u);
+ z70\1\0c1 = (2.651u,16.405u); z70\1\0c2 = (2.634u,15.474u);
+ z70\1\0 = (2.648u,14.454u); z70\1\1 = (2.167u,3.373u);
+ z70\1\2c1 = (2.170u,2.841u); z70\1\2c2 = (2.436u,1.047u);
+ z70\1\2 = (2.028u,0.764u); z70\1\3c1 = (1.033u,0.072u);
+ z70\1\3c2 = (1.440u,2.848u); z70\1\3 = (1.459u,3.132u);
+ z70\1\4 = (1.459u,6.987u); z70\1\5c1 = (1.435u,8.927u);
+ z70\1\5c2 = (-0.331u,15.602u);
+ fill_or_unfill z70\0\0s
+ --z70\0\0 --z70\0\1 --z70\0\2
+ ..controls z70\0\3c1 and z70\0\3c2..z70\0\3
+ ..controls z70\0\4c1 and z70\0\4c2..z70\0\4
+ --z70\0\5 --cycle;
+ fill_or_unfill z70\1\0s
+ ..controls z70\1\0c1 and z70\1\0c2..z70\1\0
+ --z70\1\1
+ ..controls z70\1\2c1 and z70\1\2c2..z70\1\2
+ ..controls z70\1\3c1 and z70\1\3c2..z70\1\3
+ --z70\1\4
+ ..controls z70\1\5c1 and z70\1\5c2..cycle;
+endchar; % U36
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{V4}
+% The sign \textit{V4}.
+% Like a small balloon hanging down from a (invisible) hook (wA).
+% \begin{macrocode}
+
+%% V4 a small balloon hanging down.
+%% (code as o(111) = 111+31 = 142)
+beginchar (142, 14.454u# + side#, 16.393u#, 0.000u#);
+ "V4";
+ z35\0\0s = (0.000u,8.454u); z35\0\0 = (0.000u,7.709u);
+ z35\0\1c1 = (0.747u,7.708u); z35\0\1c2 = (2.716u,7.789u);
+ z35\0\1 = (3.162u,7.092u); z35\0\2c1 = (3.630u,6.361u);
+ z35\0\2c2 = (1.412u,3.700u); z35\0\2 = (2.414u,1.959u);
+ z35\0\3c1 = (3.296u,0.427u); z35\0\3c2 = (5.218u,1.182u);
+ z35\0\3 = (5.658u,2.651u); z35\0\4c1 = (6.101u,4.127u);
+ z35\0\4c2 = (5.059u,5.648u); z35\0\4 = (4.577u,6.986u);
+ z35\0\5c1 = (5.460u,6.787u); z35\0\5c2 = (6.788u,6.323u);
+ z35\0\5 = (7.674u,6.580u); z35\0\6c1 = (9.204u,7.023u);
+ z35\0\6c2 = (8.273u,9.961u); z35\0\6 = (4.577u,7.950u);
+ z35\0\7c1 = (4.577u,9.133u); z35\0\7c2 = (4.428u,12.042u);
+ z35\0\7 = (4.819u,13.008u); z35\0\8c1 = (5.970u,15.848u);
+ z35\0\8c2 = (9.863u,16.583u); z35\0\8 = (11.463u,13.727u);
+ z35\0\9c1 = (12.615u,11.672u); z35\0\9c2 = (12.247u,9.205u);
+ z35\0\9 = (12.089u,6.986u); z35\0\10c1 = (11.980u,5.457u);
+ z35\0\10c2 = (12.449u,3.811u); z35\0\10 = (13.009u,2.409u);
+ z35\0\11c1 = (13.430u,1.352u); z35\0\11c2 = (13.581u,0.784u);
+ z35\0\11 = (14.454u,0.000u); z35\0\12c1 = (14.618u,1.699u);
+ z35\0\12c2 = (12.848u,4.020u); z35\0\12 = (12.947u,6.745u);
+ z35\0\13c1 = (13.059u,9.851u); z35\0\13c2 = (13.533u,15.923u);
+ z35\0\13 = (9.154u,16.356u); z35\0\14c1 = (8.334u,16.437u);
+ z35\0\14c2 = (7.268u,16.406u); z35\0\14 = (6.504u,16.086u);
+ z35\0\15c1 = (2.249u,14.303u); z35\0\15c2 = (4.808u,9.334u);
+ z35\0\15 = (3.269u,8.454u); z35\0\16c1 = (2.952u,8.301u);
+ z35\0\16c2 = (0.553u,8.431u); z35\1\0s = (7.709u,7.950u);
+ z35\1\0 = (7.709u,7.227u); z35\1\1 = (5.541u,7.468u);
+ z35\2\0s = (4.336u,5.781u); z35\2\0c1 = (4.539u,5.304u);
+ z35\2\0c2 = (4.722u,4.844u); z35\2\0 = (4.841u,4.336u);
+ z35\2\1c1 = (5.591u,1.131u); z35\2\1c2 = (2.256u,0.950u);
+ z35\2\1 = (3.018u,4.095u); z35\2\2c1 = (3.236u,4.993u);
+ z35\2\2c2 = (3.542u,5.358u);
+ fill_or_unfill z35\0\0s
+ --z35\0\0
+ ..controls z35\0\1c1 and z35\0\1c2..z35\0\1
+ ..controls z35\0\2c1 and z35\0\2c2..z35\0\2
+ ..controls z35\0\3c1 and z35\0\3c2..z35\0\3
+ ..controls z35\0\4c1 and z35\0\4c2..z35\0\4
+ ..controls z35\0\5c1 and z35\0\5c2..z35\0\5
+ ..controls z35\0\6c1 and z35\0\6c2..z35\0\6
+ ..controls z35\0\7c1 and z35\0\7c2..z35\0\7
+ ..controls z35\0\8c1 and z35\0\8c2..z35\0\8
+ ..controls z35\0\9c1 and z35\0\9c2..z35\0\9
+ ..controls z35\0\10c1 and z35\0\10c2..z35\0\10
+ ..controls z35\0\11c1 and z35\0\11c2..z35\0\11
+ ..controls z35\0\12c1 and z35\0\12c2..z35\0\12
+ ..controls z35\0\13c1 and z35\0\13c2..z35\0\13
+ ..controls z35\0\14c1 and z35\0\14c2..z35\0\14
+ ..controls z35\0\15c1 and z35\0\15c2..z35\0\15
+ ..controls z35\0\16c1 and z35\0\16c2..cycle;
+ fill_or_unfill z35\1\0s
+ --z35\1\0 --z35\1\1 --cycle;
+ fill_or_unfill z35\2\0s
+ ..controls z35\2\0c1 and z35\2\0c2..z35\2\0
+ ..controls z35\2\1c1 and z35\2\1c2..z35\2\1
+ ..controls z35\2\2c1 and z35\2\2c2..cycle;
+endchar; % V4
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{V13}
+% The sign \textit{V13}.
+% A pair of sugar tongs (T).
+% \begin{macrocode}
+
+%% V13: Pair of sugar tongs
+%% (code as T(84) 84+31 = 115)
+beginchar (115, 16.805u# + side#, 4.390u#, 0.000u#);
+ "V13";
+ z44\0\0s = (15.821u,1.146u); z44\0\0 = (5.463u,1.146u);
+ z44\0\1c1 = (4.177u,1.154u); z44\0\1c2 = (3.293u,1.682u);
+ z44\0\1 = (2.090u,1.823u); z44\0\2c1 = (1.311u,1.915u);
+ z44\0\2c2 = (-0.795u,1.487u); z44\0\2 = (0.311u,0.391u);
+ z44\0\3c1 = (1.104u,-0.505u); z44\0\3c2 = (4.260u,0.422u);
+ z44\0\3 = (5.463u,0.391u); z44\0\4 = (14.376u,0.391u);
+ z44\0\5c1 = (14.907u,0.425u); z44\0\5c2 = (15.752u,0.368u);
+ z44\0\5 = (16.203u,0.670u); z44\0\6c1 = (17.237u,1.363u);
+ z44\0\6c2 = (16.846u,2.932u); z44\0\6 = (15.796u,3.378u);
+ z44\0\7c1 = (15.113u,3.668u); z44\0\7c2 = (11.723u,3.555u);
+ z44\0\7 = (10.762u,3.555u); z44\0\8 = (5.944u,3.555u);
+ z44\0\9c1 = (4.650u,3.557u); z44\0\9c2 = (4.274u,3.617u);
+ z44\0\9 = (3.054u,4.059u); z44\0\10c1 = (-0.065u,5.187u);
+ z44\0\10c2 = (-0.465u,3.114u); z44\0\10 = (0.912u,2.695u);
+ z44\0\11c1 = (1.860u,2.407u); z44\0\11c2 = (3.659u,2.831u);
+ z44\0\11 = (4.740u,2.833u); z44\0\12c1 = (6.279u,2.835u);
+ z44\0\12c2 = (14.481u,3.062u); z44\0\12 = (15.276u,2.596u);
+ z44\0\13c1 = (15.884u,2.239u); z44\0\13c2 = (15.839u,1.756u);
+ z44\1\0s = (2.572u,3.555u); z44\1\0c1 = (1.748u,3.026u);
+ z44\1\0c2 = (1.229u,2.927u); z44\1\0 = (0.645u,3.796u);
+ z44\2\0s = (2.813u,0.905u); z44\2\0 = (0.645u,0.664u);
+ z44\2\1 = (0.645u,1.146u);
+ fill_or_unfill z44\0\0s
+ --z44\0\0
+ ..controls z44\0\1c1 and z44\0\1c2..z44\0\1
+ ..controls z44\0\2c1 and z44\0\2c2..z44\0\2
+ ..controls z44\0\3c1 and z44\0\3c2..z44\0\3
+ --z44\0\4
+ ..controls z44\0\5c1 and z44\0\5c2..z44\0\5
+ ..controls z44\0\6c1 and z44\0\6c2..z44\0\6
+ ..controls z44\0\7c1 and z44\0\7c2..z44\0\7
+ --z44\0\8
+ ..controls z44\0\9c1 and z44\0\9c2..z44\0\9
+ ..controls z44\0\10c1 and z44\0\10c2..z44\0\10
+ ..controls z44\0\11c1 and z44\0\11c2..z44\0\11
+ ..controls z44\0\12c1 and z44\0\12c2..z44\0\12
+ ..controls z44\0\13c1 and z44\0\13c2..cycle;
+ fill_or_unfill z44\1\0s
+ ..controls z44\1\0c1 and z44\1\0c2..z44\1\0
+ --cycle;
+ fill_or_unfill z44\2\0s
+ --z44\2\0 --z44\2\1 --cycle;
+endchar; % V13
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{V24}
+% The sign \textit{V24}.
+% Vertical line with an oval at the center (wD).
+% \begin{macrocode}
+
+%% V24: vertical line with center ellipse (wD)
+%% (code as 6(54) 54+31 = 85)
+%% (code as U(85) 85+31 = 116)
+beginchar (116, 3.136u# + side#, 17.344u#, 0.000u#);
+ "V24";
+ z55\0\0s = (1.058u,17.344u); z55\0\0 = (1.058u,13.249u);
+ z55\0\1 = (0.000u,10.118u); z55\0\2 = (1.094u,5.059u);
+ z55\0\3 = (1.094u,0.000u); z55\0\4 = (2.083u,0.000u);
+ z55\0\5 = (2.083u,6.022u); z55\0\6 = (3.136u,9.636u);
+ z55\0\7 = (2.094u,13.249u); z55\0\8 = (2.094u,17.344u);
+ z55\1\0s = (1.817u,12.045u); z55\1\0c1 = (2.720u,10.183u);
+ z55\1\0c2 = (2.528u,9.347u); z55\1\0 = (1.817u,7.468u);
+ z55\1\1 = (1.335u,7.468u); z55\1\2c1 = (0.490u,9.258u);
+ z55\1\2c2 = (0.434u,10.275u); z55\1\2 = (1.335u,12.045u);
+ fill_or_unfill z55\0\0s
+ --z55\0\0 --z55\0\1 --z55\0\2 --z55\0\3 --z55\0\4
+ --z55\0\5 --z55\0\6 --z55\0\7 --z55\0\8 --cycle;
+ fill_or_unfill z55\1\0s
+ ..controls z55\1\0c1 and z55\1\0c2..z55\1\0
+ --z55\1\1
+ ..controls z55\1\2c1 and z55\1\2c2..z55\1\2
+ --cycle;
+endchar; % V24
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{V28}
+% The sign \textit{V28}.
+% Twisted flax (emphatic h).
+% \begin{macrocode}
+
+%% V28: Twisted flax
+%% (code as H(72) 72+31 = 103)
+beginchar (103, 4.450u# + side#, 17.255u#, 0.000u#);
+ "V28";
+ z59\0\0s = (0.000u,0.036u); z59\0\0 = (0.482u,0.036u);
+ z59\0\1 = (1.927u,3.409u); z59\0\2 = (2.409u,3.409u);
+ z59\0\3 = (3.870u,0.028u); z59\0\4 = (4.450u,0.000u);
+ z59\0\5 = (2.964u,4.132u); z59\0\6c1 = (2.778u,5.069u);
+ z59\0\6c2 = (3.485u,5.858u); z59\0\6 = (3.541u,6.782u);
+ z59\0\7c1 = (3.589u,7.582u); z59\0\7c2 = (3.106u,8.197u);
+ z59\0\7 = (3.068u,8.950u); z59\0\8 = (3.516u,10.877u);
+ z59\0\9c1 = (3.545u,11.625u); z59\0\9c2 = (3.052u,12.298u);
+ z59\0\9 = (3.203u,13.045u); z59\0\10c1 = (3.454u,14.290u);
+ z59\0\10c2 = (4.693u,15.171u); z59\0\10 = (3.648u,16.604u);
+ z59\0\11c1 = (2.669u,17.947u); z59\0\11c2 = (0.769u,17.038u);
+ z59\0\11 = (0.793u,15.454u); z59\0\12c1 = (0.806u,14.567u);
+ z59\0\12c2 = (1.427u,13.882u); z59\0\12 = (1.506u,13.045u);
+ z59\0\13c1 = (1.574u,12.314u); z59\0\13c2 = (1.099u,11.616u);
+ z59\0\13 = (1.062u,10.877u); z59\0\14c1 = (1.026u,10.170u);
+ z59\0\14c2 = (1.437u,9.623u); z59\0\14 = (1.458u,8.950u);
+ z59\0\15c1 = (1.481u,8.220u); z59\0\15c2 = (1.041u,7.530u);
+ z59\0\15 = (1.030u,6.782u); z59\0\16c1 = (1.018u,5.928u);
+ z59\0\16c2 = (1.600u,5.207u); z59\0\16 = (1.523u,4.373u);
+ z59\1\0s = (2.650u,13.527u); z59\1\0 = (2.168u,13.527u);
+ z59\1\1c1 = (0.149u,17.589u); z59\1\1c2 = (4.681u,17.562u);
+ z59\2\0s = (2.317u,12.124u); z59\2\0c1 = (3.031u,11.856u);
+ z59\2\0c2 = (3.001u,9.803u); z59\2\0 = (2.347u,9.565u);
+ z59\2\1c1 = (1.633u,9.892u); z59\2\1c2 = (1.722u,11.916u);
+ z59\3\0s = (2.409u,8.227u); z59\3\0c1 = (2.977u,6.991u);
+ z59\3\0c2 = (3.010u,6.444u); z59\3\0 = (2.168u,5.336u);
+ z59\3\1c1 = (1.668u,6.541u); z59\3\1c2 = (1.465u,7.201u);
+ fill_or_unfill z59\0\0s
+ --z59\0\0 --z59\0\1 --z59\0\2 --z59\0\3 --z59\0\4 --z59\0\5
+ ..controls z59\0\6c1 and z59\0\6c2..z59\0\6
+ ..controls z59\0\7c1 and z59\0\7c2..z59\0\7
+ --z59\0\8
+ ..controls z59\0\9c1 and z59\0\9c2..z59\0\9
+ ..controls z59\0\10c1 and z59\0\10c2..z59\0\10
+ ..controls z59\0\11c1 and z59\0\11c2..z59\0\11
+ ..controls z59\0\12c1 and z59\0\12c2..z59\0\12
+ ..controls z59\0\13c1 and z59\0\13c2..z59\0\13
+ ..controls z59\0\14c1 and z59\0\14c2..z59\0\14
+ ..controls z59\0\15c1 and z59\0\15c2..z59\0\15
+ ..controls z59\0\16c1 and z59\0\16c2..z59\0\16
+ --cycle;
+ fill_or_unfill z59\1\0s
+ --z59\1\0
+ ..controls z59\1\1c1 and z59\1\1c2..cycle;
+ fill_or_unfill z59\2\0s
+ ..controls z59\2\0c1 and z59\2\0c2..z59\2\0
+ ..controls z59\2\1c1 and z59\2\1c2..cycle;
+ fill_or_unfill z59\3\0s
+ ..controls z59\3\0c1 and z59\3\0c2..z59\3\0
+ ..controls z59\3\1c1 and z59\3\1c2..cycle;
+endchar; % V28
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{V31}
+% The sign \textit{V31}.
+% Bowl with small handle (k).
+% \begin{macrocode}
+
+%% V31: Bowl with small handle
+%% (code as k(107) 107+31 = 138)
+beginchar (138, 17.252u# + side#, 5.244u#, 0.000u#);
+ "V31";
+ z62\0\0s = (0.000u,5.244u); z62\0\0c1 = (0.335u,0.575u);
+ z62\0\0c2 = (7.394u,-0.832u); z62\0\0 = (11.081u,0.449u);
+ z62\0\1c1 = (12.794u,1.045u); z62\0\1c2 = (13.573u,2.027u);
+ z62\0\1 = (14.936u,3.076u); z62\0\2c1 = (15.442u,0.705u);
+ z62\0\2c2 = (17.419u,0.854u); z62\0\2 = (17.252u,2.594u);
+ z62\0\3c1 = (17.053u,4.666u); z62\0\3c2 = (15.506u,5.241u);
+ z62\0\3 = (13.731u,5.244u); z62\1\0s = (14.213u,4.280u);
+ z62\1\0c1 = (13.001u,-0.504u); z62\1\0c2 = (2.997u,-0.009u);
+ z62\1\0 = (0.963u,4.280u); z62\2\0s = (15.658u,4.040u);
+ z62\2\0 = (16.622u,2.111u); z62\2\1c1 = (15.615u,2.456u);
+ z62\2\1c2 = (15.322u,3.014u);
+ fill_or_unfill z62\0\0s
+ ..controls z62\0\0c1 and z62\0\0c2..z62\0\0
+ ..controls z62\0\1c1 and z62\0\1c2..z62\0\1
+ ..controls z62\0\2c1 and z62\0\2c2..z62\0\2
+ ..controls z62\0\3c1 and z62\0\3c2..z62\0\3
+ --cycle;
+ fill_or_unfill z62\1\0s
+ ..controls z62\1\0c1 and z62\1\0c2..z62\1\0
+ --cycle;
+ fill_or_unfill z62\2\0s
+ --z62\2\0
+ ..controls z62\2\1c1 and z62\2\1c2..cycle;
+endchar; % V31
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{W11}
+% The sign \textit{W11}.
+% Like the chockstone of a stone arch, with triangular badge (g).
+% \begin{macrocode}
+
+%% W11: Chockstone of a stone arch, with a triangle
+%% (code as g(103) 103+31 = 134)
+beginchar (134, 9.395u# + side#, 8.431u#, 0.000u#);
+ "W11";
+ z44\0\0s = (0.241u,8.431u); z44\0\0 = (1.069u,6.931u);
+ z44\0\1 = (0.000u,1.204u); z44\0\2c1 = (2.626u,0.170u);
+ z44\0\2c2 = (7.668u,0.222u); z44\0\2 = (9.468u,1.456u);
+ z44\0\3 = (7.976u,7.064u); z44\0\4 = (8.851u,8.402u);
+ z44\1\0s = (6.986u,7.468u); z44\1\0 = (8.336u,2.416u);
+ z44\1\1c1 = (8.195u,0.447u); z44\1\1c2 = (1.971u,1.326u);
+ z44\1\1 = (0.723u,1.927u); z44\1\2c1 = (3.118u,7.785u);
+ z44\1\2c2 = (-0.953u,7.468u); z44\2\0s = (4.336u,6.263u);
+ z44\2\0c1 = (4.101u,5.611u); z44\2\0c2 = (3.246u,2.860u);
+ z44\2\0 = (3.553u,2.330u); z44\2\1c1 = (3.920u,1.698u);
+ z44\2\1c2 = (5.788u,1.794u); z44\2\1 = (5.915u,2.675u);
+ z44\2\2 = (4.818u,6.263u); z44\3\0s = (5.059u,4.336u);
+ z44\3\0 = (5.300u,2.650u); z44\3\1 = (4.095u,2.650u);
+ z44\3\2 = (4.577u,4.336u);
+ fill_or_unfill z44\0\0s
+ --z44\0\0 --z44\0\1
+ ..controls z44\0\2c1 and z44\0\2c2..z44\0\2
+ --z44\0\3 --z44\0\4 --cycle;
+ fill_or_unfill z44\1\0s
+ --z44\1\0
+ ..controls z44\1\1c1 and z44\1\1c2..z44\1\1
+ ..controls z44\1\2c1 and z44\1\2c2..cycle;
+ fill_or_unfill z44\2\0s
+ ..controls z44\2\0c1 and z44\2\0c2..z44\2\0
+ ..controls z44\2\1c1 and z44\2\1c2..z44\2\1
+ --z44\2\2 --cycle;
+ fill_or_unfill z44\3\0s
+ --z44\3\0 --z44\3\1 --z44\3\2 --cycle;
+endchar; % W11
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+%
+% \begin{routine}{X1}
+% The sign \textit{X1}.
+% Upper half of a circle (t).
+% \begin{macrocode}
+
+%% X1: Upper half of circle
+%% (code as t(116) 116+31 = 147)
+beginchar (147, 8.913u# + side#, 4.760u#, 0.000u#);
+ "X1";
+ z32\0\0s = (0.000u,0.000u); z32\0\0 = (8.913u,0.000u);
+ z32\0\1c1 = (8.613u,6.425u); z32\0\1c2 = (0.300u,6.425u);
+ z32\1\0s = (8.191u,0.723u); z32\1\0 = (0.723u,0.723u);
+ z32\1\1c1 = (1.785u,4.957u); z32\1\1c2 = (7.128u,4.957u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0
+ ..controls z32\0\1c1 and z32\0\1c2..cycle;
+ fill_or_unfill z32\1\0s
+ --z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..cycle;
+endchar; % X1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Y1*}
+% The sign \textit{Y1*} aka \textit{Y1v}.
+% An upright board with a `W' on its left side (book, writing, abstract).
+% \begin{macrocode}
+
+%% Y1* (aka Y1v) upright board with a W on it
+%% (code as 9(57) 57+31 = 88)
+%% (code as V(86) 86+31 = 117)
+beginchar (117, 4.095u# + side#, 17.345u#, 0.000u#);
+ "Y1*";
+ z40\0\0s = (1.686u,17.345u); z40\0\0 = (1.686u,10.600u);
+ z40\0\1c1 = (-0.008u,10.639u); z40\0\1c2 = (-0.108u,6.333u);
+ z40\0\1 = (1.686u,6.504u); z40\0\2 = (1.686u,0.000u);
+ z40\0\3 = (4.095u,0.000u); z40\0\4 = (4.095u,17.345u);
+ z40\1\0s = (3.373u,16.863u); z40\1\0 = (3.373u,0.723u);
+ z40\1\1 = (2.409u,0.723u); z40\1\2 = (2.409u,16.863u);
+ z40\2\0s = (1.714u,9.744u); z40\2\0 = (1.681u,7.360u);
+ z40\2\1 = (0.919u,8.155u); z40\2\2 = (0.952u,9.214u);
+ z40\3\0s = (2.030u,6.662u); z40\3\0 = (1.454u,7.055u);
+ z40\3\1 = (0.418u,5.544u); z40\3\2 = (0.981u,5.126u);
+ z40\4\0s = (0.980u,11.981u); z40\4\0 = (0.404u,11.588u);
+ z40\4\1 = (1.452u,10.052u); z40\4\2 = (2.029u,10.445u);
+ fill_or_unfill z40\0\0s
+ --z40\0\0
+ ..controls z40\0\1c1 and z40\0\1c2..z40\0\1
+ --z40\0\2 --z40\0\3 --z40\0\4 --cycle;
+ fill_or_unfill z40\1\0s
+ --z40\1\0 --z40\1\1 --z40\1\2 --cycle;
+ fill_or_unfill z40\2\0s
+ --z40\2\0 --z40\2\1 --z40\2\2 --cycle;
+ fill_or_unfill z40\3\0s
+ --z40\3\0 --z40\3\1 --z40\3\2 --cycle;
+ fill_or_unfill z40\4\0s
+ --z40\4\0 --z40\4\1 --z40\4\2 --cycle;
+endchar; % Y1*
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Z1}
+% The sign \textit{Z1}.
+% A short vertical bar (numeral 1).
+% \begin{macrocode}
+
+%% Z1: short vertical bar
+%% (code as 1(49) 49+31 = 80)
+%% (code as |(124) 124+31 = 155)
+beginchar (155, 0.723u# + side#, 7.227u#, 0.000u#);
+ "Z1";
+ z32\0\0s = (0.000u,7.227u); z32\0\0 = (0.000u,0.000u);
+ z32\0\1 = (0.723u,0.000u); z32\0\2 = (0.723u,7.227u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0 --z32\0\1 --z32\0\2 --cycle;
+endchar; % Z1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Z7}
+% The sign \textit{Z7}.
+% A spiral (W).
+% \begin{macrocode}
+
+%% Z7: spiral
+%% (code as W(87) 87+31 = 118)
+beginchar (118, 5.720u# + side#, 9.319u#, 0.000u#);
+ "Z7";
+ z40\0\0s = (4.646u,0.000u); z40\0\0 = (4.887u,0.241u);
+ z40\0\1 = (4.887u,0.723u); z40\0\2c1 = (2.963u,1.925u);
+ z40\0\2c2 = (-1.492u,6.231u); z40\0\2 = (2.247u,8.148u);
+ z40\0\3c1 = (3.399u,8.738u); z40\0\3c2 = (5.200u,7.509u);
+ z40\0\3 = (4.815u,6.269u); z40\0\4c1 = (4.677u,5.825u);
+ z40\0\4c2 = (3.915u,5.065u); z40\0\4 = (3.512u,5.651u);
+ z40\0\5c1 = (3.371u,5.855u); z40\0\5c2 = (3.270u,6.694u);
+ z40\0\5 = (3.201u,6.986u); z40\0\6c1 = (2.014u,6.196u);
+ z40\0\6c2 = (1.806u,4.768u); z40\0\6 = (3.445u,4.416u);
+ z40\0\7c1 = (6.648u,3.729u); z40\0\7c2 = (6.545u,9.699u);
+ z40\0\7 = (2.719u,9.319u); z40\0\8c1 = (1.875u,9.235u);
+ z40\0\8c2 = (1.184u,8.616u); z40\0\8 = (0.718u,7.946u);
+ z40\0\9c1 = (-1.411u,4.882u); z40\0\9c2 = (1.564u,0.909u);
+ fill_or_unfill z40\0\0s
+ --z40\0\0 --z40\0\1
+ ..controls z40\0\2c1 and z40\0\2c2..z40\0\2
+ ..controls z40\0\3c1 and z40\0\3c2..z40\0\3
+ ..controls z40\0\4c1 and z40\0\4c2..z40\0\4
+ ..controls z40\0\5c1 and z40\0\5c2..z40\0\5
+ ..controls z40\0\6c1 and z40\0\6c2..z40\0\6
+ ..controls z40\0\7c1 and z40\0\7c2..z40\0\7
+ ..controls z40\0\8c1 and z40\0\8c2..z40\0\8
+ ..controls z40\0\9c1 and z40\0\9c2..cycle;
+endchar; % Z7
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Z11}
+% The sign \textit{Z11}.
+% Crossed planks (imi, wnm).
+% \begin{macrocode}
+
+%% Z11: Crossed planks.
+%% (code as +(43) 43+31 = 74)
+beginchar (74, 10.600u# + side#, 17.104u#, 0.000u#);
+ "Z11";
+ z46\0\0s = (4.336u,17.104u); z46\0\0 = (4.336u,9.395u);
+ z46\0\1 = (0.000u,9.395u); z46\0\2 = (0.000u,7.227u);
+ z46\0\3 = (4.336u,7.227u); z46\0\4 = (4.336u,0.000u);
+ z46\0\5 = (6.263u,0.000u); z46\0\6 = (6.263u,7.227u);
+ z46\0\7 = (10.600u,7.227u); z46\0\8 = (10.600u,9.395u);
+ z46\0\9 = (6.263u,9.395u); z46\0\10 = (6.263u,17.104u);
+ z46\1\0s = (5.541u,16.140u); z46\1\0 = (5.541u,0.723u);
+ z46\1\1 = (5.059u,0.723u); z46\1\2 = (5.059u,16.140u);
+ z46\2\0s = (4.336u,8.672u); z46\2\0 = (4.336u,7.950u);
+ z46\2\1 = (0.723u,7.950u); z46\2\2 = (0.723u,8.672u);
+ z46\3\0s = (9.877u,8.672u); z46\3\0 = (9.877u,7.950u);
+ z46\3\1 = (6.263u,7.950u); z46\3\2 = (6.263u,8.672u);
+ fill_or_unfill z46\0\0s
+ --z46\0\0 --z46\0\1 --z46\0\2 --z46\0\3 --z46\0\4
+ --z46\0\5 --z46\0\6 --z46\0\7 --z46\0\8 --z46\0\9
+ --z46\0\10 --cycle;
+ fill_or_unfill z46\1\0s
+ --z46\1\0 --z46\1\1 --z46\1\2 --cycle;
+ fill_or_unfill z46\2\0s
+ --z46\2\0 --z46\2\1 --z46\2\2 --cycle;
+ fill_or_unfill z46\3\0s
+ --z46\3\0 --z46\3\1 --z46\3\2 --cycle;
+endchar; % Z11
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Aa1}
+% The sign \textit{Aa1}.
+% Circle with horizontal shading (x).
+% \begin{macrocode}
+
+%% Aa1: horizontally shaded circle
+%% (code as x(120) 120+31 = 151)
+%% (code as C(67) 67+31 = 98)
+beginchar (98, 8.183u# + side#, 8.249u#, 0.000u#);
+ "Aa1";
+ z32\0\0s = (8.157u,4.040u); z32\0\0c1 = (8.157u,9.664u);
+ z32\0\0c2 = (-0.023u,9.664u); z32\0\0 = (-0.023u,4.040u);
+ z32\0\1c1 = (-0.023u,-1.327u); z32\0\1c2 = (8.157u,-1.327u);
+ z32\1\0s = (7.390u,4.040u); z32\1\0c1 = (7.134u,-0.305u);
+ z32\1\0c2 = (1.000u,-0.305u); z32\1\0 = (0.744u,4.040u);
+ z32\1\1c1 = (0.744u,8.386u); z32\1\1c2 = (7.390u,8.386u);
+ z32\2\0s = (7.193u,6.336u); z32\2\0 = (1.314u,6.336u);
+ z32\2\1 = (0.803u,5.825u); z32\2\2 = (7.193u,5.825u);
+ z32\3\0s = (7.747u,3.528u); z32\3\0 = (0.590u,3.528u);
+ z32\3\1 = (0.590u,3.016u); z32\3\2 = (7.747u,3.016u);
+ z32\4\0s = (7.154u,2.254u); z32\4\0 = (1.020u,2.254u);
+ z32\4\1 = (1.187u,1.735u); z32\4\2 = (6.680u,1.735u);
+ z32\5\0s = (7.618u,5.007u); z32\5\0 = (0.461u,5.007u);
+ z32\5\1 = (0.461u,4.496u); z32\5\2 = (7.618u,4.496u);
+ fill_or_unfill z32\0\0s
+ ..controls z32\0\0c1 and z32\0\0c2..z32\0\0
+ ..controls z32\0\1c1 and z32\0\1c2..cycle;
+ fill_or_unfill z32\1\0s
+ ..controls z32\1\0c1 and z32\1\0c2..z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..cycle;
+ fill_or_unfill z32\2\0s
+ --z32\2\0 --z32\2\1 --z32\2\2 --cycle;
+ fill_or_unfill z32\3\0s
+ --z32\3\0 --z32\3\1 --z32\3\2 --cycle;
+ fill_or_unfill z32\4\0s
+ --z32\4\0 --z32\4\1 --z32\4\2 --cycle;
+ fill_or_unfill z32\5\0s
+ --z32\5\0 --z32\5\1 --z32\5\2 --cycle;
+endchar; % Aa1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Aa12}
+% The sign \textit{Aa12}.
+% Horizontal parallels joined at left (M).
+% \begin{macrocode}
+
+%% Aa12: horizontal parallels joined at left
+%% (code as M(77) 77+31 = 108)
+beginchar (108, 16.863u# + side#, 4.096u#, 0.000u#);
+ "Aa12";
+ z43\0\0s = (0.241u,0.241u); z43\0\0 = (17.104u,0.241u);
+ z43\0\1 = (17.104u,0.964u); z43\0\2 = (1.927u,0.964u);
+ z43\0\3c1 = (5.650u,4.349u); z43\0\3c2 = (7.436u,3.139u);
+ z43\0\3 = (11.804u,3.132u); z43\0\4 = (17.104u,3.132u);
+ z43\0\5 = (17.104u,3.855u); z43\0\6 = (13.731u,3.855u);
+ z43\0\7c1 = (9.041u,3.862u); z43\0\7c2 = (3.064u,5.385u);
+ fill_or_unfill z43\0\0s
+ --z43\0\0 --z43\0\1 --z43\0\2
+ ..controls z43\0\3c1 and z43\0\3c2..z43\0\3
+ --z43\0\4 --z43\0\5 --z43\0\6
+ ..controls z43\0\7c1 and z43\0\7c2..cycle;
+endchar; % Aa12
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{PW1}
+% The sign \textit{PW1}.
+% This is mine. It is the sign for a door. An upright rectangle with notches
+% at the top and bottom.
+%
+% \begin{macrocode}
+
+%% PW created char (the door sign)
+%% (code as C(67) 67+31 = 98)
+%% (code as x(120) 120+31 = 151)
+beginchar (151, 4u# + side#, 16.750u#, 0.000u#);
+ "PW1";
+%% the exterior
+ numeric lw; lw:=0.723u; % `linewidth'
+ x5=x6=0; % left vertical
+ x1=x2=4u; % w-side; % right vertical
+ x8=x7=x4=x3=0.5[x5,x1]; % center vertical
+ y1=y8=0; % bottom horizontal
+ y6=y7=y8+(x7-x6); % bottom mid horizontal
+ y3=y2=h; % top horizontal
+ y5=y4=y3-(x7-x6); % top mid horizontal
+%% the interior
+ x25=x26=x5+lw;
+ x28=x27=x24=x23=x8+lw;
+ x21=x22=x1-lw;
+ y21=y28=y1+lw;
+ y26=y27=y6+lw;
+ y25=y24=y5-lw;
+ y23=y22=y3-lw;
+ fill_or_unfill z1--z2--z3--z4--z5--z6--z7--z8--cycle;
+ fill_or_unfill z28--z27--z26--z25--z24--z23--z22--z21--cycle;
+ proof_labels(1,2,3,4,5,6,7,8,21,22,23,24,25,26,27,28);
+endchar; % PW1
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{PW2}
+% The sign \textit{PW2}.
+% This is mine. It is a double machette (i.e., a double i).
+%
+% \begin{macrocode}
+
+%% PW2: two machettes
+%% (code as y(121) 121+31 = 152)
+%% numeric width = (4.197u# + pwshift)
+beginchar (152, 10.197u# + side#, 17.824u#, 0.000u#);
+ "PW2";
+ numeric pwshift; pwshift := 6u;
+%% first machette
+ z48\0\0s = (1.412u,17.824u); z48\0\0c1 = (1.533u,16.738u);
+ z48\0\0c2 = (-0.254u,7.357u); z48\0\0 = (0.020u,6.582u);
+ z48\0\1c1 = (0.024u,4.308u); z48\0\1c2 = (2.993u,6.108u);
+ z48\0\1 = (2.993u,0.000u); z48\0\2 = (4.197u,0.000u);
+ z48\0\3 = (4.197u,13.009u); z48\0\4c1 = (4.171u,14.928u);
+ z48\0\4c2 = (3.494u,16.916u); z48\1\0s = (2.029u,16.622u);
+ z48\1\0 = (3.096u,15.176u); z48\1\1 = (3.041u,4.308u);
+ z48\1\2 = (0.749u,7.026u);
+ fill_or_unfill z48\0\0s
+ ..controls z48\0\0c1 and z48\0\0c2..z48\0\0
+ ..controls z48\0\1c1 and z48\0\1c2..z48\0\1
+ --z48\0\2 --z48\0\3
+ ..controls z48\0\4c1 and z48\0\4c2..cycle;
+ fill_or_unfill z48\1\0s
+ --z48\1\0 --z48\1\1 --z48\1\2 --cycle;
+
+%% second machette is the first shifted right by pwshift
+ z1 = z48\0\0s shifted(pwshift, 0);
+ z2 = z48\0\0c1 shifted(pwshift, 0);
+ z3 = z48\0\0c2 shifted(pwshift, 0);
+ z4 = z48\0\0 shifted (pwshift, 0);
+ z5 = z48\0\1c1 shifted (pwshift, 0);
+ z6 = z48\0\1c2 shifted (pwshift, 0);
+ z7 = z48\0\1 shifted (pwshift, 0);
+ z8 = z48\0\2 shifted (pwshift, 0);
+ z9 = z48\0\3 shifted (pwshift, 0);
+ z10 = z48\0\4c1 shifted (pwshift, 0);
+ z11 = z48\0\4c2 shifted (pwshift, 0);
+ z12 = z48\1\0s shifted (pwshift, 0);
+ z13 = z48\1\0 shifted (pwshift, 0);
+ z14 = z48\1\1 shifted (pwshift, 0);
+ z15 = z48\1\2 shifted (pwshift, 0);
+ fill_or_unfill z1
+ ..controls z2 and z3..z4
+ ..controls z5 and z6..z7
+ --z8 --z9
+ ..controls z10 and z11..cycle;
+ fill_or_unfill z12
+ --z13 --z14 --z15 --cycle;
+endchar; % PW2
+
+% \end{macrocode}
+% \end{routine}
+%
+% \changes{v1.1}{2000/08/26}{Added glyphs F31, G26, G26*, G27, G28, Z6}
+% \begin{routine}{F31}
+% The sign \textit{F31}. It looks like three brambles hanging down and
+% transliterates as \textit{ms}.
+% \begin{macrocode}
+
+%% F31: three brambles hanging down (ms)
+%% (code as Delta(1) 1+31 = 32)
+%beginchar (62, 8.122u#, 16.893u#, 0.000u#);
+beginchar (32, 8.122u#+side#, 16.893u#, 0.000u#);
+ "F31";
+ z62\0\0s = (1.238u,10.489u); z62\0\0 = (4.280u,12.476u);
+ z62\0\1 = (8.122u,13.851u); z62\0\2 = (7.331u,15.471u);
+ z62\0\3 = (3.885u,13.286u); z62\0\4 = (0.447u,12.109u);
+ z62\1\0s = (2.129u,7.974u); z62\1\0 = (1.926u,11.602u);
+ z62\1\1 = (1.027u,11.663u); z62\1\2 = (0.331u,8.097u);
+ z62\2\0s = (2.188u,3.224u); z62\2\0 = (1.738u,6.829u);
+ z62\2\1 = (0.836u,6.829u); z62\2\2 = (0.386u,3.224u);
+ z62\3\0s = (2.183u,0.000u); z62\3\0 = (1.733u,3.605u);
+ z62\3\1 = (0.831u,3.605u); z62\3\2 = (0.381u,0.000u);
+ z62\4\0s = (4.945u,9.232u); z62\4\0 = (4.495u,12.837u);
+ z62\4\1 = (4.945u,16.893u); z62\4\2 = (3.143u,16.893u);
+ z62\4\3 = (3.594u,12.837u); z62\4\4 = (3.143u,9.232u);
+ z62\5\0s = (4.997u,6.481u); z62\5\0 = (4.547u,10.086u);
+ z62\5\1 = (3.645u,10.086u); z62\5\2 = (3.195u,6.481u);
+ z62\6\0s = (4.991u,3.224u); z62\6\0 = (4.541u,6.829u);
+ z62\6\1 = (3.639u,6.829u); z62\6\2 = (3.189u,3.224u);
+ z62\7\0s = (4.986u,0.000u); z62\7\0 = (4.536u,3.605u);
+ z62\7\1 = (3.635u,3.605u); z62\7\2 = (3.184u,0.000u);
+ z62\8\0s = (7.645u,12.023u); z62\8\0 = (4.227u,13.257u);
+ z62\8\1 = (0.818u,15.499u); z62\8\2 = (0.000u,13.893u);
+ z62\8\3 = (3.819u,12.454u); z62\8\4 = (6.827u,10.417u);
+ z62\9\0s = (7.761u,7.922u); z62\9\0 = (7.256u,11.520u);
+ z62\9\1 = (6.355u,11.506u); z62\9\2 = (5.958u,7.895u);
+ z62\10\0s = (7.734u,3.212u); z62\10\0 = (7.284u,6.817u);
+ z62\10\1 = (6.383u,6.817u); z62\10\2 = (5.932u,3.212u);
+ z62\11\0s = (7.730u,-0.012u); z62\11\0 = (7.279u,3.594u);
+ z62\11\1 = (6.378u,3.594u); z62\11\2 = (5.927u,-0.012u);
+ z62\12\0s = (2.194u,6.481u); z62\12\0 = (1.743u,10.086u);
+ z62\12\1 = (0.842u,10.086u); z62\12\2 = (0.392u,6.481u);
+ z62\13\0s = (7.740u,6.469u); z62\13\0 = (7.290u,10.074u);
+ z62\13\1 = (6.388u,10.074u); z62\13\2 = (5.938u,6.469u);
+ fill_or_unfill z62\0\0s
+ --z62\0\0 --z62\0\1 --z62\0\2 --z62\0\3 --z62\0\4 --cycle;
+ fill_or_unfill z62\1\0s
+ --z62\1\0 --z62\1\1 --z62\1\2 --cycle;
+ fill_or_unfill z62\2\0s
+ --z62\2\0 --z62\2\1 --z62\2\2 --cycle;
+ fill_or_unfill z62\3\0s
+ --z62\3\0 --z62\3\1 --z62\3\2 --cycle;
+ fill_or_unfill z62\4\0s
+ --z62\4\0 --z62\4\1 --z62\4\2 --z62\4\3 --z62\4\4 --cycle;
+ fill_or_unfill z62\5\0s
+ --z62\5\0 --z62\5\1 --z62\5\2 --cycle;
+ fill_or_unfill z62\6\0s
+ --z62\6\0 --z62\6\1 --z62\6\2 --cycle;
+ fill_or_unfill z62\7\0s
+ --z62\7\0 --z62\7\1 --z62\7\2 --cycle;
+ fill_or_unfill z62\8\0s
+ --z62\8\0 --z62\8\1 --z62\8\2 --z62\8\3 --z62\8\4 --cycle;
+ fill_or_unfill z62\9\0s
+ --z62\9\0 --z62\9\1 --z62\9\2 --cycle;
+ fill_or_unfill z62\10\0s
+ --z62\10\0 --z62\10\1 --z62\10\2 --cycle;
+ fill_or_unfill z62\11\0s
+ --z62\11\0 --z62\11\1 --z62\11\2 --cycle;
+ fill_or_unfill z62\12\0s
+ --z62\12\0 --z62\12\1 --z62\12\2 --cycle;
+ fill_or_unfill z62\13\0s
+ --z62\13\0 --z62\13\1 --z62\13\2 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{G26}
+% The sign \textit{G26}. It looks like an ibis on a post.
+% \begin{macrocode}
+
+%% G26: an ibis on a post
+%% (code as Theta(2) 2+31 = 33)
+%beginchar (59, 16.417u#, 17.184u#, 0.000u#);
+beginchar (33, 16.417u#+side#, 17.184u#, 0.000u#);
+ "G26";
+ z59\0\0s = (0.000u,13.250u); z59\0\0c1 = (0.757u,13.785u);
+ z59\0\0c2 = (2.400u,15.478u); z59\0\0 = (3.334u,15.206u);
+ z59\0\1c1 = (4.287u,14.929u); z59\0\1c2 = (3.736u,13.312u);
+ z59\0\1 = (4.032u,12.527u); z59\0\2c1 = (4.517u,11.241u);
+ z59\0\2c2 = (5.852u,10.696u); z59\0\2 = (6.567u,9.615u);
+ z59\0\3c1 = (7.346u,8.439u); z59\0\3c2 = (6.465u,5.731u);
+ z59\0\3 = (5.249u,5.203u); z59\0\4c1 = (4.723u,4.975u);
+ z59\0\4c2 = (2.397u,5.059u); z59\0\4 = (1.686u,5.059u);
+ z59\0\5 = (1.686u,3.614u); z59\0\6c1 = (4.909u,3.614u);
+ z59\0\6c2 = (9.008u,4.600u); z59\0\6 = (9.154u,0.000u);
+ z59\0\7 = (9.877u,0.000u); z59\0\8 = (9.877u,3.614u);
+ z59\0\9 = (11.563u,3.614u); z59\0\10 = (11.563u,5.059u);
+ z59\0\11 = (10.118u,5.059u); z59\0\12 = (10.359u,8.432u);
+ z59\0\13c1 = (11.154u,8.496u); z59\0\13c2 = (11.972u,8.704u);
+ z59\0\13 = (12.768u,8.591u); z59\0\14c1 = (13.611u,8.472u);
+ z59\0\14c2 = (14.279u,8.058u); z59\0\14 = (15.175u,8.147u);
+ z59\0\15c1 = (15.683u,8.197u); z59\0\15c2 = (16.719u,8.559u);
+ z59\0\15 = (16.341u,9.266u); z59\0\16c1 = (16.154u,9.615u);
+ z59\0\16c2 = (14.641u,10.203u); z59\0\16 = (14.213u,10.421u);
+ z59\0\17c1 = (9.520u,12.821u); z59\0\17c2 = (10.177u,13.013u);
+ z59\0\17 = (4.818u,13.009u); z59\0\18c1 = (4.902u,13.948u);
+ z59\0\18c2 = (5.587u,15.601u); z59\0\18 = (5.443u,16.356u);
+ z59\0\19c1 = (4.969u,18.842u); z59\0\19c2 = (-0.069u,15.136u);
+ z59\1\0s = (15.176u,8.673u); z59\1\0c1 = (14.066u,8.814u);
+ z59\1\0c2 = (13.121u,9.220u); z59\1\0 = (11.976u,9.189u);
+ z59\1\1c1 = (9.389u,9.119u); z59\1\1c2 = (6.523u,9.722u);
+ z59\1\1 = (5.300u,12.270u); z59\1\2c1 = (6.341u,12.295u);
+ z59\1\2c2 = (7.401u,12.448u); z59\1\2 = (8.431u,12.270u);
+ z59\1\3c1 = (9.855u,11.986u); z59\1\3c2 = (14.467u,9.816u);
+ z59\2\0s = (9.395u,5.059u); z59\2\0 = (6.504u,5.300u);
+ z59\2\1 = (8.190u,8.914u); z59\2\2c1 = (10.058u,7.998u);
+ z59\2\2c2 = (9.400u,6.787u); z59\3\0s = (9.395u,3.614u);
+ z59\3\0 = (9.154u,2.891u); z59\3\1 = (8.672u,3.614u);
+ fill_or_unfill z59\0\0s
+ ..controls z59\0\0c1 and z59\0\0c2..z59\0\0
+ ..controls z59\0\1c1 and z59\0\1c2..z59\0\1
+ ..controls z59\0\2c1 and z59\0\2c2..z59\0\2
+ ..controls z59\0\3c1 and z59\0\3c2..z59\0\3
+ ..controls z59\0\4c1 and z59\0\4c2..z59\0\4
+ --z59\0\5
+ ..controls z59\0\6c1 and z59\0\6c2..z59\0\6
+ --z59\0\7 --z59\0\8 --z59\0\9 --z59\0\10 --z59\0\11 --z59\0\12
+ ..controls z59\0\13c1 and z59\0\13c2..z59\0\13
+ ..controls z59\0\14c1 and z59\0\14c2..z59\0\14
+ ..controls z59\0\15c1 and z59\0\15c2..z59\0\15
+ ..controls z59\0\16c1 and z59\0\16c2..z59\0\16
+ ..controls z59\0\17c1 and z59\0\17c2..z59\0\17
+ ..controls z59\0\18c1 and z59\0\18c2..z59\0\18
+ ..controls z59\0\19c1 and z59\0\19c2..cycle;
+ fill_or_unfill z59\1\0s
+ ..controls z59\1\0c1 and z59\1\0c2..z59\1\0
+ ..controls z59\1\1c1 and z59\1\1c2..z59\1\1
+ ..controls z59\1\2c1 and z59\1\2c2..z59\1\2
+ ..controls z59\1\3c1 and z59\1\3c2..cycle;
+ fill_or_unfill z59\2\0s
+ --z59\2\0 --z59\2\1
+ ..controls z59\2\2c1 and z59\2\2c2..cycle;
+ fill_or_unfill z59\3\0s
+ --z59\3\0 --z59\3\1 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{G26*}
+% The sign \textit{G26*}. It looks like an ibis walking.
+% \begin{macrocode}
+
+%% G26*: an ibis walking
+%% (code as Lambda(3) 3+31 = 34)
+%beginchar (60, 17.176u#, 17.690u#, 0.000u#);
+beginchar (34, 17.176u#+side#, 17.690u#, 0.000u#);
+ "G26*";
+ z60\0\0s = (0.000u,12.527u); z60\0\0c1 = (1.707u,13.586u);
+ z60\0\0c2 = (0.866u,15.559u); z60\0\0 = (3.613u,15.418u);
+ z60\0\1c1 = (3.536u,14.499u); z60\0\1c2 = (3.028u,13.124u);
+ z60\0\1 = (3.424u,12.296u); z60\0\2c1 = (3.752u,11.609u);
+ z60\0\2c2 = (4.485u,11.178u); z60\0\2 = (5.059u,10.718u);
+ z60\0\3c1 = (8.157u,8.232u); z60\0\3c2 = (9.439u,7.709u);
+ z60\0\3 = (7.776u,3.855u); z60\0\4c1 = (6.426u,0.725u);
+ z60\0\4c2 = (7.154u,1.354u); z60\0\4 = (4.095u,0.482u);
+ z60\0\5 = (8.191u,0.000u); z60\0\6 = (7.227u,0.723u);
+ z60\0\7 = (9.636u,6.987u); z60\0\8 = (10.118u,6.987u);
+ z60\0\9 = (10.394u,1.697u); z60\0\10 = (8.672u,0.000u);
+ z60\0\11 = (12.286u,0.000u); z60\0\12 = (11.224u,1.476u);
+ z60\0\13 = (10.840u,7.709u); z60\0\14 = (16.540u,7.366u);
+ z60\0\15c1 = (19.752u,8.828u); z60\0\15c2 = (10.471u,12.758u);
+ z60\0\15 = (9.395u,13.076u); z60\0\16c1 = (7.517u,13.631u);
+ z60\0\16c2 = (5.637u,12.605u); z60\0\16 = (4.882u,12.922u);
+ z60\0\17c1 = (3.346u,13.566u); z60\0\17c2 = (7.092u,17.767u);
+ z60\0\17 = (3.854u,17.690u); z60\0\18c1 = (1.943u,17.645u);
+ z60\0\18c2 = (0.043u,14.219u); z60\1\0s = (3.372u,16.605u);
+ z60\2\0s = (4.463u,16.540u); z60\3\0s = (15.177u,9.396u);
+ z60\3\0c1 = (13.424u,8.702u); z60\3\0c2 = (9.320u,10.190u);
+ z60\3\0 = (7.709u,11.082u); z60\3\1 = (8.913u,11.564u);
+ z60\3\2 = (6.745u,12.046u); z60\3\3c1 = (7.452u,9.661u);
+ z60\3\3c2 = (11.277u,8.854u); z60\3\3 = (13.490u,8.673u);
+ z60\3\4c1 = (10.690u,7.562u); z60\3\4c2 = (6.430u,9.527u);
+ z60\3\4 = (5.059u,12.046u); z60\3\5 = (7.950u,12.509u);
+ z60\3\6c1 = (9.966u,12.509u); z60\3\6c2 = (13.473u,10.504u);
+ z60\4\0s = (15.245u,8.182u);
+ fill_or_unfill z60\0\0s
+ ..controls z60\0\0c1 and z60\0\0c2..z60\0\0
+ ..controls z60\0\1c1 and z60\0\1c2..z60\0\1
+ ..controls z60\0\2c1 and z60\0\2c2..z60\0\2
+ ..controls z60\0\3c1 and z60\0\3c2..z60\0\3
+ ..controls z60\0\4c1 and z60\0\4c2..z60\0\4
+ --z60\0\5 --z60\0\6 --z60\0\7 --z60\0\8 --z60\0\9
+ --z60\0\10 --z60\0\11 --z60\0\12 --z60\0\13 --z60\0\14
+ ..controls z60\0\15c1 and z60\0\15c2..z60\0\15
+ ..controls z60\0\16c1 and z60\0\16c2..z60\0\16
+ ..controls z60\0\17c1 and z60\0\17c2..z60\0\17
+ ..controls z60\0\18c1 and z60\0\18c2..cycle;
+ fill_or_unfill z60\1\0s
+ --cycle;
+ fill_or_unfill z60\2\0s
+ --cycle;
+ fill_or_unfill z60\3\0s
+ ..controls z60\3\0c1 and z60\3\0c2..z60\3\0
+ --z60\3\1 --z60\3\2
+ ..controls z60\3\3c1 and z60\3\3c2..z60\3\3
+ ..controls z60\3\4c1 and z60\3\4c2..z60\3\4
+ --z60\3\5
+ ..controls z60\3\6c1 and z60\3\6c2..cycle;
+ fill_or_unfill z60\4\0s
+ --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{G27}
+% The sign \textit{G27}. It looks like a short-necked ibis pecking.
+% \begin{macrocode}
+
+%% G27: a short-necked ibis pecking
+%% (code as Xi(4) 4+31 = 35)
+%beginchar (61, 16.910u#, 12.315u#, 0.000u#);
+beginchar (35, 16.910u#+side#, 12.315u#, 0.000u#);
+ "G27";
+ z61\0\0s = (0.529u,6.305u); z61\0\0 = (1.492u,9.919u);
+ z61\0\1c1 = (1.548u,7.468u); z61\0\1c2 = (3.139u,6.110u);
+ z61\0\1 = (4.624u,8.714u); z61\0\2c1 = (7.115u,6.722u);
+ z61\0\2c2 = (7.948u,6.209u); z61\0\2 = (7.123u,2.932u);
+ z61\0\3c1 = (6.968u,2.317u); z61\0\3c2 = (6.819u,1.371u);
+ z61\0\3 = (6.238u,1.014u); z61\0\4c1 = (5.146u,0.344u);
+ z61\0\4c2 = (4.368u,1.692u); z61\0\4 = (2.938u,0.282u);
+ z61\0\5c1 = (4.032u,0.066u); z61\0\5c2 = (9.359u,-0.363u);
+ z61\0\5 = (9.901u,0.599u); z61\0\6 = (9.901u,5.823u);
+ z61\0\7c1 = (13.270u,5.790u); z61\0\7c2 = (13.429u,3.528u);
+ z61\0\7 = (16.910u,5.100u); z61\0\8c1 = (16.368u,6.795u);
+ z61\0\8c2 = (14.205u,7.789u); z61\0\8 = (12.815u,8.764u);
+ z61\0\9c1 = (10.960u,10.064u); z61\0\9c2 = (5.392u,14.161u);
+ z61\0\9 = (3.419u,11.364u); z61\0\10c1 = (0.411u,15.015u);
+ z61\0\10c2 = (-0.828u,7.322u); z61\1\0s = (1.974u,11.846u);
+ z61\1\0 = (2.456u,9.437u); z61\2\0s = (14.501u,6.546u);
+ z61\2\0 = (7.036u,8.910u); z61\2\1 = (5.106u,10.641u);
+ z61\2\2 = (6.069u,8.714u); z61\2\3c1 = (4.987u,9.101u);
+ z61\2\3c2 = (4.761u,9.387u); z61\2\3 = (3.893u,8.473u);
+ z61\2\4c1 = (3.732u,9.068u); z61\2\4c2 = (3.818u,9.546u);
+ z61\2\4 = (3.893u,10.158u); z61\2\5c1 = (4.358u,14.529u);
+ z61\2\5c2 = (13.264u,7.960u); z61\3\0s = (2.456u,9.196u);
+ z61\3\0 = (3.660u,8.473u); z61\3\1c1 = (2.835u,7.895u);
+ z61\3\1c2 = (2.128u,8.099u); z61\4\0s = (6.310u,8.714u);
+ z61\5\0s = (6.656u,8.264u); z61\6\0s = (7.274u,7.991u);
+ z61\6\0 = (12.574u,6.546u); z61\6\1c1 = (10.782u,5.843u);
+ z61\6\1c2 = (8.544u,6.826u); z61\6\1 = (7.033u,7.750u);
+ z61\7\0s = (8.180u,6.305u); z61\7\0c1 = (9.712u,4.973u);
+ z61\7\0c2 = (9.201u,2.600u); z61\7\0 = (9.201u,0.764u);
+ z61\7\1 = (7.515u,0.764u); z61\7\2 = (8.180u,4.378u);
+ z61\8\0s = (15.223u,5.100u); z61\8\0 = (12.574u,6.305u);
+ fill_or_unfill z61\0\0s
+ --z61\0\0
+ ..controls z61\0\1c1 and z61\0\1c2..z61\0\1
+ ..controls z61\0\2c1 and z61\0\2c2..z61\0\2
+ ..controls z61\0\3c1 and z61\0\3c2..z61\0\3
+ ..controls z61\0\4c1 and z61\0\4c2..z61\0\4
+ ..controls z61\0\5c1 and z61\0\5c2..z61\0\5
+ --z61\0\6
+ ..controls z61\0\7c1 and z61\0\7c2..z61\0\7
+ ..controls z61\0\8c1 and z61\0\8c2..z61\0\8
+ ..controls z61\0\9c1 and z61\0\9c2..z61\0\9
+ ..controls z61\0\10c1 and z61\0\10c2..cycle;
+ fill_or_unfill z61\1\0s
+ --z61\1\0
+ --cycle;
+ fill_or_unfill z61\2\0s
+ --z61\2\0 --z61\2\1 --z61\2\2
+ ..controls z61\2\3c1 and z61\2\3c2..z61\2\3
+ ..controls z61\2\4c1 and z61\2\4c2..z61\2\4
+ ..controls z61\2\5c1 and z61\2\5c2..cycle;
+ fill_or_unfill z61\3\0s
+ --z61\3\0
+ ..controls z61\3\1c1 and z61\3\1c2..cycle;
+ fill_or_unfill z61\4\0s
+ --cycle;
+ fill_or_unfill z61\5\0s
+ --cycle;
+ fill_or_unfill z61\6\0s
+ --z61\6\0
+ ..controls z61\6\1c1 and z61\6\1c2..z61\6\1
+ --cycle;
+ fill_or_unfill z61\7\0s
+ ..controls z61\7\0c1 and z61\7\0c2..z61\7\0
+ --z61\7\1 --z61\7\2 --cycle;
+ fill_or_unfill z61\8\0s
+ --z61\8\0 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{G28}
+% The sign \textit{G28}. It looks like a long-necked ibis pecking.
+% \begin{macrocode}
+
+%% G28: a long-necked ibis pecking
+%% (code as Pi(5) 5+31 = 36)
+%beginchar (62, 20.626u#, 10.514u#, 0.000u#);
+beginchar (36, 20.626u#+side#, 10.514u#, 0.000u#);
+ "G28";
+ z62\0\0s = (0.000u,6.022u); z62\0\0c1 = (1.302u,6.853u);
+ z62\0\0c2 = (1.064u,8.015u); z62\0\0 = (3.132u,8.351u);
+ z62\0\1c1 = (4.703u,8.607u); z62\0\1c2 = (4.812u,7.723u);
+ z62\0\1 = (6.026u,7.228u); z62\0\2c1 = (6.827u,6.901u);
+ z62\0\2c2 = (7.624u,7.096u); z62\0\2 = (8.431u,6.914u);
+ z62\0\3c1 = (9.703u,6.626u); z62\0\3c2 = (11.355u,5.020u);
+ z62\0\3 = (10.980u,3.613u); z62\0\4c1 = (9.878u,-0.517u);
+ z62\0\4c2 = (7.249u,2.042u); z62\0\4 = (6.022u,0.000u);
+ z62\0\5 = (7.709u,0.163u); z62\0\6 = (14.454u,0.481u);
+ z62\0\7 = (13.972u,5.058u); z62\0\8c1 = (14.744u,5.075u);
+ z62\0\8c2 = (15.632u,5.292u); z62\0\8 = (16.381u,5.185u);
+ z62\0\9c1 = (17.553u,5.018u); z62\0\9c2 = (17.875u,4.429u);
+ z62\0\9 = (19.231u,4.838u); z62\0\10c1 = (22.624u,5.864u);
+ z62\0\10c2 = (18.956u,7.416u); z62\0\10 = (17.826u,8.024u);
+ z62\0\11c1 = (16.434u,8.773u); z62\0\11c2 = (15.016u,9.718u);
+ z62\0\11 = (13.490u,10.170u); z62\0\12c1 = (9.251u,11.423u);
+ z62\0\12c2 = (8.299u,8.888u); z62\0\12 = (6.990u,8.951u);
+ z62\0\13c1 = (6.159u,8.990u); z62\0\13c2 = (5.779u,10.068u);
+ z62\0\13 = (4.809u,10.278u); z62\0\14c1 = (3.817u,10.493u);
+ z62\0\14c2 = (0.969u,8.509u); z62\0\14 = (0.446u,7.695u);
+ z62\0\15c1 = (0.110u,7.172u); z62\0\15c2 = (0.056u,6.622u);
+ z62\1\0s = (19.272u,6.504u); z62\1\0 = (11.106u,7.669u);
+ z62\1\1 = (9.877u,9.154u); z62\1\2c1 = (9.151u,6.581u);
+ z62\1\2c2 = (13.753u,6.398u); z62\1\2 = (15.417u,6.263u);
+ z62\1\3 = (15.417u,5.788u); z62\1\4 = (12.286u,5.788u);
+ z62\1\5 = (6.745u,7.708u); z62\1\6c1 = (12.071u,11.658u);
+ z62\1\6c2 = (14.157u,9.174u); z62\2\0s = (4.787u,9.373u);
+ z62\3\0s = (5.300u,9.154u); z62\4\0s = (5.541u,8.913u);
+ z62\5\0s = (5.663u,8.434u); z62\6\0s = (18.549u,5.299u);
+ z62\6\0 = (17.586u,5.540u); z62\7\0s = (12.286u,5.058u);
+ z62\7\0c1 = (12.818u,4.743u); z62\7\0c2 = (13.429u,4.423u);
+ z62\7\0 = (13.704u,3.832u); z62\7\1c1 = (14.068u,3.051u);
+ z62\7\1c2 = (13.570u,1.252u); z62\7\1 = (12.733u,0.933u);
+ z62\7\2c1 = (12.140u,0.656u); z62\7\2c2 = (11.227u,0.881u);
+ z62\7\2 = (10.600u,0.933u); z62\7\3 = (11.806u,3.372u);
+ fill_or_unfill z62\0\0s
+ ..controls z62\0\0c1 and z62\0\0c2..z62\0\0
+ ..controls z62\0\1c1 and z62\0\1c2..z62\0\1
+ ..controls z62\0\2c1 and z62\0\2c2..z62\0\2
+ ..controls z62\0\3c1 and z62\0\3c2..z62\0\3
+ ..controls z62\0\4c1 and z62\0\4c2..z62\0\4
+ --z62\0\5 --z62\0\6 --z62\0\7
+ ..controls z62\0\8c1 and z62\0\8c2..z62\0\8
+ ..controls z62\0\9c1 and z62\0\9c2..z62\0\9
+ ..controls z62\0\10c1 and z62\0\10c2..z62\0\10
+ ..controls z62\0\11c1 and z62\0\11c2..z62\0\11
+ ..controls z62\0\12c1 and z62\0\12c2..z62\0\12
+ ..controls z62\0\13c1 and z62\0\13c2..z62\0\13
+ ..controls z62\0\14c1 and z62\0\14c2..z62\0\14
+ ..controls z62\0\15c1 and z62\0\15c2..cycle;
+ fill_or_unfill z62\1\0s
+ --z62\1\0 --z62\1\1
+ ..controls z62\1\2c1 and z62\1\2c2..z62\1\2
+ --z62\1\3 --z62\1\4 --z62\1\5
+ ..controls z62\1\6c1 and z62\1\6c2..cycle;
+ fill_or_unfill z62\2\0s
+ --cycle;
+ fill_or_unfill z62\3\0s
+ --cycle;
+ fill_or_unfill z62\4\0s
+ --cycle;
+ fill_or_unfill z62\5\0s
+ --cycle;
+ fill_or_unfill z62\6\0s
+ --z62\6\0 --cycle;
+ fill_or_unfill z62\7\0s
+ ..controls z62\7\0c1 and z62\7\0c2..z62\7\0
+ ..controls z62\7\1c1 and z62\7\1c2..z62\7\1
+ ..controls z62\7\2c1 and z62\7\2c2..z62\7\2
+ --z62\7\3 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{Z6}
+% The sign \textit{Z6}. It looks like a stick with a V at the righthand end.
+% \begin{macrocode}
+
+%% Z6: stick with a V at righthand end
+%% (code as Sigma(6) 6+31 = 37)
+%beginchar (39, 17.812u#, 9.154u#, 0.000u#);
+beginchar (37, 17.812u#+side#, 9.154u#, 0.000u#);
+ "Z6";
+ z39\0\0s = (0.241u,9.154u); z39\0\0 = (0.000u,7.950u);
+ z39\0\1 = (13.968u,3.990u); z39\0\2 = (17.104u,0.000u);
+ z39\0\3 = (17.812u,0.699u); z39\0\4 = (15.540u,3.797u);
+ z39\0\5 = (17.458u,5.449u); z39\0\6 = (16.986u,6.364u);
+ z39\0\7 = (15.177u,4.818u);
+ fill_or_unfill z39\0\0s
+ --z39\0\0 --z39\0\1 --z39\0\2 --z39\0\3 --z39\0\4
+ --z39\0\5 --z39\0\6 --z39\0\7 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{A1}
+% The sign \textit{A1}. Kneeling man pointing.
+% \begin{macrocode}
+
+%% A1: Kneeling man pointing
+%% (code as Upsilon(7) 7+31 = 38)
+%%beginchar (32, 13.490u#, 17.826u#, 0.000u#);
+beginchar (38, 13.490u#+side#, 17.826u#, 0.000u#);
+ "A1";
+ z32\0\0s = (6.986u,13.490u); z32\0\0c1 = (5.734u,12.830u);
+ z32\0\0c2 = (4.749u,11.724u); z32\0\0 = (3.763u,10.591u);
+ z32\0\1 = (2.002u,12.281u); z32\0\2c1 = (1.748u,12.963u);
+ z32\0\2c2 = (1.261u,13.873u); z32\0\2 = (0.241u,13.972u);
+ z32\0\3c1 = (-0.169u,13.191u); z32\0\3c2 = (0.708u,13.320u);
+ z32\0\3 = (0.903u,12.541u); z32\0\4c1 = (0.416u,12.281u);
+ z32\0\4c2 = (0.806u,11.728u); z32\0\4 = (1.391u,11.598u);
+ z32\0\5 = (3.739u,9.086u); z32\0\6 = (6.263u,10.840u);
+ z32\0\7 = (6.504u,5.781u); z32\0\8c1 = (5.858u,6.247u);
+ z32\0\8c2 = (2.226u,9.941u); z32\0\8 = (2.232u,7.003u);
+ z32\0\9 = (2.778u,4.002u); z32\0\10c1 = (2.954u,2.417u);
+ z32\0\10c2 = (0.428u,1.546u); z32\0\10 = (0.000u,0.241u);
+ z32\0\11 = (6.022u,0.702u); z32\0\12 = (8.632u,0.702u);
+ z32\0\13 = (12.527u,0.482u); z32\0\14 = (10.406u,1.774u);
+ z32\0\15 = (10.406u,8.431u); z32\0\16 = (13.490u,7.709u);
+ z32\0\17c1 = (13.275u,10.070u); z32\0\17c2 = (11.486u,12.990u);
+ z32\0\17 = (9.877u,13.731u); z32\0\18c1 = (9.476u,14.172u);
+ z32\0\18c2 = (10.296u,14.660u); z32\0\18 = (10.562u,15.413u);
+ z32\0\19c1 = (11.120u,17.558u); z32\0\19c2 = (7.583u,19.092u);
+ z32\0\19 = (6.476u,16.579u); z32\0\20c1 = (5.962u,15.872u);
+ z32\0\20c2 = (5.544u,15.165u); z32\0\20 = (6.251u,15.390u);
+ z32\0\21c1 = (6.251u,14.634u); z32\0\21c2 = (6.589u,14.409u);
+ z32\0\21 = (7.087u,14.329u); z32\0\22c1 = (7.473u,14.329u);
+ z32\0\22c2 = (7.409u,14.007u); z32\1\0s = (9.154u,14.695u);
+ z32\1\0c1 = (9.567u,16.868u); z32\1\0c2 = (8.022u,16.275u);
+ z32\1\0 = (7.468u,17.104u); z32\1\1c1 = (8.501u,18.205u);
+ z32\1\1c2 = (11.226u,16.366u); z32\2\0s = (7.931u,14.711u);
+ z32\2\0c1 = (6.943u,14.694u); z32\2\0c2 = (6.261u,15.718u);
+ z32\2\0 = (6.997u,16.581u); z32\2\1c1 = (7.302u,16.068u);
+ z32\2\1c2 = (8.610u,15.918u); z32\2\1 = (8.609u,15.591u);
+ z32\2\2 = (8.546u,14.722u); z32\2\3c1 = (8.683u,14.115u);
+ z32\2\3c2 = (9.290u,14.408u); z32\2\3 = (9.173u,13.840u);
+ z32\2\4c1 = (9.010u,12.651u); z32\2\4c2 = (10.482u,13.462u);
+ z32\2\4 = (10.086u,11.784u); z32\2\5 = (9.731u,9.918u);
+ z32\2\6 = (9.231u,10.044u); z32\2\7c1 = (9.088u,10.512u);
+ z32\2\7c2 = (7.590u,11.279u); z32\2\7 = (7.227u,11.081u);
+ z32\2\8c1 = (6.757u,10.269u); z32\2\8c2 = (8.941u,9.661u);
+ z32\2\8 = (8.982u,8.832u); z32\2\9 = (9.618u,8.583u);
+ z32\2\10 = (9.632u,7.705u); z32\2\11c1 = (9.694u,5.540u);
+ z32\2\11c2 = (9.293u,5.395u); z32\2\11 = (7.227u,5.059u);
+ z32\2\12c1 = (7.232u,6.830u); z32\2\12c2 = (7.526u,10.663u);
+ z32\2\12 = (6.263u,12.045u); z32\2\13 = (7.880u,13.480u);
+ z32\3\0s = (10.840u,11.081u); z32\3\0c1 = (11.159u,10.590u);
+ z32\3\0c2 = (11.523u,9.826u); z32\3\0 = (11.668u,9.389u);
+ z32\3\1 = (10.613u,9.680u); z32\4\0s = (6.263u,4.577u);
+ z32\4\0c1 = (4.619u,3.776u); z32\4\0c2 = (3.779u,3.298u);
+ z32\4\0 = (3.603u,5.520u); z32\4\1c1 = (3.533u,6.235u);
+ z32\4\1c2 = (3.414u,6.510u); z32\4\1 = (3.603u,7.227u);
+ z32\5\0s = (2.650u,1.445u); z32\5\0c1 = (2.907u,3.036u);
+ z32\5\0c2 = (7.018u,4.463u); z32\5\0 = (8.533u,4.697u);
+ z32\5\1c1 = (10.033u,4.928u); z32\5\1c2 = (10.418u,1.658u);
+ z32\5\1 = (7.956u,1.699u); z32\5\2 = (5.781u,1.920u);
+ fill_or_unfill z32\0\0s
+ ..controls z32\0\0c1 and z32\0\0c2..z32\0\0
+ --z32\0\1
+ ..controls z32\0\2c1 and z32\0\2c2..z32\0\2
+ ..controls z32\0\3c1 and z32\0\3c2..z32\0\3
+ ..controls z32\0\4c1 and z32\0\4c2..z32\0\4
+ --z32\0\5 --z32\0\6 --z32\0\7
+ ..controls z32\0\8c1 and z32\0\8c2..z32\0\8
+ --z32\0\9
+ ..controls z32\0\10c1 and z32\0\10c2..z32\0\10
+ --z32\0\11 --z32\0\12 --z32\0\13 --z32\0\14 --z32\0\15
+ --z32\0\16
+ ..controls z32\0\17c1 and z32\0\17c2..z32\0\17
+ ..controls z32\0\18c1 and z32\0\18c2..z32\0\18
+ ..controls z32\0\19c1 and z32\0\19c2..z32\0\19
+ ..controls z32\0\20c1 and z32\0\20c2..z32\0\20
+ ..controls z32\0\21c1 and z32\0\21c2..z32\0\21
+ ..controls z32\0\22c1 and z32\0\22c2..cycle;
+ fill_or_unfill z32\1\0s
+ ..controls z32\1\0c1 and z32\1\0c2..z32\1\0
+ ..controls z32\1\1c1 and z32\1\1c2..cycle;
+ fill_or_unfill z32\2\0s
+ ..controls z32\2\0c1 and z32\2\0c2..z32\2\0
+ ..controls z32\2\1c1 and z32\2\1c2..z32\2\1
+ --z32\2\2
+ ..controls z32\2\3c1 and z32\2\3c2..z32\2\3
+ ..controls z32\2\4c1 and z32\2\4c2..z32\2\4
+ --z32\2\5 --z32\2\6
+ ..controls z32\2\7c1 and z32\2\7c2..z32\2\7
+ ..controls z32\2\8c1 and z32\2\8c2..z32\2\8
+ --z32\2\9 --z32\2\10
+ ..controls z32\2\11c1 and z32\2\11c2..z32\2\11
+ ..controls z32\2\12c1 and z32\2\12c2..z32\2\12
+ --z32\2\13 --cycle;
+ fill_or_unfill z32\3\0s
+ ..controls z32\3\0c1 and z32\3\0c2..z32\3\0
+ --z32\3\1 --cycle;
+ fill_or_unfill z32\4\0s
+ ..controls z32\4\0c1 and z32\4\0c2..z32\4\0
+ ..controls z32\4\1c1 and z32\4\1c2..z32\4\1
+ --cycle;
+ fill_or_unfill z32\5\0s
+ ..controls z32\5\0c1 and z32\5\0c2..z32\5\0
+ ..controls z32\5\1c1 and z32\5\1c2..z32\5\1
+ --z32\5\2 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{F20}
+% The sign \textit{F20}. Tongue (\textit{ns}).
+% \begin{macrocode}
+
+%% F20: Tongue (ns)
+%% (code as Phi(8) 8+31 = 39)
+%%beginchar (51, 17.353u#, 13.250u#, 0.000u#);
+beginchar (39, 17.353u#+side#, 13.250u#, 0.000u#);
+ "F20";
+ z51\0\0s = (17.112u,0.000u); z51\0\0 = (17.353u,0.241u);
+ z51\0\1 = (16.094u,2.650u); z51\0\2 = (14.462u,9.395u);
+ z51\0\3 = (16.629u,9.395u); z51\0\4 = (16.629u,9.877u);
+ z51\0\5c1 = (14.076u,10.962u); z51\0\5c2 = (11.191u,11.327u);
+ z51\0\5 = (8.439u,11.322u); z51\0\6c1 = (6.032u,11.319u);
+ z51\0\6c2 = (3.304u,10.515u); z51\0\6 = (0.970u,11.082u);
+ z51\0\7 = (1.453u,13.250u); z51\0\8c1 = (0.039u,13.007u);
+ z51\0\8c2 = (-0.651u,10.694u); z51\0\8 = (0.766u,10.055u);
+ z51\0\9c1 = (1.293u,9.817u); z51\0\9c2 = (2.532u,9.871u);
+ z51\0\9 = (3.140u,9.878u); z51\0\10 = (9.644u,10.118u);
+ z51\0\11c1 = (16.720u,10.107u); z51\0\11c2 = (13.331u,3.308u);
+ fill_or_unfill z51\0\0s
+ --z51\0\0 --z51\0\1 --z51\0\2 --z51\0\3 --z51\0\4
+ ..controls z51\0\5c1 and z51\0\5c2..z51\0\5
+ ..controls z51\0\6c1 and z51\0\6c2..z51\0\6
+ --z51\0\7
+ ..controls z51\0\8c1 and z51\0\8c2..z51\0\8
+ ..controls z51\0\9c1 and z51\0\9c2..z51\0\9
+ --z51\0\10
+ ..controls z51\0\11c1 and z51\0\11c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Y4}
+% The sign \textit{Y4}. Scribe (\textit{s\b{h}})
+% \begin{macrocode}
+
+%% Y4: Scribe (sb)
+%% (code as Psi(9) 9+31 = 40)
+%%beginchar (35, 14.398u#, 17.497u#, 0.000u#);
+beginchar (40, 14.398u#+side#, 17.497u#, 0.000u#);
+ "Y4";
+ z35\0\0s = (5.967u,8.913u); z35\0\0c1 = (5.303u,9.656u);
+ z35\0\0c2 = (2.672u,11.573u); z35\0\0 = (2.510u,12.070u);
+ z35\0\1c1 = (2.021u,13.572u); z35\0\1c2 = (4.793u,15.149u);
+ z35\0\1 = (3.663u,16.410u); z35\0\2c1 = (2.677u,17.510u);
+ z35\0\2c2 = (0.500u,17.430u); z35\0\2 = (0.024u,15.850u);
+ z35\0\3c1 = (-0.255u,14.922u); z35\0\3c2 = (1.450u,13.797u);
+ z35\0\3 = (1.564u,12.523u); z35\0\4c1 = (1.658u,11.469u);
+ z35\0\4c2 = (0.870u,10.940u); z35\0\4 = (0.943u,10.139u);
+ z35\0\5c1 = (1.027u,9.216u); z35\0\5c2 = (1.623u,8.599u);
+ z35\0\5 = (1.631u,7.468u); z35\0\6 = (1.631u,0.000u);
+ z35\0\7 = (2.353u,0.000u); z35\0\8 = (2.353u,8.672u);
+ z35\0\9c1 = (6.113u,7.741u); z35\0\9c2 = (3.562u,5.101u);
+ z35\0\9 = (5.107u,3.791u); z35\0\10c1 = (6.209u,2.857u);
+ z35\0\10c2 = (7.771u,3.611u); z35\0\10 = (7.863u,5.060u);
+ z35\0\11 = (7.863u,6.986u); z35\0\12c1 = (7.396u,7.242u);
+ z35\0\12c2 = (7.057u,7.405u); z35\0\12 = (6.834u,7.963u);
+ z35\0\13c1 = (6.452u,8.917u); z35\0\13c2 = (6.562u,15.074u);
+ z35\0\13 = (7.145u,15.845u); z35\0\14c1 = (8.676u,17.872u);
+ z35\0\14c2 = (10.994u,16.229u); z35\0\14 = (11.026u,13.972u);
+ z35\0\15 = (11.026u,9.154u); z35\0\16 = (8.858u,9.154u);
+ z35\0\17 = (8.858u,0.241u); z35\0\18 = (14.398u,0.241u);
+ z35\0\19 = (14.398u,9.154u); z35\0\20 = (11.749u,9.154u);
+ z35\0\21c1 = (11.749u,10.603u); z35\0\21c2 = (11.945u,14.774u);
+ z35\0\21 = (11.453u,15.890u); z35\0\22c1 = (10.319u,18.465u);
+ z35\0\22c2 = (6.017u,18.064u); z35\0\22 = (5.967u,13.972u);
+ z35\1\0s = (2.113u,16.863u); z35\1\0 = (2.113u,15.659u);
+ z35\2\0s = (0.908u,15.900u); z35\2\0 = (1.390u,14.936u);
+ z35\3\0s = (3.558u,15.900u); z35\3\0 = (2.835u,15.177u);
+ z35\4\0s = (2.835u,15.177u); z35\5\0s = (1.631u,14.936u);
+ z35\5\0 = (2.353u,13.972u); z35\6\0s = (2.594u,14.695u);
+ z35\7\0s = (5.967u,7.227u); z35\7\0c1 = (4.911u,7.791u);
+ z35\7\0c2 = (2.555u,9.440u); z35\7\0 = (2.353u,10.600u);
+ z35\7\1c1 = (4.350u,10.181u); z35\7\1c2 = (5.197u,9.001u);
+ z35\8\0s = (13.676u,8.431u); z35\8\0 = (13.676u,0.964u);
+ z35\8\1 = (9.581u,0.964u); z35\8\2 = (9.581u,8.431u);
+ z35\9\0s = (11.529u,7.761u); z35\9\0c1 = (9.905u,7.161u);
+ z35\9\0c2 = (10.857u,5.565u); z35\9\0 = (11.955u,5.940u);
+ z35\9\1c1 = (13.043u,6.311u); z35\9\1c2 = (12.777u,7.618u);
+ z35\10\0s = (12.230u,6.263u); z35\10\0 = (11.026u,6.504u);
+ z35\10\1c1 = (11.610u,7.490u); z35\10\1c2 = (12.043u,7.341u);
+ z35\11\0s = (6.931u,6.467u); z35\11\0 = (7.177u,5.303u);
+ z35\11\1c1 = (7.355u,2.183u); z35\11\1c2 = (3.337u,5.642u);
+ z35\11\1 = (6.002u,6.467u); z35\11\2c1 = (6.294u,6.515u);
+ z35\11\2c2 = (6.629u,6.494u); z35\12\0s = (11.320u,4.626u);
+ z35\12\0c1 = (9.933u,3.665u); z35\12\0c2 = (11.082u,2.340u);
+ z35\12\0 = (12.135u,2.792u); z35\12\1c1 = (13.085u,3.201u);
+ z35\12\1c2 = (12.896u,4.793u);
+ fill_or_unfill z35\0\0s
+ ..controls z35\0\0c1 and z35\0\0c2..z35\0\0
+ ..controls z35\0\1c1 and z35\0\1c2..z35\0\1
+ ..controls z35\0\2c1 and z35\0\2c2..z35\0\2
+ ..controls z35\0\3c1 and z35\0\3c2..z35\0\3
+ ..controls z35\0\4c1 and z35\0\4c2..z35\0\4
+ ..controls z35\0\5c1 and z35\0\5c2..z35\0\5
+ --z35\0\6 --z35\0\7 --z35\0\8
+ ..controls z35\0\9c1 and z35\0\9c2..z35\0\9
+ ..controls z35\0\10c1 and z35\0\10c2..z35\0\10
+ --z35\0\11
+ ..controls z35\0\12c1 and z35\0\12c2..z35\0\12
+ ..controls z35\0\13c1 and z35\0\13c2..z35\0\13
+ ..controls z35\0\14c1 and z35\0\14c2..z35\0\14
+ --z35\0\15 --z35\0\16 --z35\0\17 --z35\0\18 --z35\0\19
+ --z35\0\20
+ ..controls z35\0\21c1 and z35\0\21c2..z35\0\21
+ ..controls z35\0\22c1 and z35\0\22c2..z35\0\22
+ --cycle;
+ fill_or_unfill z35\1\0s
+ --z35\1\0 --cycle;
+ fill_or_unfill z35\2\0s
+ --z35\2\0 --cycle;
+ fill_or_unfill z35\3\0s
+ --z35\3\0 --cycle;
+ fill_or_unfill z35\4\0s
+ --cycle;
+ fill_or_unfill z35\5\0s
+ --z35\5\0 --cycle;
+ fill_or_unfill z35\6\0s
+ --cycle;
+ fill_or_unfill z35\7\0s
+ ..controls z35\7\0c1 and z35\7\0c2..z35\7\0
+ ..controls z35\7\1c1 and z35\7\1c2..cycle;
+ fill_or_unfill z35\8\0s
+ --z35\8\0 --z35\8\1 --z35\8\2 --cycle;
+ fill_or_unfill z35\9\0s
+ ..controls z35\9\0c1 and z35\9\0c2..z35\9\0
+ ..controls z35\9\1c1 and z35\9\1c2..cycle;
+ fill_or_unfill z35\10\0s
+ --z35\10\0
+ ..controls z35\10\1c1 and z35\10\1c2..cycle;
+ fill_or_unfill z35\11\0s
+ --z35\11\0
+ ..controls z35\11\1c1 and z35\11\1c2..z35\11\1
+ ..controls z35\11\2c1 and z35\11\2c2..cycle;
+ fill_or_unfill z35\12\0s
+ ..controls z35\12\0c1 and z35\12\0c2..z35\12\0
+ ..controls z35\12\1c1 and z35\12\1c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Z2}
+% The sign \textit{Z2}. Ideograph for plural (3 short vertical lines).
+% \begin{macrocode}
+
+%% Z2: plural (3 short vertical lines).
+%% (code as Omega(10) 10+31 = 41)
+%%beginchar (33, 17.345u#, 5.300u#, 0.000u#);
+beginchar (41, 17.345u#+side#, 5.300u#, 0.000u#);
+ "Z2";
+ z33\0\0s = (0.000u,5.300u); z33\0\0 = (0.000u,0.000u);
+ z33\0\1 = (0.963u,0.000u); z33\0\2 = (0.963u,5.300u);
+ z33\1\0s = (8.191u,5.300u); z33\1\0 = (8.191u,0.000u);
+ z33\1\1 = (9.154u,0.000u); z33\1\2 = (9.154u,5.300u);
+ z33\2\0s = (16.381u,5.300u); z33\2\0 = (16.381u,0.000u);
+ z33\2\1 = (17.345u,0.000u); z33\2\2 = (17.345u,5.300u);
+ fill_or_unfill z33\0\0s
+ --z33\0\0 --z33\0\1 --z33\0\2 --cycle;
+ fill_or_unfill z33\1\0s
+ --z33\1\0 --z33\1\1 --z33\1\2 --cycle;
+ fill_or_unfill z33\2\0s
+ --z33\2\0 --z33\2\1 --z33\2\2 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% \begin{routine}{Z4}
+% The sign \textit{Z4}. Ideograph for dual (2 short sloping lines).
+% \begin{macrocode}
+
+%% Z4: dual (2 short sloping lines).
+%% (code as ff(11) 11+31 = 42)
+%%beginchar (37, 7.361u#, 6.369u#, 0.000u#);
+beginchar (42, 7.361u#+side#, 6.369u#, 0.000u#);
+ "Z4";
+ z37\0\0s = (2.714u,5.848u); z37\0\0 = (6.614u,0.246u);
+ z37\0\1 = (7.361u,0.766u); z37\0\2 = (3.461u,6.369u);
+ z37\1\0s = (0.000u,5.602u); z37\1\0 = (3.901u,0.000u);
+ z37\1\1 = (4.648u,0.520u); z37\1\2 = (0.747u,6.123u);
+ fill_or_unfill z37\0\0s
+ --z37\0\0 --z37\0\1 --z37\0\2 --cycle;
+ fill_or_unfill z37\1\0s
+ --z37\1\0 --z37\1\1 --z37\1\2 --cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{C11}
+% The sign \textit{C11}. A kneeling man with upraised arms,
+% the numeral 1,000,000.
+% \begin{macrocode}
+
+%% C11: numeral 1,000,000 (man kneeling with upraised arms)
+%% (code as 7(55) 55+31 = 86)
+%%beginchar (42, 13.972u#, 17.135u#, 0.000u#);
+beginchar (86, 13.972u#+side#, 17.135u#, 0.000u#);
+ "C11";
+ z42\0\0s = (4.782u,10.334u); z42\0\0c1 = (4.097u,10.541u);
+ z42\0\0c2 = (2.976u,10.724u); z42\0\0 = (2.361u,10.891u);
+ z42\0\1c1 = (1.865u,12.176u); z42\0\1c2 = (1.573u,14.132u);
+ z42\0\1 = (1.193u,14.570u); z42\0\2c1 = (1.135u,16.030u);
+ z42\0\2c2 = (0.843u,16.352u); z42\0\2 = (0.346u,16.322u);
+ z42\0\3c1 = (0.250u,15.022u); z42\0\3c2 = (0.084u,13.869u);
+ z42\0\3 = (0.843u,13.782u); z42\0\4c1 = (1.223u,9.606u);
+ z42\0\4c2 = (1.719u,9.547u); z42\0\4 = (4.063u,9.343u);
+ z42\0\5c1 = (3.939u,9.191u); z42\0\5c2 = (3.526u,8.797u);
+ z42\0\5 = (3.732u,8.690u); z42\0\6c1 = (3.862u,8.623u);
+ z42\0\6c2 = (4.008u,8.570u); z42\0\6 = (4.423u,8.950u);
+ z42\0\7 = (4.613u,9.070u); z42\0\8c1 = (6.038u,8.809u);
+ z42\0\8c2 = (5.781u,5.554u); z42\0\8 = (5.781u,4.793u);
+ z42\0\9c1 = (4.576u,5.262u); z42\0\9c2 = (3.793u,6.962u);
+ z42\0\9 = (2.594u,7.101u); z42\0\10c1 = (0.231u,7.376u);
+ z42\0\10c2 = (2.730u,3.007u); z42\0\10 = (1.776u,1.571u);
+ z42\0\11c1 = (1.366u,0.953u); z42\0\11c2 = (0.638u,0.768u);
+ z42\0\11 = (0.000u,0.457u); z42\0\12 = (0.987u,0.000u);
+ z42\0\13 = (3.855u,0.215u); z42\0\14 = (7.505u,0.413u);
+ z42\0\15 = (10.136u,0.038u); z42\0\16 = (11.081u,0.216u);
+ z42\0\17c1 = (9.787u,1.895u); z42\0\17c2 = (8.919u,0.240u);
+ z42\0\17 = (8.913u,3.348u); z42\0\18c1 = (8.911u,4.625u);
+ z42\0\18c2 = (8.738u,7.574u); z42\0\18 = (9.424u,8.618u);
+ z42\0\19c1 = (10.114u,9.668u); z42\0\19c2 = (12.268u,8.839u);
+ z42\0\19 = (12.861u,10.241u); z42\0\20c1 = (13.196u,11.033u);
+ z42\0\20c2 = (13.144u,12.068u); z42\0\20 = (13.326u,12.907u);
+ z42\0\21c1 = (13.548u,13.929u); z42\0\21c2 = (13.946u,14.508u);
+ z42\0\21 = (13.972u,15.634u); z42\0\22c1 = (13.036u,15.288u);
+ z42\0\22c2 = (12.297u,14.919u); z42\0\22 = (12.398u,13.799u);
+ z42\0\23c1 = (12.660u,10.879u); z42\0\23c2 = (11.719u,9.930u);
+ z42\0\23 = (8.913u,10.334u); z42\0\24c1 = (8.913u,11.100u);
+ z42\0\24c2 = (9.016u,12.542u); z42\0\24 = (8.646u,13.198u);
+ z42\0\25c1 = (8.368u,13.691u); z42\0\25c2 = (8.038u,13.911u);
+ z42\0\25 = (7.552u,14.192u); z42\0\26 = (6.347u,14.327u);
+ z42\0\27c1 = (5.786u,14.054u); z42\0\27c2 = (5.410u,13.676u);
+ z42\0\27 = (5.248u,12.970u); z42\0\28c1 = (4.956u,12.723u);
+ z42\0\28c2 = (4.742u,12.306u); z42\0\28 = (4.641u,11.800u);
+ z42\0\29c1 = (4.877u,11.653u); z42\0\29c2 = (5.001u,11.473u);
+ z42\0\29 = (4.978u,11.304u); z42\0\30c1 = (4.843u,11.057u);
+ z42\0\30c2 = (5.271u,10.741u); z42\1\0s = (7.217u,9.227u);
+ z42\1\0c1 = (7.466u,11.921u); z42\1\0c2 = (7.685u,12.072u);
+ z42\1\0 = (5.870u,13.442u); z42\1\1c1 = (6.864u,14.647u);
+ z42\1\1c2 = (8.310u,13.442u); z42\1\1 = (8.482u,12.224u);
+ z42\1\2c1 = (8.542u,11.348u); z42\1\2c2 = (8.558u,10.944u);
+ z42\1\2 = (8.493u,9.899u); z42\2\0s = (5.589u,13.097u);
+ z42\2\0c1 = (6.194u,12.880u); z42\2\0c2 = (6.757u,12.115u);
+ z42\2\0 = (6.667u,11.122u); z42\2\1c1 = (6.071u,10.933u);
+ z42\2\1c2 = (5.860u,10.522u); z42\2\1 = (5.270u,10.851u);
+ z42\2\2c1 = (5.192u,11.288u); z42\2\2c2 = (5.326u,11.897u);
+ z42\2\2 = (4.917u,11.910u); z42\2\3c1 = (4.891u,12.411u);
+ z42\2\3c2 = (5.550u,12.820u); z42\3\0s = (6.745u,10.093u);
+ z42\3\0 = (6.745u,8.407u); z42\3\1 = (8.913u,9.611u);
+ z42\3\2c1 = (8.870u,7.689u); z42\3\2c2 = (8.486u,5.044u);
+ z42\3\2 = (6.459u,4.311u); z42\3\3 = (6.459u,7.395u);
+ z42\3\4 = (5.781u,9.852u); z42\4\0s = (5.234u,4.244u);
+ z42\4\0 = (2.983u,2.798u); z42\4\1c1 = (1.537u,6.856u);
+ z42\4\1c2 = (2.288u,7.802u); z42\5\0s = (8.191u,4.552u);
+ z42\5\0c1 = (9.327u,1.016u); z42\5\0c2 = (5.690u,0.481u);
+ z42\5\0 = (3.789u,0.964u); z42\5\1 = (3.132u,0.698u);
+ z42\5\2 = (2.168u,0.939u); z42\6\0s = (6.826u,14.092u);
+ z42\6\0 = (7.286u,13.863u); z42\6\1 = (7.286u,16.392u);
+ z42\6\2c1 = (7.286u,16.977u); z42\6\2c2 = (7.946u,16.448u);
+ z42\6\2 = (7.961u,16.887u); z42\6\3c1 = (7.970u,17.138u);
+ z42\6\3c2 = (7.578u,17.135u); z42\6\3 = (7.353u,17.135u);
+ z42\6\4c1 = (6.813u,17.135u); z42\6\4c2 = (6.846u,16.484u);
+ z42\6\4 = (6.824u,16.200u); z42\6\5c1 = (6.835u,15.806u);
+ z42\6\5c2 = (6.210u,15.783u); z42\6\5 = (6.205u,15.412u);
+ z42\6\6c1 = (6.199u,15.063u); z42\6\6c2 = (6.779u,14.984u);
+ z42\6\6 = (6.835u,14.319u); z42\7\0s = (6.166u,10.555u);
+ z42\7\0 = (6.322u,10.243u); z42\7\1 = (5.372u,10.175u);
+ z42\7\2 = (5.614u,10.383u); z42\8\0s = (5.419u,12.331u);
+ z42\8\0c1 = (5.653u,12.255u); z42\8\0c2 = (5.838u,12.271u);
+ z42\8\0 = (6.167u,12.321u); z42\8\1c1 = (5.967u,12.545u);
+ z42\8\1c2 = (5.439u,12.573u);
+ fill_or_unfill z42\0\0s
+ ..controls z42\0\0c1 and z42\0\0c2..z42\0\0
+ ..controls z42\0\1c1 and z42\0\1c2..z42\0\1
+ ..controls z42\0\2c1 and z42\0\2c2..z42\0\2
+ ..controls z42\0\3c1 and z42\0\3c2..z42\0\3
+ ..controls z42\0\4c1 and z42\0\4c2..z42\0\4
+ ..controls z42\0\5c1 and z42\0\5c2..z42\0\5
+ ..controls z42\0\6c1 and z42\0\6c2..z42\0\6
+ --z42\0\7
+ ..controls z42\0\8c1 and z42\0\8c2..z42\0\8
+ ..controls z42\0\9c1 and z42\0\9c2..z42\0\9
+ ..controls z42\0\10c1 and z42\0\10c2..z42\0\10
+ ..controls z42\0\11c1 and z42\0\11c2..z42\0\11
+ --z42\0\12 --z42\0\13 --z42\0\14 --z42\0\15 --z42\0\16
+ ..controls z42\0\17c1 and z42\0\17c2..z42\0\17
+ ..controls z42\0\18c1 and z42\0\18c2..z42\0\18
+ ..controls z42\0\19c1 and z42\0\19c2..z42\0\19
+ ..controls z42\0\20c1 and z42\0\20c2..z42\0\20
+ ..controls z42\0\21c1 and z42\0\21c2..z42\0\21
+ ..controls z42\0\22c1 and z42\0\22c2..z42\0\22
+ ..controls z42\0\23c1 and z42\0\23c2..z42\0\23
+ ..controls z42\0\24c1 and z42\0\24c2..z42\0\24
+ ..controls z42\0\25c1 and z42\0\25c2..z42\0\25
+ --z42\0\26
+ ..controls z42\0\27c1 and z42\0\27c2..z42\0\27
+ ..controls z42\0\28c1 and z42\0\28c2..z42\0\28
+ ..controls z42\0\29c1 and z42\0\29c2..z42\0\29
+ ..controls z42\0\30c1 and z42\0\30c2..cycle;
+ fill_or_unfill z42\1\0s
+ ..controls z42\1\0c1 and z42\1\0c2..z42\1\0
+ ..controls z42\1\1c1 and z42\1\1c2..z42\1\1
+ ..controls z42\1\2c1 and z42\1\2c2..z42\1\2
+ --cycle;
+ fill_or_unfill z42\2\0s
+ ..controls z42\2\0c1 and z42\2\0c2..z42\2\0
+ ..controls z42\2\1c1 and z42\2\1c2..z42\2\1
+ ..controls z42\2\2c1 and z42\2\2c2..z42\2\2
+ ..controls z42\2\3c1 and z42\2\3c2..cycle;
+ fill_or_unfill z42\3\0s
+ --z42\3\0 --z42\3\1
+ ..controls z42\3\2c1 and z42\3\2c2..z42\3\2
+ --z42\3\3 --z42\3\4 --cycle;
+ fill_or_unfill z42\4\0s
+ --z42\4\0
+ ..controls z42\4\1c1 and z42\4\1c2..cycle;
+ fill_or_unfill z42\5\0s
+ ..controls z42\5\0c1 and z42\5\0c2..z42\5\0
+ --z42\5\1 --z42\5\2 --cycle;
+ fill_or_unfill z42\6\0s
+ --z42\6\0 --z42\6\1
+ ..controls z42\6\2c1 and z42\6\2c2..z42\6\2
+ ..controls z42\6\3c1 and z42\6\3c2..z42\6\3
+ ..controls z42\6\4c1 and z42\6\4c2..z42\6\4
+ ..controls z42\6\5c1 and z42\6\5c2..z42\6\5
+ ..controls z42\6\6c1 and z42\6\6c2..z42\6\6
+ --cycle;
+ fill_or_unfill z42\7\0s
+ --z42\7\0 --z42\7\1 --z42\7\2 --cycle;
+ fill_or_unfill z42\8\0s
+ ..controls z42\8\0c1 and z42\8\0c2..z42\8\0
+ ..controls z42\8\1c1 and z42\8\1c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{D50}
+% The sign \textit{D50}. Looks like a ship's ventilator,
+% the numeral 10,000.
+% \begin{macrocode}
+
+%% D50: numeral 10,000 (looks like a ship's ventilator)
+%% (code as 5(53) 53+31 = 84)
+%%beginchar (84, 3.582u#, 17.331u#, 0.000u#);
+beginchar (84, 3.582u#+side#, 17.331u#, 0.000u#);
+ "D50";
+ z84\0\0s = (0.001u,0.014u); z84\0\0c1 = (1.814u,0.015u);
+ z84\0\0c2 = (2.849u,-0.293u); z84\0\0 = (2.891u,1.942u);
+ z84\0\1 = (3.582u,9.629u); z84\0\2c1 = (3.569u,11.174u);
+ z84\0\2c2 = (2.697u,12.734u); z84\0\2 = (2.853u,14.227u);
+ z84\0\3c1 = (2.955u,15.213u); z84\0\3c2 = (4.145u,17.753u);
+ z84\0\3 = (1.928u,17.279u); z84\0\4c1 = (0.020u,16.871u);
+ z84\0\4c2 = (-0.106u,14.324u); z84\0\4 = (0.041u,12.781u);
+ z84\0\5 = (0.482u,8.687u); z84\1\0s = (0.964u,14.709u);
+ z84\1\0c1 = (3.684u,12.042u); z84\1\0c2 = (2.421u,8.134u);
+ z84\1\0 = (2.190u,4.832u); z84\1\1c1 = (2.134u,4.027u);
+ z84\1\1c2 = (2.301u,1.467u); z84\1\1 = (1.560u,1.018u);
+ z84\1\2c1 = (0.509u,0.382u); z84\1\2c2 = (0.747u,3.008u);
+ z84\1\2 = (0.791u,3.387u); z84\1\3 = (1.205u,8.446u);
+ z84\1\4c1 = (1.202u,10.426u); z84\1\4c2 = (0.223u,12.840u);
+ fill_or_unfill z84\0\0s
+ ..controls z84\0\0c1 and z84\0\0c2..z84\0\0
+ --z84\0\1
+ ..controls z84\0\2c1 and z84\0\2c2..z84\0\2
+ ..controls z84\0\3c1 and z84\0\3c2..z84\0\3
+ ..controls z84\0\4c1 and z84\0\4c2..z84\0\4
+ --z84\0\5 --cycle;
+ fill_or_unfill z84\1\0s
+ ..controls z84\1\0c1 and z84\1\0c2..z84\1\0
+ ..controls z84\1\1c1 and z84\1\1c2..z84\1\1
+ ..controls z84\1\2c1 and z84\1\2c2..z84\1\2
+ --z84\1\3
+ ..controls z84\1\4c1 and z84\1\4c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{I8}
+% The sign \textit{I8}. A mongoose(?),
+% the numeral 100,000.
+% \begin{macrocode}
+
+%% I8: numeral 100,000 (a mongoose)
+%% (code as 6(54) 54+31 = 85)
+%%beginchar (40, 13.204u#, 17.105u#, 0.000u#);
+beginchar (85, 13.204u#+side#, 17.105u#, 0.000u#);
+ "I8";
+ z40\0\0s = (12.765u,0.000u); z40\0\0c1 = (14.104u,2.910u);
+ z40\0\0c2 = (12.145u,9.931u); z40\0\0 = (10.043u,12.276u);
+ z40\0\1c1 = (8.801u,13.662u); z40\0\1c2 = (7.244u,14.308u);
+ z40\0\1 = (5.783u,15.365u); z40\0\2c1 = (4.056u,16.613u);
+ z40\0\2c2 = (2.415u,18.220u); z40\0\2 = (0.335u,16.021u);
+ z40\0\3c1 = (-0.138u,15.534u); z40\0\3c2 = (-0.092u,15.078u);
+ z40\0\3 = (0.335u,14.600u); z40\0\4c1 = (1.074u,13.806u);
+ z40\0\4c2 = (2.032u,13.533u); z40\0\4 = (2.627u,12.523u);
+ z40\0\5c1 = (3.616u,10.842u); z40\0\5c2 = (3.654u,8.485u);
+ z40\0\5 = (5.441u,7.207u); z40\0\6c1 = (6.118u,6.723u);
+ z40\0\6c2 = (8.023u,7.001u); z40\0\6 = (8.911u,6.985u);
+ z40\0\7c1 = (12.345u,6.922u); z40\0\7c2 = (10.867u,1.899u);
+ z40\1\0s = (12.043u,5.300u); z40\1\0c1 = (11.170u,6.504u);
+ z40\1\0c2 = (10.873u,8.449u); z40\1\0 = (9.152u,8.672u);
+ z40\1\1 = (9.874u,7.949u); z40\1\2c1 = (8.611u,7.299u);
+ z40\1\2c2 = (7.162u,8.231u); z40\1\2 = (7.069u,9.637u);
+ z40\1\3c1 = (7.033u,10.173u); z40\1\3c2 = (7.307u,10.810u);
+ z40\1\3 = (7.465u,11.322u); z40\1\4c1 = (6.073u,10.193u);
+ z40\1\4c2 = (6.377u,9.797u); z40\1\4 = (6.502u,8.190u);
+ z40\1\5 = (5.150u,8.748u); z40\1\6 = (2.406u,15.176u);
+ z40\1\7 = (1.443u,15.417u); z40\1\8 = (1.443u,15.899u);
+ z40\1\9c1 = (3.915u,16.915u); z40\1\9c2 = (3.656u,15.966u);
+ z40\1\9 = (5.538u,14.606u); z40\1\10c1 = (9.328u,11.866u);
+ z40\1\10c2 = (11.801u,10.481u);
+ fill_or_unfill z40\0\0s
+ ..controls z40\0\0c1 and z40\0\0c2..z40\0\0
+ ..controls z40\0\1c1 and z40\0\1c2..z40\0\1
+ ..controls z40\0\2c1 and z40\0\2c2..z40\0\2
+ ..controls z40\0\3c1 and z40\0\3c2..z40\0\3
+ ..controls z40\0\4c1 and z40\0\4c2..z40\0\4
+ ..controls z40\0\5c1 and z40\0\5c2..z40\0\5
+ ..controls z40\0\6c1 and z40\0\6c2..z40\0\6
+ ..controls z40\0\7c1 and z40\0\7c2..cycle;
+ fill_or_unfill z40\1\0s
+ ..controls z40\1\0c1 and z40\1\0c2..z40\1\0
+ --z40\1\1
+ ..controls z40\1\2c1 and z40\1\2c2..z40\1\2
+ ..controls z40\1\3c1 and z40\1\3c2..z40\1\3
+ ..controls z40\1\4c1 and z40\1\4c2..z40\1\4
+ --z40\1\5 --z40\1\6 --z40\1\7 --z40\1\8
+ ..controls z40\1\9c1 and z40\1\9c2..z40\1\9
+ ..controls z40\1\10c1 and z40\1\10c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{M12}
+% The sign \textit{M12}. A lotus,
+% the numeral 1,000.
+% \begin{macrocode}
+
+%% M12: numeral 1,000 (a lotus)
+%% (code as 4(52) 52+31 = 83)
+%%beginchar (43, 5.781u#, 17.752u#, 0.000u#);
+beginchar (83, 5.781u#+side#, 17.752u#, 0.000u#);
+ "M12";
+ z43\0\0s = (2.650u,13.731u); z43\0\0 = (2.650u,3.372u);
+ z43\0\1 = (0.482u,4.095u); z43\0\2 = (1.686u,3.132u);
+ z43\0\3 = (0.000u,0.000u); z43\0\4 = (5.781u,0.000u);
+ z43\0\5 = (4.095u,3.132u); z43\0\6 = (5.300u,4.336u);
+ z43\0\7 = (3.613u,3.613u); z43\0\8 = (3.613u,13.972u);
+ z43\0\9 = (5.300u,14.454u); z43\0\10 = (5.300u,14.936u);
+ z43\0\11 = (3.854u,15.659u); z43\0\12 = (3.854u,16.140u);
+ z43\0\13 = (5.300u,17.345u); z43\0\14c1 = (-0.747u,19.305u);
+ z43\0\14c2 = (-1.505u,14.175u); z43\1\0s = (4.095u,17.104u);
+ z43\1\0 = (2.891u,16.140u); z43\1\1 = (4.095u,14.454u);
+ z43\1\2c1 = (-0.807u,13.915u); z43\1\2c2 = (0.196u,18.040u);
+ z43\2\0s = (4.818u,0.964u); z43\2\0 = (0.963u,0.964u);
+ z43\2\1c1 = (1.913u,2.745u); z43\2\1c2 = (3.883u,2.824u);
+ fill_or_unfill z43\0\0s
+ --z43\0\0 --z43\0\1 --z43\0\2 --z43\0\3 --z43\0\4
+ --z43\0\5 --z43\0\6 --z43\0\7 --z43\0\8 --z43\0\9
+ --z43\0\10 --z43\0\11 --z43\0\12 --z43\0\13
+ ..controls z43\0\14c1 and z43\0\14c2..cycle;
+ fill_or_unfill z43\1\0s
+ --z43\1\0 --z43\1\1
+ ..controls z43\1\2c1 and z43\1\2c2..cycle;
+ fill_or_unfill z43\2\0s
+ --z43\2\0
+ ..controls z43\2\1c1 and z43\2\1c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{V1}
+% The sign \textit{V1}. A coil of rope,
+% the numeral 100.
+% \begin{macrocode}
+
+%% V1: numeral 100 (a coil of rope)
+%% (code as 3(51) 51+31 = 82)
+%%beginchar (32, 4.415u#, 9.110u#, 0.000u#);
+beginchar (82, 4.415u#+side#, 9.110u#, 0.000u#);
+ "V1";
+ z32\0\0s = (3.557u,0.000u); z32\0\0 = (4.040u,0.000u);
+ z32\0\1 = (4.281u,0.241u); z32\0\2c1 = (3.562u,3.301u);
+ z32\0\2c2 = (1.219u,4.407u); z32\0\2 = (0.843u,6.264u);
+ z32\0\3c1 = (0.443u,8.237u); z32\0\3c2 = (2.933u,8.981u);
+ z32\0\3 = (3.462u,7.691u); z32\0\4c1 = (3.838u,6.715u);
+ z32\0\4c2 = (2.243u,5.499u); z32\0\4 = (1.872u,7.691u);
+ z32\0\5 = (1.390u,7.691u); z32\0\6c1 = (1.496u,4.682u);
+ z32\0\6c2 = (4.225u,5.255u); z32\0\6 = (4.415u,6.990u);
+ z32\0\7c1 = (4.702u,9.639u); z32\0\7c2 = (0.876u,9.825u);
+ z32\0\7 = (0.117u,7.464u); z32\0\8c1 = (-0.544u,5.410u);
+ z32\0\8c2 = (1.748u,3.455u); z32\0\8 = (2.701u,1.927u);
+ z32\0\9c1 = (3.079u,1.321u); z32\0\9c2 = (3.300u,0.661u);
+ fill_or_unfill z32\0\0s
+ --z32\0\0 --z32\0\1
+ ..controls z32\0\2c1 and z32\0\2c2..z32\0\2
+ ..controls z32\0\3c1 and z32\0\3c2..z32\0\3
+ ..controls z32\0\4c1 and z32\0\4c2..z32\0\4
+ --z32\0\5
+ ..controls z32\0\6c1 and z32\0\6c2..z32\0\6
+ ..controls z32\0\7c1 and z32\0\7c2..z32\0\7
+ ..controls z32\0\8c1 and z32\0\8c2..z32\0\8
+ ..controls z32\0\9c1 and z32\0\9c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+% \begin{routine}{V20}
+% The sign \textit{V20}. A cattle hobble,
+% the numeral 10.
+% \begin{macrocode}
+
+%% V20: numeral 10 (a cattle hobble)
+%% (code as 2(50) 50+31 = 81)
+%%beginchar (51, 5.830u#, 6.186u#, 0.000u#);
+beginchar (81, 5.830u#+side#, 6.186u#, 0.000u#);
+ "V20";
+ z51\0\0s = (0.025u,0.000u); z51\0\0 = (0.748u,0.000u);
+ z51\0\1c1 = (0.748u,0.945u); z51\0\1c2 = (0.638u,2.776u);
+ z51\0\1 = (0.904u,3.613u); z51\0\2c1 = (1.554u,5.660u);
+ z51\0\2c2 = (4.001u,5.863u); z51\0\2 = (4.841u,3.851u);
+ z51\0\3c1 = (5.211u,2.967u); z51\0\3c2 = (5.084u,1.017u);
+ z51\0\3 = (5.084u,0.000u); z51\0\4 = (5.806u,0.000u);
+ z51\0\5c1 = (5.806u,1.207u); z51\0\5c2 = (5.955u,3.257u);
+ z51\0\5 = (5.530u,4.337u); z51\0\6c1 = (4.542u,6.847u);
+ z51\0\6c2 = (1.277u,6.815u); z51\0\6 = (0.301u,4.337u);
+ z51\0\7c1 = (-0.124u,3.258u); z51\0\7c2 = (0.025u,1.206u);
+ fill_or_unfill z51\0\0s
+ --z51\0\0
+ ..controls z51\0\1c1 and z51\0\1c2..z51\0\1
+ ..controls z51\0\2c1 and z51\0\2c2..z51\0\2
+ ..controls z51\0\3c1 and z51\0\3c2..z51\0\3
+ --z51\0\4
+ ..controls z51\0\5c1 and z51\0\5c2..z51\0\5
+ ..controls z51\0\6c1 and z51\0\6c2..z51\0\6
+ ..controls z51\0\7c1 and z51\0\7c2..cycle;
+endchar;
+
+% \end{macrocode}
+% \end{routine}
+%
+%
+% The next bit is for mirror images of the hieroglyphs (not supported
+% in this package), and finishing off.
+% \begin{macrocode}
+def mamodif= identity reflectedabout((w/2,h), (w/2,0)); enddef;
+def depart= 128 -31; enddef;
+%% repeat the above list of characters now
+
+bye.
+
+% \end{macrocode}
+%
+%
+% The end of this file
+% \begin{macrocode}
+%</maj>
+% \end{macrocode}
+%
+%
+%
+% \section{The font definition files} \label{sec:fd}
+%
+% \begin{macrocode}
+%<*fdot1>
+\ProvidesFile{ot1pmhg.fd}[2000/08/19 v1.0 PM Hieroglyphic font definitions]
+\DeclareFontFamily{OT1}{pmhg}{}
+ \DeclareFontShape{OT1}{pmhg}{m}{n}{ <-> pmhg }{}
+ \DeclareFontShape{OT1}{pmhg}{bx}{n}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{OT1}{pmhg}{b}{n}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{OT1}{pmhg}{m}{sl}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{OT1}{pmhg}{m}{it}{ <-> sub pmhg/m/n }{}
+%</fdot1>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%<*fdt1>
+\ProvidesFile{t1pmhg.fd}[2000/08/19 v1.0 PM Hieroglyphic font definitions]
+\DeclareFontFamily{T1}{pmhg}{}
+ \DeclareFontShape{T1}{pmhg}{m}{n}{ <-> pmhg }{}
+ \DeclareFontShape{T1}{pmhg}{bx}{n}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{T1}{pmhg}{b}{n}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{T1}{pmhg}{m}{sl}{ <-> sub pmhg/m/n }{}
+ \DeclareFontShape{T1}{pmhg}{m}{it}{ <-> sub pmhg/m/n }{}
+%</fdt1>
+% \end{macrocode}
+%
+% \section{The \Lpack{hieroglf} package code} \label{sec:code}
+%
+% Announce the name and version of the package, which requires
+% \LaTeXe{} and the \Lpack{oands} package; the latter for some
+% fonts used in the transliteration code. To try and avoid name clashes
+% with other packages, each internal command includes the string |c@rt|.
+% \begin{macrocode}
+%<*usc>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{hieroglf}[2000/09/23 v1.2 package for poor mans hieroglyphs]
+\RequirePackage{oands}
+
+% \end{macrocode}
+%
+% We need to check the encoding default for the document.
+% \begin{macro}{\Tienc}
+% \begin{macrocode}
+\providecommand{\Tienc}{T1}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\pmhgfamily}
+% Selects the Poor Man's Hieroglyphs font family in the T1 encoding if this
+% is the document's default encoding, otherwise make it the OT1 encoding.
+% \begin{macrocode}
+\ifx\Tienc\encodingdefault
+ \newcommand{\pmhgfamily}{\usefont{T1}{pmhg}{m}{n}}
+\else
+ \newcommand{\pmhgfamily}{\usefont{OT1}{pmhg}{m}{n}}
+\fi
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textpmhg}
+% Text command for the Poor Man's Hieroglyphs font family.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textpmhg}{\pmhgfamily}
+
+% \end{macrocode}
+% \end{macro}
+%
+% The character codes based on letter series. These are in the form
+% |\HXr| where |X| is the series and |r| is the lowercase roman numeral
+% of the number in the series.
+%
+% The A series.
+% \begin{macrocode}
+\chardef\HAi='007 % A1
+\chardef\HAii=`I % A2
+\chardef\HAxxviii=`Y % A28
+% \end{macrocode}
+%
+% The C series.
+% \begin{macrocode}
+\chardef\HCxi=`7 % C11
+% \end{macrocode}
+%
+% The D series
+% \begin{macrocode}
+\chardef\HDi=`Q % D1
+\chardef\HDii=`q % D2
+\chardef\HDiv=`e % D4
+\chardef\HDxxi=`r % D21
+\chardef\HDxxxvi=`A % D36
+\chardef\HDxlvi=`d % D46
+\chardef\HDxlvii=`P % D47
+\chardef\HDl=`5 % D50
+\chardef\HDliv=`L % D54
+\chardef\HDlviii=`b % D58
+% \end{macrocode}
+%
+% The E series
+% \begin{macrocode}
+\chardef\HExxiii=`l % E23
+% \end{macrocode}
+%
+% The F series
+% \begin{macrocode}
+\chardef\HFi=`X % F1
+\chardef\HFxx='010 % F20
+\chardef\HFxxxi='001 % F36
+\chardef\HFxxxiv=`G % F34
+\chardef\HFxl=`Z % F40
+% \end{macrocode}
+%
+% The G series
+% \begin{macrocode}
+\chardef\HGi=`a % G1
+\chardef\HGxvii=`m % G17
+\chardef\HGxxvi='002 % G26
+\chardef\HGxxvis='003 % G26*
+\chardef\HGxxvii='004 % G27
+\chardef\HGxxviii='005 % G28
+\chardef\HGxxxvi=`R % G36
+\chardef\HGxliii=`w % G43
+% \end{macrocode}
+%
+% The H series
+% \begin{macrocode}
+\chardef\HHviii=`O % H8
+% \end{macrocode}
+%
+% The I series
+% \begin{macrocode}
+\chardef\HIviii=`6 % I8
+\chardef\HIix=`f % I9
+\chardef\HIx=`D % I10
+% \end{macrocode}
+%
+% The K series
+% \begin{macrocode}
+\chardef\HKi=`F % K1
+% \end{macrocode}
+%
+% The M series
+% \begin{macrocode}
+\chardef\HMiii=`N % M3
+\chardef\HMviii=`E % M8
+\chardef\HMxii=`4 % M12
+\chardef\HMxvii=`i % M17
+% \end{macrocode}
+%
+% The N series
+% \begin{macrocode}
+\chardef\HNxxix=`K % N29
+\chardef\HNxxxv=`n % N35
+\chardef\HNxxxvii=`z % N37
+% \end{macrocode}
+%
+% The O series
+% \begin{macrocode}
+\chardef\HOi=`j % O1
+\chardef\HOiv=`h % O4
+\chardef\HOxxxiv=`S % O34
+% \end{macrocode}
+%
+% The P and Q and R series
+% \begin{macrocode}
+\chardef\HQiii=`p % Q3
+\chardef\HRvii=`B % R7
+% \end{macrocode}
+%
+% The S series
+% \begin{macrocode}
+\chardef\HSxii=`v % S12
+\chardef\HSxxix=`s % S29
+\chardef\HSxxxix=`? % S39
+\chardef\HSxli=`c % S41
+% \end{macrocode}
+%
+% The T and U series
+% \begin{macrocode}
+\chardef\HTiii=`u % T3
+\chardef\HTxiv=`/ % T14
+\chardef\HUxxxvi=`J % U36
+% \end{macrocode}
+%
+% The V series
+% \begin{macrocode}
+\chardef\HVi=`3 % V1
+\chardef\HViv=`o % V4
+\chardef\HVxiii=`T % V13
+\chardef\HVxx=`2 % V20
+\chardef\HVxxiv=`U % V24
+\chardef\HVxxviii=`H % V28
+\chardef\HVxxxi=`k % V31
+% \end{macrocode}
+%
+% The W, X, Y and Z series
+% \begin{macrocode}
+\chardef\HWxi=`g % W11
+\chardef\HXi=`t % X1
+\chardef\HYiV=`V % Y1v
+\chardef\HYiv='011 % Y4
+\chardef\HZi=`| % Z1
+\chardef\HZii='012 % Z2
+\chardef\HZiv='013 % Z4
+\chardef\HZvi='006 % Z6
+\chardef\HZvii=`W % Z7
+\chardef\HZxi=`+ % Z11
+% \end{macrocode}
+%
+% The Aa and PW series
+% \begin{macrocode}
+\chardef\HAai=`C % Aa1
+\chardef\HAaxii=`M % Aa12
+\chardef\HPWi=`x % PW1
+\chardef\HPWii=`y % PW2
+
+% \end{macrocode}
+%
+% The character codes for signs representing single letters.
+%
+% First those represented by uppercase letters.
+% \begin{macrocode}
+\chardef\HA=`A
+\chardef\HB=`B
+\chardef\HC=`C
+\chardef\HD=`D
+\chardef\HE=`E
+\chardef\HF=`F
+\chardef\HG=`G
+\chardef\HH=`H
+\chardef\HI=`I
+\chardef\HJ=`J
+\chardef\HK=`K
+\chardef\HL=`L
+\chardef\HM=`M
+\chardef\HN=`N
+\chardef\HO=`O
+\chardef\HP=`P
+\chardef\HQ=`Q
+\chardef\HR=`R
+\chardef\HS=`S
+\chardef\HT=`T
+\chardef\HU=`U
+\chardef\HV=`V
+\chardef\HW=`W
+\chardef\HX=`X
+\chardef\HY=`Y
+\chardef\HZ=`Z
+% \end{macrocode}
+%
+% Those represented by lowercase letters.
+% \begin{macrocode}
+\chardef\Ha=`a
+\chardef\Hb=`b
+\chardef\Hc=`c
+\chardef\Hd=`d
+\chardef\He=`e
+\chardef\Hf=`f
+\chardef\Hg=`g
+\chardef\Hh=`h
+\chardef\Hi=`i
+\chardef\Hj=`j
+\chardef\Hk=`k
+\chardef\Hl=`l
+\chardef\Hm=`m
+\chardef\Hn=`n
+\chardef\Hp=`p
+\chardef\Ho=`o
+\chardef\Hp=`p
+\chardef\Hq=`q
+\chardef\Hr=`r
+\chardef\Hs=`s
+\chardef\Ht=`t
+\chardef\Hu=`u
+\chardef\Hv=`v
+\chardef\Hw=`w
+\chardef\Hx=`x
+\chardef\Hy=`y
+\chardef\Hz=`z
+% \end{macrocode}
+%
+% Those represented by symbols.
+% \begin{macrocode}
+\chardef\Hplus=`+
+\chardef\Hquery=`?
+\chardef\Hvbar=`|
+\chardef\Hslash=`/
+\chardef\Hms='001
+\chardef\Hibp='002
+\chardef\Hibw='003
+\chardef\Hibs='004
+\chardef\Hibl='005
+\chardef\Hsv='006
+\chardef\Hman='007
+\chardef\Htongue='010
+\chardef\Hscribe='011
+\chardef\Hplural='012
+\chardef\Hdual='013
+\chardef\Hone=`|
+\chardef\Hten=`2
+\chardef\Hhundred=`3
+\chardef\Hthousand=`4
+\chardef\HXthousand=`5
+\chardef\HCthousand=`6
+\chardef\Hmillion=`7
+
+% \end{macrocode}
+%
+% Now for the transliterations, for which we need some new accents.
+%
+% \begin{macro}{\uunder}
+% Puts a small `u' under a letter.
+% \begin{macrocode}
+\DeclareTextCommand{\uunder}{OT1}[1]%
+ {{\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
+ \vbox to.2ex{\hbox{\char21}\vss}\hidewidth}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\cedover}
+% Puts a `cedilla' over a letter.
+% \begin{macrocode}
+\DeclareTextCommand{\cedover}{OT1}[1]%
+ {#1\ifdim\fontdimen\@ne\font>\z@%
+ \kern-.18em
+ \else
+ \kern-.4em
+ \fi
+ \raisebox{1.75ex}{\char24}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Hic}
+% \begin{macro}{\Hrp}
+% \begin{macro}{\Hag}
+% |\Hic| typesets a dotless `i' with a `cedilla' over it, with reduced
+% spacing afterwards. |\Hrp| typesets a reversed apostrophe with a little
+% space before it. |\Hag| typesets a character like a flat-topped 3.
+% \begin{macrocode}
+\newcommand{\Hic}{\cedover{\i}\ensuremath{\!}}
+\newcommand{\Hrp}{\,\textoands{`}}
+\newcommand{\Hag}{\textoands{z}}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\translitpmhgfont}
+% Specifies the font for typesetting transliterations. By default it
+% is set to an italic font.
+% \begin{macrocode}
+\newcommand{\translitpmhgfont}{\itshape}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\translitpmhg}
+% |\translitpmhg{|\meta{char-commands}|}| transliterates pmhg character
+% commands. The setup is perfomed by the |\c@rttranslit| macro.
+% \begin{macrocode}
+\newcommand{\translitpmhg}[1]{{%
+ \c@rttranslit\translitpmhgfont #1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rttranslit}
+% This macro redefines all the character producing commands for use in
+% |\translitpmhg|. There must be no extraneous spaces within this command.
+% \begin{macrocode}
+\newcommand{\c@rttranslit}{%
+% \end{macrocode}
+% First, the uppercase commands.
+% \begin{macrocode}
+\def\HA{\Hrp}%
+\def\HB{b}%
+\def\HC{\uunder{h}}%
+\def\HD{\b{d}}%
+\def\HE{\v{s}\Hag}%
+\def\HF{}%
+\def\HG{\Hic b}%
+\def\HH{\d{h}}%
+\def\HI{}%
+\def\HJ{\d{h}m}%
+\def\HK{\d{k}}%
+\def\HL{\Hic w}%
+\def\HM{m}%
+\def\HN{\uunder{h}t}%
+\def\HO{\Hag st}%
+\def\HP{}%
+\def\HQ{tp}%
+\def\HR{wr}%
+\def\HS{s}%
+\def\HT{\b{t}}%
+\def\HU{w\b{d}}%
+\def\HV{}%
+\def\HW{w}%
+\def\HX{\b{h}}%
+\def\HY{}%
+\def\HZ{\textoands{z}w}%
+% \end{macrocode}
+% Now the lowercase commands.
+% \begin{macrocode}
+\def\Ha{\Hag}%
+\def\Hb{b}%
+\def\Hc{\b{d}\Hrp m}%
+\def\Hd{d}%
+\def\He{\Hic r}%
+\def\Hf{f}%
+\def\Hg{g}%
+\def\Hh{h}%
+\def\Hi{\Hic}%
+\def\Hj{pr}%
+\def\Hk{k}%
+\def\Hl{l}%
+\def\Hm{m}%
+\def\Hn{n}%
+\def\Ho{w\Hag}%
+\def\Hp{p}%
+\def\Hq{\d{h}r}%
+\def\Hr{r}%
+\def\Hs{s}%
+\def\Ht{t}%
+\def\Hu{\d{h}\b{d}}%
+\def\Hv{nbw}%
+\def\Hw{w}%
+\def\Hx{}%
+\def\Hy{y}%
+\def\Hz{\v{s}}%
+% \end{macrocode}
+% Finally, the analpabetic commands.
+% \begin{macrocode}
+\def\Hplus{\Hic my}%
+\def\Hquery{awt}%
+\def\Hslash{\d{k}m\Hag}%
+\def\Hvbar{w\Hrp}%
+\def\Hms{ms}%
+\def\Hibp{\b{d}\d{h}wty}%
+\def\Hibw{b\Hag}%
+\def\Hibs{}%
+\def\Hibl{gm}%
+\def\Hsv{}%
+\def\Hman{}%
+\def\Htongue{ns}%
+\def\Hscribe{s\b{h}}%
+\def\Hplural{}%
+\def\Hdual{}%
+\def\Hone{w\Hrp}%
+\def\Hten{m\b{d}w}%
+\def\Hhundred{\v{s}t}%
+\def\Hthousand{\uunder{h}\Hag}%
+\def\HXthousand{\b{d}b\Hag}%
+\def\HCthousand{\d{h}fnw}%
+\def\Hmillion{\d{h}\d{h}}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{echange}
+% This next piece of code is a copy of \file{EgypUtil.sty} from the
+% \Lpack{hieroglyph} package.
+% \begin{macrocode}
+%%%%%%%%%%%%%%%% file EgypUtil.sty from the hieroglyph package %%%%%%%
+% Useful TeX macros for Egypto and Hiero
+%macro utile: \echange{token a remplacer}{texte de remplacement}{texte
+% a traiter}
+%
+% On peut l'utiliser pour:
+% -du texte pur
+% -des macros
+
+% A useful macro: * you have a list of entry with a character between
+% them, like this: {A text-Another Text-Yet another one}
+% And you want to apply a function to every part of it,
+% (or simply change the character)
+% if you macro has the form : \def\mymacro#1\relax{....},
+% this one is for you.
+
+\def\echange#1#2#3{%
+\def\echangeaux##1##2{\ifx##2\end\def\next{##1}%
+\else\ifx##2#1\relax\def\next{\echangeaux{##1#2}}\else\def\next{\echangeaux{##1##2}}\fi\fi%
+\next}%
+\echangeaux#3\relax\end}
+
+%%%%%%%%%%%%%%%% end of file EgypUtil.sty %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% \end{macrocode}
+% \end{macro}
+%
+% This next batch of code is based on some fragments from Rosmorduc's
+% \Lpack{hierLtx} package. This is for special treatment of glyphs so that
+% they can be stacked vertically as well as the normal linear horizontal
+% placement.
+%
+% \begin{macro}{\c@rttg}
+% Selects a glyph and adds space before and after (this was not built into
+% the original font definitions). Originally, 2pt was added before and after;
+% having added some side space to the glyphs I have reduced this.
+% \begin{macrocode}
+\def\c@rttg#1\relax{%
+\hskip 0.1pt\textpmhg{#1}\hskip 0.1pt}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rthm}
+% \begin{macro}{\setc@rthm}
+% The maximum height of a glyph stack is |\c@rthm| and is set by the
+% macro |\setc@rthm|. It is set to just a bit more than
+% the height of the tallest glyph in the current font size.
+% \begin{macrocode}
+\newlength{\c@rthm}
+\newcommand{\setc@rthm}{%
+ \settoheight{\c@rthm}{\textpmhg{\HY\HH}}%
+ \addtolength{\c@rthm}{1.2pt}%
+}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\c@rtline}
+% Process linear glyphs.
+% \begin{macrocode}
+\newcommand{\c@rtline}[1]{\echange{-}{\relax\c@rtqA}{\c@rttg{#1}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtoN}
+% \begin{macro}{\c@rton}
+% For superposing glyphs.
+% \begin{macrocode}
+\def\c@rtoN#1\relax{\hbox{\c@rtline{#1}}}
+\def\c@rton#1\relax{\vskip 0.1mm plus 1fil\hbox to \dimen0{\hskip 0em
+ plus 0.25fil\c@rtline{#1}\hskip 0em plus 0.25fil}}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\c@rtqA}
+% \begin{macrocode}
+\def\c@rtqA#1\relax{\hfil{\setbox0=\vbox{%
+\echange{:}{\relax\c@rtoN}{\relax:#1\relax}%
+}\hbox{\box0}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtq}
+% Stacks up the glyphs, using the default sizes. If the stack is taller
+% than the maximum height (i.e., |\c@rthm|) it calls a similar routine to
+% try with a smaller size of glyphs. This macro is to be used when
+% the glyphs are mainly horizontal with just an occasional vertical stack.
+% \begin{macrocode}
+\def\c@rtq#1\relax{{\setbox0=\vbox{\offinterlineskip%
+\echange{:}{\relax\c@rtoN}{\relax:#1\relax}}\dimen0=\wd0%
+\ifdim\ht0>\c@rthm%
+ \c@rtqS#1\relax%
+\else%
+ \setbox0=\vbox to \c@rthm{\offinterlineskip%
+ \echange{:}{\relax\vfil\c@rton}{\relax\c@rton#1\relax}}%
+ \hbox{\box0}%
+\fi%
+}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtvq}
+% Stacks up the glyphs in a mainly vertical direction using the default
+% sizes.
+% \begin{macrocode}
+\def\c@rtvq#1\relax{%
+ {\setbox0=\vbox{\offinterlineskip%
+ \echange{:}{\relax\c@rtoN}{\relax:#1\relax}}\dimen0=\wd0%
+ \setbox0=\vbox{%
+ \lineskiplimit=100pt\lineskip=0.25ex% vertical spacing
+ \echange{:}{\relax\vfil\c@rton}{\relax\c@rton#1\relax}}%
+ \hbox{\box0}%
+}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtqS}
+% Like |\c@rtq| but recursively using smaller font sizes.
+% \begin{macrocode}
+\def\c@rtqS#1\relax{{\c@rtsmaller\setbox0=\vbox{\offinterlineskip%
+ \echange{:}{\relax\c@rtoN}{\relax:#1\relax}}\dimen0=\wd0%
+ \ifdim\ht0>\c@rthm%
+ \ifx\@currsize\tiny%
+ \c@rtTS#1\relax%
+ \else%
+ \c@rtqS#1\relax%
+ \fi%
+ \else%
+ \c@rtTS#1\relax%
+ \fi%
+}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtTS}
+% This macro typesets (|\c@rtq|) stacked glyphs.
+% \begin{macrocode}
+\def\c@rtTS#1\relax{%
+ \setbox0=\vbox to \c@rthm{\offinterlineskip%
+ \echange{:}{\relax\vfil\c@rton}{\relax\c@rton#1\relax}}%
+ \hbox{\box0}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pmglyph}
+% The user command to typeset as principally linear, with perhaps
+% an occasional vertically stacked, glyphs.
+% The form is |\pmglyph{|\meta{codes}|}|, where \meta{codes}
+% is a series of character commands, possibly interspersed
+% with |-| characters for putting the following glyph to the
+% right of the preceeding one, and |:| for putting
+% the following glyph below the previous one.
+% |{| and |}| can be used for grouping.
+% \begin{macrocode}
+\def\pmglyph#1{{%
+ \setc@rthm%
+ \dimen0=\c@rthm%
+ \advance\dimen0 by 2mm%
+ \setbox0=\hbox{%
+ \echange{-}{\relax\c@rtq}{\relax-#1}}%
+ \sloppy\unhbox0%
+}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pmvglyph}
+% The user command to typeset as principally vertically stacked glyphs.
+% It is almost identical to |\pmglyph| except that it calls
+% |\c@rtvq| instead of |\c@rtq|.
+% \begin{macrocode}
+\def\pmvglyph#1{{%
+ \setc@rthm%
+ \dimen0=\c@rthm%
+ \advance\dimen0 by 2mm%
+ \setbox0=\hbox{%
+ \echange{-}{\relax\c@rtvq}{\relax-#1}}%
+ \sloppy\unhbox0%
+}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtrelsize}
+% \begin{macro}{\c@rtsmaller}
+% The next chunk of code is a stripped down version of Donald Arseneau's
+% \Lpack{relsize} package. We only need the |\smaller| command in unit steps
+% for use by the |\c@rtqS| macro.
+% \begin{macrocode}
+\DeclareRobustCommand\c@rtrelsize[1]{%
+\ifmmode \@nomath\c@rtrelsize\else
+ \@tempcnta
+ \ifx\@currsize\normalsize 4\else
+ \ifx\@currsize\small 3\else
+ \ifx\@currsize\footnotesize 2\else
+ \ifx\@currsize\large 5\else
+ \ifx\@currsize\Large 6\else
+ \ifx\@currsize\LARGE 7\else
+ \ifx\@currsize\scriptsize 1\else
+ \ifx\@currsize\tiny 0\else
+ \ifx\@currsize\huge 8\else
+ \ifx\@currsize\Huge 9\else
+ 4 % unknown state, start at normalsize
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+\advance\@tempcnta#1\relax
+\ifnum\@tempcnta<\z@ \@tempcnta\z@ \fi
+\ifcase\@tempcnta
+ \tiny \or \scriptsize \or \footnotesize \or \small \or \normalsize \or
+ \large \or \Large \or \LARGE \or \huge \else \Huge
+\fi\fi}
+
+\DeclareRobustCommand\c@rtsmaller{\c@rtrelsize{-1}}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% The following code is for putting a cartouche around a set of hieroglyphs.
+% Timothy Van Zandt's \Lpack{fancybox} package~\cite{FANCYBOX} provided
+% some very useful hints for this.
+% \begin{macro}{\@tempdimc}
+% \begin{macro}{\c@rtbox}
+% \begin{macro}{\c@rtht}
+% We need a box for the cartouche and also a couple of lengths.
+% \begin{macrocode}
+\newbox\c@rtbox
+\@ifundefined{@tempdimc}{\newdimen\@tempdimc}{}
+\newdimen\c@rtht
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cartouchecorner}
+% \begin{macro}{\cartouchecorner*}
+% \begin{macro}{\thec@rtcorner}
+% These are the user commands for setting the corner radius for cartouches.
+% |\thec@rtcorner| is the resulting internal corner radius value.
+% \begin{macrocode}
+\newcommand{\cartouchecorner}{\@ifstar{\sc@rtcorner}{\c@rtcorner}}
+\newcommand{\sc@rtcorner}[1]{%
+ \@tempdima=#1\relax
+ \edef\thec@rtcorner{\number\@tempdima sp}}
+\newcommand{\c@rtcorner}[1]{%
+ \edef\thec@rtcorner{#1\noexpand\@tempdimb}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% By default, set the corner value to 3/4.
+% \begin{macrocode}
+\cartouchecorner{.75}
+
+% \end{macrocode}
+%
+% \begin{macro}{\c@rtoval}
+% Command for drawing an oval of a given size.
+% \begin{macrocode}
+\def\c@rtoval(#1,#2){%
+ \begingroup
+ \c@rt@oval{#1\unitlength}{#2\unitlength}%
+ \@put{-.5\wd\@tempboxa}{-.5\ht\@tempboxa}{\ht\@tempboxa=\z@\box\@tempboxa}%
+ \endgroup}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rt@oval}
+% The internal command for drawing an oval, with the corner
+% diameters controlled by |\thec@rtcorner|, and the line
+% thicknesses set by |\thicklines| or |\thinlines|. This
+% is simpler than the kernal oval code as it doesn't have
+% to check whether it's only drawing a part of the oval.
+% \begin{macrocode}
+\newcommand{\c@rt@oval}[2]{%
+ \boxmaxdepth \maxdimen
+ \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+ \@ovxx#1\relax
+ \advance\@ovxx-\@wholewidth
+ \@ovyy#2\relax
+ \advance\@ovyy-\@wholewidth
+ \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+ \advance\@tempdimb-2\p@
+ \ifdim\@tempdimb>\thec@rtcorner\relax
+ \@tempdimb=\thec@rtcorner
+ \fi
+ \@getcirc\@tempdimb
+ \@ovro\ht\@tempboxa \@ovri\dp\@tempboxa
+ \@ovdx\@ovxx \advance\@ovdx-\@tempdima \divide\@ovdx \tw@
+ \@ovdy\@ovyy \advance\@ovdy-\@tempdima \divide\@ovdy \tw@
+ \@circlefnt
+ \setbox\@tempboxa\hbox{%
+ \@ovvert32\kern -\@tempdima
+ \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
+ \@ovhorz \kern -\@ovxx
+ \raise \@ovyy \@ovhorz}%
+ \advance\@ovdx\@ovro
+ \advance\@ovdy\@ovro
+ \advance\@ovxx\@wholewidth
+ \wd\@tempboxa=\@ovxx
+ \dp\@tempboxa=\z@}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\cartouche}
+% \begin{macro}{\Cartouche}
+% The user commands for drawing a horizontal cartouche.
+% |\cartouche{|\meta{text}|}|
+% uses |\thinlines| and |\Cartouche{|\meta{text}|}| uses
+% |\thicklines| for the frame.
+% \begin{macrocode}
+\newcommand{\cartouche}{\c@rtouche\thinlines}
+\newcommand{\Cartouche}{\c@rtouche\thicklines}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\vertouche}
+% \begin{macro}{\Vertouche}
+% The user commands for drawing a vertical cartouche.
+% |\vertouche{|\meta{text}|}|
+% uses |\thinlines| and |\Vertouche{|\meta{text}|}| uses
+% |\thicklines| for the frame.
+% \begin{macrocode}
+\newcommand{\vertouche}{\c@rtouchev\thinlines}
+\newcommand{\Vertouche}{\c@rtouchev\thicklines}
+
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\c@rtouche}
+% Decides the size of the oval, gets it drawn, and then adds a
+% rule at the right hand end of the oval.
+% \begin{macrocode}
+\newcommand{\c@rtouche}[2]{
+ \begingroup
+ #1\relax
+ \c@rtsetoval{#2}
+ \leavevmode\hbox{%
+ \lower\@tempdima\box\@tempboxa
+ \kern\@tempdimc\box\c@rtbox\kern\@tempdimc}%
+ \rule[-\@tempdima]{\@wholewidth}{\c@rtht}% % thick/thin line at end
+ \endgroup}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtsetoval}
+% Decides the size of a cartouche oval and draws it.
+% \begin{macrocode}
+\newcommand{\c@rtsetoval}[1]{%
+ \setbox\c@rtbox\hbox{{#1}}%
+ \@tempdimc\fboxsep \advance\@tempdimc\@wholewidth
+ \@tempdima\ht\c@rtbox \advance\@tempdima\dp\c@rtbox
+ \advance\@tempdima2\@tempdimc
+ \@tempdimb\wd\c@rtbox \advance\@tempdimb2\@tempdimc
+ \c@rt@oval\@tempdimb\@tempdima%
+ \@tempdima\dp\c@rtbox \advance\@tempdima\@tempdimc
+ \c@rtht\ht\c@rtbox \advance\c@rtht\@tempdima \advance\c@rtht\@tempdimc
+ \wd\@tempboxa=\z@
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\c@rtouchev}
+% Decides the size of the oval, gets it drawn, and then adds a
+% rule at base of the oval.
+% \begin{macrocode}
+\newcommand{\c@rtouchev}[2]{
+ \begingroup
+ #1\relax
+ \c@rtsetoval{#2}
+ \leavevmode\hbox{%
+ \lower\@tempdima\box\@tempboxa
+ \kern\@tempdimc\box\c@rtbox\kern\@tempdimc}%
+ \advance\@tempdimb-\@tempdimc
+ \kern-2\@tempdimb\rule[-\@tempdima]{2\@tempdimb}{\@wholewidth}%
+ \endgroup}
+
+% \end{macrocode}
+% \end{macro}
+%
+% The end of this package.
+% \begin{macrocode}
+%</usc>
+% \end{macrocode}
+%
+% \section{Map file for Postscript Type1}
+%
+% Not very long.
+% \changes{v1.3}{2005/04/02}{Added the map file}
+% \begin{macrocode}
+%<*map>
+pmhg Archaic-Poor-Mans-Hieroglyphs <pmhg.pfb
+%</map>
+% \end{macrocode}
+%
+% \Finale
+%
+%
+%
+\endinput
+
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+
+