diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:08 +0000 |
commit | 10e86525da5f0224078b5bb299e21166a36631fc (patch) | |
tree | 4ef035be3ffb624eac1de0eea79c4550a84d2d6c /Master/texmf-dist/source/fonts/allrunes/allrunes.dtx | |
parent | 7f97ebfa628c4d00c1d298daf8b8b5da3781fdb5 (diff) |
trunk/Master/texmf-dist/source/fonts
git-svn-id: svn://tug.org/texlive/trunk@111 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/fonts/allrunes/allrunes.dtx')
-rw-r--r-- | Master/texmf-dist/source/fonts/allrunes/allrunes.dtx | 9456 |
1 files changed, 9456 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/fonts/allrunes/allrunes.dtx b/Master/texmf-dist/source/fonts/allrunes/allrunes.dtx new file mode 100644 index 00000000000..d49e01c57e5 --- /dev/null +++ b/Master/texmf-dist/source/fonts/allrunes/allrunes.dtx @@ -0,0 +1,9456 @@ +% \iffalse meta-comment +% +% allrunes.dtx +% +% Copyright 2001-2004 Carl-Gustav Werner +% http://www.maths.lth.se/~carl/allrunes/ +% +% This program is provided under the terms of the +% LaTeX Project Public License distributed from CTAN +% archives in directory macros/latex/base/lppl.txt. +% +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\PageIndex +\usepackage[T1]{fontenc} +\usepackage{allrunes} +\begin{document} +\DeleteShortVerb{\|} % To make it possible to have | in tabulars +\DocInput{allrunes.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{5013} +% +% \changes{v1.0}{2001/03/23}{First public release} +% \changes{v1.01}{2001/07/14}{Removed a few remaining 8-bit characters from +% frum.mf. They didn't work with the new MiKTeX +% package handling system. Also restored a lost table, +% added an example and corrected a few spelling +% mistakes in the documentation.} +% \changes{v2.0}{2002/08/11}{Added type1 versions for the main types of the +% allrunes fonts, and support for them in the LaTeX package. Merged the +% former Scandinavian-Gothic and the Continental font families to a +% Common Germanic font family. Renamed the commands for flipping and turning +% runes. Made the commands for flipping and turning runes work for all +% six font families. Inserted kerning information for the Common Germanic +% and Anglo-Frisian font families. Complemented the font families with +% a few more runes, especially the Medieval one. Corrected many spelling +% mistakes in the documentation.} +% \changes{v2.1}{2004/01/06}{Modified the handling of type1 fontes to take advantage +% of the new map-file handling system of MiKTeX- and teTeX-implementations. +% Removed a bug that prevented the use of medieval rune with straight twigs. +% Minor updates to the documentation.} +% +% \newcommand{\currentversion}{2.1} +% \newcommand{\dateofcurrentversion}{2004/01/06} +% +% \newcommand{\package}[1]{\textsf{#1}} +% \newcommand{\ar}{\package{allrunes}} +% \newcommand{\file}[1]{\texttt{#1}} +% \newcommand{\MF}{\textsf{METAFONT}} +% \newcommand{\NFSS}{\textsf{NFSS}} +% \newcommand{\fu}{fu\th Ark:hnias} +% \newcommand{\trsize}[1]{\mbox{\fontsize{9}{14.5}\selectfont #1}} +% \newcommand{\rc}[1]{\textarc{#1}} +% \newcommand{\ra}[1]{\textara{#1}} +% \newcommand{\rn}[1]{\textarn{#1}} +% \newcommand{\rt}[1]{\textart{#1}} +% \newcommand{\rl}[1]{\textarl{#1}} +% \renewcommand{\rm}[1]{\textarm{#1}} +% \newcommand{\ts}[1]{\textsf{\textbf{#1}}} +% \newlength{\sharpiwidth} +% \newcommand{\sharpi}{\settowidth{\sharpiwidth}{-i}-\hspace{-0.52\sharpiwidth}i} +% +% \OnlyDescription ^^A For short description of font and package. +% \title{The \ar\ Font and Package.\\ \normalsize{Version \currentversion}} +% \author{Carl-Gustav Werner\\ +% \small \texttt{http://www.maths.lth.se/\~{}carl/allrunes/}} +% \date{\dateofcurrentversion} +% \maketitle +% \begin{abstract} +% The \ar{} font and package is aimed for +% typesetting runes. It is supposed to cover all the Germanic runes. +% Separate font families +% are set up for six main types of runes: Common Germanic, +% Anglo-Frisian, normal (Scandinavian), +% short-twig (Scandinavian), staveless (Scandinavian) and medieval (Scandinavian). +% Within each font family a lot of varieties are supplied. All varieties exists +% as both Metafont fonts and type1 fonts as well. +% \end{abstract} +% \tableofcontents +% +% \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 \~} +% +% \section{Introduction} +% +% This package contains the \MF{} source and driver files for the +% \ar{} font families, type1 files for the main varieties, plus a \LaTeX{} +% package to utilize those fonts, along with a number of font definition +% files, as required by the New Font Selection Scheme (\NFSS{}). +% +% \subsection{About the Documentation} +% +% The full documentation of this font and package is rather large, something like 187 +% pages actually. Most of it is the \MF{} programs for the characters for +% the fonts; to make them visible, just remove the +% \texttt{\bslash OnlyDescription} from the preamble of \texttt{allrunes.dtx}. +% +% \subsection{Notes on Installation} +% The information in this documentation can be usefull if you intend to +% install the \ar{} font and package, and it is intended be sufficient. +% However, in some TeX-implementations (like MiKTeX) the \ar{} font and package +% is part of the distribution; in such cases it is easier to use that. +% +% \section{The Fonts} +% Both \MF{} source files and type1 font files are supplied. It is recommended to +% install either just the \MF{} files, or both of them. +% +% \subsection{The \MF{} files} +% +% \paragraph{Base File and Source Files} +% The names of the base file and the files containing the code for the characters of +% the \ar{} font all starts with the letters \texttt{fru}. The next five +% possible letters reflects +% what kind of code is contained within the file, e.g., the base file +% ends in \texttt{base}, the file containing the code for the +% word separators end in \texttt{sep}, and so forth. +% +% \paragraph{Font Driver Files} +% The font driver filenames has been chosen to conform to the +% \texttt{fontname} scheme, as far as possible. +% +% The filename all contain the three characters \texttt{fru}, where, +% according to the the \texttt{fontname} scheme, \texttt{f} stands +% for \textit{public} and \texttt{ru} for \textit{runic}. +% +% Next comes one of the following letters: +% \texttt{c} (\textit{Common Germanic}), +% \texttt{a} (\textit{Anglo-Frisian}), +% \texttt{n} (\textit{Normal}), +% \texttt{t} (\textit{Short-twig}), +% \texttt{l} (\textit{Staveless}) or +% \texttt{m} (\textit{Medieval}) +% which represents which of the six rune font families it is. +% +% Then comes another letter, which is one of: +% \texttt{l} (\textit{Light face, without lines}), +% \texttt{m} (\textit{Medium, without lines}), +% \texttt{b} (\textit{Bold face, without lines}), +% \texttt{k} (\textit{Light face, with lines}), +% \texttt{n} (\textit{Medium, with lines}) or +% \texttt{c} (\textit{Bold face, with lines}), +% which represents the series, and with/without alignment lines. +% +% and finally comes one of following: +% \texttt{s} (\textit{Straight twigs, top twig not lowered}), +% \texttt{n} (\textit{Curved twigs, top twig not lowered}), +% \texttt{r} (\textit{Rounded twigs, top twig not lowered}), +% \texttt{t} (\textit{Straight twigs, top twig lowered}), +% \texttt{m} (\textit{Curved twigs, top twig lowered}) or +% \texttt{q} (\textit{Rounded twigs, top twig lowered}), +% which represents two kinds of shape --- the curvature of +% the twigs, and the position of the top twig. +% +% The most reasonable place for the \texttt{fru*.mf} files provided +% with this package is in a directory named\newline +% \indent\meta{mf--source--base--dir}\texttt{/public/allrunes/}.\newline +% This way of naming the font driver files will, if +% \texttt{kpathsea} is in use, put the \texttt{fru*.pk} files in\newline +% \indent\meta{pk--base--dir}\texttt{/public/allrunes/}\newline +% and the \texttt{fru*.tfm} files in\newline +% \indent\meta{tfm--base--dir}\texttt{/public/allrunes/}. +% +% \subsection{The type1 font files} +% The names of the type1 font files (the \texttt{fru*.pfb} files) +% are identical to the corresponding +% \texttt{fru*.mf} files, with just the suffix exchanged. +% +% The most reasonable place for the \texttt{fru*.pfb} files provided +% with this package is in a directory named\newline +% \indent\meta{type1--base--dir}\texttt{/public/allrunes/}. +% +% The type1 font files are generated from the \MF{} font files with +% the program \texttt{mftrace} \cite{Nienhuys}. +% +% +% \paragraph{The map file} +% To be able to use the type1 fonts, programs like \textsf{dvips} and +% \textsf{pdflatex} needs information about which \texttt{*.pfb} file +% a certain fontname corresponds to. This information is normally stored in +% a file \meta{dvips-base-dir}\texttt{/config/psfonts.map}, +% but additional information may +% reside in other \texttt{*.map} files. In the \ar{} bundle, a such file called +% \texttt{allrunes.map} is supplied. There are several reasonable places for +% it, but \meta{dvips-base-dir}\texttt{/allrunes} would be fine. +% +% In recent versions of (at least) the MiKTeX- and teTeX-implementations, the +% handling of \texttt{*.map} files is rather simple. Look in the directory +% \meta{tex-base-dir}\texttt{/web2c/}. If there is a file called \texttt{updmap.cfg}, +% open it for editing and add a line:\newline +% \indent\texttt{MixedMap allrunes.map}\newline +% (if you have both the \MF{} files and the type1 files installed), or\newline +% \indent\texttt{Map allrunes.map}\newline +% (if you only have the type1 files installed) +% in some suitable place. Then update the other \texttt{*.map} files by running the command:\newline +% \indent\texttt{initexmf -v --mkmap}\newline +% if you are using MiKTeX. If you are using teTeX, use the command:\newline +% \indent\texttt{updmap}\newline +% +% Older versions requires more work: +% edit the file \meta{dvips-base-dir}\texttt{/config/config.ps}, in which a line:\newline +% \indent\texttt{p +allrunes.map}\newline +% should be inserted somewhere \textit{after} the line:\newline +% \indent\texttt{p psfonts.map}\newline +% In a similar way, to make \textsf{pdflatex} find the \texttt{allrunes.map}, +% insert a line:\newline +% \indent\texttt{map +allrunes.map}\newline +% somewhere \textit{after} the line:\newline +% \indent\texttt{map psfonts.map}.\newline +% in the file \meta{pdftex-base-dir}\texttt{/config/pdftex.cfg}. +% +% \section{The \LaTeX{} files} +% +% To follow the scheme of the \MF{} files, it would be appropriate to +% place all \LaTeX{} files, namely the \texttt{ar?.fd} and the +% \texttt{allrunes.sty} files, in\newline +% \indent\meta{tex-base-dir}\texttt{/tex/latex/allrunes/}. +% +% \subsection{The \LaTeX\ and \NFSS\ Support} +% +% To use the \ar{} fonts with \LaTeX; load +% the \ar{} package with the command +% \begin{quote} +% \verb|\usepackage{allrunes}| +% \end{quote} +% in the preamble of the document. +% +% \subsection{Font Selection Commands} +% +% +% None of the font families is +% activated as default font, since the runes hardly ever will be used +% as the main font throughout an entire document. The commands and their +% corresponding declarations, together with some examples of the resulting +% output are:\\[2mm] +% \begin{tabular}{llll} +% \verb|\textarc{|\textit{text}\verb|}| & \verb|\arcfamily| & +% \emph{Common Germanic} runes & \textarc{fu\th arkgwh} \\ +% \verb|\textara{|\textit{text}\verb|}| & \verb|\arafamily| & +% \emph{Anglo-Frisian} runes & \textara{fu\th orcgwh} \\ +% \verb|\textarn{|\textit{text}\verb|}| & \verb|\arnfamily| & +% \emph{normal} runes & \textarn{\fu} \\ +% \verb|\textart{|\textit{text}\verb|}| & \verb|\artfamily| & +% \emph{short-twig} runes & \textart{\fu} \\ +% \verb|\textarl{|\textit{text}\verb|}| & \verb|\arlfamily| & +% \emph{staveless} runes & \textarl{\withlines\fu} \\ +% \verb|\textarm{|\textit{text}\verb|}| & \verb|\armfamily| & +% \emph{medieval} runes & \textarm{abcdefghi}\\ +% \end{tabular}\\[2mm] +% +% \subsection{Shape and Series Selection Commands} +% +% Within each font family there is the opportunity to +% choose among a lot of varieties with +% the commands and declarations below. Note that almost all of +% those commands and declarations +% only has meaning for the rune font families in the \ar{} package. +% The exceptions are the two commands and declarations +% for selecting bold or medium text, which are standard \LaTeX. +% +% \noindent +% First there is the series: bold, medium or light (medium is default)\\[2mm] +% \begin{tabular}{lll} +% \verb|\textbf{|\textit{text}\verb|}| & \verb|\bfseries| & \textarn{\textbf{\fu}}\\ +% \verb|\textmd{|\textit{text}\verb|}| & \verb|\mdseries| & \textarn{\textmd{\fu}}\\ +% \verb|\textlf{|\textit{text}\verb|}| & \verb|\lfseries| & \textarn{\textlf{\fu}}\\ +% \end{tabular}\\[2mm] +% Then there is the choice whether to have alignment lines or not (without is default):\\[2mm] +% \begin{tabular}{lll} +% \verb|\textwil{|\textit{text}\verb|}| & \verb|\withlines| & \textarn{\textwil{\fu}}\\ +% \verb|\textwol{|\textit{text}\verb|}| & \verb|\withoutlines| & \textarn{\textwol{\fu}}\\ +% \end{tabular}\\[2mm] +% Another parameter to vary is the curvature of the twigs (curved is default). This +% parameter has a slightly different meaning for the staveless runes.\\[2mm] +% \begin{tabular}{llll} +% \verb|\textst{|\textit{text}\verb|}| & \verb|\straighttwigs| & \textarn{\textst{\fu}} & \textarl{\textwil{\textst{\fu}}} \\ +% \verb|\textcu{|\textit{text}\verb|}| & \verb|\curvedtwigs| & \textarn{\textcu{\fu}} & \textarl{\textwil{\textcu{\fu}}} \\ +% \verb|\textro{|\textit{text}\verb|}| & \verb|\roundedtwigs| & \textarn{\textro{\fu}} & \textarl{\textwil{\textro{\fu}}} \\ +% \end{tabular}\\[2mm] +% For those runes that have a joint in the top, there is also an opportunity to +% chose whether it should +% be in the absolute top position (high twigs) or lowered a little (low twigs). The +% default is high twigs. This +% parameter has a slightly different meaning for the staveless runes.\\[2mm] +% \begin{tabular}{llll} +% \verb|\texthi{|\textit{text}\verb|}| & \verb|\hightwigs| & \textarn{\texthi{\fu}} & \textarl{\textwil{\texthi{\fu}}} \\ +% \verb|\textlo{|\textit{text}\verb|}| & \verb|\lowtwigs| & \textarn{\textlo{\fu}} & \textarl{\textwil{\textlo{\fu}}} \\ +% \end{tabular}\\[2mm] +% +% Since in inscriptions, the runes sometimes (mainly in inscriptions with the Common Germanic +% runes) were written in +% just about any direction, there are commands for reversing them and to turn them round:\\[2mm] +% \begin{tabular}{lll} +% \verb|\hflip{|\textit{rune}\verb|}| & \textarc{\hflip{f}}\\ +% \verb|\vflip{|\textit{rune}\verb|}| & \textarc{\vflip{f}}\\ +% \verb|\turn{|\textit{rune}\verb|}| & \textarc{\turn{f}}\\ +% \end{tabular}\\[2mm] +% Note that those three commands only take \textit{one} rune as argument. +% +% \subsection{Sizes} +% The \ar{} package honors all \LaTeX\ standard size changing commands. When +% using the \MF{} fonts, the standard sizes of \LaTeX: 5, 6, 7, 8, 9, 10, 10.95, +% 12, 14.4, 17.28, 20.74, 24.88, 29.86 and 35.83 pt are available. +% +% +% \section{On runological design decisions} +% The purpose of this package is to make it possible writing a scientific +% paper or book about runes or runic inscriptions using \LaTeX. Since there exist +% no suitable official standard for runes, as far as the author knows\footnote{The +% Unicode Standard (see \cite{Unicode} on runes), is not enough for this purpose. F.x. are the +% staveless runes missing.} a few decisions, concerning the selection of runes, have to been made. +% Of course you can look up runes in any encyclopedia and copy them. But +% runes did appear in many varieties, and in order to fulfill the +% purpose above, you have to cover, preferably all, but at least a great deal of them. The +% original runes were cut or carved by individuals who probably didn't learn about +% runes in the same school. Therefore there is a more or less continuous +% variation in shape of the runes. You then +% have to decide on, when to consider +% these variations as just deviations from the main form, and when to consider +% them as a distinct form. With this in mind, I have formulated +% three possible, and rather different, principles for the design: +% \begin{itemize} +% \item Standard. Find all clearly distinguishable forms and skip all +% finer variants. Design the runes similar to the ones used in most +% literature on runes. +% \item Art. Be inspired of all original rune inscriptions and design +% typographically consistent runic font families, possibly in +% several different forms. +% \item Copy. Try to catch as many of all the existing varieties in +% the original rune inscriptions without worrying to much about +% consistent typography. +% \end{itemize} +% This resulting package --- \ar{} --- is of course a compromise +% between all three of the principles above: +% +% First there is a font family for each of the six main type of runes +% used: Common Germanic, +% Anglo-Frisian, normal (Scandinavian), +% short-twig (Scandinavian), staveless (Scandinavian), medieval (Scandinavian). +% For each font family there is a +% default shape/serie that is essentially identical to the most common +% types. Then there exist a few +% different shapes/series: bold/medium/light, with lines/without lines, +% straight/normal/rounded twigs and normal/\-lowered top twig, each of which is typographically +% consistent. (Which might result in some few runes that never have occurred in real +% inscriptions.) Within each font family all clearly distinguishable +% forms are defined, and together with all the typographical varieties +% $(6*3*2*3*2=216)$ this mimics really a lot of the existing varieties. +% +% \subsection{The font families} +% The partitioning of the runes in six main types is of course not +% undisputable. Having just one font family with all runes would have +% some definite advantages, i.e.\ runic characters that always had the +% same appearance wouldn't need to be duplicated. On the other hand, runic +% characters that did change their appearance through time and space would +% need rather cumbersome names to be called upon with. So, how to partition +% then? The distinction between the older futhark with 24 characters, and the +% younger (Scandinavian) with 16, is obvious. Also, the younger futhark have three well +% recognized subfutharks, the normal, the short-twig, and the staveless futhark \cite{Jansson}. +% The runes from England and Frisia, stands out from the main older futhark, with a +% few extra runes, 28 or 33 all in all, as another obvious partition \cite{Page}. That's the +% five easy ones. +% +% In Scandinavia the runes continued to thrive and develop well into the +% medieval period. The normal runes were +% complemented, not with new runes (well only very few, and not commonly recognized), +% but mostly with ''dotted'' runes. In the 12th century there were runes for all Scandinavian +% letters, around 29 ones, but the futhark were still considered to contain only 16 characters! +% Today, most runologists therefore set up an anachronistic alphabet with both dotted and un-dotted +% runes. Unfortunately there were some diversification. Some runes appeared +% only in Greenland, Iceland, Orkney, or Gotland --- and in the isolated province of Dalarna +% in Sweden a mix of runes and Latin +% letters developed, where it was in use into the 19th century. Five more medieval runic +% alphabets? Or +% one medieval runic alphabet containing several runes that never occurred together? I chose +% the later one, but excluded the runes from Dalarna. That makes six. +% +% When looking at the older futhark in close detail one can find +% a lot of different forms: the Scandinavian-Gothic 175-400, +% the Scandinavian 400-750, the Continental 400-750, +% the Frisian 400-750, the Anglo-Saxon +% 400-650 and the Anglo-Saxon 650-1100 \cite{Odenstedt}, \cite{Parsons99}. +% Here at least two font families are needed, one for the main one, and one for the +% Anglo-Frisian. But where to draw the line? The Frisian runes are closer to +% the main ones than to the late English, but they also share some very characteristic +% runes, not found elsewhere. Similar questions arise for the Continental and Scandinavian +% runes. When comparing the different rune forms listed in \cite{Odenstedt}, I have decided +% to just have the two obvious ones: Common Germanic (i.e. the Continental +% 400-750, Scandinavian-Gothic 175-400 and Scandinavian 400-750) and the +% Anglo-Frisian (Frisian 400-750, Anglo-Saxon 400-650 and Anglo-Saxon 650-1100). +% That makes six font families. I welcome comments. +% +% \subsection{Excluded runes} +% As mentioned above, the mix of medieval runes and Latin letters used in the province +% of Dalarna in Sweden, is not covered here. +% +% Cryptic or secret runes, f.x.\ like the different cipher runes on the +% stone from R\"ok in Sweden, is not covered. This might change in +% future releases. +% +% Magic runes is another category of runes. They are mostly varieties from the older +% futhark, with some features of a rune +% occurring several times, like the ''fir-tree'' on the stone from Kylver, which can +% be interpreted as a \textarn{t}-rune with its branches six times repeated. +% None of those are so far included, but might be in future releases. +% +% Both in inscriptions with the older futhark, and in medieval ones, there are bind-runes or ligatures, +% mostly in the form of two runes sharing the same main stem. Since there exist really +% many combinations, I do not try to cover those. An alternative would of course be to +% cover only those actually occurring in inscriptions. +% +% Finally, there exists several unique runes, known only from one inscription each. Some +% are included in the \ar{} package, mainly those who ''fit'' into the system, +% and where the uniqueness probably is due to the sparse number of preserved inscriptions. +% Runes whose uniqueness are due to apparently clumsy or ignorant carvers are most deliberately +% excluded from the \ar{} package. +% In many cases it is hard to decide in which of the two above categories a certain rune belongs to. +% I might however include some more of those unique runes in future releases. +% +% +% \section{Bugs and shortcomings} +% In addition to all the for me unknown bugs and shortcomings, there are +% the following known: +% +% I have not looked at all the runes in all the 216 +% different forms in different sizes. Some might look less nice, due to +% errors in the parameterizations. Please tell me if you encounter any. +% +% The \verb|\vflip{}|, \verb|\hflip{}| and the \verb|\turn{}| command +% can not be used together with commands like +% \verb|\.| and \verb|\=|. To produce f.x.\ \textarn{\hflip{g}} you have to +% write \verb+\hflip{g}+, \textit{not} \verb+\hflip{\.k}+. (That's the reason +% why all the ''dotted'' runes have alternative names.) Probably it can be +% fixed if you use \verb+\DeclareTextComand+ instead of +% \verb|\DeclareTextComposite| (see~\cite{LaTeXfCPW}), but +% I didn't really figure out how to do it. +% Please tell me if you find a reasonable way to handle this. +% +% Perhaps a (virtual) font is needed for the transliteration. A few characters +% that are needed are not present in the European modern boldface sans serif font, +% like the {\ts\sharpi} and a +% suitable uppercase \ts{\footnotesize R}. +% +% I have now supplied kerning information for all +% the rune font families, but only (almost) for the non-flipped +% versions. There are simply to many combinations otherwise. +% As an example of what impact +% the kerning has, compare:\\ +% \textarn{filaka:krimR} (with kerning) with:\\ +% \textarn{f\mbox{}i\mbox{}l\mbox{}a\mbox{}k\mbox{}a\mbox{}:% +% \mbox{}k\mbox{}r\mbox{}i\mbox{}m\mbox{}R} (without kerning).\\ +% The kerning is set for the default forms, and is by no means +% adjusted for the other forms. This should only result in +% displeasing appearances in very few cases, but they need nevertheless to +% be taken care of (and to be found). +% +% It would be nice to be able to letterspace runes, f.x.\ with the \package{soul} +% package. Unfortunately the \ar{} and the \package{soul} package does not +% work at all together. +% +% Since the same source is used for all fonts, in all sizes, there is no +% adaptation for discretization problems. Therefore you should not expect +% fine results on printers with resolution less than 1200~dpi. I find +% the 12~pt fonts acceptable at 600~dpi, but not the 10~pt ones. +% +% I have cheated to get nonlinear scaling of the fonts. You will therefore sometimes get the +% ''Checksum mismatch'' error when generating the pk-files, but that will +% not cause any problems, as far as I know. When I understand how the driver +% files for the ec font are generated I'll do something similar for the allrunes +% fonts instead. +% +% The type1 fonts are generated from the \MF{} files with the program \texttt{mftrace} \cite{Nienhuys}. +% No manual adjustment is made and no hinting information is added. This +% might result in displeasing results, especially for small sizes, but I do not +% intend to fix such problems, unless it can be automated. +% +% The language of this paper. I'm not a native speaker of English, which you +% must have understood by now. Please tell me if you find spelling mistakes, +% grammatical errors, or just plain nonsense in the text. +% +% I'm not a professional runologist, and since I have only read a rather limited +% amount of runological literature, I might have got a few things wrong. +% Please tell me if you find anything that looks doubtful. +% +% +% \section{Some examples} +% +% +% +% In Pforzen, Bayern, Germany, a silver belt buckle was found with the following +% inscription: +% \begin{quotation} +% \noindent +% {\arcfamily \large +% .aigil.andi.aIlrun\\ +% l.ta\h u:ga\sthree o\vflip{\k}un.} +% \end{quotation} +% +% In M\"ojbro, Uppland, Sweden, a stone with an inscription and a +% picture was found. The inscription is written from right to +% left and from bottom to top: +% \begin{quotation} +% \noindent +% {\arcfamily \large +% R\\ +% \hflip{a}\hflip{n}ig\hflip{a}\hflip{l}\hflip{\sthree}i\hflip{a}\hflip{h} +% \hflip{a}\hflip{h}\hflip{a}\hflip{n}\hflip{a}\\ +% \hspace*{9mm}R\hflip{a}d\hflip{a}\hflip{r}\hflip{a}\hflip{w}\hflip{a}\hflip{r}\hflip{f} +% } +% \end{quotation} +% +% In Torna H\"allestad, Sk\r ane, Sweden, three rune stones are set up +% in the wall of the church. The longest inscription of the three reads as +% follows: +% \begin{quotation} +% \noindent +% {\arnfamily \large +% :askil:sati:stin:\th ansi:iftiR\\ +% :tuka:kur\"ms:sun:saR:hulan:\\ +% trutin:saR:flu:aigi:at:ub:\\ +% :salu\"m\\ +% satu:trikaR:iftiR:sin:bru\th r\\ +% stin:A:biarki:stu\th an:runu\"m:\th iR:\\ +% kur\"ms:tuka:kiku:nistiR} +% \end{quotation} +% +% In England, now at the British Museum, the stone cross from Lancaster +% has the following runic inscription: +% \begin{quotation} +% \noindent +% {\arafamily \large +% gibi\d\ae\th fo\\ +% r\ae cynibal\\ +% \th cu\th bere} +% \end{quotation} +% +% In H\"og, H\"arjedalen, Sweden, a stone has an inscription made with staveless +% runes: +% \begin{quotation} +% \noindent +% {\arlfamily \large \withlines +% ku\th niutr\tripledot \th rusun\tripledot litritastin\th ina +% \tripledot akbrukir\th i\tripledot aftiRbru\th rsina\tripledot +% asbiurn:\\ +% akatku\th laf} +% \end{quotation} +% +% On the font (a real font, a baptismal font) in the church of Burseryd, Gotland, Sweden, +% medieval runes are used. Except for the bind-runes, which are resolved here and +% shown as individual characters, the inscription looks like: +% \begin{quotation} +% \noindent +% {\armfamily \large +% :arinbiorn\tripledot g\o rth\=i\tripledot mik\tripledot\\ +% uitkun\'t\=ir\tripledot pr\=ister\tripledot skr\=if:mik:\\ +% ok\tripledot h\=ir\tripledot skal:um\tripledot stun\'t\tripledot stanta\tripledot +% } +% \end{quotation} +% +% \newpage +% +% \section{Tables for all the runic characters} +% On the following pages tables with all the runic characters +% in all the font families of the \ar{} font are listed, together with the most +% recognized transliteration of each rune, and the corresponding +% \LaTeX\ code in the \ar{} package. +% +% \subsection*{The Runic Word Separator Symbols} +% \begin{tabular}{|c|ll|} +% \hline +% Separator & \multicolumn{2}{c|}{\LaTeX} \\ +% \hline +% \rn{.} & \verb|\dot| & or \verb|.|\\ +% \rn{:} & \verb|\doubledot| & or \verb|:|\\ +% \rn{\tripledot} & \verb|\tripledot| & \\ +% \rn{\quaddot} & \verb|\quaddot| & \\ +% \rn{\pentdot} & \verb|\pentdot| & \\ +% \rn{.} & \verb|\eye| & or \verb|.|\\ +% \rn{:} & \verb|\doubleeye| & or \verb|:|\\ +% \rn{\tripleeye} & \verb|\tripleeye| & \\ +% \rn{\quadeye} & \verb|\quadeye| & \\ +% \rn{\penteye} & \verb|\penteye| & \\ +% \rn{!} & \verb|\bar| & or \verb|!|\\ +% \rn{\doublebar} & \verb|\doublebar| & \\ +% \rn{\triplebar} & \verb|\triplebar| & \\ +% \rn{+} & \verb|\plus| & or \verb|+|\\ +% \rn{\doubleplus} & \verb|\doubleplus| & \\ +% \rn{\tripleplus} & \verb|\tripleplus| & \\ +% \rn{\cross} & \verb|\cross| & or \verb|*|\\ +% \rn{\doublecross} & \verb|\doublecross| & \\ +% \rn{\triplecross} & \verb|\triplecross| & \\ +% \rn{\star} & \verb|\star| & \\ +% \hline +% \end{tabular}\\ +% +% \noindent The runic writing system had no real punctuation marks, +% but word separator symbols. To make it simple, all of the symbols +% in the table above are +% part of all the six rune font families, listed below. +% +% I have used +% the \texttt{*} to produce the symbol \rn{*} instead of \rn{\star}, which +% of course had been more +% consequent. This is because I want to be able to access it, as being one of +% the most common word separators (together with the \rn{:}), as a +% single character. +% +% \pagebreak +% +% \subsection*{The Common Germanic Runes} +% \nopagebreak +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rc{f} & \ts{f} & \verb|f| & \rc{F} & \ts{f} & \verb|F| \\ +% \rc{u} & \ts{u} & \verb|u| & \rc{U} & \ts{u} & \verb|U| \\ +% \rc{\th} & \ts{\th} & \verb|\th| or \texttt{\th} +% & & & \\ +% \rc{a} & \ts{a} & \verb|a| & & & \\ +% \rc{r} & \ts{r} & \verb|r| & & & \\ +% \rc{k} & \ts{k} & \verb|k| & \rc{\k} & \ts{k} & \verb|\k|\\ +% & & & \rc{K} & \ts{k} & \verb|K|\\ +% & & & \rc{\K} & \ts{k} & \verb|\K|\\ +% \rc{g} & \ts{g} & \verb|g| & & & \\ +% \rc{w} & \ts{w} & \verb|w| & & & \\ +% \rc{h} & \ts{h} & \verb|h| & \rc{H} & \ts{h} & \verb|H|\\ +% \rc{\h} & \ts{h} & \verb|\h| & & & \\ +% \rc{n} & \ts{n} & \verb|n| & & & \\ +% \rc{i} & \ts{i} & \verb|i| & & & \\ +% \rc{j} & \ts{j} & \verb|j| & \rc{\j} & \ts{j} & \verb|\j|\\ +% & & & \rc{J} & \ts{j} & \verb|J|\\ +% & & & \rc{A} & \ts{A} & \verb|A|\\ +% & & & \rc{\A} & \ts{A} & \verb|\A|\\ +% \rc{I} & \ts{\"\i}~~or~~\ts{\d{e}} & \verb|I| or \texttt{\"i} +% & & & \\ +% \rc{p} & \ts{p} & \verb|p| & \rc{\p} & \ts{p} & \verb|\p|\\ +% & & & \rc{P} & \ts{p} & \verb|P|\\ +% \rc{R} & \ts{z} or \ts{\footnotesize R} & \verb|R| +% & \rc{\R} & \ts{z} or \ts{\footnotesize R} & \verb|\R| \\ +% & & & \rc{\RR} & \ts{z} or \ts{\footnotesize R} & \verb|\RR|\\ +% \rc{s} & \ts{s} & \verb|s| or \verb|\sfour| & \rc{S} & \ts{s} & \verb|S| or \verb|\ssix|\\ +% & & & \rc{\s} & \ts{s} & \verb|\s|\\ +% & & & \rc{\S} & \ts{s} & \verb|\S|\\ +% & & & \rc{\sthree} & \ts{s} & \verb|\sthree|\\ +% & & & \rc{\sfive} & \ts{s} & \verb|\sfive|\\ +% & & & \rc{\sseven} & \ts{s} & \verb|\sseven|\\ +% & & & \rc{\seight} & \ts{s} & \verb|\seight|\\ +% \rc{t} & \ts{t} & \verb|t| & \rc{T} & \ts{t} & \verb|T|\\ +% \rc{b} & \ts{b} & \verb|b| & \rc{B} & \ts{b} & \verb|B|\\ +% \rc{e} & \ts{e} & \verb|e| & \rc{E} & \ts{e} & \verb|E|\\ +% \rc{m} & \ts{m} & \verb|m| & & & \\ +% \rc{l} & \ts{l} & \verb|l| & & & \\ +% \rc{\ng} & \ts{\ng} & \verb|\ng| or \texttt{\ng} +% & \rc{\NG} & \ts{\ng} & \verb|\NG| or \texttt{\NG}\\ +% & & & \rc{\ing} & \ts{\ng} or \ts{i\ng} & \verb|\ing|\\ +% & & & \rc{\Ing} & \ts{\ng} or \ts{i\ng} & \verb|\Ing|\\ +% & & & \rc{\ING} & \ts{\ng} or \ts{i\ng} & \verb|\ING|\\ +% \hline +% \end{tabular}\\ +% +% \pagebreak +% +% \subsection*{The Common Germanic Runes (continued)} +% \nopagebreak +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rc{d} & \ts{d} & \verb|d| & \rc{\d} & \ts{d} & \verb|\d|\\ +% & & & \rc{D} & \ts{d} & \verb|D|\\ +% \rc{o} & \ts{o} & \verb|o| & & & \\ +% \hline +% & & & \rc{\i} & \ts{i} & \verb|\i|\\ +% & & & \rc{\a} & \ts{a} & \verb|\a|\\ +% \hline +% \end{tabular}\\ +% +% \noindent The main source for the runic characters is \cite{Odenstedt}. +% +% Note that the two main forms of the h-rune were not used together. +% The rune \rc{h} was used in Scandinavia, and the rune \rc{\h} was used on the +% Continent. +% +% Some of the variant forms have uncertain interpretations. I have chosen just one of +% the proposed ones. F.x. the \rc{\Ing} might be a double \rc{w} (w) or a ligature +% of \rc{i} (i) and \rc{\ng} (\ng), the \rc{\ING} might be a double \rc{\th} (\th) or a ligature +% of \rc{i} (i) and \rc{\ng} (\ng), and the \rc{D} might be a peculiar \rc{d} (d) or +% a big \rc{\NG} (\ng). See \cite{Odenstedt} for an overview of the arguments. +% +% Of the several +% zig-zag forms of the s-rune, only a few have occurred in inscriptions, +% but for the sake of symmetry, forms with all number of strokes from three +% to eight are included. +% +% The two runes in the last section are from the stone from R\"ok, from the part of the +% inscription written with common Germanic runes. They have been put +% in a separate section here, since being anachronistic, they do not +% really belong to the common Germanic runes. +% +% \pagebreak +% +% \subsection*{The Anglo-Frisian Runes} +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \ra{f} & \ts{f} & \verb|f| & \ra{F} & \ts{f} & \verb|F|\\ +% \ra{u} & \ts{u} & \verb|u| & \ra{U} & \ts{u} & \verb|U|\\ +% \ra{\th} & \ts{\th} & \verb|\th| or \texttt{\th} +% & & & \\ +% \ra{o} & \ts{o} & \verb|o| & & & \\ +% \ra{r} & \ts{r} & \verb|r| & & & \\ +% \ra{c} & \ts{c} & \verb|c| & \ra{\c} & \ts{c} & \verb|\c|\\ +% \ra{g} & \ts{g} & \verb|g| & & & \\ +% \ra{w} & \ts{w} & \verb|w| & & & \\ +% \ra{h} & \ts{h} & \verb|h| & \ra{\h} & \ts{h} & \verb|\h| \\ +% & & & \ra{H} & \ts{h} & \verb|H|\\ +% \ra{n} & \ts{n} & \verb|n| & & & \\ +% \ra{i} & \ts{i} & \verb|i| & & & \\ +% \ra{j} & \ts{j} & \verb|j| & \ra{\j} & \ts{j} & \verb|\j|\\ +% & & & \ra{J} & \ts{j} & \verb|J|\\ +% \ra{I} & \ts{\sharpi} & \verb|I| or \texttt{\"i} +% & & & \\ +% \ra{p} & \ts{p} & \verb|p| & \ra{P} & \ts{p}(?)& \verb|P|\\ +% \ra{x} & \ts{x} & \verb|x| & & & \\ +% \ra{s} & \ts{s} & \verb|s| & \ra{S} & \ts{s} & \verb|S|\\ +% & & & \ra{\sthree} & \ts{s} & \verb|\sthree|\\ +% & & & \ra{\sfour} & \ts{s} & \verb|\sfour|\\ +% & & & \ra{\sfive} & \ts{s} & \verb|\sfive|\\ +% & & & \ra{\ssix} & \ts{s} & \verb|\ssix|\\ +% & & & \ra{\sseven} & \ts{s} & \verb|\sseven|\\ +% & & & \ra{\seight} & \ts{s} & \verb|\seight|\\ +% \ra{t} & \ts{t} & \verb|t| & & & \\ +% \ra{b} & \ts{b} & \verb|b| & \ra{B} & \ts{b} & \verb|B|\\ +% \ra{e} & \ts{e} & \verb|e| & & & \\ +% \ra{m} & \ts{m} & \verb|m| & & & \\ +% \ra{l} & \ts{l} & \verb|l| & & & \\ +% \ra{\ng} & \ts{\ng} & \verb|\ng| or \texttt{\ng} +% & & & \\ +% \ra{d} & \ts{d} & \verb|d| & \ra{\d} & \ts{d} & \verb|\d|\\ +% & & & \ra{D} & \ts{d} & \verb|D|\\ +% \ra{\oe} & \ts{\oe} & \verb|\oe| or \texttt{\oe} & \ra{\OE} & \ts{\oe} & \verb|\OE| or \texttt{\OE} \\ +% \ra{a} & \ts{a} & \verb|a| & & & \\ +% \ra{\ae} & \ts{\ae} & \verb|\ae| or \texttt{\ae} & & & \\ +% \ra{y} & \ts{y} & \verb|y| & \ra{\y} & \ts{y} & \verb|\y|\\ +% & & & \ra{Y} & \ts{y} & \verb|Y|\\ +% \ra{\ea} & \ts{\t ea} & \verb|\ea| & & & \\ +% \hline +% \end{tabular} +% +% \pagebreak +% +% \subsection*{The Anglo-Frisian Runes (continued)} +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\% \hline +% \ra{\g} & \ts{\=g} & \verb|\g| & \ra{\G} & \ts{\=g} & \verb|\G| \\ +% \ra{k} & \ts{k} & \verb|k| & & & \\ +% \ra{\k} & \ts{\=k} & \verb|\k| & & & \\ +% \ra{\rex} & \ts{rex}(?) & \verb|\rex| & & & \\ +% \hline +% \ra{q} & \ts{q} & \verb|q| & & & \\ +% \ra{\stan} & \ts{st}(?) & \verb|\stan| & \ra{\STAN} & \ts{st}(?) & \verb|\STAN| \\ +% \hline +% \end{tabular}\\ +% +% \noindent The main sources for the runic characters are \cite{Odenstedt}, \cite{Page} and \cite{Parsons99}. +% +% The table is divided in three sections. First comes the 28 ''real'' runes. +% Of the several +% zig-zag forms of the s-rune, only a few have occurred in inscriptions, +% but for the sake of symmetry, forms with all number of strokes from three +% to eight are included. +% The \ra{P} rune occurs, as far as I know, +% only on the Westeremden B inscription, see~\cite{Quak}, p.~84-85. There are some other strange runes +% in this inscription that I also might include. +% +% In the second section some runes are listed +% that never seem to have been part of the futhorc, nevertheless are known from ''real'' +% inscriptions. The symbol \ra{\rex} only occurs on coins, and does not seem to be a widely +% accepted rune; it is described in +% \cite{Parsons99},~p.~84-85. In the last section, two (three) late Anglo-Saxon ''pseudo runes'' +% have been listed. They have, as far as I know, +% never been used for ''real'' writing, but occur only in late manuscript futhorcs; probably +% as a product of runic antiquarians. Often a rune \ra{j} called \ts{ior} is taken to this group. +% I consider it equal to the main variant of \ts{j}. For these ''pseudo runes'', +% \cite{Parsons94} provided most of the information. +% +% +% When transliterating the runes there are several systems to choose from. I have used what I think is +% most common practice, bold sans serif, for all kinds of runes, even for the +% Anglo-Saxon runes. I'm however well aware of the the +% Dickins-Page system, with letterspaced medium roman characters within single +% quotes, which is preferred by at least some British runologists. +% More on this can be found in \cite{Derolez}. Compare \ts{\t eadric} with 'ea d r i c', for \ra{\ea dric}. +% +% \pagebreak +% +% \subsection*{The Normal Runes} +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{} & +% \multicolumn{3}{c|} {\raisebox{-1pt}[0cm][0cm]{Dotted runes and}} \\ +% \multicolumn{3}{|c|}{\raisebox{ 2ex}[0cm][0cm]{Main runes}} & +% \multicolumn{3}{c|} {\raisebox{ 1pt}[0cm][0cm]{variant forms}} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rn{f} & \ts{f} & \verb|f| & \rn{F} & \ts{f} & \verb|F|\\ +% \rn{u} & \ts{u} & \verb|u| & \rn{y} & \ts{y} & \verb|\.u| or \verb|y| \\ +% \rn{\th} & \ts{\th} & \verb|\th| or \texttt{\th} +% & \rn{\TH} & \ts{\th} & \verb|\TH| or \texttt{\TH}\\ +% \rn{A} & \ts{\k{a}} & \verb|A| & \rn{\A} & \ts{\k{a}} & \verb|\A|\\ +% \rn{r} & \ts{r} & \verb|r| & & & \\ +% \rn{k} & \ts{k} & \verb|k| & \rn{g} & \ts{g} & \verb|\.k| or \verb|g| \\ +% \rn{h} & \ts{h} & \verb|h| & & & \\ +% \rn{n} & \ts{n} & \verb|n| & & & \\ +% \rn{i} & \ts{i} & \verb|i| & \rn{e} & \ts{e} & \verb|\.i| or \verb|e| \\ +% \rn{a} & \ts{a} & \verb|a| & & & \\ +% \rn{s} & \ts{s} & \verb|s| & \rn{S} & \ts{s} & \verb|S|\\ +% \rn{t} & \ts{t} & \verb|t| & & & \\ +% \rn{b} & \ts{b} & \verb|b| & \rn{B} & \ts{b} & \verb|B|\\ +% \rn{m} & \ts{m} & \verb|m| & \rn{\"m} & \ts{m} & \verb|\"m| or \verb|\m|\\ +% & & & \rn{M} & \ts{m} & \verb|M|\\ +% & & & \rn{\"M} & \ts{m} & \verb|\"M| or \verb|\M|\\ +% \rn{l} & \ts{l} & \verb|l| & & & \\ +% \rn{R} & \ts{R} & \verb|R| & & & \\ +% \hline +% \end{tabular}\\ +% +% \noindent +% The runic characters are compiled from the following sources: +% \cite {Ahlen}, \cite{DRI}, \cite{Enoksen}, \cite{Jansson} and \cite{Moltke}. +% +% +% \pagebreak +% +% \subsection*{The Short-Twig Runes} +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rt{f} & \ts{f} & \verb|f| & \rt{F} & \ts{f} & \verb|F|\\ +% \rt{u} & \ts{u} & \verb|u| & \rt{U} & \ts{u} & \verb|U| \\ +% \rt{\th} & \ts{\th} & \verb|\th| or \texttt{\th} +% & \rt{\TH} & \ts{\th} & \verb|\TH| or \texttt{\TH}\\ +% \rt{A} & \ts{\k{a}} & \verb|A| & \rt{\A} & \ts{\k{a}} & \verb|\A|\\ +% \rt{r} & \ts{r} & \verb|r| & & & \\ +% \rt{k} & \ts{k} & \verb|k| & & & \\ +% \rt{h} & \ts{h} & \verb|h| & \rt{\h} & \ts{h} & \verb|\h|\\ +% \rt{n} & \ts{n} & \verb|n| & & & \\ +% \rt{i} & \ts{i} & \verb|i| & & & \\ +% \rt{a} & \ts{a} & \verb|a| & & & \\ +% \rt{s} & \ts{s} & \verb|s| & \rt{\s} & \ts{s} & \verb|\s|\\ +% \rt{t} & \ts{t} & \verb|t| & \rt{\t} & \ts{t} & \verb|\t|\\ +% & & & \rt{T} & \ts{t} & \verb|T| \\ +% \rt{b} & \ts{b} & \verb|b| & \rt{\b} & \ts{b} & \verb|\b| \\ +% \rt{m} & \ts{m} & \verb|m| & \rt{\m} & \ts{m} & \verb|\m|\\ +% & & & \rt{M} & \ts{m} & \verb|M|\\ +% \rt{l} & \ts{l} & \verb|l| & \rt{\l} & \ts{l} & \verb|\l|\\ +% & & & \rt{L} & \ts{l} & \verb|L| \\ +% \rt{R} & \ts{R} & \verb|R| & \rt{\R} & \ts{R} & \verb|\R|\\ +% \hline +% \end{tabular}\\ +% +% \noindent +% The runic characters are compiled from +% the following sources: \cite{Enoksen}, \cite{Jansson} and \cite{Moltke}. +% +% \pagebreak +% +% \subsection*{The Staveless Runes} +% \noindent +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rl{f} & \ts{f} & \verb|f| & & & \\ +% \rl{u} & \ts{u} & \verb|u| & & & \\ +% \rl{\th} & \ts{\th} & \verb|\th| or \texttt{\th} & & & \\ +% \rl{A} & \ts{\k{a}} & \verb|A| & \rl{\A} & \ts{\k{a}} & \verb|\A| \\ +% \rl{r} & \ts{r} & \verb|r| & & & \\ +% \rl{k} & \ts{k} & \verb|k| & & & \\ +% \rl{h} & \ts{h} & \verb|h| & & & \\ +% \rl{n} & \ts{n} & \verb|n| & & & \\ +% \rl{i} & \ts{i} & \verb|i| & & & \\ +% \rl{a} & \ts{a} & \verb|a| & & & \\ +% \rl{s} & \ts{s} & \verb|s| & & & \\ +% \rl{t} & \ts{t} & \verb|t| & & & \\ +% \rl{b} & \ts{b} & \verb|b| & & & \\ +% \rl{m} & \ts{m} & \verb|m| & & & \\ +% \rl{l} & \ts{l} & \verb|l| & & & \\ +% \rl{R} & \ts{R} & \verb|R| & & & \\ +% \hline +% \end{tabular}\\ +% +% \noindent The main source for the runic characters is \cite{Peterson94}. +% +% This font covers the staveless runes known mainly from H\"alsingland, Sweden. Other +% staveless runes occurred in S\"odermanland, Sweden; they are not covered here. +% +% The rune for \ts{\k{a}} has never been found +% in a typical inscription. Its assumed appearance, \rl{A}, +% is based upon the symmetry considerations, and is a rather widely accepted guess. +% However, in a late Norwegian inscription, the form \rl{\A} was used, p.~244 in~\cite{Peterson94}. +% +% The height of the \rl{f}, \rl{k}, \rl{h} and \rl{s} runes could vary quite a lot; +% here only some kind of average form is used. +% +% \pagebreak +% +% \subsection*{The Medieval Runes} +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rm{a} & \ts{a} & \verb|a| & \rm{\.a} & \ts{a} & \verb|\a| or \verb|\.a| \\ +% & & & \rm{\'a} & \ts{a} (or \ts{\r a}) & \verb|\adot| or \verb|\'a|\\ +% & & & \rm{A} & \ts{a} & \verb|A| \\ +% \rm{b} & \ts{b} & \verb|b| & \rm{B} & \ts{b} & \verb|B| \\ +% \rm{c} & \ts{c} & \verb|c| & \rm{\.c} & \ts{c} & \verb|\c| or \verb|\.c| \\ +% & & & \rm{\^c} & \ts{c} & \verb|C| or \verb|\^c| \\ +% \rm{d} & \ts{d} & \verb|d| or \verb|\.t| & +% \rm{\=t} & \ts{d} & \verb|\tbar| or \verb|\=t|\\ +% & & & \rm{\'t} & \ts{d} & \verb|\tdot| or \verb|\'t|\\ +% & & & \rm{\~t} & \ts{d} & \verb|\tflag| or \verb|\~t|\\ +% & & & \rm{\^t} & \ts{d} & \verb|\tring| or \verb|\^t|\\ +% & & & \rm{D} & \ts{d} & \verb|D| or \verb|\.T| \\ +% & & & \rm{\"T} & \ts{d} & \verb|\D| or \verb|\"T|\\ +% \rm{e} & \ts{e} & \verb|e| or \verb|\.i| & +% \rm{\e} & \ts{e} & \verb|\e| or \verb|\=i| \\ +% & & & \rm{\^i} & \ts{e} & \verb|E| or \verb|\^i|\\ +% \rm{f} & \ts{f} & \verb|f| & \rm{F} & \ts{f} & \verb|F| \\ +% \rm{g} & \ts{g} & \verb|g| or \verb|\.k| & +% \rm{G} & \ts{g} & \verb|G| or \verb|\'k| \\ +% & & & \rm{\=k} & \ts{g} & \verb|\g| or \verb|\=k|\\ +% \rm{h} & \ts{h} & \verb|h| & \rm{\h} & \ts{h} & \verb|\h| \\ +% & & & \rm{H} & \ts{h} & \verb|H| \\ +% \rm{i} & \ts{i} & \verb|i| & & & \\ +% \rm{k} & \ts{k} & \verb|k| & & & \\ +% \rm{l} & \ts{l} & \verb|l| & \rm{\.l} & \ts{l} & \verb|\l| or \verb|\.l|\\ +% & & & \rm{\=l} & \ts{l} & \verb|\lbar| or \verb|\=l|\\ +% & & & \rm{\'l} & \ts{l} & \verb|\ldot| or \verb|\'l|\\ +% & & & \rm{\~l} & \ts{l} & \verb|\lflag| or \verb|\~l|\\ +% & & & \rm{\^l} & \ts{l} & \verb|\lring| or \verb|\^l|\\ +% \rm{m} & \ts{m} & \verb|m| & \rm{\m} & \ts{m} & \verb|\m| \\ +% \rm{n} & \ts{n} & \verb|n| & \rm{\.n} & \ts{n} & \verb|\n| or \verb|\.n|\\ +% & & & \rm{\'n} & \ts{n} & \verb|\ndot| or \verb|\'n| \\ +% & & & \rm{N} & \ts{n} & \verb|N| \\ +% & & & \rm{\.N} & \ts{n} & \verb|\N| or \verb|\.N|\\ +% \rm{o} & \ts{o} & \verb|o| & & & \\ +% \rm{p} & \ts{p} & \verb|p| or \verb|\"b| +% & \rm{\.b} & \ts{p} & \verb|\p| or \verb|\.b| \\ +% & & & \rm{\P} & \ts{p} & \verb|\P| \\ +% & & & \rm{\"\P} & \ts{p} & \verb|\Pdots| or \verb|\"\P| \\ +% & & & \rm{P} & \ts{p} & \verb|P| \\ +% \rm{q} & \ts{q} & \verb|q| & \rm{\q} & \ts{q} & \verb|\q| \\ +% & & & \rm{\Q} & \ts{q} & \verb|\Q| \\ +% \rm{r} & \ts{r} & \verb|r| & \rm{\.r} & \ts{\"r} & \verb|\rdot| or \verb|\.r|\\ +% & & & \rm{\r} & \ts{r} & \verb|\r| \\ +% \hline +% \end{tabular} +% \pagebreak +% +% \subsection*{The Medieval Runes (continued)} +% \begin{tabular}{|c|c|c|c|c|c|} +% \hline +% \multicolumn{3}{|c|}{Main runes} & \multicolumn{3}{c|} {Variant forms} \\ +% \hline +% Rune & Translit. & \LaTeX & Rune & Translit. & \LaTeX \\ +% \hline +% \rm{s} & \ts{s} & \verb|s| & \rm{S} & \ts{s} & \verb|S| \\ +% & & & \rm{\S} & \ts{s} & \verb|\S| \\ +% \rm{t} & \ts{t} & \verb|t| & \rm{T} & \ts{t} & \verb|T| \\ +% & & & \rm{\T} & \ts{t} & \verb|\T| \\ +% \rm{\th} & \ts{\th} & \verb|\th| or \texttt{\th} +% & \rm{\TH} & \ts{\th} & \verb|\TH| or \texttt{\TH}\\ +% & & & \rm{\thth} & \ts{\th} & \verb|\thth| \\ +% \rm{\dh} & \ts{\dh} & \verb|\dh| or \texttt{\dh} or \verb|\.\th| +% & \rm{\DH} & \ts{\dh} & \verb|\DH| or \texttt{\DH} or \verb|\.\TH|\\ +% \rm{u} & \ts{u} & \verb|u| & & & \\ +% \rm{v} & \ts{v} & \verb|v| or \verb|\.u| & +% \rm{\.f} & \ts{v} & \verb|V| or \verb|\.f|\\ +% & & & \rm{\'f} & \ts{v} & \verb|\v| or \verb|\'f| \\ +% & & & \rm{\~f} & \ts{v} & \verb|\V| or \verb|\~f| \\ +% \rm{w} & \ts{w} & \verb|w| & & & \\ +% \rm{x} & \ts{x} & \verb|x| & \rm{\x} & \ts{x} & \verb|\x| \\ +% & & & \rm{X} & \ts{x} & \verb|X| \\ +% & & & \rm{\X} & \ts{x} & \verb|\X| \\ +% \rm{y} & \ts{y} & \verb|y| & \rm{Y} & \ts{y} & \verb|Y| \\ +% & & & \rm{v} & \ts{y} & \verb|v| or \verb|\.u| \\ +% & & & \rm{\y} & \ts{y} & \verb|\y| or \verb|\"u| \\ +% & & & \rm{\Y} & \ts{y} & \verb|\Y| or \verb|\=u| \\ +% \rm{z} & \ts{z} & \verb|z| & \rm{\z} & \ts{z} & \verb|\z| \\ +% & & & \rm{Z} & \ts{z} & \verb|Z| \\ +% \rm{\ae} & \ts{\ae} & \texttt{\"a} or \texttt{\ae} or \verb|\ae| & & & \\ +% \rm{\o} & \ts{\o} & \verb|\o| or \texttt{\"o} or \texttt{\o} +% & \rm{\O} & \ts{\o} & \verb|\O| or \texttt{\"O}, \texttt{\O} \\ +% & & & \rm{\oo} & \ts{\o} & \verb|\oo| \\ +% & & & \rm{\oO} & \ts{\o} & \verb|\oO| \\ +% \rm{\ey} & \ts{ey} or \ts{\o y} & \verb|\ey| & & & \\ +% \hline +% \rm{\arlaug} & & \verb|\arlaug| & & & \\ +% \rm{\tvimadur} & & \verb|\tvimadur| & & & \\ +% \rm{\belgthor} & & \verb|\belgthor| & & & \\ +% \hline +% \rm{j} & \ts{j} & \verb|j| & & & \\ +% \rm{\aa} & \ts{\r a} & \texttt{\r a} or \verb|\aa| & & & \\ +% \hline +% \end{tabular}\\ +% +% \noindent The main source for the medieval runic characters is \cite{Runmarkt}, with support +% from \cite{DRI}, \cite{Enoksen}, \cite{Jansson}, \cite{Moltke} and \cite{Haugen} (despite the +% claim in the later of ''ikke må oppfattatast som nokon autoritativ katalog''). Finally, the +% rune \textarm{\"\P} from Schleswig, is from \cite{Spurkland} and the rune \textarm{\.r} is +% from \cite{Larsson}. +% +% The table is divided in three sections. First come the ''real'' runes, as an alphabet, not +% as an futhark. Next, the three bind-runes that always occurred in rune +% staves (runic calendars) are listed. Finally come two runes used by, and invented by, a modern +% Swedish rune carver, Kalle Dahlgren, \cite{Dahlgren} to make it possible to use runes for writing +% in the Swedish language of today. I put them here because modern swedish rune carvers essentially use +% the medieval runes --- +% complemented with these two. However, Kalle Dahlgren has changed his +% mind, and now uses the \rm{\adot} rune instead of the \rm{\aa} for the letter \r a. +% +% Note that the runic symbols for c, s and z respectively, were to an large extent +% interchangeable. In the table above they are however not duplicated. +% +% \flushleft +% \begin{thebibliography}{99} +% \bibitem[\r Ahl\'en 1997]{Ahlen} \r Ahl\'en, Marit. 1997. \textit{Runristaren \"Opir}. +% Runr\"on~12. Uppsala. +% \bibitem[Barnes 1994]{Barnes} Barnes, Michael P. 1994. \textit{The Runic Inscriptions +% of Maeshowe, Orkney}. Runr\"on~8. Uppsala. +% \bibitem[Dahlgren 2000]{Dahlgren} Dahlgren, Kalle. 2000, 2003. \verb+http://www.runristare.se/+ +% \bibitem[Derolez 1995]{Derolez} Derolez, Ren\'e. 1995. +% 'On the ''Otherness'' of the Anglo-Saxon Runes and the ''Perfect +% Fit'' of the Fu\th ark'. In: \textit{Runeninschriften als +% Quellen interdisziplin\"arer Forschung}. Erg\"anzungsb\"ande zum +% Reallexikon der Germanischen Altertumskunde~15. Berlin/New York. +% \bibitem[\textit{DRI} 1941-1942]{DRI} \textit{Danmarks runeindskrifter}. +% Ed.\ Jacobsen, Lis \& Moltke, Erik. K\o benhavn 1941-1942. +% \bibitem[Enoksen 1998]{Enoksen} Enoksen, Lars Magnar. 1998. +% \textit{Runor. Historia, tydning, tolkning}. Lund. +% \bibitem[Haugen 1996]{Haugen} Haugen, Odd Einar. 1996. +% \verb+http://www.hit.uib.no/Runefonter/Gullskoen.html+ +% \verb+http://www.hit.uib.no/Runefonter/AlfabetGullskoen.pdf+ +% \textit{Alfabetisk oversyn over Gullskoen runefont, versjon 2.1}. Bergen. +% \bibitem[Haugen 2001]{Haugen2001} Haugen, Odd Einar. 2001. +% \verb+http://www.hit.uib.no/Runefonter/Gullhornet.html+ +% \verb+http://www.hit.uib.no/Runefonter/AlfabetGullhorn.pdf+ +% \textit{Gullhornet runefont. Oversyn over inventaret i versjon 1.0}. Bergen. +% \bibitem[Jansson 1987]{Jansson} Jansson, Sven B.\ F. 1987. +% \textit{Runes in Sweden}. Stockholm. +% \bibitem[Larsson 2002]{Larsson} Larsson, Patrik. 2002. \textit{Yrrunan. +% Användning och ljudvärde i nordiska runinskrifter}. Runr\"on~17. Uppsala. +% \bibitem[\textit{\LaTeX fCPW} 1999]{LaTeXfCPW} \textit{\LaTeX\ for class and package writers}. +% Comes with the \LaTeXe\ distribution as \texttt{clsguide.tex}. 1999. +% \bibitem[Looijenga 1997]{Looijenga} Looijenga, Tineke. 1997. +% \textit{Runes Around the North Sea and On the +% Continent AD 150-700; Texts \& Contexts}. Groningen. +% \bibitem[Moltke 1985]{Moltke} Moltke, Erik. 1985. \textit{Runes and +% Their Origin. Denmark and Elsewhere}. Copenhagen. +% \bibitem[Nienhuys 2003]{Nienhuys} Nienhuys, Han-Wen. 2003. +% \verb+http://www.xs4all.nl/~hanwen/mftrace/+ +% \textit{mftrace - Scalable PostScript Fonts for MetaFont}. Utrecht. +% \bibitem[Odenstedt 1990]{Odenstedt} Odenstedt, Bengt. 1990. +% \textit{On the Origin and Early History of the Runic +% Script. Typology and Graphic Variation in the +% Older Futhark}. Uppsala. +% \bibitem[Page 1999]{Page} Page, R.\ I. 1999. \textit{An Introduction to +% English Runes}. Second Edition. Woodbridge. +% \bibitem[Parsons 1994]{Parsons94} Parsons, David. 1994. 'Anglo-Saxon Runes in +% Continental Manuscripts'. In: \textit{Runische Schriftkultur in +% kontinental-skandinavischer und -angel\-s\"achsischer Wechselbeziehung}. +% Erg\"anzungsb\"ande zum Reallexikon der Germanischen Altertumskunde~10. Berlin/New York. +% \bibitem[Parsons 1999]{Parsons99} Parsons, David N. 1999. \textit{Recasting the Runes. +% The Reform of the Anglo-Saxon Futhorc}. Runr\"on~14. Uppsala. +% \bibitem[Peterson 1994]{Peterson94} Peterson, Lena. \textit{The Graphemic System of the +% Staveless Runes}. In:~\cite{Proceedings94}. +% \bibitem[\textit{3:d ISRRI} 1994]{Proceedings94} \textit{Proceedings of the Third International +% Symposium on Runes and Runic Inscriptions}. Runr\"on~9. Ed.\ James E.\ Knirk. Uppsala~1994. +% \bibitem[Quak 1994]{Quak} Quak, Arend. \textit{Zur Inschrift von Westeremden B}. +% In:~\cite{Proceedings94}. +% \bibitem[\textit{Runm\"arkt} 1994]{Runmarkt} \textit{Runm\"arkt. Fr\r an brev till klotter. +% Runorna under medeltiden}. +% Ed.\ Benneth, Solbritt \& \r Ahl\'en, Marit. Stockholm~1994. +% \bibitem[Spurkland 1994]{Spurkland} Spurkland, Terje. \textarm{\P} \textit{and} +% \textarm{\"b}\textit{: One Grapheme or Two?}. In:~\cite{Proceedings94}. +% \bibitem[Unicode 2000]{Unicode} \verb+http://www.unicode.org/charts/+ +% \bibitem[Werner 2002]{Werner} Werner, Carl-Gustav. +% \verb+http://www.maths.lth.se/~carl/allrunes/+ +% \end{thebibliography} +% +% \StopEventually{\AtEndDocument{\PrintIndex\PrintChanges}} +% +%<*sty> +% \section{\LaTeX\ Support Files} +% +% \subsection{The style file --- \texttt{allrunes.sty}} +% \file{allrunes.sty} +% +% +% \subsubsection{Initializing} +% +% First we need to identify the package, its version and release +% date, etc. +% \begin{macrocode} +\def\fileversion{v2.1} +\def\filedate{2004/01/06} +\ProvidesPackage{allrunes}[\filedate\space\fileversion\space allrunes package.] + +% \end{macrocode} +% The font selection scheme depends heavily on the ifthen package. +% \begin{macrocode} +\RequirePackage{ifthen} + +% \end{macrocode} +% Most of the font declaring calls are so similar. Here we redefine +% it to save space and typing. +% \begin{macrocode} +\newcommand{\DeclareFontShapeWithSizes}[5]{% + \DeclareFontShape{#1}{#2}{#3}{#4}{% + <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83> #5}{}} + +\ProcessOptions\relax +% \end{macrocode} +% Here the user interface, i.e. the commands for the user, for font +% changing are defined. First comes the series. Since +% bfdefault and mddefault are already defined in fonttext.ltx +% they are not defined here. +% \begin{macrocode} +%\newcommand{\bfdefault}{bx} % bold +%\newcommand{\mddefault}{m} % medium +\newcommand{\lfdefault}{l} % light +\newcommand{\bldefault}{c} % bold with lines +\newcommand{\mldefault}{n} % medium with lines +\newcommand{\lldefault}{k} % light with lines + +% \end{macrocode} +% The bfseries and mdseries are already defined in latex.ltx +% They are redefined here, hopefully this will not interfere +% with their usage outside the allrunes commands. +% \begin{macrocode} +\DeclareRobustCommand{\lfseries}{% + \ifthenelse{\equal{\f@series}{\mddefault}}% + {\fontseries{\lfdefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\mldefault}}% + {\fontseries{\lldefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\bfdefault}}% + {\fontseries{\lfdefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\bldefault}}% + {\fontseries{\lldefault}\selectfont}{}% +} + +\DeclareRobustCommand{\mdseries}{% + \not@math@alphabet\mdseries\relax + \ifthenelse{\equal{\f@series}{\lfdefault}}% + {\fontseries{\mddefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\lldefault}}% + {\fontseries{\mldefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\bfdefault}}% + {\fontseries{\mddefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\bldefault}}% + {\fontseries{\mldefault}\selectfont}{}% +} + +\DeclareRobustCommand{\bfseries}{% + \not@math@alphabet\bfseries\mathbf + \ifthenelse{\equal{\f@series}{\lfdefault}}% + {\fontseries{\bfdefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\lldefault}}% + {\fontseries{\bldefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\mddefault}}% + {\fontseries{\bfdefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\mldefault}}% + {\fontseries{\bldefault}\selectfont}{}% +} + +\DeclareRobustCommand{\withlines}{% + \ifthenelse{\equal{\f@series}{\bfdefault}}% + {\fontseries{\bldefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\mddefault}}% + {\fontseries{\mldefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\lfdefault}}% + {\fontseries{\lldefault}\selectfont}{}% +} + +\DeclareRobustCommand{\withoutlines}{% + \ifthenelse{\equal{\f@series}{\bldefault}}% + {\fontseries{\bfdefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\mldefault}}% + {\fontseries{\mddefault}\selectfont}{}% + \ifthenelse{\equal{\f@series}{\lldefault}}% + {\fontseries{\lfdefault}\selectfont}{}% +} + + +% textbf and textmd already defined in latex.ltx +%\DeclareTextFontCommand{\textbf}{\bfseries} +%\DeclareTextFontCommand{\textmd}{\mdseries} +\DeclareTextFontCommand{\textlf}{\lfseries} + +\DeclareTextFontCommand{\textwol}{\withoutlines} +\DeclareTextFontCommand{\textwil}{\withlines} + +% \end{macrocode} +% The comes the shape +% which is not used for "shape" but for curvature of the twigs +% and the variation of the position of the twigs. +% +% The updefault is already defined in fonttext.ltx, and we keep it +% here as default, even if it's not "up" +% \begin{macrocode} +%\newcommand{\updefault}{n} % curved +\newcommand{\stdefault}{s} % straight +\newcommand{\rodefault}{r} % rounded + +\newcommand{\cwdefault}{m} % curved, low twigs +\newcommand{\swdefault}{t} % straight, low twigs +\newcommand{\rwdefault}{q} % rounded, low twigs + +\DeclareRobustCommand{\curvedtwigs}{% + \ifthenelse{\equal{\f@shape}{\stdefault}}% + {\fontshape{\updefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\swdefault}}% + {\fontshape{\cwdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rodefault}}% + {\fontshape{\updefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rwdefault}}% + {\fontshape{\cwdefault}\selectfont}{}% +} + +\DeclareRobustCommand{\straighttwigs}{% + \ifthenelse{\equal{\f@shape}{\updefault}}% + {\fontshape{\stdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\cwdefault}}% + {\fontshape{\swdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rodefault}}% + {\fontshape{\stdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rwdefault}}% + {\fontshape{\swdefault}\selectfont}{}% +} + +\DeclareRobustCommand{\roundedtwigs}{% + \ifthenelse{\equal{\f@shape}{\updefault}}% + {\fontshape{\rodefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\cwdefault}}% + {\fontshape{\rwdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\stdefault}}% + {\fontshape{\rodefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\swdefault}}% + {\fontshape{\rwdefault}\selectfont}{}% +} + +\DeclareRobustCommand{\lowtwigs}{% + \ifthenelse{\equal{\f@shape}{\updefault}}% + {\fontshape{\cwdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\stdefault}}% + {\fontshape{\swdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rodefault}}% + {\fontshape{\rwdefault}\selectfont}{}% +} + +\DeclareRobustCommand{\hightwigs}{% + \ifthenelse{\equal{\f@shape}{\cwdefault}}% + {\fontseries{\updefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\swdefault}}% + {\fontseries{\stdefault}\selectfont}{}% + \ifthenelse{\equal{\f@shape}{\rwdefault}}% + {\fontseries{\rodefault}\selectfont}{}% +} + +\DeclareTextFontCommand{\textcu}{\curvedtwigs} +\DeclareTextFontCommand{\textst}{\straighttwigs} +\DeclareTextFontCommand{\textro}{\roundedtwigs} + +\DeclareTextFontCommand{\textlo}{\lowtwigs} +\DeclareTextFontCommand{\texthi}{\hightwigs} + +% \end{macrocode} +% Here are the declaration of the runic word separators. +% Of course they should not be here! They should reside in the fd-files. +% And they do. Here only a command for defining them are defined, which is then +% used in the fd-files. Silly? Ugly? But it works. +% +% Some of them have more than one name to make things orthogonal. +% All definitions occurres in all encodings. +% \begin{macrocode} +\newcommand{\DeclareRuneSeparators}[1]{% + \DeclareTextSymbol{\dot}{#1}{46} % . + \DeclareTextSymbol{\doubledot}{#1}{58} % : + \DeclareTextSymbol{\tripledot}{#1}{59} + \DeclareTextSymbol{\quaddot}{#1}{60} + \DeclareTextSymbol{\pentdot}{#1}{61} + + \DeclareTextSymbol{\eye}{#1}{46} % . + \DeclareTextSymbol{\doubleeye}{#1}{58} % : + \DeclareTextSymbol{\tripleeye}{#1}{62} + \DeclareTextSymbol{\quadeye}{#1}{63} + \DeclareTextSymbol{\penteye}{#1}{64} + + \DeclareTextSymbol{\bar}{#1}{33} % ! + \DeclareTextSymbol{\doublebar}{#1}{34} + \DeclareTextSymbol{\triplebar}{#1}{35} + + \DeclareTextSymbol{\cross}{#1}{42} % * + \DeclareTextSymbol{\doublecross}{#1}{37} + \DeclareTextSymbol{\triplecross}{#1}{38} + + \DeclareTextSymbol{\plus}{#1}{43} % + + \DeclareTextSymbol{\doubleplus}{#1}{44} + \DeclareTextSymbol{\tripleplus}{#1}{45} + + \DeclareTextSymbol{\star}{#1}{36} + %\DeclareTextSymbol{\doublestar}{#1}{37} + %\DeclareTextSymbol{\triplestar}{#1}{} + +} % end of newcommand{\DeclareRuneSeparators} + +\input{arc.fd} +\input{ara.fd} +\input{arn.fd} +\input{art.fd} +\input{arl.fd} +\input{arm.fd} + +% \end{macrocode} +% +%</sty> +% +% \subsection{The Font Definition Files --- \texttt{ar?.fd}} +% +% What they really do, is to specify what font driver file should be +% loaded when the user switches font. +% +%<*arc> +% +% \subsubsection{The Common Germanic Runes} +% \begin{macrocode} +% THE COMMON GERMANIC RUNES + +\DeclareFontEncoding{LRC}{}{} +\DeclareFontSubstitution{LRC}{fruc}{m}{n} + +\DeclareFontFamily{LRC}{fruc}{} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{n}{frucmn} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{m}{frucmm} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{s}{frucms} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{t}{frucmt} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{r}{frucmr} +\DeclareFontShapeWithSizes{LRC}{fruc}{m}{q}{frucmq} + +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{n}{frucln} +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{m}{fruclm} +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{s}{frucls} +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{t}{fruclt} +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{r}{fruclr} +\DeclareFontShapeWithSizes{LRC}{fruc}{l}{q}{fruclq} + +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{n}{frucbn} +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{m}{frucbm} +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{s}{frucbs} +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{t}{frucbt} +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{r}{frucbr} +\DeclareFontShapeWithSizes{LRC}{fruc}{bx}{q}{frucbq} + +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{n}{frucnn} +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{m}{frucnm} +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{s}{frucns} +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{t}{frucnt} +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{r}{frucnr} +\DeclareFontShapeWithSizes{LRC}{fruc}{n}{q}{frucnq} + +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{n}{fruckn} +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{m}{fruckm} +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{s}{frucks} +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{t}{fruckt} +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{r}{fruckr} +\DeclareFontShapeWithSizes{LRC}{fruc}{k}{q}{fruckq} + +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{n}{fruccn} +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{m}{fruccm} +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{s}{fruccs} +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{t}{frucct} +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{r}{fruccr} +\DeclareFontShapeWithSizes{LRC}{fruc}{c}{q}{fruccq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\arcdefault}{fruc} +\newcommand{\arcfamily}{\usefont{LRC}{\arcdefault}{m}{n}} +\DeclareTextFontCommand{\textarc}{\arcfamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +\DeclareTextSymbol{\th}{LRC}{254} +\DeclareTextSymbol{\TH}{LRC}{222} +\DeclareTextSymbol{\A}{LRC}{161} +\DeclareTextSymbol{\a}{LRC}{225} +\DeclareTextSymbol{\k}{LRC}{171} +\DeclareTextSymbol{\K}{LRC}{131} +\DeclareTextSymbol{\h}{LRC}{232} +\DeclareTextSymbol{\i}{LRC}{193} +\DeclareTextSymbol{\j}{LRC}{170} +\DeclareTextSymbol{\p}{LRC}{160} +\DeclareTextSymbol{\R}{LRC}{154} +\DeclareTextSymbol{\RR}{LRC}{122} +\DeclareTextSymbol{\s}{LRC}{195} +\DeclareTextSymbol{\S}{LRC}{196} +\DeclareTextSymbol{\sthree}{LRC}{211} +\DeclareTextSymbol{\sfour}{LRC}{227} +\DeclareTextSymbol{\sfive}{LRC}{243} +\DeclareTextSymbol{\ssix}{LRC}{212} +\DeclareTextSymbol{\sseven}{LRC}{228} +\DeclareTextSymbol{\seight}{LRC}{244} +\DeclareTextSymbol{\ng}{LRC}{173} +\DeclareTextSymbol{\NG}{LRC}{141} +\DeclareTextSymbol{\ing}{LRC}{181} +\DeclareTextSymbol{\Ing}{LRC}{189} +\DeclareTextSymbol{\ING}{LRC}{157} +\DeclareTextSymbol{\d}{LRC}{164} + +% Commands for mirroring runes +% Variants that are commented out are identical to the non-mirrored form +\DeclareTextCommand{\hflip}{LRC}{} +\DeclareTextCommand{\vflip}{LRC}{} +\DeclareTextCommand{\turn}{LRC}{} + +\DeclareTextComposite{\hflip}{LRC}{f}{174} +\DeclareTextComposite{\vflip}{LRC}{f}{166} +\DeclareTextComposite{\turn}{LRC}{f}{182} + +\DeclareTextComposite{\hflip}{LRC}{F}{142} +\DeclareTextComposite{\vflip}{LRC}{F}{134} +\DeclareTextComposite{\turn}{LRC}{F}{150} + +\DeclareTextComposite{\hflip}{LRC}{u}{229} +\DeclareTextComposite{\vflip}{LRC}{u}{221} +\DeclareTextComposite{\turn}{LRC}{u}{237} + +\DeclareTextComposite{\hflip}{LRC}{U}{205} +\DeclareTextComposite{\vflip}{LRC}{U}{197} +\DeclareTextComposite{\turn}{LRC}{U}{213} + +\DeclareTextComposite{\hflip}{LRC}{\th}{238} +%\DeclareTextComposite{\vflip}{LRC}{\th}{254} +\DeclareTextComposite{\turn}{LRC}{\th}{238} + +\DeclareTextComposite{\hflip}{LRC}{a}{177} +\DeclareTextComposite{\vflip}{LRC}{a}{169} +\DeclareTextComposite{\turn}{LRC}{a}{185} + +\DeclareTextComposite{\hflip}{LRC}{\a}{233} +%\DeclareTextComposite{\vflip}{LRC}{\a}{225} +\DeclareTextComposite{\turn}{LRC}{\a}{233} + +\DeclareTextComposite{\hflip}{LRC}{r}{242} +\DeclareTextComposite{\vflip}{LRC}{r}{234} +\DeclareTextComposite{\turn}{LRC}{r}{250} + +\DeclareTextComposite{\hflip}{LRC}{k}{163} +%\DeclareTextComposite{\vflip}{LRC}{k}{107} +\DeclareTextComposite{\turn}{LRC}{k}{163} + +%\DeclareTextComposite{\hflip}{LRC}{\k}{171} +\DeclareTextComposite{\vflip}{LRC}{\k}{187} +\DeclareTextComposite{\turn}{LRC}{\k}{187} + +%\DeclareTextComposite{\hflip}{LRC}{K}{75} +\DeclareTextComposite{\vflip}{LRC}{K}{155} +\DeclareTextComposite{\turn}{LRC}{K}{155} + +%\DeclareTextComposite{\hflip}{LRC}{\K}{131} +\DeclareTextComposite{\vflip}{LRC}{\K}{139} +\DeclareTextComposite{\turn}{LRC}{\K}{139} + +%\DeclareTextComposite{\hflip}{LRC}{g}{103} +%\DeclareTextComposite{\vflip}{LRC}{g}{103} +%\DeclareTextComposite{\turn}{LRC}{g}{103} + +\DeclareTextComposite{\hflip}{LRC}{w}{175} +\DeclareTextComposite{\vflip}{LRC}{w}{191} +\DeclareTextComposite{\turn}{LRC}{w}{183} + +\DeclareTextComposite{\hflip}{LRC}{h}{168} +\DeclareTextComposite{\vflip}{LRC}{h}{168} +%\DeclareTextComposite{\turn}{LRC}{h}{104} + +\DeclareTextComposite{\hflip}{LRC}{\h}{240} +\DeclareTextComposite{\vflip}{LRC}{\h}{240} +%\DeclareTextComposite{\turn}{LRC}{\h}{232} + +\DeclareTextComposite{\hflip}{LRC}{H}{136} +\DeclareTextComposite{\vflip}{LRC}{H}{136} +%\DeclareTextComposite{\turn}{LRC}{H}{72} + +\DeclareTextComposite{\hflip}{LRC}{n}{158} +\DeclareTextComposite{\vflip}{LRC}{n}{158} +%\DeclareTextComposite{\turn}{LRC}{n}{110} + +%\DeclareTextComposite{\hflip}{LRC}{i}{105} +%\DeclareTextComposite{\vflip}{LRC}{i}{105} +%\DeclareTextComposite{\turn}{LRC}{i}{105} + +\DeclareTextComposite{\hflip}{LRC}{\i}{201} +\DeclareTextComposite{\vflip}{LRC}{\i}{201} +%\DeclareTextComposite{\turn}{LRC}{\i}{193} + +\DeclareTextComposite{\hflip}{LRC}{j}{162} +\DeclareTextComposite{\vflip}{LRC}{j}{162} +%\DeclareTextComposite{\turn}{LRC}{j}{106} + +\DeclareTextComposite{\hflip}{LRC}{\j}{178} +\DeclareTextComposite{\vflip}{LRC}{\j}{178} +%\DeclareTextComposite{\turn}{LRC}{\j}{170} + +\DeclareTextComposite{\hflip}{LRC}{J}{130} +\DeclareTextComposite{\vflip}{LRC}{J}{130} +%\DeclareTextComposite{\turn}{LRC}{J}{74} + +\DeclareTextComposite{\hflip}{LRC}{A}{129} +\DeclareTextComposite{\vflip}{LRC}{A}{129} +\DeclareTextComposite{\turn}{LRC}{A}{65} + +%\DeclareTextComposite{\hflip}{LRC}{\A}{161} +%\DeclareTextComposite{\vflip}{LRC}{\A}{161} +%\DeclareTextComposite{\turn}{LRC}{\A}{161} + +\DeclareTextComposite{\hflip}{LRC}{I}{207} +\DeclareTextComposite{\vflip}{LRC}{I}{207} +%\DeclareTextComposite{\turn}{LRC}{I}{239} + +\DeclareTextComposite{\hflip}{LRC}{p}{176} +%\DeclareTextComposite{\vflip}{LRC}{p}{112} +\DeclareTextComposite{\turn}{LRC}{p}{176} + +%\DeclareTextComposite{\hflip}{LRC}{\p}{160} +\DeclareTextComposite{\vflip}{LRC}{\p}{192} +\DeclareTextComposite{\turn}{LRC}{\p}{192} + +%\DeclareTextComposite{\hflip}{LRC}{P}{80} +%\DeclareTextComposite{\vflip}{LRC}{P}{80} +%\DeclareTextComposite{\turn}{LRC}{P}{80} + +%\DeclareTextComposite{\hflip}{LRC}{R}{82} +\DeclareTextComposite{\vflip}{LRC}{R}{154} +\DeclareTextComposite{\turn}{LRC}{R}{154} + +%\DeclareTextComposite{\hflip}{LRC}{\R}{154} +\DeclareTextComposite{\vflip}{LRC}{\R}{82} +\DeclareTextComposite{\turn}{LRC}{\R}{82} + +%\DeclareTextComposite{\hflip}{LRC}{\RR}{122} +%\DeclareTextComposite{\vflip}{LRC}{\RR}{122} +%\DeclareTextComposite{\turn}{LRC}{\RR}{122} + +\DeclareTextComposite{\hflip}{LRC}{s}{179} +%\DeclareTextComposite{\vflip}{LRC}{s}{115} +\DeclareTextComposite{\turn}{LRC}{s}{179} + +\DeclareTextComposite{\hflip}{LRC}{S}{147} +%\DeclareTextComposite{\vflip}{LRC}{S}{83} +\DeclareTextComposite{\turn}{LRC}{S}{147} + +\DeclareTextComposite{\hflip}{LRC}{\s}{203} +\DeclareTextComposite{\vflip}{LRC}{\s}{203} +%\DeclareTextComposite{\turn}{LRC}{\s}{195} + +\DeclareTextComposite{\hflip}{LRC}{\S}{204} +\DeclareTextComposite{\vflip}{LRC}{\S}{204} +%\DeclareTextComposite{\turn}{LRC}{\S}{196} + +\DeclareTextComposite{\hflip}{LRC}{\sthree}{219} +\DeclareTextComposite{\vflip}{LRC}{\sthree}{219} +%\DeclareTextComposite{\turn}{LRC}{\sthree}{211} + +\DeclareTextComposite{\hflip}{LRC}{\sfour}{235} +%\DeclareTextComposite{\vflip}{LRC}{\sfour}{227} +\DeclareTextComposite{\turn}{LRC}{\sfour}{235} + +\DeclareTextComposite{\hflip}{LRC}{\sfive}{251} +\DeclareTextComposite{\vflip}{LRC}{\sfive}{251} +%\DeclareTextComposite{\turn}{LRC}{\sfive}{243} + +\DeclareTextComposite{\hflip}{LRC}{\ssix}{220} +%\DeclareTextComposite{\vflip}{LRC}{\ssix}{212} +\DeclareTextComposite{\turn}{LRC}{\ssix}{220} + +\DeclareTextComposite{\hflip}{LRC}{\sseven}{236} +\DeclareTextComposite{\vflip}{LRC}{\sseven}{236} +%\DeclareTextComposite{\turn}{LRC}{\sseven}{228} + +\DeclareTextComposite{\hflip}{LRC}{\seight}{252} +%\DeclareTextComposite{\vflip}{LRC}{\seight}{244} +\DeclareTextComposite{\turn}{LRC}{\seight}{252} + +%\DeclareTextComposite{\hflip}{LRC}{t}{116} +\DeclareTextComposite{\vflip}{LRC}{t}{180} +\DeclareTextComposite{\turn}{LRC}{t}{180} + +%\DeclareTextComposite{\hflip}{LRC}{T}{84} +\DeclareTextComposite{\vflip}{LRC}{T}{188} +\DeclareTextComposite{\turn}{LRC}{T}{188} + +\DeclareTextComposite{\hflip}{LRC}{b}{226} +%\DeclareTextComposite{\vflip}{LRC}{b}{98} +\DeclareTextComposite{\turn}{LRC}{b}{226} + +\DeclareTextComposite{\hflip}{LRC}{B}{194} +%\DeclareTextComposite{\vflip}{LRC}{B}{66} +\DeclareTextComposite{\turn}{LRC}{B}{194} + +%\DeclareTextComposite{\hflip}{LRC}{e}{101} +\DeclareTextComposite{\vflip}{LRC}{e}{165} +\DeclareTextComposite{\turn}{LRC}{e}{165} + +%\DeclareTextComposite{\hflip}{LRC}{E}{69} +\DeclareTextComposite{\vflip}{LRC}{E}{133} +\DeclareTextComposite{\turn}{LRC}{E}{133} + +%\DeclareTextComposite{\hflip}{LRC}{m}{109} +\DeclareTextComposite{\vflip}{LRC}{m}{149} +\DeclareTextComposite{\turn}{LRC}{m}{149} + +\DeclareTextComposite{\hflip}{LRC}{l}{148} +\DeclareTextComposite{\vflip}{LRC}{l}{140} +\DeclareTextComposite{\turn}{LRC}{l}{156} + +%\DeclareTextComposite{\hflip}{LRC}{\ng}{173} +%\DeclareTextComposite{\vflip}{LRC}{\ng}{173} +%\DeclareTextComposite{\turn}{LRC}{\ng}{173} + +%\DeclareTextComposite{\hflip}{LRC}{\NG}{141} +%\DeclareTextComposite{\vflip}{LRC}{\NG}{141} +%\DeclareTextComposite{\turn}{LRC}{\NG}{141} + +%\DeclareTextComposite{\hflip}{LRC}{\ing}{181} +\DeclareTextComposite{\vflip}{LRC}{\ing}{245} +\DeclareTextComposite{\turn}{LRC}{\ing}{245} + +%\DeclareTextComposite{\hflip}{LRC}{\Ing}{189} +\DeclareTextComposite{\vflip}{LRC}{\Ing}{253} +\DeclareTextComposite{\turn}{LRC}{\Ing}{253} + +%\DeclareTextComposite{\hflip}{LRC}{\ING}{157} +%\DeclareTextComposite{\vflip}{LRC}{\ING}{157} +%\DeclareTextComposite{\turn}{LRC}{\ING}{157} + +%\DeclareTextComposite{\hflip}{LRC}{d}{100} +%\DeclareTextComposite{\vflip}{LRC}{d}{100} +%\DeclareTextComposite{\turn}{LRC}{d}{100} + +%\DeclareTextComposite{\hflip}{LRC}{\d}{68} +%\DeclareTextComposite{\vflip}{LRC}{\d}{68} +%\DeclareTextComposite{\turn}{LRC}{\d}{68} + +%\DeclareTextComposite{\hflip}{LRC}{D}{164} +%\DeclareTextComposite{\vflip}{LRC}{D}{164} +%\DeclareTextComposite{\turn}{LRC}{D}{164} + +%\DeclareTextComposite{\hflip}{LRC}{o}{111} +\DeclareTextComposite{\vflip}{LRC}{o}{255} +\DeclareTextComposite{\turn}{LRC}{o}{255} + +\DeclareRuneSeparators{LRC} + +% \end{macrocode} +% +%</arc> +% +%<*ara> +% +% \subsubsection{The Anglo-Frisian Runes} +% \begin{macrocode} +% THE ANGLO-FRISIAN RUNES + +\DeclareFontEncoding{LRA}{}{} +\DeclareFontSubstitution{LRA}{frua}{m}{n} + +\DeclareFontFamily{LRA}{frua}{} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{n}{fruamn} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{m}{fruamm} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{s}{fruams} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{t}{fruamt} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{r}{fruamr} +\DeclareFontShapeWithSizes{LRA}{frua}{m}{q}{fruamq} + +\DeclareFontShapeWithSizes{LRA}{frua}{l}{n}{frualn} +\DeclareFontShapeWithSizes{LRA}{frua}{l}{m}{frualm} +\DeclareFontShapeWithSizes{LRA}{frua}{l}{s}{fruals} +\DeclareFontShapeWithSizes{LRA}{frua}{l}{t}{frualt} +\DeclareFontShapeWithSizes{LRA}{frua}{l}{r}{frualr} +\DeclareFontShapeWithSizes{LRA}{frua}{l}{q}{frualq} + +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{n}{fruabn} +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{m}{fruabm} +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{s}{fruabs} +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{t}{fruabt} +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{r}{fruabr} +\DeclareFontShapeWithSizes{LRA}{frua}{bx}{q}{fruabq} + +\DeclareFontShapeWithSizes{LRA}{frua}{n}{n}{fruann} +\DeclareFontShapeWithSizes{LRA}{frua}{n}{m}{fruanm} +\DeclareFontShapeWithSizes{LRA}{frua}{n}{s}{fruans} +\DeclareFontShapeWithSizes{LRA}{frua}{n}{t}{fruant} +\DeclareFontShapeWithSizes{LRA}{frua}{n}{r}{fruanr} +\DeclareFontShapeWithSizes{LRA}{frua}{n}{q}{fruanq} + +\DeclareFontShapeWithSizes{LRA}{frua}{k}{n}{fruakn} +\DeclareFontShapeWithSizes{LRA}{frua}{k}{m}{fruakm} +\DeclareFontShapeWithSizes{LRA}{frua}{k}{s}{fruaks} +\DeclareFontShapeWithSizes{LRA}{frua}{k}{t}{fruakt} +\DeclareFontShapeWithSizes{LRA}{frua}{k}{r}{fruakr} +\DeclareFontShapeWithSizes{LRA}{frua}{k}{q}{fruakq} + +\DeclareFontShapeWithSizes{LRA}{frua}{c}{n}{fruacn} +\DeclareFontShapeWithSizes{LRA}{frua}{c}{m}{fruacm} +\DeclareFontShapeWithSizes{LRA}{frua}{c}{s}{fruacs} +\DeclareFontShapeWithSizes{LRA}{frua}{c}{t}{fruact} +\DeclareFontShapeWithSizes{LRA}{frua}{c}{r}{fruacr} +\DeclareFontShapeWithSizes{LRA}{frua}{c}{q}{fruacq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\aradefault}{frua} +\newcommand{\arafamily}{\usefont{LRA}{\aradefault}{m}{n}} +\DeclareTextFontCommand{\textara}{\arafamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +% The Anglo-Saxon Runes + +\DeclareTextSymbol{\th}{LRA}{254} +\DeclareTextSymbol{\c}{LRA}{131} +\DeclareTextSymbol{\h}{LRA}{216} +\DeclareTextSymbol{\j}{LRA}{178} +\DeclareTextSymbol{\sthree}{LRA}{211} +\DeclareTextSymbol{\sfour}{LRA}{227} +\DeclareTextSymbol{\sfive}{LRA}{243} +\DeclareTextSymbol{\ssix}{LRA}{212} +\DeclareTextSymbol{\sseven}{LRA}{228} +\DeclareTextSymbol{\seight}{LRA}{244} +\DeclareTextSymbol{\ng}{LRA}{173} +\DeclareTextSymbol{\oe}{LRA}{247} +\DeclareTextSymbol{\OE}{LRA}{215} +\DeclareTextSymbol{\d}{LRA}{164} +\DeclareTextSymbol{\ae}{LRA}{230} +\DeclareTextSymbol{\y}{LRA}{193} +\DeclareTextSymbol{\ea}{LRA}{196} +\DeclareTextSymbol{\g}{LRA}{135} +\DeclareTextSymbol{\G}{LRA}{167} +\DeclareTextSymbol{\k}{LRA}{195} +\DeclareTextSymbol{\stan}{LRA}{208} +\DeclareTextSymbol{\STAN}{LRA}{200} +\DeclareTextSymbol{\rex}{LRA}{154} + + +% Commands for mirroring Anglo-Saxon runes +% Variants that are commented out are identical to the non-mirrored form +\DeclareTextCommand{\hflip}{LRA}{} +\DeclareTextCommand{\vflip}{LRA}{} +\DeclareTextCommand{\turn}{LRA}{} + +\DeclareTextComposite{\hflip}{LRA}{f}{174} +\DeclareTextComposite{\vflip}{LRA}{f}{166} +\DeclareTextComposite{\turn}{LRA}{f}{182} + +\DeclareTextComposite{\hflip}{LRA}{F}{142} +\DeclareTextComposite{\vflip}{LRA}{F}{134} +\DeclareTextComposite{\turn}{LRA}{F}{150} + +\DeclareTextComposite{\hflip}{LRA}{u}{229} +\DeclareTextComposite{\vflip}{LRA}{u}{221} +\DeclareTextComposite{\turn}{LRA}{u}{237} + +\DeclareTextComposite{\hflip}{LRA}{U}{205} +\DeclareTextComposite{\vflip}{LRA}{U}{197} +\DeclareTextComposite{\turn}{LRA}{U}{213} + +\DeclareTextComposite{\hflip}{LRA}{\th}{238} +%\DeclareTextComposite{\vflip}{LRA}{\th}{254} +\DeclareTextComposite{\turn}{LRA}{\th}{238} + +\DeclareTextComposite{\hflip}{LRA}{o}{151} +\DeclareTextComposite{\vflip}{LRA}{o}{143} +\DeclareTextComposite{\turn}{LRA}{o}{159} + +\DeclareTextComposite{\hflip}{LRA}{r}{242} +\DeclareTextComposite{\vflip}{LRA}{r}{234} +\DeclareTextComposite{\turn}{LRA}{r}{250} + +\DeclareTextComposite{\hflip}{LRA}{c}{155} +\DeclareTextComposite{\vflip}{LRA}{c}{163} +\DeclareTextComposite{\turn}{LRA}{c}{171} + +%\DeclareTextComposite{\hflip}{LRA}{\c}{131} +\DeclareTextComposite{\vflip}{LRA}{\c}{139} +\DeclareTextComposite{\turn}{LRA}{\c}{139} + +%\DeclareTextComposite{\hflip}{LRA}{g}{103} +%\DeclareTextComposite{\vflip}{LRA}{g}{103} +%\DeclareTextComposite{\turn}{LRA}{g}{103} + +\DeclareTextComposite{\hflip}{LRA}{w}{175} +\DeclareTextComposite{\vflip}{LRA}{w}{191} +\DeclareTextComposite{\turn}{LRA}{w}{183} + +\DeclareTextComposite{\hflip}{LRA}{h}{168} +\DeclareTextComposite{\vflip}{LRA}{h}{168} +%\DeclareTextComposite{\turn}{LRA}{h}{104} + +\DeclareTextComposite{\hflip}{LRA}{H}{136} +\DeclareTextComposite{\vflip}{LRA}{H}{136} +%\DeclareTextComposite{\turn}{LRA}{H}{72} + +\DeclareTextComposite{\hflip}{LRA}{\h}{224} +\DeclareTextComposite{\vflip}{LRA}{\h}{224} +%\DeclareTextComposite{\turn}{LRA}{\h}{216} + +\DeclareTextComposite{\hflip}{LRA}{n}{158} +\DeclareTextComposite{\vflip}{LRA}{n}{158} +%\DeclareTextComposite{\turn}{LRA}{n}{110} + +%\DeclareTextComposite{\hflip}{LRA}{i}{105} +%\DeclareTextComposite{\vflip}{LRA}{i}{105} +%\DeclareTextComposite{\turn}{LRA}{i}{105} + +%\DeclareTextComposite{\hflip}{LRA}{j}{106} +%\DeclareTextComposite{\vflip}{LRA}{j}{106} +%\DeclareTextComposite{\turn}{LRA}{j}{106} + +%\DeclareTextComposite{\hflip}{LRA}{\j}{178} +%\DeclareTextComposite{\vflip}{LRA}{\j}{178} +%\DeclareTextComposite{\turn}{LRA}{\j}{178} + +%\DeclareTextComposite{\hflip}{LRA}{J}{74} +%\DeclareTextComposite{\vflip}{LRA}{J}{74} +%\DeclareTextComposite{\turn}{LRA}{J}{74} + +\DeclareTextComposite{\hflip}{LRA}{I}{207} +\DeclareTextComposite{\vflip}{LRA}{I}{207} +%\DeclareTextComposite{\turn}{LRA}{I}{239} + +\DeclareTextComposite{\hflip}{LRA}{p}{176} +%\DeclareTextComposite{\vflip}{LRA}{p}{112} +\DeclareTextComposite{\turn}{LRA}{p}{176} + +\DeclareTextComposite{\hflip}{LRA}{P}{144} +%\DeclareTextComposite{\vflip}{LRA}{P}{80} +\DeclareTextComposite{\turn}{LRA}{P}{144} + +%\DeclareTextComposite{\hflip}{LRA}{x}{120} +\DeclareTextComposite{\vflip}{LRA}{x}{107} +\DeclareTextComposite{\turn}{LRA}{x}{107} + +\DeclareTextComposite{\hflip}{LRA}{s}{179} +\DeclareTextComposite{\vflip}{LRA}{s}{179} +%\DeclareTextComposite{\turn}{LRA}{s}{115} + +\DeclareTextComposite{\hflip}{LRA}{S}{171} +\DeclareTextComposite{\vflip}{LRA}{S}{99} +\DeclareTextComposite{\turn}{LRA}{S}{155} + +\DeclareTextComposite{\hflip}{LRA}{\sthree}{219} +\DeclareTextComposite{\vflip}{LRA}{\sthree}{219} +%\DeclareTextComposite{\turn}{LRA}{\sthree}{211} + +\DeclareTextComposite{\hflip}{LRA}{\sfour}{235} +%\DeclareTextComposite{\vflip}{LRA}{\sfour}{227} +\DeclareTextComposite{\turn}{LRA}{\sfour}{235} + +\DeclareTextComposite{\hflip}{LRA}{\sfive}{251} +\DeclareTextComposite{\vflip}{LRA}{\sfive}{251} +%\DeclareTextComposite{\turn}{LRA}{\sfive}{243} + +\DeclareTextComposite{\hflip}{LRA}{\ssix}{220} +%\DeclareTextComposite{\vflip}{LRA}{\ssix}{212} +\DeclareTextComposite{\turn}{LRA}{\ssix}{220} + +\DeclareTextComposite{\hflip}{LRA}{\sseven}{236} +\DeclareTextComposite{\vflip}{LRA}{\sseven}{236} +%\DeclareTextComposite{\turn}{LRA}{\sseven}{228} + +\DeclareTextComposite{\hflip}{LRA}{\seight}{252} +%\DeclareTextComposite{\vflip}{LRA}{\seight}{244} +\DeclareTextComposite{\turn}{LRA}{\seight}{252} + +%\DeclareTextComposite{\hflip}{LRA}{t}{116} +\DeclareTextComposite{\vflip}{LRA}{t}{180} +\DeclareTextComposite{\turn}{LRA}{t}{180} + +\DeclareTextComposite{\hflip}{LRA}{b}{226} +%\DeclareTextComposite{\vflip}{LRA}{b}{98} +\DeclareTextComposite{\turn}{LRA}{b}{226} + +\DeclareTextComposite{\hflip}{LRA}{B}{194} +%\DeclareTextComposite{\vflip}{LRA}{B}{66} +\DeclareTextComposite{\turn}{LRA}{B}{194} + +%\DeclareTextComposite{\hflip}{LRA}{e}{101} +\DeclareTextComposite{\vflip}{LRA}{e}{165} +\DeclareTextComposite{\turn}{LRA}{e}{165} + +%\DeclareTextComposite{\hflip}{LRA}{m}{109} +\DeclareTextComposite{\vflip}{LRA}{m}{149} +\DeclareTextComposite{\turn}{LRA}{m}{149} + +\DeclareTextComposite{\hflip}{LRA}{l}{148} +\DeclareTextComposite{\vflip}{LRA}{l}{140} +\DeclareTextComposite{\turn}{LRA}{l}{156} + +%\DeclareTextComposite{\hflip}{LRA}{\ng}{173} +%\DeclareTextComposite{\vflip}{LRA}{\ng}{173} +%\DeclareTextComposite{\turn}{LRA}{\ng}{173} + +%\DeclareTextComposite{\hflip}{LRA}{d}{100} +%\DeclareTextComposite{\vflip}{LRA}{d}{100} +%\DeclareTextComposite{\turn}{LRA}{d}{100} + +%\DeclareTextComposite{\hflip}{LRA}{D}{68} +%\DeclareTextComposite{\vflip}{LRA}{D}{68} +%\DeclareTextComposite{\turn}{LRA}{D}{68} + +%\DeclareTextComposite{\hflip}{LRA}{\d}{164} +%\DeclareTextComposite{\vflip}{LRA}{\d}{164} +%\DeclareTextComposite{\turn}{LRA}{\d}{164} + +%\DeclareTextComposite{\hflip}{LRA}{\oe}{246} +\DeclareTextComposite{\vflip}{LRA}{\oe}{255} +\DeclareTextComposite{\turn}{LRA}{\oe}{255} + +%\DeclareTextComposite{\hflip}{LRA}{\OE}{215} +\DeclareTextComposite{\vflip}{LRA}{\OE}{223} +\DeclareTextComposite{\turn}{LRA}{\OE}{223} + +\DeclareTextComposite{\hflip}{LRA}{a}{177} +\DeclareTextComposite{\vflip}{LRA}{a}{169} +\DeclareTextComposite{\turn}{LRA}{a}{185} + +\DeclareTextComposite{\hflip}{LRA}{\ae}{198} +\DeclareTextComposite{\vflip}{LRA}{\ae}{206} +\DeclareTextComposite{\turn}{LRA}{\ae}{214} + +\DeclareTextComposite{\hflip}{LRA}{y}{232} +\DeclareTextComposite{\vflip}{LRA}{y}{240} +\DeclareTextComposite{\turn}{LRA}{y}{248} + +\DeclareTextComposite{\hflip}{LRA}{\y}{201} +\DeclareTextComposite{\vflip}{LRA}{\y}{209} +\DeclareTextComposite{\turn}{LRA}{\y}{217} + +\DeclareTextComposite{\hflip}{LRA}{Y}{233} +\DeclareTextComposite{\vflip}{LRA}{Y}{241} +\DeclareTextComposite{\turn}{LRA}{Y}{249} + +%\DeclareTextComposite{\hflip}{LRA}{\ea}{196} +\DeclareTextComposite{\vflip}{LRA}{\ea}{204} +\DeclareTextComposite{\turn}{LRA}{\ea}{204} + +%\DeclareTextComposite{\hflip}{LRA}{\g}{135} +%\DeclareTextComposite{\vflip}{LRA}{\g}{135} +%\DeclareTextComposite{\turn}{LRA}{\g}{135} + +%\DeclareTextComposite{\hflip}{LRA}{\G}{167} +%\DeclareTextComposite{\vflip}{LRA}{\G}{167} +%\DeclareTextComposite{\turn}{LRA}{\G}{167} + +%\DeclareTextComposite{\hflip}{LRA}{k}{107} +\DeclareTextComposite{\vflip}{LRA}{k}{120} +\DeclareTextComposite{\turn}{LRA}{k}{120} + +%\DeclareTextComposite{\hflip}{LRA}{\k}{195} +%\DeclareTextComposite{\vflip}{LRA}{\k}{195} +%\DeclareTextComposite{\turn}{LRA}{\k}{195} + +%\DeclareTextComposite{\hflip}{LRA}{\rex}{154} +\DeclareTextComposite{\vflip}{LRA}{\rex}{186} +\DeclareTextComposite{\turn}{LRA}{\rex}{186} + +\DeclareTextComposite{\hflip}{LRA}{q}{81} +\DeclareTextComposite{\vflip}{LRA}{q}{81} +%\DeclareTextComposite{\turn}{LRA}{q}{113} + +%\DeclareTextComposite{\hflip}{LRA}{\stan}{208} +%\DeclareTextComposite{\vflip}{LRA}{\stan}{208} +%\DeclareTextComposite{\turn}{LRA}{\stan}{208} + + +\DeclareRuneSeparators{LRA} + +% \end{macrocode} +% +%</ara> +% +%<*arn> +% +% \subsubsection{The Normal Runes} +% \begin{macrocode} +% THE NORMAL RUNES +\DeclareFontEncoding{LRN}{}{} +\DeclareFontSubstitution{LRN}{frun}{m}{n} + +\DeclareFontFamily{LRN}{frun}{} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{n}{frunmn} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{m}{frunmm} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{s}{frunms} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{t}{frunmt} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{r}{frunmr} +\DeclareFontShapeWithSizes{LRN}{frun}{m}{q}{frunmq} + +\DeclareFontShapeWithSizes{LRN}{frun}{l}{n}{frunln} +\DeclareFontShapeWithSizes{LRN}{frun}{l}{m}{frunlm} +\DeclareFontShapeWithSizes{LRN}{frun}{l}{s}{frunls} +\DeclareFontShapeWithSizes{LRN}{frun}{l}{t}{frunlt} +\DeclareFontShapeWithSizes{LRN}{frun}{l}{r}{frunlr} +\DeclareFontShapeWithSizes{LRN}{frun}{l}{q}{frunlq} + +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{n}{frunbn} +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{m}{frunbm} +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{s}{frunbs} +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{t}{frunbt} +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{r}{frunbr} +\DeclareFontShapeWithSizes{LRN}{frun}{bx}{q}{frunbq} + +\DeclareFontShapeWithSizes{LRN}{frun}{n}{n}{frunnn} +\DeclareFontShapeWithSizes{LRN}{frun}{n}{m}{frunnm} +\DeclareFontShapeWithSizes{LRN}{frun}{n}{s}{frunns} +\DeclareFontShapeWithSizes{LRN}{frun}{n}{t}{frunnt} +\DeclareFontShapeWithSizes{LRN}{frun}{n}{r}{frunnr} +\DeclareFontShapeWithSizes{LRN}{frun}{n}{q}{frunnq} + +\DeclareFontShapeWithSizes{LRN}{frun}{k}{n}{frunkn} +\DeclareFontShapeWithSizes{LRN}{frun}{k}{m}{frunkm} +\DeclareFontShapeWithSizes{LRN}{frun}{k}{s}{frunks} +\DeclareFontShapeWithSizes{LRN}{frun}{k}{t}{frunkt} +\DeclareFontShapeWithSizes{LRN}{frun}{k}{r}{frunkr} +\DeclareFontShapeWithSizes{LRN}{frun}{k}{q}{frunkq} + +\DeclareFontShapeWithSizes{LRN}{frun}{c}{n}{fruncn} +\DeclareFontShapeWithSizes{LRN}{frun}{c}{m}{fruncm} +\DeclareFontShapeWithSizes{LRN}{frun}{c}{s}{fruncs} +\DeclareFontShapeWithSizes{LRN}{frun}{c}{t}{frunct} +\DeclareFontShapeWithSizes{LRN}{frun}{c}{r}{fruncr} +\DeclareFontShapeWithSizes{LRN}{frun}{c}{q}{fruncq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\arndefault}{frun} +\newcommand{\arnfamily}{\usefont{LRN}{\arndefault}{m}{n}} +\DeclareTextFontCommand{\textarn}{\arnfamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +% The normal runes +\DeclareTextSymbol{\th}{LRN}{254} +\DeclareTextSymbol{\TH}{LRN}{222} +\DeclareTextSymbol{\A}{LRN}{193} +\DeclareTextSymbol{\m}{LRN}{165} +\DeclareTextSymbol{\M}{LRN}{133} + +\DeclareTextComposite{\.}{LRN}{u}{121} % y +\DeclareTextComposite{\.}{LRN}{k}{103} % g +\DeclareTextComposite{\.}{LRN}{i}{101} % e +\DeclareTextComposite{\.}{LRN}{t}{100} % e +\DeclareTextComposite{\"}{LRN}{b}{112} % p +\DeclareTextComposite{\"}{LRN}{m}{165} % +\DeclareTextComposite{\"}{LRN}{M}{133} % + +% Commands for mirroring and rotating runes + +\DeclareTextCommand{\hflip}{LRN}{} +\DeclareTextCommand{\vflip}{LRN}{} +\DeclareTextCommand{\turn}{LRN}{} + +\DeclareTextComposite{\hflip}{LRN}{f}{142} +\DeclareTextComposite{\vflip}{LRN}{f}{134} +\DeclareTextComposite{\turn}{LRN}{f}{150} + +\DeclareTextComposite{\hflip}{LRN}{F}{174} +\DeclareTextComposite{\vflip}{LRN}{F}{166} +\DeclareTextComposite{\turn}{LRN}{F}{182} + +\DeclareTextComposite{\hflip}{LRN}{u}{229} +\DeclareTextComposite{\vflip}{LRN}{u}{221} +\DeclareTextComposite{\turn}{LRN}{u}{237} + +\DeclareTextComposite{\hflip}{LRN}{y}{241} +\DeclareTextComposite{\vflip}{LRN}{y}{233} +\DeclareTextComposite{\turn}{LRN}{y}{249} + +\DeclareTextComposite{\hflip}{LRN}{\th}{246} +%\DeclareTextComposite{\vflip}{LRN}{\th}{254} +\DeclareTextComposite{\turn}{LRN}{\th}{246} + +\DeclareTextComposite{\hflip}{LRN}{\TH}{214} +%\DeclareTextComposite{\vflip}{LRN}{\TH}{222} +\DeclareTextComposite{\turn}{LRN}{\TH}{214} + +\DeclareTextComposite{\hflip}{LRN}{\dh}{232} +%\DeclareTextComposite{\vflip}{LRN}{\dh}{240} +\DeclareTextComposite{\turn}{LRN}{\dh}{232} + +\DeclareTextComposite{\hflip}{LRN}{\TH}{200} +%\DeclareTextComposite{\vflip}{LRN}{\TH}{208} +\DeclareTextComposite{\turn}{LRN}{\TH}{200} + +\DeclareTextComposite{\hflip}{LRN}{A}{177} +\DeclareTextComposite{\vflip}{LRN}{A}{169} +\DeclareTextComposite{\turn}{LRN}{A}{185} + +\DeclareTextComposite{\hflip}{LRN}{\A}{201} +\DeclareTextComposite{\vflip}{LRN}{\A}{201} +%\DeclareTextComposite{\turn}{LRN}{\A}{193} + +\DeclareTextComposite{\hflip}{LRN}{r}{242} +\DeclareTextComposite{\vflip}{LRN}{r}{234} +\DeclareTextComposite{\turn}{LRN}{r}{250} + +\DeclareTextComposite{\hflip}{LRN}{k}{243} +\DeclareTextComposite{\vflip}{LRN}{k}{235} +\DeclareTextComposite{\turn}{LRN}{k}{251} + +\DeclareTextComposite{\hflip}{LRN}{g}{143} +\DeclareTextComposite{\vflip}{LRN}{g}{135} +\DeclareTextComposite{\turn}{LRN}{g}{151} + +%\DeclareTextComposite{\hflip}{LRN}{h}{104} +%\DeclareTextComposite{\vflip}{LRN}{h}{104} +%\DeclareTextComposite{\turn}{LRN}{h}{104} + +\DeclareTextComposite{\hflip}{LRN}{n}{97} +\DeclareTextComposite{\vflip}{LRN}{n}{97} +%\DeclareTextComposite{\turn}{LRN}{n}{110} + +%\DeclareTextComposite{\hflip}{LRN}{i}{105} +%\DeclareTextComposite{\vflip}{LRN}{i}{105} +%\DeclareTextComposite{\turn}{LRN}{i}{105} + +\DeclareTextComposite{\hflip}{LRN}{a}{110} +\DeclareTextComposite{\vflip}{LRN}{a}{110} +%\DeclareTextComposite{\turn}{LRN}{a}{97} + +\DeclareTextComposite{\hflip}{LRN}{s}{179} +\DeclareTextComposite{\vflip}{LRN}{s}{179} +%\DeclareTextComposite{\turn}{LRN}{s}{115} + +\DeclareTextComposite{\hflip}{LRN}{S}{147} +\DeclareTextComposite{\vflip}{LRN}{S}{139} +\DeclareTextComposite{\turn}{LRN}{S}{155} + +%\DeclareTextComposite{\hflip}{LRN}{t}{116} +\DeclareTextComposite{\vflip}{LRN}{t}{180} +\DeclareTextComposite{\turn}{LRN}{t}{180} + +%\DeclareTextComposite{\hflip}{LRN}{d}{100} +\DeclareTextComposite{\vflip}{LRN}{d}{188} +\DeclareTextComposite{\turn}{LRN}{d}{188} + +\DeclareTextComposite{\hflip}{LRN}{b}{226} +%\DeclareTextComposite{\vflip}{LRN}{b}{98} +\DeclareTextComposite{\turn}{LRN}{b}{226} + +\DeclareTextComposite{\hflip}{LRN}{B}{194} +%\DeclareTextComposite{\vflip}{LRN}{B}{66} +\DeclareTextComposite{\turn}{LRN}{B}{194} + +\DeclareTextComposite{\hflip}{LRN}{p}{176} +%\DeclareTextComposite{\vflip}{LRN}{p}{112} +\DeclareTextComposite{\turn}{LRN}{p}{176} + +%\DeclareTextComposite{\hflip}{LRN}{m}{109} +\DeclareTextComposite{\vflip}{LRN}{m}{82} +\DeclareTextComposite{\turn}{LRN}{m}{82} + +%\DeclareTextComposite{\hflip}{LRN}{M}{77} +\DeclareTextComposite{\vflip}{LRN}{M}{149} +\DeclareTextComposite{\turn}{LRN}{M}{149} + +%\DeclareTextComposite{\hflip}{LRN}{\m}{165} +\DeclareTextComposite{\vflip}{LRN}{\m}{157} +\DeclareTextComposite{\turn}{LRN}{\m}{157} + +%\DeclareTextComposite{\hflip}{LRN}{\M}{133} +\DeclareTextComposite{\vflip}{LRN}{\M}{141} +\DeclareTextComposite{\turn}{LRN}{\M}{141} + +\DeclareTextComposite{\hflip}{LRN}{p}{176} +%\DeclareTextComposite{\vflip}{LRN}{p}{112} +\DeclareTextComposite{\turn}{LRN}{p}{176} + +\DeclareTextComposite{\hflip}{LRN}{l}{148} +\DeclareTextComposite{\vflip}{LRN}{l}{140} +\DeclareTextComposite{\turn}{LRN}{l}{156} + +%\DeclareTextComposite{\hflip}{LRN}{R}{82} +\DeclareTextComposite{\vflip}{LRN}{R}{109} +\DeclareTextComposite{\turn}{LRN}{R}{109} + +\DeclareRuneSeparators{LRN} + +% \end{macrocode} +% +%</arn> +% +%<*art> +% +% \subsubsection{The Short-Twig Runes} +% \begin{macrocode} +% THE SHORT-TWIG RUNES +\DeclareFontEncoding{LRT}{}{} +\DeclareFontSubstitution{LRT}{frut}{m}{n} + +\DeclareFontFamily{LRT}{frut}{} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{n}{frutmn} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{m}{frutmm} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{s}{frutms} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{t}{frutmt} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{r}{frutmr} +\DeclareFontShapeWithSizes{LRT}{frut}{m}{q}{frutmq} + +\DeclareFontShapeWithSizes{LRT}{frut}{l}{n}{frutln} +\DeclareFontShapeWithSizes{LRT}{frut}{l}{m}{frutlm} +\DeclareFontShapeWithSizes{LRT}{frut}{l}{s}{frutls} +\DeclareFontShapeWithSizes{LRT}{frut}{l}{t}{frutlt} +\DeclareFontShapeWithSizes{LRT}{frut}{l}{r}{frutlr} +\DeclareFontShapeWithSizes{LRT}{frut}{l}{q}{frutlq} + +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{n}{frutbn} +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{m}{frutbm} +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{s}{frutbs} +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{t}{frutbt} +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{r}{frutbr} +\DeclareFontShapeWithSizes{LRT}{frut}{bx}{q}{frutbq} + +\DeclareFontShapeWithSizes{LRT}{frut}{n}{n}{frutnn} +\DeclareFontShapeWithSizes{LRT}{frut}{n}{m}{frutnm} +\DeclareFontShapeWithSizes{LRT}{frut}{n}{s}{frutns} +\DeclareFontShapeWithSizes{LRT}{frut}{n}{t}{frutnt} +\DeclareFontShapeWithSizes{LRT}{frut}{n}{r}{frutnr} +\DeclareFontShapeWithSizes{LRT}{frut}{n}{q}{frutnq} + +\DeclareFontShapeWithSizes{LRT}{frut}{k}{n}{frutkn} +\DeclareFontShapeWithSizes{LRT}{frut}{k}{m}{frutkm} +\DeclareFontShapeWithSizes{LRT}{frut}{k}{s}{frutks} +\DeclareFontShapeWithSizes{LRT}{frut}{k}{t}{frutkt} +\DeclareFontShapeWithSizes{LRT}{frut}{k}{r}{frutkr} +\DeclareFontShapeWithSizes{LRT}{frut}{k}{q}{frutkq} + +\DeclareFontShapeWithSizes{LRT}{frut}{c}{n}{frutcn} +\DeclareFontShapeWithSizes{LRT}{frut}{c}{m}{frutcm} +\DeclareFontShapeWithSizes{LRT}{frut}{c}{s}{frutcs} +\DeclareFontShapeWithSizes{LRT}{frut}{c}{t}{frutct} +\DeclareFontShapeWithSizes{LRT}{frut}{c}{r}{frutcr} +\DeclareFontShapeWithSizes{LRT}{frut}{c}{q}{frutcq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\artdefault}{frut} +\newcommand{\artfamily}{\usefont{LRT}{\artdefault}{m}{n}} +\DeclareTextFontCommand{\textart}{\artfamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +% The short-twig runes +\DeclareTextSymbol{\th}{LRT}{254} +\DeclareTextSymbol{\TH}{LRT}{222} +\DeclareTextSymbol{\A}{LRT}{193} +\DeclareTextSymbol{\h}{LRT}{160} +\DeclareTextSymbol{\s}{LRT}{179} +\DeclareTextSymbol{\t}{LRT}{180} +\DeclareTextSymbol{\m}{LRT}{165} +\DeclareTextSymbol{\b}{LRT}{194} +\DeclareTextSymbol{\l}{LRT}{188} +\DeclareTextSymbol{\R}{LRT}{154} + +% Commands for mirroring and rotating runes + +\DeclareTextCommand{\hflip}{LRT}{} +\DeclareTextCommand{\vflip}{LRT}{} +\DeclareTextCommand{\turn}{LRT}{} + +\DeclareTextComposite{\hflip}{LRT}{f}{142} +\DeclareTextComposite{\vflip}{LRT}{f}{134} +\DeclareTextComposite{\turn}{LRT}{f}{150} + +\DeclareTextComposite{\hflip}{LRT}{F}{174} +\DeclareTextComposite{\vflip}{LRT}{F}{166} +\DeclareTextComposite{\turn}{LRT}{F}{182} + +\DeclareTextComposite{\hflip}{LRT}{u}{229} +\DeclareTextComposite{\vflip}{LRT}{u}{221} +\DeclareTextComposite{\turn}{LRT}{u}{237} + +\DeclareTextComposite{\hflip}{LRT}{U}{205} +\DeclareTextComposite{\vflip}{LRT}{U}{197} +\DeclareTextComposite{\turn}{LRT}{U}{213} + +\DeclareTextComposite{\hflip}{LRT}{\th}{246} +%\DeclareTextComposite{\vflip}{LRT}{\th}{254} +\DeclareTextComposite{\turn}{LRT}{\th}{246} + +\DeclareTextComposite{\hflip}{LRT}{\TH}{214} +%\DeclareTextComposite{\vflip}{LRT}{\TH}{222} +\DeclareTextComposite{\turn}{LRT}{\TH}{214} + +\DeclareTextComposite{\hflip}{LRT}{A}{162} +\DeclareTextComposite{\vflip}{LRT}{A}{98} +\DeclareTextComposite{\turn}{LRT}{A}{129} + +\DeclareTextComposite{\hflip}{LRT}{\A}{194} +\DeclareTextComposite{\vflip}{LRT}{\A}{194} +%\DeclareTextComposite{\turn}{LRT}{\A}{193} + +\DeclareTextComposite{\hflip}{LRT}{r}{242} +\DeclareTextComposite{\vflip}{LRT}{r}{234} +\DeclareTextComposite{\turn}{LRT}{r}{250} + +\DeclareTextComposite{\hflip}{LRT}{k}{243} +\DeclareTextComposite{\vflip}{LRT}{k}{235} +\DeclareTextComposite{\turn}{LRT}{k}{251} + +%\DeclareTextComposite{\hflip}{LRT}{h}{104} +%\DeclareTextComposite{\vflip}{LRT}{h}{104} +%\DeclareTextComposite{\turn}{LRT}{h}{104} + +%\DeclareTextComposite{\hflip}{LRT}{\h}{160} +%\DeclareTextComposite{\vflip}{LRT}{\h}{160} +%\DeclareTextComposite{\turn}{LRT}{\h}{160} + +\DeclareTextComposite{\hflip}{LRT}{n}{97} +\DeclareTextComposite{\vflip}{LRT}{n}{161} +\DeclareTextComposite{\turn}{LRT}{n}{158} + +%\DeclareTextComposite{\hflip}{LRT}{i}{105} +%\DeclareTextComposite{\vflip}{LRT}{i}{105} +%\DeclareTextComposite{\turn}{LRT}{i}{105} + +\DeclareTextComposite{\hflip}{LRT}{a}{110} +\DeclareTextComposite{\vflip}{LRT}{a}{158} +\DeclareTextComposite{\turn}{LRT}{a}{161} + +%\DeclareTextComposite{\hflip}{LRT}{s}{115} +\DeclareTextComposite{\vflip}{LRT}{s}{82} +\DeclareTextComposite{\turn}{LRT}{s}{82} + +%\DeclareTextComposite{\hflip}{LRT}{\s}{179} +\DeclareTextComposite{\vflip}{LRT}{\s}{154} +\DeclareTextComposite{\turn}{LRT}{\s}{154} + +\DeclareTextComposite{\hflip}{LRT}{t}{108} +\DeclareTextComposite{\vflip}{LRT}{t}{156} +\DeclareTextComposite{\turn}{LRT}{t}{140} + +\DeclareTextComposite{\hflip}{LRT}{\t}{188} +\DeclareTextComposite{\vflip}{LRT}{\t}{196} +\DeclareTextComposite{\turn}{LRT}{\t}{204} + +\DeclareTextComposite{\hflip}{LRT}{T}{76} +\DeclareTextComposite{\vflip}{LRT}{T}{164} +\DeclareTextComposite{\turn}{LRT}{T}{148} + +\DeclareTextComposite{\hflip}{LRT}{b}{129} +\DeclareTextComposite{\vflip}{LRT}{b}{65} +\DeclareTextComposite{\turn}{LRT}{b}{162} + +\DeclareTextComposite{\hflip}{LRT}{\b}{193} +\DeclareTextComposite{\vflip}{LRT}{\b}{193} +%\DeclareTextComposite{\turn}{LRT}{\b}{194} + +%\DeclareTextComposite{\hflip}{LRT}{m}{109} +\DeclareTextComposite{\vflip}{LRT}{m}{141} +\DeclareTextComposite{\turn}{LRT}{m}{141} + +%\DeclareTextComposite{\hflip}{LRT}{\m}{165} +\DeclareTextComposite{\vflip}{LRT}{\m}{157} +\DeclareTextComposite{\turn}{LRT}{\m}{157} + +%\DeclareTextComposite{\hflip}{LRT}{M}{77} +\DeclareTextComposite{\vflip}{LRT}{M}{149} +\DeclareTextComposite{\turn}{LRT}{M}{149} + +\DeclareTextComposite{\hflip}{LRT}{l}{116} +\DeclareTextComposite{\vflip}{LRT}{l}{140} +\DeclareTextComposite{\turn}{LRT}{l}{156} + +\DeclareTextComposite{\hflip}{LRT}{\l}{180} +\DeclareTextComposite{\vflip}{LRT}{\l}{204} +\DeclareTextComposite{\turn}{LRT}{\l}{196} + +\DeclareTextComposite{\hflip}{LRT}{L}{84} +\DeclareTextComposite{\vflip}{LRT}{L}{148} +\DeclareTextComposite{\turn}{LRT}{L}{164} + +%\DeclareTextComposite{\hflip}{LRT}{R}{82} +\DeclareTextComposite{\vflip}{LRT}{R}{115} +\DeclareTextComposite{\turn}{LRT}{R}{115} + +%\DeclareTextComposite{\hflip}{LRT}{\R}{154} +\DeclareTextComposite{\vflip}{LRT}{\R}{179} +\DeclareTextComposite{\turn}{LRT}{\R}{179} + +\DeclareRuneSeparators{LRT} + +% \end{macrocode} +% +%</art> +% +%<*arl> +% +% \subsubsection{The Staveless Runes} +% \begin{macrocode} +% THE STAVELESS RUNES +\DeclareFontEncoding{LRL}{}{} +\DeclareFontSubstitution{LRL}{frul}{m}{n} + +\DeclareFontFamily{LRL}{frul}{} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{n}{frulmn} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{m}{frulmm} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{s}{frulms} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{t}{frulmt} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{r}{frulmr} +\DeclareFontShapeWithSizes{LRL}{frul}{m}{q}{frulmq} + +\DeclareFontShapeWithSizes{LRL}{frul}{l}{n}{frulln} +\DeclareFontShapeWithSizes{LRL}{frul}{l}{m}{frullm} +\DeclareFontShapeWithSizes{LRL}{frul}{l}{s}{frulls} +\DeclareFontShapeWithSizes{LRL}{frul}{l}{t}{frullt} +\DeclareFontShapeWithSizes{LRL}{frul}{l}{r}{frullr} +\DeclareFontShapeWithSizes{LRL}{frul}{l}{q}{frullq} + +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{n}{frulbn} +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{m}{frulbm} +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{s}{frulbs} +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{t}{frulbt} +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{r}{frulbr} +\DeclareFontShapeWithSizes{LRL}{frul}{bx}{q}{frulbq} + +\DeclareFontShapeWithSizes{LRL}{frul}{n}{n}{frulnn} +\DeclareFontShapeWithSizes{LRL}{frul}{n}{m}{frulnm} +\DeclareFontShapeWithSizes{LRL}{frul}{n}{s}{frulns} +\DeclareFontShapeWithSizes{LRL}{frul}{n}{t}{frulnt} +\DeclareFontShapeWithSizes{LRL}{frul}{n}{r}{frulnr} +\DeclareFontShapeWithSizes{LRL}{frul}{n}{q}{frulnq} + +\DeclareFontShapeWithSizes{LRL}{frul}{k}{n}{frulkn} +\DeclareFontShapeWithSizes{LRL}{frul}{k}{m}{frulkm} +\DeclareFontShapeWithSizes{LRL}{frul}{k}{s}{frulks} +\DeclareFontShapeWithSizes{LRL}{frul}{k}{t}{frulkt} +\DeclareFontShapeWithSizes{LRL}{frul}{k}{r}{frulkr} +\DeclareFontShapeWithSizes{LRL}{frul}{k}{q}{frulkq} + +\DeclareFontShapeWithSizes{LRL}{frul}{c}{n}{frulcn} +\DeclareFontShapeWithSizes{LRL}{frul}{c}{m}{frulcm} +\DeclareFontShapeWithSizes{LRL}{frul}{c}{s}{frulcs} +\DeclareFontShapeWithSizes{LRL}{frul}{c}{t}{frulct} +\DeclareFontShapeWithSizes{LRL}{frul}{c}{r}{frulcr} +\DeclareFontShapeWithSizes{LRL}{frul}{c}{q}{frulcq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\arldefault}{frul} +\newcommand{\arlfamily}{\usefont{LRL}{\arldefault}{m}{n}} +\DeclareTextFontCommand{\textarl}{\arlfamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +%The staveless runes +\DeclareTextSymbol{\A}{LRL}{193} +\DeclareTextSymbol{\th}{LRL}{254} + +% Commands for mirroring and rotating runes + +\DeclareTextCommand{\hflip}{LRL}{} +\DeclareTextCommand{\vflip}{LRL}{} +\DeclareTextCommand{\turn}{LRL}{} + +%\DeclareTextComposite{\hflip}{LRL}{f}{102} +\DeclareTextComposite{\vflip}{LRL}{f}{134} +\DeclareTextComposite{\turn}{LRL}{f}{134} + +\DeclareTextComposite{\hflip}{LRL}{u}{114} +\DeclareTextComposite{\vflip}{LRL}{u}{221} +\DeclareTextComposite{\turn}{LRL}{u}{234} + +%\DeclareTextComposite{\hflip}{LRL}{\th}{254} +%\DeclareTextComposite{\vflip}{LRL}{\th}{254} +%\DeclareTextComposite{\turn}{LRL}{\th}{254} + +\DeclareTextComposite{\hflip}{LRL}{A}{98} +\DeclareTextComposite{\vflip}{LRL}{A}{129} +\DeclareTextComposite{\turn}{LRL}{A}{162} + +%\DeclareTextComposite{\hflip}{LRL}{\A}{193} +\DeclareTextComposite{\vflip}{LRL}{\A}{201} +\DeclareTextComposite{\turn}{LRL}{\A}{201} + +\DeclareTextComposite{\hflip}{LRL}{r}{117} +\DeclareTextComposite{\vflip}{LRL}{r}{234} +\DeclareTextComposite{\turn}{LRL}{r}{221} + +%\DeclareTextComposite{\hflip}{LRL}{k}{107} +\DeclareTextComposite{\vflip}{LRL}{k}{104} +\DeclareTextComposite{\turn}{LRL}{k}{104} + +%\DeclareTextComposite{\hflip}{LRL}{h}{104} +\DeclareTextComposite{\vflip}{LRL}{h}{107} +\DeclareTextComposite{\turn}{LRL}{h}{107} + +\DeclareTextComposite{\hflip}{LRL}{n}{97} +\DeclareTextComposite{\vflip}{LRL}{n}{158} +\DeclareTextComposite{\turn}{LRL}{n}{161} + +%\DeclareTextComposite{\hflip}{LRL}{i}{105} +%\DeclareTextComposite{\vflip}{LRL}{i}{105} +%\DeclareTextComposite{\turn}{LRL}{i}{105} + +\DeclareTextComposite{\hflip}{LRL}{a}{110} +\DeclareTextComposite{\vflip}{LRL}{a}{161} +\DeclareTextComposite{\turn}{LRL}{a}{158} + +%\DeclareTextComposite{\hflip}{LRL}{s}{115} +\DeclareTextComposite{\vflip}{LRL}{s}{179} +\DeclareTextComposite{\turn}{LRL}{s}{179} + +\DeclareTextComposite{\hflip}{LRL}{t}{108} +\DeclareTextComposite{\vflip}{LRL}{t}{156} +\DeclareTextComposite{\turn}{LRL}{t}{140} + +\DeclareTextComposite{\hflip}{LRL}{b}{65} +\DeclareTextComposite{\vflip}{LRL}{b}{162} +\DeclareTextComposite{\turn}{LRL}{b}{129} + +%\DeclareTextComposite{\hflip}{LRL}{m}{109} +\DeclareTextComposite{\vflip}{LRL}{m}{82} +\DeclareTextComposite{\turn}{LRL}{m}{82} + +\DeclareTextComposite{\hflip}{LRL}{l}{116} +\DeclareTextComposite{\vflip}{LRL}{l}{140} +\DeclareTextComposite{\turn}{LRL}{l}{156} + +%\DeclareTextComposite{\hflip}{LRL}{R}{82} +\DeclareTextComposite{\vflip}{LRL}{R}{109} +\DeclareTextComposite{\turn}{LRL}{R}{109} + +\DeclareRuneSeparators{LRL} + +% \end{macrocode} +% +%</arl> +% +%<*arm> +% +% \subsubsection{The Medieval Runes} +% \begin{macrocode} +% THE MEDIEVAL RUNES +\DeclareFontEncoding{LRM}{}{} +\DeclareFontSubstitution{LRM}{frum}{m}{n} + +\DeclareFontFamily{LRM}{frum}{} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{n}{frummn} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{m}{frummm} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{s}{frumms} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{t}{frummt} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{r}{frummr} +\DeclareFontShapeWithSizes{LRM}{frum}{m}{q}{frummq} + +\DeclareFontShapeWithSizes{LRM}{frum}{l}{n}{frumln} +\DeclareFontShapeWithSizes{LRM}{frum}{l}{m}{frumlm} +\DeclareFontShapeWithSizes{LRM}{frum}{l}{s}{frumls} +\DeclareFontShapeWithSizes{LRM}{frum}{l}{t}{frumlt} +\DeclareFontShapeWithSizes{LRM}{frum}{l}{r}{frumlr} +\DeclareFontShapeWithSizes{LRM}{frum}{l}{q}{frumlq} + +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{n}{frumbn} +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{m}{frumbm} +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{s}{frumbs} +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{t}{frumbt} +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{r}{frumbr} +\DeclareFontShapeWithSizes{LRM}{frum}{bx}{q}{frumbq} + +\DeclareFontShapeWithSizes{LRM}{frum}{n}{n}{frumnn} +\DeclareFontShapeWithSizes{LRM}{frum}{n}{m}{frumnm} +\DeclareFontShapeWithSizes{LRM}{frum}{n}{s}{frumns} +\DeclareFontShapeWithSizes{LRM}{frum}{n}{t}{frumnt} +\DeclareFontShapeWithSizes{LRM}{frum}{n}{r}{frumnr} +\DeclareFontShapeWithSizes{LRM}{frum}{n}{q}{frumnq} + +\DeclareFontShapeWithSizes{LRM}{frum}{k}{n}{frumkn} +\DeclareFontShapeWithSizes{LRM}{frum}{k}{m}{frumkm} +\DeclareFontShapeWithSizes{LRM}{frum}{k}{s}{frumks} +\DeclareFontShapeWithSizes{LRM}{frum}{k}{t}{frumkt} +\DeclareFontShapeWithSizes{LRM}{frum}{k}{r}{frumkr} +\DeclareFontShapeWithSizes{LRM}{frum}{k}{q}{frumkq} + +\DeclareFontShapeWithSizes{LRM}{frum}{c}{n}{frumcn} +\DeclareFontShapeWithSizes{LRM}{frum}{c}{m}{frumcm} +\DeclareFontShapeWithSizes{LRM}{frum}{c}{s}{frumcs} +\DeclareFontShapeWithSizes{LRM}{frum}{c}{t}{frumct} +\DeclareFontShapeWithSizes{LRM}{frum}{c}{r}{frumcr} +\DeclareFontShapeWithSizes{LRM}{frum}{c}{q}{frumcq} + +% USER COMMANDS FOR SELECTING FONT FAMILY + +\newcommand{\armdefault}{frum} +\newcommand{\armfamily}{\usefont{LRM}{\armdefault}{m}{n}} +\DeclareTextFontCommand{\textarm}{\armfamily} + +% USER COMMANDS FOR ACCESSING SPECIAL SYMBOLS IN THE DIFFERENT +% FONT FAMILIES AND DIFFERENT ENCODINGS + +%The medieval runes + +\DeclareTextSymbol{\a}{LRM}{29} +\DeclareTextSymbol{\adot}{LRM}{209} +\DeclareTextSymbol{\tbar}{LRM}{164} +\DeclareTextSymbol{\tflag}{LRM}{180} +\DeclareTextSymbol{\tdot}{LRM}{188} +\DeclareTextSymbol{\tring}{LRM}{156} +\DeclareTextSymbol{\D}{LRM}{132} +\DeclareTextSymbol{\c}{LRM}{155} +\DeclareTextSymbol{\e}{LRM}{73} +\DeclareTextSymbol{\g}{LRM}{95} +\DeclareTextSymbol{\h}{LRM}{168} +\DeclareTextSymbol{\l}{LRM}{76} +\DeclareTextSymbol{\ldot}{LRM}{204} +\DeclareTextSymbol{\lbar}{LRM}{172} +\DeclareTextSymbol{\lflag}{LRM}{196} +\DeclareTextSymbol{\lring}{LRM}{124} +\DeclareTextSymbol{\m}{LRM}{220} +\DeclareTextSymbol{\n}{LRM}{166} +\DeclareTextSymbol{\ndot}{LRM}{190} +\DeclareTextSymbol{\N}{LRM}{198} +\DeclareTextSymbol{\p}{LRM}{232} +\DeclareTextSymbol{\P}{LRM}{176} +\DeclareTextSymbol{\Pdots}{LRM}{184} +\DeclareTextSymbol{\q}{LRM}{220} +\DeclareTextSymbol{\Q}{LRM}{81} +\DeclareTextSymbol{\r}{LRM}{82} +\DeclareTextSymbol{\rdot}{LRM}{1} +\DeclareTextSymbol{\s}{LRM}{179} +\DeclareTextSymbol{\S}{LRM}{187} +\DeclareTextSymbol{\T}{LRM}{212} +\DeclareTextSymbol{\th}{LRM}{254} +\DeclareTextSymbol{\TH}{LRM}{222} +\DeclareTextSymbol{\thth}{LRM}{158} +\DeclareTextSymbol{\dh}{LRM}{240} +\DeclareTextSymbol{\DH}{LRM}{208} +\DeclareTextSymbol{\v}{LRM}{87} +\DeclareTextSymbol{\V}{LRM}{94} +\DeclareTextSymbol{\x}{LRM}{128} +\DeclareTextSymbol{\X}{LRM}{136} +\DeclareTextSymbol{\y}{LRM}{85} +\DeclareTextSymbol{\Y}{LRM}{93} +\DeclareTextSymbol{\z}{LRM}{163} +\DeclareTextSymbol{\aa}{LRM}{229} +\DeclareTextSymbol{\ae}{LRM}{230} +\DeclareTextSymbol{\o}{LRM}{248} +\DeclareTextSymbol{\O}{LRM}{216} +\DeclareTextSymbol{\oo}{LRM}{215} +\DeclareTextSymbol{\oO}{LRM}{223} +\DeclareTextSymbol{\ey}{LRM}{74} +\DeclareTextSymbol{\arlaug}{LRM}{177} +\DeclareTextSymbol{\tvimadur}{LRM}{185} +\DeclareTextSymbol{\belgthor}{LRM}{193} + +\DeclareTextComposite{\.}{LRM}{a}{29} % \.a, variant a +\DeclareTextComposite{\'}{LRM}{a}{209} % \'a, variant a +\DeclareTextComposite{\.}{LRM}{c}{155} % \.c, variant c +\DeclareTextComposite{\^}{LRM}{c}{67} % \^c variant c +\DeclareTextComposite{\.}{LRM}{t}{100} % \.t d +\DeclareTextComposite{\~}{LRM}{t}{180} % \~t variant d +\DeclareTextComposite{\=}{LRM}{t}{164} % \=t variant d +\DeclareTextComposite{\'}{LRM}{t}{188} % \'t variant d +\DeclareTextComposite{\^}{LRM}{t}{156} % \^t variant d +\DeclareTextComposite{\.}{LRM}{T}{68} % \.T D variant d +\DeclareTextComposite{\"}{LRM}{T}{132} % \"T \D variant d +\DeclareTextComposite{\.}{LRM}{i}{101} % \.i e +\DeclareTextComposite{\=}{LRM}{i}{73} % \=i \e variant e +\DeclareTextComposite{\^}{LRM}{i}{69} % \^i E variant e +\DeclareTextComposite{\.}{LRM}{k}{103} % \.k g +\DeclareTextComposite{\'}{LRM}{k}{71} % \'k G variant g +\DeclareTextComposite{\=}{LRM}{k}{95} % \=k \g variant g +\DeclareTextComposite{\.}{LRM}{l}{76} % \.l L +\DeclareTextComposite{\~}{LRM}{l}{196} % \~l variant l +\DeclareTextComposite{\=}{LRM}{l}{172} % \=l variant l +\DeclareTextComposite{\'}{LRM}{l}{204} % \'l variant l +\DeclareTextComposite{\^}{LRM}{l}{124} % \^l variant l +\DeclareTextComposite{\.}{LRM}{n}{166} % \.n variant n +\DeclareTextComposite{\'}{LRM}{n}{190} % \'n variant n +\DeclareTextComposite{\.}{LRM}{N}{198} % \.N variant n +\DeclareTextComposite{\"}{LRM}{b}{112} % \"b p +\DeclareTextComposite{\.}{LRM}{b}{232} % \.b variant p +\DeclareTextComposite{\"}{LRM}{\P}{184} % \"\P variant p +\DeclareTextComposite{\.}{LRM}{r}{1} % \.r variant r +\DeclareTextComposite{\.}{LRM}{\th}{240} % \dh +\DeclareTextComposite{\.}{LRM}{\TH}{208} % \DH variant \dh +\DeclareTextComposite{\.}{LRM}{f}{86} % \.f variant v +\DeclareTextComposite{\~}{LRM}{f}{94} % \~f variant v +\DeclareTextComposite{\'}{LRM}{f}{87} % \'f variant v +\DeclareTextComposite{\.}{LRM}{u}{121} % \.u v y +\DeclareTextComposite{\"}{LRM}{u}{85} % \"u y +\DeclareTextComposite{\=}{LRM}{u}{93} % \=u y + +% Commands for flipping and turning runes + +\DeclareTextCommand{\hflip}{LRM}{} +\DeclareTextCommand{\vflip}{LRM}{} +\DeclareTextCommand{\turn}{LRM}{} + +\DeclareTextComposite{\hflip}{LRM}{a}{110} +\DeclareTextComposite{\vflip}{LRM}{a}{129} +\DeclareTextComposite{\turn}{LRM}{a}{126} + +\DeclareTextComposite{\hflip}{LRM}{\adot}{190} +\DeclareTextComposite{\vflip}{LRM}{\adot}{201} +\DeclareTextComposite{\turn}{LRM}{\adot}{182} + +\DeclareTextComposite{\hflip}{LRM}{\a}{166} +\DeclareTextComposite{\vflip}{LRM}{\a}{31} +\DeclareTextComposite{\turn}{LRM}{\a}{30} + +\DeclareTextComposite{\hflip}{LRM}{A}{75} +\DeclareTextComposite{\vflip}{LRM}{A}{220} +\DeclareTextComposite{\turn}{LRM}{A}{107} + +\DeclareTextComposite{\hflip}{LRM}{b}{160} +%\DeclareTextComposite{\vflip}{LRM}{b}{98} +\DeclareTextComposite{\turn}{LRM}{b}{160} + +\DeclareTextComposite{\hflip}{LRM}{B}{96} +\DeclareTextComposite{\vflip}{LRM}{B}{80} +\DeclareTextComposite{\turn}{LRM}{B}{113} + +%\DeclareTextComposite{\hflip}{LRM}{c}{99} +\DeclareTextComposite{\vflip}{LRM}{c}{195} +\DeclareTextComposite{\turn}{LRM}{c}{195} + +%\DeclareTextComposite{\hflip}{LRM}{\c}{155} +\DeclareTextComposite{\vflip}{LRM}{\c}{147} +\DeclareTextComposite{\turn}{LRM}{\c}{147} + +%\DeclareTextComposite{\hflip}{LRM}{C}{67} +\DeclareTextComposite{\vflip}{LRM}{C}{91} +\DeclareTextComposite{\turn}{LRM}{C}{91} + +\DeclareTextComposite{\hflip}{LRM}{d}{76} +\DeclareTextComposite{\vflip}{LRM}{d}{141} +\DeclareTextComposite{\turn}{LRM}{d}{140} + +%\DeclareTextComposite{\hflip}{LRM}{\e}{73} +%\DeclareTextComposite{\vflip}{LRM}{\e}{73} +%\DeclareTextComposite{\turn}{LRM}{\e}{73} + +%\DeclareTextComposite{\hflip}{LRM}{E}{69} +%\DeclareTextComposite{\vflip}{LRM}{E}{69} +%\DeclareTextComposite{\turn}{LRM}{E}{69} + +\DeclareTextComposite{\hflip}{LRM}{\tflag}{196} +\DeclareTextComposite{\vflip}{LRM}{\tflag}{181} +\DeclareTextComposite{\turn}{LRM}{\tflag}{197} + +\DeclareTextComposite{\hflip}{LRM}{\tbar}{172} +\DeclareTextComposite{\vflip}{LRM}{\tbar}{165} +\DeclareTextComposite{\turn}{LRM}{\tbar}{173} + +\DeclareTextComposite{\hflip}{LRM}{\tdot}{204} +\DeclareTextComposite{\vflip}{LRM}{\tdot}{189} +\DeclareTextComposite{\turn}{LRM}{\tdot}{205} + +\DeclareTextComposite{\hflip}{LRM}{\tring}{124} +\DeclareTextComposite{\vflip}{LRM}{\tring}{157} +\DeclareTextComposite{\turn}{LRM}{\tring}{125} + +%\DeclareTextComposite{\hflip}{LRM}{D}{68} +\DeclareTextComposite{\vflip}{LRM}{D}{92} +\DeclareTextComposite{\turn}{LRM}{D}{92} + +%\DeclareTextComposite{\hflip}{LRM}{\D}{132} +\DeclareTextComposite{\vflip}{LRM}{\D}{133} +\DeclareTextComposite{\turn}{LRM}{\D}{133} + +\DeclareTextComposite{\hflip}{LRM}{f}{6} +\DeclareTextComposite{\vflip}{LRM}{f}{14} +\DeclareTextComposite{\turn}{LRM}{f}{22} + +\DeclareTextComposite{\hflip}{LRM}{F}{154} +\DeclareTextComposite{\vflip}{LRM}{F}{162} +\DeclareTextComposite{\turn}{LRM}{F}{170} + +\DeclareTextComposite{\hflip}{LRM}{g}{159} +\DeclareTextComposite{\vflip}{LRM}{g}{167} +\DeclareTextComposite{\turn}{LRM}{g}{175} + +\DeclareTextComposite{\hflip}{LRM}{\g}{2} +\DeclareTextComposite{\vflip}{LRM}{\g}{10} +\DeclareTextComposite{\turn}{LRM}{\g}{18} + +\DeclareTextComposite{\hflip}{LRM}{G}{7} +\DeclareTextComposite{\vflip}{LRM}{G}{15} +\DeclareTextComposite{\turn}{LRM}{G}{23} + +\DeclareTextComposite{\hflip}{LRM}{k}{220} +\DeclareTextComposite{\vflip}{LRM}{k}{75} +\DeclareTextComposite{\turn}{LRM}{k}{65} + +\DeclareTextComposite{\hflip}{LRM}{l}{116} +\DeclareTextComposite{\vflip}{LRM}{l}{148} +\DeclareTextComposite{\turn}{LRM}{l}{149} + +\DeclareTextComposite{\hflip}{LRM}{\lbar}{164} +\DeclareTextComposite{\vflip}{LRM}{\lbar}{173} +\DeclareTextComposite{\turn}{LRM}{\lbar}{165} + +\DeclareTextComposite{\hflip}{LRM}{\lflag}{180} +\DeclareTextComposite{\vflip}{LRM}{\lflag}{197} +\DeclareTextComposite{\turn}{LRM}{\lflag}{181} + +\DeclareTextComposite{\hflip}{LRM}{\ldot}{188} +\DeclareTextComposite{\vflip}{LRM}{\ldot}{205} +\DeclareTextComposite{\turn}{LRM}{\ldot}{189} + +\DeclareTextComposite{\hflip}{LRM}{\lring}{156} +\DeclareTextComposite{\vflip}{LRM}{\lring}{125} +\DeclareTextComposite{\turn}{LRM}{\lring}{157} + +\DeclareTextComposite{\hflip}{LRM}{\l}{100} +\DeclareTextComposite{\vflip}{LRM}{\l}{140} +\DeclareTextComposite{\turn}{LRM}{\l}{141} + +%\DeclareTextComposite{\hflip}{LRM}{m}{109} +\DeclareTextComposite{\vflip}{LRM}{m}{121} +\DeclareTextComposite{\turn}{LRM}{m}{121} + +\DeclareTextComposite{\hflip}{LRM}{\m}{107} +\DeclareTextComposite{\vflip}{LRM}{\m}{65} +\DeclareTextComposite{\turn}{LRM}{\m}{75} + +\DeclareTextComposite{\hflip}{LRM}{n}{97} +\DeclareTextComposite{\vflip}{LRM}{n}{126} +\DeclareTextComposite{\turn}{LRM}{n}{129} + +\DeclareTextComposite{\hflip}{LRM}{\n}{29} +\DeclareTextComposite{\vflip}{LRM}{\n}{30} +\DeclareTextComposite{\turn}{LRM}{\n}{31} + +\DeclareTextComposite{\hflip}{LRM}{\ndot}{209} +\DeclareTextComposite{\vflip}{LRM}{\ndot}{182} +\DeclareTextComposite{\turn}{LRM}{\ndot}{201} + +\DeclareTextComposite{\hflip}{LRM}{N}{230} +\DeclareTextComposite{\vflip}{LRM}{N}{230} +%\DeclareTextComposite{\turn}{LRM}{N}{78} + +\DeclareTextComposite{\hflip}{LRM}{\N}{206} +\DeclareTextComposite{\vflip}{LRM}{\N}{206} +%\DeclareTextComposite{\turn}{LRM}{\N}{198} + +\DeclareTextComposite{\hflip}{LRM}{o}{79} +\DeclareTextComposite{\vflip}{LRM}{o}{255} +\DeclareTextComposite{\turn}{LRM}{o}{151} + +\DeclareTextComposite{\hflip}{LRM}{p}{152} +%\DeclareTextComposite{\vflip}{LRM}{p}{112} +\DeclareTextComposite{\turn}{LRM}{p}{152} + +\DeclareTextComposite{\hflip}{LRM}{\p}{233} +\DeclareTextComposite{\vflip}{LRM}{\p}{224} +\DeclareTextComposite{\turn}{LRM}{\p}{225} + +\DeclareTextComposite{\hflip}{LRM}{\P}{81} +%\DeclareTextComposite{\vflip}{LRM}{\P}{176} +\DeclareTextComposite{\turn}{LRM}{\P}{81} + +\DeclareTextComposite{\hflip}{LRM}{\Pdots}{192} +%\DeclareTextComposite{\vflip}{LRM}{\Pdots}{184} +\DeclareTextComposite{\turn}{LRM}{\Pdots}{192} + +\DeclareTextComposite{\hflip}{LRM}{P}{113} +\DeclareTextComposite{\vflip}{LRM}{P}{66} +\DeclareTextComposite{\turn}{LRM}{P}{96} + +\DeclareTextComposite{\hflip}{LRM}{q}{80} +\DeclareTextComposite{\vflip}{LRM}{q}{96} +\DeclareTextComposite{\turn}{LRM}{q}{66} + +\DeclareTextComposite{\hflip}{LRM}{\q}{107} +\DeclareTextComposite{\vflip}{LRM}{\q}{65} +\DeclareTextComposite{\turn}{LRM}{\q}{75} + +\DeclareTextComposite{\hflip}{LRM}{\Q}{176} +%\DeclareTextComposite{\vflip}{LRM}{\Q}{192} +\DeclareTextComposite{\turn}{LRM}{\Q}{176} + +\DeclareTextComposite{\hflip}{LRM}{r}{242} +\DeclareTextComposite{\vflip}{LRM}{r}{234} +\DeclareTextComposite{\turn}{LRM}{r}{250} + +\DeclareTextComposite{\hflip}{LRM}{\rdot}{17} +\DeclareTextComposite{\vflip}{LRM}{\rdot}{9} +\DeclareTextComposite{\turn}{LRM}{\rdot}{25} + +\DeclareTextComposite{\hflip}{LRM}{\r}{218} +\DeclareTextComposite{\vflip}{LRM}{\r}{210} +\DeclareTextComposite{\turn}{LRM}{\r}{226} + +\DeclareTextComposite{\hflip}{LRM}{s}{179} +\DeclareTextComposite{\vflip}{LRM}{s}{179} +%\DeclareTextComposite{\turn}{LRM}{s}{115} + +\DeclareTextComposite{\hflip}{LRM}{S}{227} +\DeclareTextComposite{\vflip}{LRM}{S}{235} +\DeclareTextComposite{\turn}{LRM}{S}{243} + +\DeclareTextComposite{\hflip}{LRM}{\S}{203} +\DeclareTextComposite{\vflip}{LRM}{\S}{211} +\DeclareTextComposite{\turn}{LRM}{\S}{219} + +\DeclareTextComposite{\hflip}{LRM}{t}{108} +\DeclareTextComposite{\vflip}{LRM}{t}{149} +\DeclareTextComposite{\turn}{LRM}{t}{148} + +%\DeclareTextComposite{\hflip}{LRM}{T}{84} +\DeclareTextComposite{\vflip}{LRM}{T}{128} +\DeclareTextComposite{\turn}{LRM}{T}{128} + +%\DeclareTextComposite{\hflip}{LRM}{\T}{212} +%\DeclareTextComposite{\vflip}{LRM}{\T}{212} +%\DeclareTextComposite{\turn}{LRM}{\T}{212} + +\DeclareTextComposite{\hflip}{LRM}{\th}{238} +%\DeclareTextComposite{\vflip}{LRM}{\th}{254} +\DeclareTextComposite{\turn}{LRM}{\th}{238} + +\DeclareTextComposite{\hflip}{LRM}{\TH}{221} +%\DeclareTextComposite{\vflip}{LRM}{\TH}{222} +\DeclareTextComposite{\turn}{LRM}{\TH}{221} + +\DeclareTextComposite{\hflip}{LRM}{\thth}{174} +%\DeclareTextComposite{\vflip}{LRM}{\thth}{158} +\DeclareTextComposite{\turn}{LRM}{\thth}{174} + +\DeclareTextComposite{\hflip}{LRM}{\dh}{241} +%\DeclareTextComposite{\vflip}{LRM}{\dh}{240} +\DeclareTextComposite{\turn}{LRM}{\dh}{241} + +\DeclareTextComposite{\hflip}{LRM}{\DH}{200} +%\DeclareTextComposite{\vflip}{LRM}{\DH}{208} +\DeclareTextComposite{\turn}{LRM}{\DH}{200} + +\DeclareTextComposite{\hflip}{LRM}{u}{245} +\DeclareTextComposite{\vflip}{LRM}{u}{237} +\DeclareTextComposite{\turn}{LRM}{u}{253} + +\DeclareTextComposite{\hflip}{LRM}{v}{134} +\DeclareTextComposite{\vflip}{LRM}{v}{142} +\DeclareTextComposite{\turn}{LRM}{v}{150} + +\DeclareTextComposite{\hflip}{LRM}{\v}{4} +\DeclareTextComposite{\vflip}{LRM}{\v}{12} +\DeclareTextComposite{\turn}{LRM}{\v}{20} + +\DeclareTextComposite{\hflip}{LRM}{V}{5} +\DeclareTextComposite{\vflip}{LRM}{V}{13} +\DeclareTextComposite{\turn}{LRM}{V}{21} + +\DeclareTextComposite{\hflip}{LRM}{\V}{3} +\DeclareTextComposite{\vflip}{LRM}{\V}{11} +\DeclareTextComposite{\turn}{LRM}{\V}{19} + +\DeclareTextComposite{\hflip}{LRM}{w}{135} +\DeclareTextComposite{\vflip}{LRM}{w}{127} +\DeclareTextComposite{\turn}{LRM}{w}{143} + +\DeclareTextComposite{\hflip}{LRM}{x}{144} +\DeclareTextComposite{\vflip}{LRM}{x}{144} +%\DeclareTextComposite{\turn}{LRM}{x}{120} + +%\DeclareTextComposite{\hflip}{LRM}{\x}{128} +\DeclareTextComposite{\vflip}{LRM}{\x}{84} +\DeclareTextComposite{\turn}{LRM}{\x}{84} + +%\DeclareTextComposite{\hflip}{LRM}{X}{88} +%\DeclareTextComposite{\vflip}{LRM}{X}{88} +%\DeclareTextComposite{\turn}{LRM}{X}{88} + +%\DeclareTextComposite{\hflip}{LRM}{\X}{136} +%\DeclareTextComposite{\vflip}{LRM}{\X}{136} +%\DeclareTextComposite{\turn}{LRM}{\X}{136} + +%\DeclareTextComposite{\hflip}{LRM}{y}{121} +\DeclareTextComposite{\vflip}{LRM}{y}{109} +\DeclareTextComposite{\turn}{LRM}{y}{109} + +\DeclareTextComposite{\hflip}{LRM}{\y}{137} +\DeclareTextComposite{\vflip}{LRM}{\y}{145} +\DeclareTextComposite{\turn}{LRM}{\y}{153} + +%\DeclareTextComposite{\hflip}{LRM}{Y}{89} +\DeclareTextComposite{\vflip}{LRM}{Y}{249} +\DeclareTextComposite{\turn}{LRM}{Y}{249} + +\DeclareTextComposite{\hflip}{LRM}{\Y}{130} +\DeclareTextComposite{\vflip}{LRM}{\Y}{138} +\DeclareTextComposite{\turn}{LRM}{\Y}{146} + +\DeclareTextComposite{\hflip}{LRM}{z}{194} +\DeclareTextComposite{\vflip}{LRM}{z}{186} +\DeclareTextComposite{\turn}{LRM}{z}{202} + +%\DeclareTextComposite{\hflip}{LRM}{\z}{163} +\DeclareTextComposite{\vflip}{LRM}{\z}{171} +\DeclareTextComposite{\turn}{LRM}{\z}{171} + +%\DeclareTextComposite{\hflip}{LRM}{Z}{90} +\DeclareTextComposite{\vflip}{LRM}{Z}{251} +\DeclareTextComposite{\turn}{LRM}{Z}{251} + +%\DeclareTextComposite{\hflip}{LRM}{Y}{89} +\DeclareTextComposite{\vflip}{LRM}{Y}{249} +\DeclareTextComposite{\turn}{LRM}{Y}{249} + +\DeclareTextComposite{\hflip}{LRM}{\aa}{213} +%\DeclareTextComposite{\vflip}{LRM}{\aa}{229} +\DeclareTextComposite{\turn}{LRM}{\aa}{213} + +\DeclareTextComposite{\hflip}{LRM}{\ae}{78} +\DeclareTextComposite{\vflip}{LRM}{\ae}{78} +%\DeclareTextComposite{\turn}{LRM}{\ae}{230} + +\DeclareTextComposite{\hflip}{LRM}{\o}{247} +\DeclareTextComposite{\vflip}{LRM}{\o}{247} +%\DeclareTextComposite{\turn}{LRM}{\o}{246} + +\DeclareTextComposite{\hflip}{LRM}{\O}{217} +\DeclareTextComposite{\vflip}{LRM}{\O}{217} +%\DeclareTextComposite{\turn}{LRM}{\O}{216} + +\DeclareTextComposite{\hflip}{LRM}{\oo}{199} +\DeclareTextComposite{\vflip}{LRM}{\oo}{191} +\DeclareTextComposite{\turn}{LRM}{\oo}{239} + +\DeclareTextComposite{\hflip}{LRM}{\oO}{207} +\DeclareTextComposite{\vflip}{LRM}{\oO}{183} +\DeclareTextComposite{\turn}{LRM}{\oO}{231} + +\DeclareTextComposite{\hflip}{LRM}{\arlaug}{178} +\DeclareTextComposite{\vflip}{LRM}{\arlaug}{169} +\DeclareTextComposite{\turn}{LRM}{\arlaug}{161} + +\DeclareRuneSeparators{LRM} + +% \end{macrocode} +% +%</arm> +% +%<*frubase> +% +% \section{The Font Macros and Programs} +% +% \subsection{Base file --- \texttt{frubase.mf}} +% \file{frubase.mf} +% \changes{v1.0}{2000/11/11}{Base file \texttt{frubase.mf}.} +% +% This file defines all the macros used in the source programs +% for the font. +% \begin{macrocode} +string allrunes ; +allrunes = "2.0" ; +if proofing > 1 : + message "Base file for font `allrunes', version " & allrunes ; +fi +% \end{macrocode} +% And then the font is identified as \texttt{"allrunes"}. +% \begin{macrocode} +font_identifier:="allrunes"; + +font_size 10pt#; + +mode_setup; + +if mag <= 1: + magadj = 1; + tightness_f=0.0; +elseif mag <= 4: + magadj = 1-(mag-1)/10; + tightness_f=0.0; +else: + magadj = 1-(4-1)/10; + tightness_f=0.01; +fi; + +if loweredbars=true: + topjointrounding=0.3; + topbarred=0.85; +else: + topjointrounding=1.0; + topbarred=1.0; +fi; + +if barshape="straight": + curve_d=0; +elseif barshape="curved": + curve_d=40; +elseif barshape="rounded": + curve_d=90; +fi; + +if withlines=true: + toprounding=1.0; +else: + toprounding=0.3; +fi; + +if boldness="light": + stem_w#=0.4pt#*magadj; + base_width#=3.8pt#; + margin_width#=1.1pt#; +elseif boldness="medium": + stem_w#=0.57pt#*magadj; + base_width#=4pt#; + margin_width#=1.2pt#; +elseif boldness="bold": + stem_w#=0.8pt#*magadj; + base_width#=4.2pt#; + margin_width#=1.2pt#; +fi; + +endrounding=0.3; +jointrounding=1.0; +round_adj_f=0.2; + +circle_w#=0.9*stem_w#; +stem_h#=7pt#; +full_height_f=1; +nib_w#=0.01pt#; +%stem_midpoint_f=0.52; + +freedot_f=1.3; +sepdot_f=1.6; +stemdot_f=2.2; +endstemdot_f=1.7; +stemcircle_f=3.2; +endstemcircle_f=2.8; +twig_length_f=3.1; + +define_pixels(nib_w); +define_pixels(stem_h); +define_whole_pixels(stem_w); +define_whole_pixels(circle_w); +define_pixels(margin_width); + +def beginrunechar(expr code, width) = + beginchar(code, width, stem_h#, 0.4*stem_h#); + pickup pencircle scaled nib_w; +% pickup nullpen; + if withlines=true: + filldraw barpath( -stem_w/2, 0-stem_w/2, jointrounding, + w+stem_w/2, 0-stem_w/2, jointrounding, 0, 0, 0); + filldraw barpath( -stem_w/2, h+stem_w/2, jointrounding, + w+stem_w/2, h+stem_w/2, jointrounding, 0, 0, 10); + fi +enddef; + +def dotpath (expr x, y, width_f, i) = +% begingroup +% save dot_path; +% path dot_path; +% +% z[i] = .5stem_w*width_f*(down); +% z[i+1]l = .5stem_w*width_f*(dir -135); +% z[i+1]r = .5stem_w*width_f*(dir -45); +% z[i+2]l = .5stem_w*width_f*(left); +% z[i+2]r = .5stem_w*width_f*(right); +% z[i+3]l = .5stem_w*width_f*(dir 135); +% z[i+3]r = .5stem_w*width_f*(dir 45); +% z[i+4] = .5stem_w*width_f*up; +% +% dot_path = z[i]..z[i+1]l..z[i+2]l.. +% z[i+3]l..z[i+4]..z[i+3]r.. +% z[i+2]r..z[i+1]r..cycle; +% dot_path shifted (x, y) +% endgroup + fullcircle scaled (width_f*stem_w) shifted (x,y) +enddef; + +def draw_circle (expr x, y, width_f, i) = + pickup pencircle scaled circle_w; + draw fullcircle scaled (width_f*stem_w) shifted (x,y) +enddef; + + +def barpath (expr x_start, y_start, start_rounding_f, + x_end, y_end, end_rounding_f, + curve_angle, tightness_f, i) = + begingroup + save dx, dy; + save l; + save xy_angle, a; + save midshift; + save bar_path; + path bar_path; + + dx = x_end-x_start; + dy = y_end-y_start; + l = dx++dy; + xy_angle = angle(dx,dy)-90; + a = curve_angle/2; + if a = 0: midshift=0; + else: midshift = l*(1-cosd a)/(2*sind a);fi + + z[i] = .5stem_w*start_rounding_f*down rotated -a; +% z[i+1]l = .5stem_w*start_rounding_f[left, dir -135] rotated -a; +% z[i+1]r = .5stem_w*start_rounding_f[right, dir -45] rotated -a; + z[i+1]l = .5stem_w*((1+round_adj_f*(1-start_rounding_f))*cosd -135, start_rounding_f*sind -135) rotated -a; + z[i+1]r = .5stem_w*((1+round_adj_f*(1-start_rounding_f))*cosd -45, start_rounding_f*sind -45) rotated -a; + .5[z[i+2]r, z[i+2]l] = origin; + z[i+2]r - z[i+2]l = stem_w * dir -a; + .5[z[i+3]r, z[i+3]l] = (midshift, l/2); + z[i+3]r - z[i+3]l = (stem_w*(1-tightness_f), 0); + .5[z[i+4]r, z[i+4]l] = (0, l); + z[i+4]r - z[i+4]l = stem_w * dir a; +% z[i+5]l = (.5stem_w*end_rounding_f[left, dir 135] rotated a) + (0, l); +% z[i+5]r = (.5stem_w*end_rounding_f[right, dir 45] rotated a) + (0, l); + z[i+5]l = (.5stem_w*((1+round_adj_f*(1-start_rounding_f))*cosd 135, end_rounding_f*sind 135) rotated a) + (0, l); + z[i+5]r = (.5stem_w*((1+round_adj_f*(1-start_rounding_f))*cosd 45, end_rounding_f*sind 45) rotated a) + (0, l); + z[i+6] = (.5stem_w*end_rounding_f*up rotated a) + (0, l); + + bar_path = z[i]{dir(180-a)}..z[i+1]l..z[i+2]l{dir(90-a)}.. + z[i+3]l{up}..z[i+4]l{dir(90+a)}..z[i+5]l.. + z[i+6]{dir a}..z[i+5]r..z[i+4]r{dir(a-90)}.. + z[i+3]r{down}.. + z[i+2]r{dir(-90-a)}..z[i+1]r.. + cycle; + bar_path rotated xy_angle shifted (x_start, y_start) + endgroup +enddef; + +def draw_arrowhead (expr x_centre, y_centre, arrowhead_w_f, arrowhead_l_f, dir, i) = + save arrowhead_w_adj_f; + save arrowhead_path; + path arrowhead_path; + + if barshape="straight": + arrowhead_w_adj_f=arrowhead_w_f+0.7; + filldraw barpath( 0, -arrowhead_l_f/2*stem_w+stem_w/2, endrounding, + 0, arrowhead_l_f/2*stem_w, endrounding, 0, tightness_f, i) + rotated dir shifted (x_centre, y_centre); + filldraw barpath(-arrowhead_w_adj_f/2*stem_w, -arrowhead_l_f/2*stem_w, endrounding, + arrowhead_w_adj_f/2*stem_w, -arrowhead_l_f/2*stem_w, endrounding, + 0, tightness_f, i+10) + rotated dir shifted (x_centre, y_centre); + elseif barshape="curved": + arrowhead_w_adj_f=arrowhead_w_f; + z[i] =(0,-arrowhead_l_f/2*stem_w*0.92); + z[i+1]l=(-arrowhead_w_adj_f/2*stem_w,-arrowhead_l_f/2*stem_w); + z[i+1]r=( arrowhead_w_adj_f/2*stem_w,-arrowhead_l_f/2*stem_w); + z[i+2]l=(-arrowhead_w_adj_f/4*stem_w*1.4,stem_w/6); + z[i+2]r=( arrowhead_w_adj_f/4*stem_w*1.4,stem_w/6); + z[i+3]l=(-0.4*stem_w,(arrowhead_l_f/2-0.5)*stem_w); + z[i+3]r=( 0.4*stem_w,(arrowhead_l_f/2-0.5)*stem_w); + z[i+4] =(0,arrowhead_l_f/2*stem_w); + arrowhead_path = z[i]{left}..z[i+1]l..z[i+2]l..z[i+3]l{up}.. + z[i+4]{right}..z[i+3]r{down}..z[i+2]r..z[i+1]r..cycle; + filldraw arrowhead_path rotated dir shifted (x_centre, y_centre); + elseif barshape="rounded": + arrowhead_w_adj_f=arrowhead_w_f+0.6; + filldraw barpath( 0, -arrowhead_l_f/2*stem_w+stem_w/2, endrounding, + 0, arrowhead_l_f/2*stem_w, endrounding, 0, tightness_f, i) + rotated dir shifted (x_centre, y_centre); + filldraw dotpath( 0, -arrowhead_l_f/2*stem_w, arrowhead_w_adj_f, i+20) + rotated dir shifted (x_centre, y_centre); + fi; +enddef; + +%def draw_arrowhead (expr x_centre, y_centre, arrowhead_w_f_in, arrowhead_l_f, dir_heading, i) = +% save arrowhead_w_f; +% save arrowhead_curve_d; +% save arrowheadrounding; +% if barshape="straight": +% arrowhead_w_f=arrowhead_w_f_in+0.7; +% arrowhead_curve_d=0; +% arrowheadrounding=endrounding; +% elseif barshape="curved": +% arrowhead_w_f=arrowhead_w_f_in; +% arrowhead_curve_d=30; +% arrowheadrounding=0.9; +% elseif barshape="rounded": +% arrowhead_w_f=arrowhead_w_f_in+0.6; +% arrowhead_curve_d=0; +% arrowheadrounding=endrounding; +% fi; +% +% filldraw barpath( 0, -arrowhead_l_f/2*stem_w+stem_w/2, arrowheadrounding, +% 0, arrowhead_l_f/2*stem_w, arrowheadrounding, 0, tightness_f, i) +% rotated dir_heading shifted (x_centre, y_centre); +% if (barshape="curved") or (barshape="straight"): +% filldraw barpath(-arrowhead_w_f/2*stem_w, -arrowhead_l_f/2*stem_w, arrowheadrounding, +% arrowhead_w_f/2*stem_w, -arrowhead_l_f/2*stem_w, arrowheadrounding, +% -arrowhead_curve_d, tightness_f, i+10) +% rotated dir_heading shifted (x_centre, y_centre); +% fi; +% if barshape="curved": +% filldraw barpath( arrowhead_w_f/2*stem_w, -arrowhead_l_f/2*stem_w, arrowheadrounding, +% 0, arrowhead_l_f/2*stem_w, arrowheadrounding, +% -arrowhead_curve_d, tightness_f, i+20) +% rotated dir_heading shifted (x_centre, y_centre); +% filldraw barpath( 0, arrowhead_l_f/2*stem_w, arrowheadrounding, +% -arrowhead_w_f/2*stem_w, -arrowhead_l_f/2*stem_w, arrowheadrounding, +% -arrowhead_curve_d, tightness_f, i+30) +% rotated dir_heading shifted (x_centre, y_centre); +% elseif barshape="rounded": +% filldraw dotpath( 0, -arrowhead_l_f/2*stem_w, arrowhead_w_f, i+20) +% rotated dir_heading shifted (x_centre, y_centre); +% fi +%enddef; + + +def xhalf=(w/2-stem_w/2-margin_width) enddef; + +def xmid=(w/2) enddef; + +def yhalf=(h/2) enddef; + +def ymid=(h/2) enddef; + +def yhalfred=((h*topbarred)/2) enddef; + +def ymidred(expr yd)=(h*((((topbarred/2)-0.5)*yd)+0.5)) enddef; + +% These macros are the most interesting ones. Here the actual outline of +% the characters are made. To make things manageble, as little as possible +% is defined in the driver file, so that the font will have a uniform +% look in all series, shapes, and sizes. All that is needed in the +% driver file is then to set a few parameters. + +% f, \.f +def draw_normal_f(expr rune, xd, yd, highdot, stemdot, twigdot) = + beginrunechar(rune, 1.08*base_width#+2*margin_width#); + save f_ymid_f; + save f_yup_f; + save f_xhighdot_f; + save f_twigdot_f; + save f_twigdotangel_f; + f_ymid_f=0.0; + if highdot: + f_yup_f=0.4; + f_xhighdot_f=0.4; + else: + f_yup_f=0.5; + fi; + if twigdot: + f_twigdot_f=0.52; + f_twigdotangel_f=(if curve_d=0:0 else:(1-cosd(curve_d/2))/(2*sind(curve_d/2)) fi); + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid-yd*f_ymid_f*yhalf, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*f_yup_f*yhalf, jointrounding, + xmid-xd*xhalf+xd*(1-f_yup_f)*yhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 40); + if highdot: + filldraw dotpath(xmid-xd*xhalf+xd*(1-f_yup_f)*yhalf*f_xhighdot_f, ymid+yd*(yhalf-stem_w/2), freedot_f, 50); + fi; + if stemdot: + filldraw dotpath(xmid-xd*xhalf, ymid+yd*yhalf*f_ymid_f+yd*stem_w/3, stemdot_f, 60); + fi; + if twigdot: + filldraw dotpath(xmid+xd*(-1+(1-(-1))*f_twigdot_f+(1-f_ymid_f)*(yhalf/xhalf)*(f_twigdotangel_f))*xhalf, + ymid+yd*(f_ymid_f+(1-f_ymid_f)*f_twigdot_f-(1-(-1))*(xhalf/yhalf)*(f_twigdotangel_f))*yhalf, + stemdot_f, 70); + fi; + endchar; +enddef; + +% F +def draw_medieval_f(expr rune, xd, yd) = + beginrunechar(rune, 1.2*base_width#+2*margin_width#); + save f_ylow_f; + save f_ymid_f; + save f_yup_f; + f_ylow_f=-0.2; + f_ymid_f=0.2; + f_yup_f=0.6; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*f_ylow_f*yhalf, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*f_ymid_f*yhalf, jointrounding, + xmid-xd*xhalf+xd*(1-f_ymid_f)*yhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid+yd*f_yup_f*yhalf, jointrounding, + xmid-xd*xhalf+xd*(1-f_yup_f)*yhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 50); + endchar; +enddef; + +% f +def draw_primitive_f(expr rune, xd, yd) = + beginrunechar(rune, 0.65*base_width#+2*margin_width#); + save f_yraise_f; + save f_ysep_f; + f_yraise_f=0.4; + f_ysep_f=0.54; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(1-f_yraise_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(1-f_yraise_f-f_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(1-f_ysep_f), toprounding, xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% f +def draw_staveless_f(expr rune, xd, yd, long) = + save end_marker_width_f; + save end_marker_length_f; + end_marker_width_f=1.6; + end_marker_length_f=3.2; + beginrunechar(rune, end_marker_width_f*stem_w#+2*margin_width#); + save f_y_f; + if long: + f_y_f=0.5; + else: + f_y_f=-0.3; + fi; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*f_y_f, toprounding, 0, tightness_f, 20); + draw_arrowhead(xmid, ymid+yd*yhalf*f_y_f, end_marker_width_f, end_marker_length_f, -180+if yd=-1:180 else:0 fi+if loweredbars:180 else:0 fi, 30); + endchar; +enddef; + + +% u, \.u, \"u, anglo y +def draw_normal_u(expr rune, xd, yd, tight, marks) = + beginrunechar(rune, topbarred*0.98*base_width#+2*margin_width#); + save u_x_f; + save u_y_f; + save u_curvehigh_f; + save u_curvelow_f; + save y_cross_x_f; + save y_cross_xadj_f; + save y_cross_y_f; + save y_y_bary_f; + save y_y_lbranchy_f; + save y_y_rbranchy_f; + if tight: + u_x_f=0.6; + else: + u_x_f=0.715; + fi; + u_y_f=0.2; + if curve_d > 45: + u_curvelow_f=(1-(curve_d-45)/45)/4; + u_curvehigh_f=1+(1-(curve_d-45)/45)/4; + else: + u_curvelow_f=0.25; + u_curvehigh_f=1.25; + fi; + y_cross_x_f=0.4; + y_cross_xadj_f=0.06; + y_cross_y_f=0.9; + y_y_bary_f=0.15; + y_y_lbranchy_f=0.16; + y_y_rbranchy_f=0.14; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf*u_x_f, ymidred(yd)+yd*yhalfred*u_y_f, jointrounding, 0-u_curvehigh_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf*u_x_f, ymidred(yd)+yd*yhalfred*u_y_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, -u_curvelow_f*xd*yd*curve_d, tightness_f, 40); + if marks=0: + elseif marks=1: % one dot + filldraw dotpath(xmid-xd*xhalf*0.07, ymidred(yd)-yd*yhalf*0.07, freedot_f, 50); + elseif marks=2: % two dots + filldraw dotpath(xmid-xd*xhalf*0.08, ymidred(yd)+yd*yhalf*0.06, freedot_f, 50); + filldraw dotpath(xmid-xd*xhalf*0.04, ymidred(yd)-yd*yhalf*0.34, freedot_f, 60); + elseif marks=3: % one bar + filldraw barpath(xmid-xd*xhalf*0.08, ymidred(yd)-yd*yhalf*0.06, endrounding, + xmid-xd*xhalf*0.04, ymidred(yd)-yd*yhalf, endrounding, 0, tightness_f, 50); + elseif marks=4: % one x + filldraw barpath(xmid-xd*xhalf*(y_cross_x_f+y_cross_xadj_f), ymid-yd*yhalf*y_cross_y_f, endrounding, + xmid+xd*xhalf*(y_cross_x_f-y_cross_xadj_f), ymid-yd*yhalf*y_cross_y_f+2*yd*xhalf*y_cross_x_f, endrounding, 0, tightness_f, 50); + filldraw barpath(xmid+xd*xhalf*(y_cross_x_f-y_cross_xadj_f), ymid-yd*yhalf*y_cross_y_f, endrounding, + xmid-xd*xhalf*(y_cross_x_f+y_cross_xadj_f), ymid-yd*yhalf*y_cross_y_f+2*yd*xhalf*y_cross_x_f, endrounding, 0, tightness_f, 60); + elseif marks=5: % one y + filldraw barpath(xmid-xd*xhalf*0.08, ymidred(yd)-yd*yhalf*y_y_bary_f, endrounding, + xmid-xd*xhalf*0.04, ymidred(yd)-yd*yhalf, endrounding, 0, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*0.08, ymidred(yd)-yd*yhalf*y_y_bary_f, endrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalf*y_y_lbranchy_f, endrounding, 0, tightness_f, 60); + filldraw barpath(xmid-xd*xhalf*0.08, ymidred(yd)-yd*yhalf*y_y_bary_f, endrounding, + xmid+xd*xhalf*u_x_f, ymidred(yd)+yd*yhalf*y_y_rbranchy_f, endrounding, 0, tightness_f, 70); + + fi; + endchar; +enddef; + +% w (doubble u) +def draw_medieval_w(expr rune, xd, yd) = + beginrunechar(rune, topbarred*1.1*base_width#+2*margin_width#); + save u_x_f; + save u_y_f; + save u_yinner_f; + save u_curvehigh_f; + save u_curvelow_f; + u_x_f=0.715; + u_y_f=0.2; + u_yinner_f=0.5; + if curve_d > 45: + u_curvelow_f=(1-(curve_d-45)/45)/4; + u_curvehigh_f=1+(1-(curve_d-45)/45)/3; + else: + u_curvelow_f=0.25; + u_curvehigh_f=1.33; + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf*u_x_f, ymidred(yd)+yd*yhalfred*u_y_f, jointrounding, 0-u_curvehigh_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf*u_x_f, ymidred(yd)+yd*yhalfred*u_y_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, -u_curvelow_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*u_yinner_f, jointrounding, + xmid-xd*xhalf*(1-(1+u_x_f)/2), ymidred(yd)+yd*yhalfred*u_y_f*(1-2*(1-u_yinner_f)), jointrounding, 0-u_curvehigh_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*(1-(1+u_x_f)/2), ymidred(yd)+yd*yhalfred*u_y_f*(1-2*(1-u_yinner_f)), jointrounding, + xmid, ymid-yd*yhalf, toprounding, -u_curvelow_f*xd*yd*curve_d, tightness_f, 60); + + endchar; +enddef; + +% U (triangular) +def draw_primitive_U(expr rune, xd, yd, symmetric) = + beginrunechar(rune, topbarred*1.02*base_width#+2*margin_width#); + save U_x_f; + if symmetric: + U_x_f=0; + else: + U_x_f=0.99; + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf*U_x_f, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-((1-topbarred)*(1-U_x_f)+U_x_f)*xd*xhalf, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, 0, tightness_f, 30); + endchar; +enddef; + +% u +def draw_staveless_u(expr rune, xd, yd) = + beginrunechar(rune, 0.6*base_width#+2*margin_width#); + save u_xmid_f; + save u_ytop_f; + save u_ymid_f; + save u_curvehigh_d; + save u_curvelow_d; + u_xmid_f=0.6; + u_ytop_f=0.6; + u_ymid_f=0.15; + u_curvelow_d=25; + u_curvehigh_d=65; + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*u_ytop_f, endrounding, + xmid+xd*xhalf*u_xmid_f, ymid+yd*yhalf*u_ymid_f, jointrounding, -u_curvehigh_d*xd*yd, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf*u_xmid_f, ymid+yd*yhalf*u_ymid_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, -u_curvelow_d*xd*yd, tightness_f, 30); + endchar; +enddef; + +% \th, \TH, \.\th, \.\TH \tth +def draw_normal_th(expr rune, xd, yd, big, dot, doubble) = + save th_width_f; + if big: + th_width_f=0.7; + elseif doubble: + th_width_f=0.85; + else: + th_width_f=0.65; + fi; + beginrunechar(rune, th_width_f*base_width#+2*margin_width#); + save th_y_f; + save th_innery_f; + save dot_x; + if big: + th_y_f=1-(1-topbarred)*2; + elseif doubble: + th_y_f=0.7; + th_innery_f=0.3; + else: + th_y_f=0.44; + fi; + dot_x=1/6*(90-xd*yd*curve_d)/90; + + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*th_y_f, jointrounding, + xmid+xd*xhalf, ymid, jointrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*th_y_f, jointrounding, + xmid+xd*xhalf, ymid, jointrounding, -xd*yd*curve_d, tightness_f, 40); + if doubble: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*th_innery_f, jointrounding, + xmid, ymid, jointrounding, xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*th_innery_f, jointrounding, + xmid, ymid, jointrounding, -xd*yd*curve_d, tightness_f, 60); + fi; + if dot: + filldraw dotpath(xmid-xd*xhalf*dot_x, ymid, freedot_f, 70); + fi; + endchar; +enddef; + +% \th +def draw_staveless_th(expr rune, xd, yd) = + beginrunechar(rune, stem_w#+2*margin_width#); + save th_y_f; + m_y_f=0.44; + filldraw barpath(xmid, ymid-yd*yhalf*m_y_f, endrounding, + xmid, ymid+yd*yhalf*m_y_f, endrounding, 0, tightness_f, 20); + endchar; +enddef; + +% A, \A +def draw_normal_single_A(expr rune, xd, yd, top) = + beginrunechar(rune, 0.6*base_width#+2*margin_width#); + save A_ysep_f; + save A_ydrop_f; + save A_ymid_f; + A_ysep_f=0.26; + A_ydrop_f=0.4; + if top: + A_ymid_f=1-A_ysep_f; + else: + A_ymid_f=0.14; + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(A_ymid_f+A_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(A_ymid_f+A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(A_ymid_f-A_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(A_ymid_f-A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 40); + endchar; +enddef; + +% A +def draw_staveless_A(expr rune, xd, yd, pos, down) = + save arrowhead_w_f; + save arrowhead_l_f; + save A_width_f; + save A_dir_d; + arrowhead_w_f=1.6; + arrowhead_l_f=3.2; + if down: + A_dir_d=180; + else: + A_dir_d=-125; + fi; + A_width_f=max(abs(sind(A_dir_d))*arrowhead_l_f, + abs(cosd(A_dir_d))*arrowhead_w_f)*stem_w#/base_width#; + beginrunechar(rune, A_width_f*base_width#+2*margin_width#); + save A_y_f; + A_y_f=0.6; + if pos=1: %high + draw_arrowhead(xmid, ymid+yd*yhalf*A_y_f, arrowhead_w_f, arrowhead_l_f, if yd=1: xd*A_dir_d else: xd*(180-A_dir_d) fi, 20); + elseif pos=2: %mid + draw_arrowhead(xmid, ymid , arrowhead_w_f, arrowhead_l_f, if yd=1: xd*A_dir_d else: xd*(180-A_dir_d) fi, 20); + elseif pos=3: %low + draw_arrowhead(xmid, ymid-yd*yhalf*A_y_f, arrowhead_w_f, arrowhead_l_f, if yd=1: xd*A_dir_d else: xd*(180-A_dir_d) fi, 20); + fi; + endchar; +enddef; + +% o, a +def draw_anglo_o(expr rune, xd, yd, two) = + beginrunechar(rune, 0.87*base_width#+2*margin_width#); + save A_ysep_f; + save A_ydrop_f; + save A_ymid_f; + save o_x_f; + A_ysep_f=0.26; + A_ydrop_f=0.4; + A_ymid_f=1-A_ysep_f; + o_x_f=0.23; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(A_ymid_f+A_ysep_f), jointrounding, + xmid+xd*xhalf*o_x_f, ymidred(yd)+yd*yhalfred*(A_ymid_f+A_ysep_f-A_ydrop_f), jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(A_ymid_f-A_ysep_f), jointrounding, + xmid+xd*xhalf*o_x_f, ymidred(yd)+yd*yhalfred*(A_ymid_f-A_ysep_f-A_ydrop_f), if two: jointrounding else: endrounding fi, 0, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf*o_x_f, ymidred(yd)+yd*yhalfred*(A_ymid_f+A_ysep_f-A_ydrop_f), jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(A_ymid_f+A_ysep_f), endrounding, 0, tightness_f, 50); + if two: + filldraw barpath(xmid+xd*xhalf*o_x_f, ymidred(yd)+yd*yhalfred*(A_ymid_f-A_ysep_f-A_ydrop_f), jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(A_ymid_f-A_ysep_f), endrounding, 0, tightness_f, 60); + fi; + endchar; +enddef; + +% \AA +def draw_normal_double_A(expr rune, xd, yd, three, stlb, sblb) = % Skip Top Left Bar, Skip Bottom Left Bar + beginrunechar(rune, 1.05*base_width#+2*margin_width#); + save A_ysep_f; + save A_ydrop_f; + if three: + A_ysep_f=0.36; + else: + A_ysep_f=0.24; + fi; + A_ydrop_f=0.3; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + if stlb: + filldraw barpath(xmid, ymid+yd*yhalf*(A_ysep_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 30); + else: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(A_ysep_f+A_ydrop_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 30); + fi; + if three: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(A_ydrop_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(-A_ydrop_f), endrounding, 0, tightness_f, 40); + fi; + if sblb: + filldraw barpath(xmid, ymid+yd*yhalf*(-A_ysep_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(-A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 50); + else: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(-A_ysep_f+A_ydrop_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(-A_ysep_f-A_ydrop_f), endrounding, 0, tightness_f, 50); + fi; + endchar; +enddef; + +% r +def draw_normal_r(expr rune, xd, yd, closed, topdot) = + beginrunechar(rune, topbarred*0.92*base_width#+2*margin_width#); + save r_xup_f; + save r_yup_f; + save r_xmid_f; + save r_ymid_f; + save r_curve_f; + r_xup_f=0.78; + r_yup_f=0.36; + if closed: + r_ymid_f=0; + r_xmid_f=0.9; + else: + r_ymid_f=0.06; + r_xmid_f=0.3; + fi; + r_curve_f=0.63+0.37*abs(xd*yd*curve_d-45)/45; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf+xd*1, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf*r_xup_f, ymidred(yd)+yd*yhalfred*r_yup_f, jointrounding, -r_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf*r_xup_f, ymidred(yd)+yd*yhalfred*r_yup_f, jointrounding, + xmid-xd*xhalf*r_xmid_f, ymidred(yd)-yd*yhalfred*r_ymid_f, jointrounding, -r_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf*r_xmid_f, ymidred(yd)-yd*yhalfred*r_ymid_f, jointrounding, + xmid+xd*xhalf, ymidred(yd)-yd*yhalfred, toprounding, -r_curve_f*xd*yd*curve_d, tightness_f, 50); + if topdot: + filldraw dotpath(xmid-xd*xhalf/3, ymid+yd*yhalfred*(1+r_yup_f+r_ymid_f)/3, freedot_f, 60); + fi; + + endchar; +enddef; + +% r +def draw_greenland_r(expr rune, xd, yd) = + beginrunechar(rune, topbarred*0.92*base_width#+2*margin_width#); + save r_ytopend_f; + save r_ybottomstart_f; + r_ytopend_f=0.0; + r_ybottomstart_f=0.2; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf+xd*1, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred*r_ytopend_f, endrounding, -xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred*r_ybottomstart_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalfred, endrounding, -xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% k +def draw_normal_k(expr rune, xd, yd, topdot, middot, midtwig, two) = + beginrunechar(rune, 0.9*base_width#+2*margin_width#); + save k_ymid_f; + k_ymid_f=0.1; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*k_ymid_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 30); + if two: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*k_ymid_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, -xd*yd*curve_d, tightness_f, 40); + fi; + if topdot: + filldraw dotpath(xmid-xd*xhalf/3+xd*stem_w/3, ymid+yd*yhalf*(2+k_ymid_f)/3+yd*stem_w/2, freedot_f, 50); + if two: + filldraw dotpath(xmid-xd*xhalf/3+xd*stem_w/3, ymid-yd*yhalf*(2+k_ymid_f)/3-yd*stem_w/2, freedot_f, 60); + fi; + fi; + if middot: + filldraw dotpath(xmid-xd*xhalf, ymid+yd*yhalf*k_ymid_f+yd*stem_w/3, stemdot_f, 70); + fi; + if midtwig: + filldraw barpath(xmid-xd*xhalf-xd*twig_length_f*stem_w/2, ymid+yd*yhalf*k_ymid_f-yd*3*stem_w/2, endrounding, + xmid-xd*xhalf+xd*twig_length_f*stem_w/2, ymid+yd*yhalf*k_ymid_f-yd*3*stem_w/2, endrounding, 0, tightness_f, 80); + fi; + endchar; +enddef; + +% k +def draw_primitive_k(expr rune, xd, yd) = + beginrunechar(rune, 0.72*base_width#+2*margin_width#); + save k_y_f; + k_y_f=0.54; + filldraw barpath(xmid-xd*xhalf, ymid, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf*k_y_f, endrounding, xd*yd*curve_d, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*k_y_f, endrounding, -xd*yd*curve_d, tightness_f, 30); + endchar; +enddef; + +% k (rotated 90) +def draw_primitive_kup(expr rune, xd, yd, stem, big) = + beginrunechar(rune, 1.12*base_width#+2*margin_width#); + save k_yupsep_f; + save k_yupmid_f; + if big: + k_yupsep_f=0.4; + k_yupmid_f=0.6; + else: + k_yupsep_f=1/3; + k_yupmid_f=0.0; + fi; + if stem: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*(k_yupmid_f-k_yupsep_f), jointrounding, 0, tightness_f, 20); + fi; + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(k_yupmid_f+k_yupsep_f), endrounding, + xmid, ymid+yd*yhalf*(k_yupmid_f-k_yupsep_f), jointrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalf*(k_yupmid_f+k_yupsep_f), endrounding, + xmid, ymid+yd*yhalf*(k_yupmid_f-k_yupsep_f), jointrounding, -xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% g +def draw_primitive_g(expr rune, xd, yd, v_stem, h_angles, eye) = + save g_width_f; + if v_stem: + g_width_f=1.3; + else: + g_width_f=1.1; + fi; + beginrunechar(rune, g_width_f*base_width#+2*margin_width#); + save eye_x_f; + save eye_y_f; + save eye_curve_f; + save h_angle_f; + eye_x_f=0.8 - if mag <= 1: 0; elseif mag <= 2: (mag-1)/5; else: 0.2; fi; + eye_y_f=0.45 - if mag <= 1: 0; elseif mag <= 2: (mag-1)/5; else: 0.2; fi; + eye_curve_f=0.8; + h_angle_f=0.3; + if v_stem: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf, toprounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, 0, tightness_f, 40); + if eye: + filldraw barpath(xmid, ymid+yd*yhalf*eye_y_f, jointrounding, + xmid-xd*xhalf*eye_x_f, ymid, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*eye_x_f, ymid, jointrounding, + xmid, ymid-yd*yhalf*eye_y_f, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 60); + filldraw barpath(xmid, ymid-yd*yhalf*eye_y_f, jointrounding, + xmid+xd*xhalf*eye_x_f, ymid, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 70); + filldraw barpath(xmid+xd*xhalf*eye_x_f, ymid, jointrounding, + xmid, ymid+yd*yhalf*eye_y_f, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 80); + elseif h_angles: + filldraw barpath(xmid-xd*xhalf*h_angle_f, ymid+yd*yhalf*h_angle_f, jointrounding, + xmid-xd*xhalf*eye_x_f, ymid, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*eye_x_f, ymid, jointrounding, + xmid-xd*xhalf*h_angle_f, ymid-yd*yhalf*h_angle_f, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 60); + filldraw barpath(xmid+xd*xhalf*h_angle_f, ymid-yd*yhalf*h_angle_f, jointrounding, + xmid+xd*xhalf*eye_x_f, ymid, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 70); + filldraw barpath(xmid+xd*xhalf*eye_x_f, ymid, jointrounding, + xmid+xd*xhalf*h_angle_f, ymid+yd*yhalf*h_angle_f, jointrounding, eye_curve_f*xd*yd*curve_d, tightness_f, 80); + fi; + endchar; +enddef; + +% w +def draw_primitive_w(expr rune, xd, yd) = + beginrunechar(rune, topbarred*0.7*base_width#+2*margin_width#); + save w_y_f; + w_y_f=0.0; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(1+w_y_f)/2, jointrounding, -xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(1+w_y_f)/2, jointrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*w_y_f, jointrounding, -xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% h, n, a +def draw_normal_h(expr rune, xd, yd, NWSE, NESW, dot) = + beginrunechar(rune, 0.95*base_width#+2*margin_width#); + save h_y_f; + h_y_f=0.36; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + if NWSE: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*h_y_f, endrounding, + xmid+xd*xhalf, ymid-yd*yhalf*h_y_f, endrounding, 0, tightness_f, 30); + fi; + if NESW: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*h_y_f, endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*h_y_f, endrounding, 0, tightness_f, 40); + fi; + if dot: + filldraw dotpath(xmid, ymid, stemdot_f, 50); + fi; + endchar; +enddef; + +% h +def draw_medieval_h(expr rune, xd, yd, twigs, offset) = + beginrunechar(rune, 1.2*base_width#+2*margin_width#); + for i=0 step 1 until twigs-1: + filldraw barpath(xmid, ymid, jointrounding, + xmid+xd*xhalf*cosd(i/twigs*360+offset), ymid+yd*xhalf*sind(i/twigs*360+offset), endrounding, 0, tightness_f, 20+i*10); + endfor; + endchar; +enddef; + +% H +def draw_medieval_bigh(expr rune, xd, yd) = + save bigh_twigs_n; + save bigh_offset_d; + bigh_twigs_n=8; + bigh_offset_d=90; + beginrunechar(rune, 1.2*base_width#+2*margin_width#); + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + for i=1 step 1 until bigh_twigs_n/2-1: + filldraw barpath(xmid-xd*xhalf*cosd(i/bigh_twigs_n*360+bigh_offset_d), ymid-yd*xhalf*sind(i/bigh_twigs_n*360+bigh_offset_d), jointrounding, + xmid+xd*xhalf*cosd(i/bigh_twigs_n*360+bigh_offset_d), ymid+yd*xhalf*sind(i/bigh_twigs_n*360+bigh_offset_d), jointrounding, 0, tightness_f, 20+i*10); + endfor; + endchar; +enddef; + +% n, a +def draw_shorttwig_n(expr rune, xd, yd, middot, sidedot) = + save n_width_f; + if sidedot: + n_width_f=0.75; + else: + n_width_f=0.55; + fi; + beginrunechar(rune,n_width_f*base_width#+2*margin_width#); + save n_ymid_f; + save n_ydrop_f; + save n_xdot_f; + save n_ydot_f; + n_ymid_f=0.0; + n_ydrop_f=0.18; + n_xdot_f=0.17; + n_ydot_f=0.12; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(n_ymid_f+n_ydrop_f), endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(n_ymid_f-n_ydrop_f), endrounding, 0, tightness_f, 30); + + if middot: + filldraw dotpath(xmid-xd*xhalf, ymid+yd*yhalf*(n_ymid_f+n_ydrop_f)-yd*stem_w/3, stemdot_f, 40); + fi; + if sidedot: + filldraw dotpath(xmid-xd*xhalf*n_xdot_f, ymid+yd*yhalf*(n_ymid_f-n_ydrop_f-n_ydot_f), freedot_f, 50); + fi; + endchar; +enddef; + +% h +def draw_primitive_h(expr rune, xd, yd, top, twobars) = + beginrunechar(rune, 1.1*base_width#+2*margin_width#); + save h_ymid_f; + save h_ytop_f; + save h_ysep_f; + h_ymid_f=0.16; + h_ytop_f=0.96; + h_ysep_f=0.16; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 30); + if top: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred*h_ytop_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalfred*h_ytop_f, jointrounding, 0, tightness_f, 40); + else: + if twobars: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(h_ymid_f-h_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(-h_ymid_f-h_ysep_f), jointrounding, 0, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(h_ymid_f+h_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(-h_ymid_f+h_ysep_f), jointrounding, 0, tightness_f, 40); + else: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*h_ymid_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf*h_ymid_f, jointrounding, 0, tightness_f, 40); + fi; + fi; + endchar; +enddef; + +% i +def draw_normal_i(expr rune, xd, yd, dot, twig, high, top, twodots, circle) = + save i_width_f; + if twig: + i_width_f=twig_length_f+1; + elseif dot or twodots: + i_width_f=stemdot_f; + elseif circle: + i_width_f=stemcircle_f; + else: + i_width_f=1.0; + fi; + beginrunechar(rune, i_width_f*stem_w#+2*margin_width#); + save i_ystem_f; + save i_ydottwig_f; + if top: + i_ystem_f=0.7; + i_ydottwig_f=0.7; + else: + i_ystem_f=1.0; + if high: + i_ydottwig_f=0.6; + elseif twodots: + i_ydottwig_f=0.3; + else: %mid + i_ydottwig_f=0.0; + fi; + fi; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*i_ystem_f, toprounding, 0, tightness_f, 20); + if dot: + filldraw dotpath(xmid, ymid+yd*yhalf*i_ydottwig_f, stemdot_f, 30); + elseif twodots: + filldraw dotpath(xmid, ymid+yd*yhalf*i_ydottwig_f, stemdot_f, 30); + filldraw dotpath(xmid, ymid-yd*yhalf*i_ydottwig_f, stemdot_f, 40); + fi; + if twig: + filldraw barpath(xmid-twig_length_f*stem_w/2, ymid+yd*yhalf*i_ydottwig_f, endrounding, + xmid+twig_length_f*stem_w/2, ymid+yd*yhalf*i_ydottwig_f, endrounding, 0, tightness_f, 50); + fi; + if circle: + draw_circle(xmid, ymid+yd*yhalf*i_ydottwig_f, stemcircle_f, 60); + fi; + endchar; +enddef; + +% roek i +def draw_roek_i(expr rune, xd, yd) = + beginrunechar(rune, 1.3*base_width#+2*margin_width#); + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid+1, ymidred(yd)-yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymidred(yd)-yd*yhalfred/2, jointrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymidred(yd)-yd*yhalfred/2, jointrounding, + xmid, ymid, jointrounding, xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid, ymidred(yd)+yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalfred/2, jointrounding, xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred/2, jointrounding, + xmid-1, ymid, jointrounding, xd*yd*curve_d, tightness_f, 60); + endchar; +enddef; + +% j +def draw_primitive_j(expr rune, xd, yd) = + beginrunechar(rune, 1.0*base_width#+2*margin_width#); + save j_y_f; + j_y_f=2/9; + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*j_y_f, jointrounding, + xmid, ymid+yd*yhalf*3*j_y_f, endrounding, -xd*yd*curve_d, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*j_y_f, jointrounding, + xmid, ymid-yd*yhalf*j_y_f, endrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf*j_y_f, jointrounding, + xmid, ymid-yd*yhalf*3*j_y_f, endrounding, -xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf*j_y_f, jointrounding, + xmid, ymid+yd*yhalf*j_y_f, endrounding, xd*yd*curve_d, tightness_f, 50); + endchar; +enddef; + +% j +def draw_primitive_jup(expr rune, xd, yd) = + beginrunechar(rune, 1.3*base_width#+2*margin_width#); + save j_yup_f; + j_yup_f=0.50; + filldraw barpath(xmid-xd*xhalf, ymid, endrounding, + xmid-xd*xhalf/3, ymid-yd*yhalf*j_yup_f, jointrounding, xd*yd*curve_d, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf/3, ymid-yd*yhalf*j_yup_f, jointrounding, + xmid+xd*xhalf/3, ymid, endrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf/3, ymid, endrounding, + xmid+xd*xhalf/3, ymid+yd*yhalf*j_yup_f, jointrounding, -xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf/3, ymid+yd*yhalf*j_yup_f, jointrounding, + xmid+xd*xhalf, ymid, endrounding, -xd*yd*curve_d, tightness_f, 50); + endchar; +enddef; + +% j +def draw_anglo_j(expr rune, xd, yd) = + beginrunechar(rune, 1.6*base_width#+2*margin_width#); + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid, endrounding, + xmid+xd*xhalf, ymid, endrounding, 0, tightness_f, 30); + endchar; +enddef; + +% I +def draw_primitive_I(expr rune, xd, yd) = + beginrunechar(rune, topbarred*1.1*base_width#+2*margin_width#); + save I_y_f; + save I_curve_f; + I_y_f=0.48; + I_curve_f=0.25; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*1, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred*I_y_f, endrounding, -I_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*1, ymid-yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalfred*I_y_f, endrounding, -I_curve_f*xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% roek a +def draw_roek_a(expr rune, xd, yd) = + beginrunechar(rune, 0.65*base_width#+2*margin_width#); + save a_y_f; + save a_ycorner_f; + a_y_f=0.16; + a_ycorner_f=0.36; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*a_y_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf*a_ycorner_f, jointrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf*a_ycorner_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*a_ycorner_f, jointrounding, xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalf*a_ycorner_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf*a_y_f, jointrounding, xd*yd*curve_d, tightness_f, 50); + endchar; +enddef; + +% p +def draw_primitive_p(expr rune, xd, yd) = + beginrunechar(rune, topbarred*1.0*base_width#+2*margin_width#); + save p_x_f; + save p_y_f; + save p_curve_f; + p_x_f=0.06; + p_y_f=0.6; + p_curve_f=0.25; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, topjointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalfred, jointrounding, + xmid+xd*xhalf*p_x_f, ymid-yd*yhalfred*p_y_f, jointrounding, -p_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalfred, jointrounding, + xmid+xd*xhalf*p_x_f, ymid-yd*yhalfred*p_y_f, jointrounding, p_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf*p_x_f, ymid+yd*yhalfred*p_y_f, jointrounding, p_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf*p_x_f, ymid+yd*yhalfred*p_y_f, jointrounding, -p_curve_f*xd*yd*curve_d, tightness_f, 60); + endchar; +enddef; + +% p +def draw_frisian_p(expr rune, xd, yd) = + beginrunechar(rune, topbarred*0.63*base_width#+2*margin_width#); + save p_y_f; + save p_curve_f; + p_y_f=0.55; + p_curve_f=0.25; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, topjointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalfred*p_y_f, jointrounding, p_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred*p_y_f, jointrounding, -p_curve_f*xd*yd*curve_d, tightness_f, 40); + endchar; +enddef; + +% s +def draw_normal_s(expr rune, xd, yd, twobars, chair, high, twigs, flat) = + save s_width_f; + if twigs: + s_width_f=0.80; + else: + s_width_f=0.75; + fi; + beginrunechar(rune, s_width_f*base_width#+2*margin_width#); + save s_xtop_f; + save s_ymid_f; + save s_ymidmid_f; + save s_ysep_f; + save s_ytwig_f; + if chair or high or twigs: + s_xtop_f=1.0; + else: + s_xtop_f=0.8; + fi; + if twobars: + s_ysep_f=0.22; + else: + s_ysep_f=0.0; + fi; + if high: + s_ymidmid_f=0.68; + s_ymid_f=0.28; + else: + s_ymidmid_f=0.0; + if flat: + s_ymid_f=-0.08; + else: + s_ymid_f=0.08; + fi; + fi; + s_ytwig_f=0.6; + filldraw barpath(xmid-xd*xhalf*s_xtop_f, ymid+yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf*(s_ymidmid_f-s_ymid_f-s_ysep_f), jointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*(s_ymidmid_f-s_ymid_f-s_ysep_f), jointrounding, + xmid+xd*xhalf*(1+s_xtop_f)/2, ymid+yd*yhalf*(s_ymidmid_f+s_ymid_f-s_ysep_f), jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf*(1+s_xtop_f)/2, ymid+yd*yhalf*(s_ymidmid_f-s_ymid_f+s_ysep_f), jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*(s_ymidmid_f+s_ymid_f+s_ysep_f), jointrounding, 0, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalf*(s_ymidmid_f+s_ymid_f+s_ysep_f), jointrounding, + xmid+xd*xhalf*s_xtop_f, ymid-yd*yhalf, toprounding, 0, tightness_f, 50); + if chair: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 60); + fi; + if twigs: + filldraw barpath(xmid-xd*xhalf*s_xtop_f-xd*twig_length_f*stem_w/2, ymid+yd*yhalf*s_ytwig_f, endrounding, + xmid-xd*xhalf*s_xtop_f+xd*twig_length_f*stem_w/2, ymid+yd*yhalf*s_ytwig_f, endrounding, 0, tightness_f, 70); + filldraw barpath(xmid+xd*xhalf*s_xtop_f-xd*twig_length_f*stem_w/2, ymid-yd*yhalf*s_ytwig_f, endrounding, + xmid+xd*xhalf*s_xtop_f+xd*twig_length_f*stem_w/2, ymid-yd*yhalf*s_ytwig_f, endrounding, 0, tightness_f, 80); + fi; + endchar; +enddef; + +% s +def draw_primitive_s(expr rune, xd, yd, strokes) = + save s_width_f; + s_width_f=(stem_h#/strokes+stem_w#)/base_width#; + beginrunechar(rune, s_width_f*base_width#+2*margin_width#); + xdir:=1; + for i=strokes step -2 until -strokes+2: + filldraw barpath(xmid+xdir*xd*xhalf, ymid+yd*yhalf*i/strokes, if i=strokes:toprounding else: jointrounding fi, + xmid-xdir*xd*xhalf, ymid+yd*yhalf*(i-2)/strokes, if i=-strokes+2:toprounding else: jointrounding fi, 0, tightness_f, (i+strokes)*10); + xdir:=-xdir; + endfor; + endchar; +enddef; + +%s +def draw_shorttwig_s(expr rune, xd, yd, dot, twig, hook, arrow, circle) = + save s_width_f; + if twig: + s_width_f=twig_length_f+1; + elseif hook: + s_width_f=0.7*twig_length_f+1; + elseif dot: + s_width_f=endstemdot_f; + elseif arrow: + s_width_f=1.4*twig_length_f+1; + elseif circle: + s_width_f=endstemcircle_f; + else: + s_width_f=1.0; + fi; + beginrunechar(rune, s_width_f*stem_w#+2*margin_width#); + save s_y_f; + save s_hooky_f; + s_y_f=0.1; + s_hooky_f=0.4; + filldraw barpath(xmid if hook: -xd*xhalf fi, ymid+yd*yhalf*s_y_f, toprounding, + xmid if hook: -xd*xhalf fi, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + if dot: + filldraw dotpath(xmid, ymid+yd*yhalf*s_y_f, endstemdot_f, 30); + fi; + if twig: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*s_y_f, endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*s_y_f, endrounding, 0, tightness_f, 40); + fi; + if hook: + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*s_y_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*s_hooky_f, endrounding, 0, tightness_f, 50); + elseif arrow: + filldraw barpath(xmid, ymid+yd*yhalf*s_y_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf*s_hooky_f, endrounding, 0, tightness_f, 50); + filldraw barpath(xmid, ymid+yd*yhalf*s_y_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf*s_hooky_f, endrounding, 0, tightness_f, 60); + elseif circle: + draw_circle(xmid, ymid+yd*(yhalf*s_y_f-endstemcircle_f*stem_w/2), endstemcircle_f, 50); + fi; + endchar; +enddef; + +% t +def draw_normal_t(expr rune, xd, yd, middot, topdots, doublearrow, arlaug, mid) = + save t_width_f; + if topdots: + t_width_f=1.28; + else: + t_width_f=1.1; + fi; + beginrunechar(rune, topbarred*t_width_f*base_width#+2*margin_width#); + save t_y_f; + save t_curve_f; + save t_topdotx_f; + t_curve_f=0.25; + t_y_f=0.42; + t_topdotx_f=0.43; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + if mid: + filldraw barpath(xmid+xd*2, ymid+yd*yhalf*(1-t_y_f)/2, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf*(1-t_y_f)/2, endrounding, -t_curve_f*xd*yd*curve_d, tightness_f, 30); + else: + filldraw barpath(xmid+xd*2, ymidred(yd)+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*t_y_f, endrounding, -t_curve_f*xd*yd*curve_d, tightness_f, 30); + fi; + if mid or arlaug: + filldraw barpath(xmid-xd*2, ymid+yd*yhalf*(1-t_y_f)/2, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalf*(1-t_y_f)/2, endrounding, t_curve_f*xd*yd*curve_d, tightness_f, 40); + else: + filldraw barpath(xmid-xd*2, ymidred(yd)+yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*t_y_f, endrounding, t_curve_f*xd*yd*curve_d, tightness_f, 40); + fi; + if middot: + filldraw dotpath(xmid, ymidred(yd), stemdot_f, 50); + fi; + if topdots: + filldraw dotpath(xmid-xd*xhalf*t_topdotx_f, ymidred(yd)+yd*yhalfred*t_y_f, freedot_f, 60); + filldraw dotpath(xmid+xd*xhalf*t_topdotx_f, ymidred(yd)+yd*yhalfred*t_y_f, freedot_f, 70); + fi; + if doublearrow: + filldraw barpath(xmid+2, ymidred(yd)-yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymidred(yd)-yd*yhalfred*t_y_f, endrounding, xd*yd*-t_curve_f*xd*yd*curve_d, tightness_f, 80); + filldraw barpath(xmid-2, ymidred(yd)-yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymidred(yd)-yd*yhalfred*t_y_f, endrounding, xd*yd*t_curve_f*xd*yd*curve_d, tightness_f, 90); + fi; + endchar; +enddef; + +% b +def draw_normal_b(expr rune, xd, yd, topdot, bottomdot, separated) = + save b_width_f; + if separated: + b_width_f=0.6; + else: + b_width_f=0.75; + fi; + beginrunechar(rune, topbarred*b_width_f*base_width#+2*margin_width#); + save b_yup_f; + save b_ymid_f; + save b_curve_f; + if separated: + b_yup_f=0.65; + b_ymid_f=0.3; + else: + b_yup_f=0.4; + b_ymid_f=0.0; + fi; + b_curve_f=0.63+0.37*abs(curve_d-45)/45; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, topjointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred*b_yup_f, jointrounding, -b_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalfred*b_yup_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalfred*b_ymid_f, jointrounding, -b_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalfred*b_ymid_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalfred*b_yup_f, jointrounding, -b_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalfred*b_yup_f, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalfred, jointrounding, -b_curve_f*xd*yd*curve_d, tightness_f, 60); + if topdot: + filldraw dotpath(xmid-xd*xhalf/4, ymid+yd*yhalfred*(1+b_yup_f+b_ymid_f)/3, freedot_f, 70); + fi; + if bottomdot: + filldraw dotpath(xmid-xd*xhalf/4, ymid-yd*yhalfred*(1+b_yup_f+b_ymid_f)/3, freedot_f, 80); + fi; + endchar; +enddef; + +% e +def draw_primitive_e(expr rune, xd, yd, closed, midstem) = + beginrunechar(rune, topbarred*1.25*base_width#+2*margin_width#); + save e_y_f; + save e_curve_f; + e_y_f=0.4; + e_curve_f=0.25; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf+1, ymid+yd*yhalfred, jointrounding, + xmid, ymid+yd*yhalfred*e_y_f, jointrounding, e_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf-1, ymid+yd*yhalfred, jointrounding, + xmid, ymid+yd*yhalfred*e_y_f, jointrounding, -e_curve_f*xd*yd*curve_d, tightness_f, 50); + if closed: + filldraw barpath(xmid-xd*xhalf+1, ymid-yd*yhalfred, jointrounding, + xmid, ymid-yd*yhalfred*e_y_f, jointrounding, -e_curve_f*xd*yd*curve_d, tightness_f, 60); + filldraw barpath(xmid+xd*xhalf-1, ymid-yd*yhalfred, jointrounding, + xmid, ymid-yd*yhalfred*e_y_f, jointrounding, e_curve_f*xd*yd*curve_d, tightness_f, 70); + fi; + if midstem: + filldraw barpath(xmid, ymid+yd*yhalfred*e_y_f, jointrounding, + xmid, ymid-yd*yhalfred*e_y_f, jointrounding, 0, tightness_f, 80); + fi; + endchar; +enddef; + +% E +def draw_primitive_E(expr rune, xd, yd, closed) = + beginrunechar(rune, topbarred*1.15*base_width#+2*margin_width#); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred, jointrounding, 0, tightness_f, 40); + if closed: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalfred, jointrounding, 0, tightness_f, 40); + fi; + endchar; +enddef; + +% m +def draw_normal_m(expr rune, xd, yd, dots, double, tree) = + beginrunechar(rune, 1.3*base_width#+2*margin_width#); + save m_y_f; + save m_xdot_f; + save m_ydot_f; + m_xdot_f=0.4 + if mag <= 1: 0; elseif mag <= 2: (mag-1)/20; else: 0.05; fi; + m_ydot_f=0.85; + m_y_f=0.1; + filldraw barpath(xmid, ymid-yd*yhalf, if tree:jointrounding else:toprounding fi, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid+yd*yhalf*m_y_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid, ymid+yd*yhalf*m_y_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, -xd*yd*curve_d, tightness_f, 40); + if double: + filldraw barpath(xmid, ymid-yd*yhalf*m_y_f, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf, toprounding, -xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid, ymid-yd*yhalf*m_y_f, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalf, toprounding, xd*yd*curve_d, tightness_f, 60); + elseif tree: + filldraw barpath(xmid, ymid-yd*yhalf, jointrounding, + xmid+xd*xhalf, ymid-yd*yhalf*m_y_f, toprounding, xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid, ymid-yd*yhalf, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalf*m_y_f, toprounding, -xd*yd*curve_d, tightness_f, 60); + fi; + if dots: + filldraw dotpath(xmid+xd*xhalf*m_xdot_f, ymid+yd*yhalf*m_ydot_f, freedot_f, 70); + filldraw dotpath(xmid-xd*xhalf*m_xdot_f, ymid+yd*yhalf*m_ydot_f, freedot_f, 80); + if double: + filldraw dotpath(xmid+xd*xhalf*m_xdot_f, ymid-yd*yhalf*m_ydot_f, freedot_f, 90); + filldraw dotpath(xmid-xd*xhalf*m_xdot_f, ymid-yd*yhalf*m_ydot_f, freedot_f, 100); + fi; + fi; + endchar; +enddef; + +% m (rounded form) +def draw_normal_M(expr rune, xd, yd, dots) = + beginrunechar(rune, 1.0*topbarred*base_width#+2*margin_width#); + save M_ymid_f; + save M_xdot_f; + M_xdot_f=0.42; + M_ymid_f=0.04; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-1, ymidred(yd)+yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, jointrounding, xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, jointrounding, + xmid, ymidred(yd)+yd*yhalfred*M_ymid_f, jointrounding, xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid, ymidred(yd)+yd*yhalfred*M_ymid_f, jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, jointrounding, xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, jointrounding, + xmid+1, ymidred(yd)+yd*yhalfred, jointrounding, xd*yd*curve_d, tightness_f, 60); + if dots: + filldraw dotpath(xmid+xd*xhalf*M_xdot_f, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, freedot_f, 50); + filldraw dotpath(xmid-xd*xhalf*M_xdot_f, ymidred(yd)+yd*yhalfred*(1+M_ymid_f)/2, freedot_f, 60); + fi; + endchar; +enddef; + +% m +def draw_primitive_m(expr rune, xd, yd, big, top, double) = + beginrunechar(rune, topbarred*1.3*base_width#+2*margin_width#); + save m_ymid_f; + save m_ysep_f; + if big: + m_ysep_f=1.0; + else: + m_ysep_f=0.5; + fi; + if top: + m_ymid_f=0.5; + else: + m_ymid_f=0.0; + fi; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf, toprounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(m_ymid_f+m_ysep_f), jointrounding, + xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(m_ymid_f-m_ysep_f), jointrounding, 0, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf, ymidred(yd)+yd*yhalfred*(m_ymid_f+m_ysep_f), jointrounding, + xmid-xd*xhalf, ymidred(yd)+yd*yhalfred*(m_ymid_f-m_ysep_f), jointrounding, 0, tightness_f, 50); + if double: + filldraw barpath(xmid-xd*xhalf, ymidred(yd)-yd*yhalfred*(m_ymid_f+m_ysep_f), jointrounding, + xmid+xd*xhalf, ymidred(yd)-yd*yhalfred*(m_ymid_f-m_ysep_f), jointrounding, 0, tightness_f, 60); + filldraw barpath(xmid+xd*xhalf, ymidred(yd)-yd*yhalfred*(m_ymid_f+m_ysep_f), jointrounding, + xmid-xd*xhalf, ymidred(yd)-yd*yhalfred*(m_ymid_f-m_ysep_f), jointrounding, 0, tightness_f, 70); + fi; + endchar; +enddef; + +% m +def draw_staveless_m(expr rune, xd, yd) = + beginrunechar(rune, freedot_f*stem_w#+2*margin_width#); + save m_ytop_f; + save m_ybottom_f; + m_ytop_f=0.75; + m_ybottom_f=0.25; + filldraw dotpath(xmid, ymid+yd*yhalf*m_ytop_f, freedot_f, 20); + filldraw dotpath(xmid, ymid+yd*yhalf*m_ybottom_f, freedot_f, 30); + endchar; +enddef; + +% l +def draw_normal_l(expr rune, xd, yd, middot, topdot, midtwig, toptwig, circle) = + beginrunechar(rune, topbarred*0.73*base_width#+2*margin_width#); + save l_y_f; + save l_curve_f; + save l_topdotx_f; + save l_twigcrossing_f; + save l_twigtwiglength_f; + l_curve_f=0.25; + l_y_f=0.4; + l_topdotx_f=0.15; + l_twigcrossing_f=0.65; + l_twigtwiglength_f=0.3; + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred*l_y_f, endrounding, -l_curve_f*xd*yd*curve_d, tightness_f, 30); + if middot: + filldraw dotpath(xmid-xd*xhalf, ymidred(yd), stemdot_f, 40); + fi; + if topdot: + filldraw dotpath(xmid-xd*xhalf*l_topdotx_f, ymid+yd*yhalfred*l_y_f, freedot_f, 50); + fi; + if midtwig: + filldraw barpath(xmid-xd*xhalf-xd*twig_length_f*stem_w/2, ymidred(yd), endrounding, + xmid-xd*xhalf+xd*twig_length_f*stem_w/2, ymidred(yd), endrounding, 0, tightness_f, 60); + fi; + if toptwig: + filldraw barpath(xmid+xd*xhalf*(((1-(-1))*l_twigcrossing_f-1)-(l_y_f-1)*yhalfred/xhalf*l_twigtwiglength_f), ymid+yd*yhalfred*(((l_y_f-1)*l_twigcrossing_f+1)+(1-(-1))*xhalf/yhalfred*l_twigtwiglength_f), endrounding, + xmid+xd*xhalf*(((1-(-1))*l_twigcrossing_f-1)+(l_y_f-1)*yhalfred/xhalf*l_twigtwiglength_f), ymid+yd*yhalfred*(((l_y_f-1)*l_twigcrossing_f+1)-(1-(-1))*xhalf/yhalfred*l_twigtwiglength_f), endrounding, -l_curve_f*xd*yd*curve_d, tightness_f, 70); + fi; + if circle: + draw_circle(xmid-xd*xhalf, ymidred(yd), stemcircle_f, 80); + fi; + endchar; +enddef; + +% \l +def draw_shorttwig_l(expr rune, xd, yd) = + beginrunechar(rune, 0.7*base_width#+2*margin_width#); + save l_topy_f; + save l_twigy_f; + l_topy_f=0.76; + l_twigy_f=0.36; + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf, ymid+yd*yhalf*l_topy_f, endrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalf*l_twigy_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, endrounding, 0, tightness_f, 30); + endchar; +enddef; + +% L +def draw_shorttwig_L(expr rune, xd, yd) = + beginrunechar(rune, 0.9*base_width#+2*margin_width#); + save L_topy_f; + save L_x_f; + L_topy_f=0.3; + L_x_f=0.1; + filldraw barpath(xmid-xd*xhalf*L_x_f, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf*L_x_f, ymid+yd*yhalf*(1+L_topy_f)/2, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf, endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*L_topy_f, endrounding, 0, tightness_f, 30); + endchar; +enddef; + +% \ng +def draw_primitive_ng(expr rune, xd, yd, top, line, empty, belgthor) = + save ng_width_f; + if belgthor: + ng_width_f=1.25; + else: + ng_width_f=1.0; + fi; + beginrunechar(rune, ng_width_f*base_width#+2*margin_width#); + save ng_curve_f; + if belgthor: + ng_curve_f=1.0; + else: + ng_curve_f=0.25; + fi; + if line: + if empty: + if top: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalfred-2*yd*xhalf, toprounding, 0, tightness_f, 20); + else: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid-yd*xhalf, toprounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid+yd*yhalf, toprounding, + xmid, ymid+yd*xhalf, toprounding, 0, tightness_f, 30); + fi; + else: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + fi; + fi; + if top: + filldraw barpath(xmid, ymid+yd*yhalfred, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalfred-yd*xhalf, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalfred-yd*xhalf, jointrounding, + xmid, ymid+yd*yhalfred-yd*2*xhalf, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid, ymid+yd*yhalfred-yd*2*xhalf, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred-yd*xhalf, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 60); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalfred-yd*xhalf, jointrounding, + xmid, ymid+yd*yhalfred, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 70); + else: + filldraw barpath(xmid, ymid+yd*xhalf, jointrounding, + xmid-xd*xhalf, ymid, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid, jointrounding, + xmid, ymid-yd*xhalf, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 50); + filldraw barpath(xmid, ymid-yd*xhalf, jointrounding, + xmid+xd*xhalf, ymid, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 60); + filldraw barpath(xmid+xd*xhalf, ymid, jointrounding, + xmid, ymid+yd*xhalf, jointrounding, ng_curve_f*xd*yd*curve_d, tightness_f, 70); + fi; + endchar; +enddef; + +% \NG +def draw_primitive_NG(expr rune, xd, yd) = + beginrunechar(rune, 0.8*base_width#+2*margin_width#); + save NG_curve_f; + NG_curve_f=0.25; + filldraw barpath(xmid-xd*xhalf, ymid+yd*xhalf, jointrounding, + xmid+xd*xhalf, ymid+yd*xhalf, jointrounding, -NG_curve_f*xd*yd*curve_d, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid+yd*xhalf, jointrounding, + xmid+xd*xhalf, ymid-yd*xhalf, jointrounding, -NG_curve_f*xd*yd*curve_d, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid-yd*xhalf, jointrounding, + xmid-xd*xhalf, ymid-yd*xhalf, jointrounding, -NG_curve_f*xd*yd*curve_d, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid-yd*xhalf, jointrounding, + xmid-xd*xhalf, ymid+yd*xhalf, jointrounding, -NG_curve_f*xd*yd*curve_d, tightness_f, 50); + endchar; +enddef; + +% \ng +def draw_anglo_ng(expr rune, xd, yd) = + beginrunechar(rune, 0.98*base_width#+2*margin_width#); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, jointrounding, + xmid+xd*xhalf, ymid, jointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, jointrounding, + xmid-xd*xhalf, ymid, jointrounding, 0, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf, ymid, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, jointrounding, 0, tightness_f, 50); + endchar; +enddef; + +% o +def draw_primitive_o(expr rune, xd, yd) = + beginrunechar(rune, 1.4*base_width#+2*margin_width#); + save o_x_f; + save o_y_f; + save oround_x_f; + save oround_y_f; + save oround_curve_d; + save oroundsharp_curve_d; + o_x_f=0.72; + o_y_f=0.44; + oround_x_f=0.52; + oround_y_f=0.6; + oround_curve_d=70; + oroundsharp_curve_d=170; + if curve_d < 45: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid+xd*xhalf*o_x_f, ymid+yd*yhalf*o_y_f, jointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid-xd*xhalf*o_x_f, ymid+yd*yhalf*o_y_f, jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf*o_x_f, ymid+yd*yhalf*o_y_f, jointrounding, + xmid, ymid+yd*yhalf, jointrounding, 0, tightness_f, 40); + filldraw barpath(xmid-xd*xhalf*o_x_f, ymid+yd*yhalf*o_y_f, jointrounding, + xmid, ymid+yd*yhalf, jointrounding, 0, tightness_f, 50); + else: + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*(o_y_f-1)/2, jointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*(o_y_f-1)/2, jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid, ymid+yd*yhalf*(o_y_f-1)/2, jointrounding, + xmid-xd*xhalf*oround_x_f, ymid+yd*yhalf*oround_y_f, jointrounding, -xd*yd*oround_curve_d, tightness_f, 40); + filldraw barpath(xmid, ymid+yd*yhalf*(o_y_f-1)/2, jointrounding, + xmid+xd*xhalf*oround_x_f, ymid+yd*yhalf*oround_y_f, jointrounding, xd*yd*oround_curve_d, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*oround_x_f, ymid+yd*yhalf*oround_y_f, jointrounding, + xmid+xd*xhalf*oround_x_f, ymid+yd*yhalf*oround_y_f, jointrounding, -xd*yd*oroundsharp_curve_d, tightness_f, 60); + fi; + endchar; +enddef; + +% ea +def draw_anglo_ea(expr rune, xd, yd, q) = + beginrunechar(rune, topbarred*1.5*base_width#+2*margin_width#); + save ea_x_f; + save ea_y_f; + save ea_y_mirr; + ea_x_f=0.7; + ea_y_f=0.53; + ea_y_mirr=if q: -1 else: 1 fi; + filldraw barpath(xmid, ymid-yd*yhalf, endrounding, + xmid, ymid+yd*yhalf, topjointrounding, 0, tightness_f, 20); + filldraw barpath(xmid+xd*2, ymid+yd*yhalfred, jointrounding, + xmid+xd*xhalf*ea_x_f, ymid+yd*yhalfred*ea_y_f, jointrounding, 0, tightness_f, 30); + filldraw barpath(xmid+xd*xhalf*ea_x_f, ymid+yd*yhalfred*ea_y_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalfred, endrounding, 0, tightness_f, 40); + filldraw barpath(xmid-xd*2, ymid+yd*yhalfred*ea_y_mirr, jointrounding, + xmid-xd*xhalf*ea_x_f, ymid+yd*yhalfred*ea_y_f*ea_y_mirr, jointrounding, 0, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*ea_x_f, ymid+yd*yhalfred*ea_y_f*ea_y_mirr, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalfred*ea_y_mirr, endrounding, 0, tightness_f, 60); + endchar; +enddef; + +% rex +def draw_anglo_rex(expr rune, xd, yd) = + beginrunechar(rune, topbarred*1.15*base_width#+2*margin_width#); + save rex_y_f; + rex_y_f=0.4; + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf*rex_y_f, jointrounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid+yd*yhalf*rex_y_f, jointrounding, + xmid+xd*xhalf, ymid+yd*yhalf, endrounding, 0, tightness_f, 30); + filldraw barpath(xmid, ymid+yd*yhalf*rex_y_f, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, endrounding, 0, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf, ymid+yd*yhalf, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, jointrounding, 0, tightness_f, 50); + endchar; +enddef; + +% X, \X +def draw_medieval_x(expr rune, xd, yd, stem) = + beginrunechar(rune, 1.25*base_width#+2*margin_width#); + save x_y_f; + save x_twigtwiglength_f; + x_y_f=0.65; + x_twigtwiglength_f=0.25; + if stem: + filldraw barpath(xmid, ymid-yd*yhalf, toprounding, + xmid, ymid+yd*yhalf, toprounding, 0, tightness_f, 20); + fi; + filldraw barpath(xmid-xd*xhalf, ymid+yd*yhalf*x_y_f, endrounding, + xmid+xd*xhalf, ymid-yd*yhalf*x_y_f, endrounding, 0, tightness_f, 30); + filldraw barpath(xmid-xd*xhalf, ymid-yd*yhalf*x_y_f, endrounding, + xmid+xd*xhalf, ymid+yd*yhalf*x_y_f, endrounding, 0, tightness_f, 40); + filldraw barpath(xmid+xd*xhalf*(1-x_twigtwiglength_f), ymid+yd*yhalf*x_y_f*(1+((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, + xmid+xd*xhalf*(1+x_twigtwiglength_f), ymid+yd*yhalf*x_y_f*(1-((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, 0, tightness_f, 50); + filldraw barpath(xmid-xd*xhalf*(1-x_twigtwiglength_f), ymid-yd*yhalf*x_y_f*(1+((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, + xmid-xd*xhalf*(1+x_twigtwiglength_f), ymid-yd*yhalf*x_y_f*(1-((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, 0, tightness_f, 60); + filldraw barpath(xmid-xd*xhalf*(1-x_twigtwiglength_f), ymid+yd*yhalf*x_y_f*(1+((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, + xmid-xd*xhalf*(1+x_twigtwiglength_f), ymid+yd*yhalf*x_y_f*(1-((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, 0, tightness_f, 70); + filldraw barpath(xmid+xd*xhalf*(1-x_twigtwiglength_f), ymid-yd*yhalf*x_y_f*(1+((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, + xmid+xd*xhalf*(1+x_twigtwiglength_f), ymid-yd*yhalf*x_y_f*(1-((xhalf/(yhalf*x_y_f))**2)*x_twigtwiglength_f), endrounding, 0, tightness_f, 80); + endchar; +enddef; + +% \aa +def draw_modern_aa(expr rune, xd, yd) = + beginrunechar(rune, 0.8*base_width#+2*margin_width#); + save aa_curve_f; + aa_curve_f=0.5; + filldraw barpath(xmid+xd*xhalf, ymid, jointrounding, + xmid-xd*xhalf, ymid+yd*yhalf, endrounding, aa_curve_f*xd*yd*curve_d, tightness_f, 20); + filldraw barpath(xmid+xd*xhalf, ymid, jointrounding, + xmid-xd*xhalf, ymid-yd*yhalf, endrounding, -aa_curve_f*xd*yd*curve_d, tightness_f, 30); + endchar; +enddef; + + +% \end{macrocode} +% +%</frubase> +% +%<*frusep> +% +% \begin{macrocode} +def draw_cross(expr y_centre, i) = + filldraw barpath(xmid-xhalf, ymid-xhalf+y_centre*yhalf, endrounding, + xmid+xhalf, ymid+xhalf+y_centre*yhalf, endrounding, 0, tightness_f, i); + filldraw barpath(xmid-xhalf, ymid+xhalf+y_centre*yhalf, endrounding, + xmid+xhalf, ymid-xhalf+y_centre*yhalf, endrounding, 0, tightness_f, i+10) +enddef; + +def draw_plus(expr y_centre, i) = + filldraw barpath(xmid-xhalf, ymid+y_centre*yhalf, endrounding, + xmid+xhalf, ymid+y_centre*yhalf, endrounding, 0, tightness_f, i); + filldraw barpath(xmid, ymid+xhalf+y_centre*yhalf, endrounding, + xmid, ymid-xhalf+y_centre*yhalf, endrounding, 0, tightness_f, i+10) +enddef; + +% \dot, \eye +beginrunechar(".", sepdot_f*stem_w#+2*margin_width#); + filldraw dotpath(xmid, ymid, sepdot_f, 20); +endchar; + +% \doubledot, \doubleeye +beginrunechar(":", sepdot_f*stem_w#+2*margin_width#); + save ddot_y_f; + ddot_y_f=0.3; + filldraw dotpath(xmid, ymid+yhalf*ddot_y_f, sepdot_f, 20); + filldraw dotpath(xmid, ymid-yhalf*ddot_y_f, sepdot_f, 30); +endchar; + +% \tripledot +beginrunechar(59, sepdot_f*stem_w#+2*margin_width#); + save tdot_y_f; + tdot_y_f=0.6; + filldraw dotpath(xmid, ymid+yhalf*tdot_y_f, sepdot_f, 20); + filldraw dotpath(xmid, ymid, sepdot_f, 30); + filldraw dotpath(xmid, ymid-yhalf*tdot_y_f, sepdot_f, 40); +endchar; + +% \quaddot +beginrunechar(60, sepdot_f*stem_w#+2*margin_width#); + save qdot_ymid_f; + save qdot_ytop_f; + qdot_ymid_f=0.25; + qdot_ytop_f=0.75; + filldraw dotpath(xmid, ymid+yhalf*qdot_ymid_f, sepdot_f, 20); + filldraw dotpath(xmid, ymid+yhalf*qdot_ytop_f, sepdot_f, 30); + filldraw dotpath(xmid, ymid-yhalf*qdot_ymid_f, sepdot_f, 40); + filldraw dotpath(xmid, ymid-yhalf*qdot_ytop_f, sepdot_f, 50); +endchar; + +% \pentdot +beginrunechar(61, sepdot_f*stem_w#+2*margin_width#); + save pdot_ymid_f; + save pdot_ytop_f; + pdot_ymid_f=0.4; + pdot_ytop_f=0.8; + filldraw dotpath(xmid, ymid+yhalf*pdot_ymid_f, sepdot_f, 20); + filldraw dotpath(xmid, ymid+yhalf*pdot_ytop_f, sepdot_f, 30); + filldraw dotpath(xmid, ymid, sepdot_f, 40); + filldraw dotpath(xmid, ymid-yhalf*pdot_ymid_f, sepdot_f, 50); + filldraw dotpath(xmid, ymid-yhalf*pdot_ytop_f, sepdot_f, 60); +endchar; + +% \tripleeye +beginrunechar(62, 0.55*base_width#+2*margin_width#); + filldraw dotpath(xmid-xhalf, ymid+xhalf/sqrt(3), sepdot_f, 20); + filldraw dotpath(xmid+xhalf, ymid+xhalf/sqrt(3), sepdot_f, 30); + filldraw dotpath(xmid, ymid-2*xhalf/sqrt(3), sepdot_f, 40); +endchar; + +% \quadeye +beginrunechar(63, 0.6*base_width#+2*margin_width#); + filldraw dotpath(xmid, ymid-xhalf, sepdot_f, 20); + filldraw dotpath(xmid, ymid+xhalf, sepdot_f, 30); + filldraw dotpath(xmid-xhalf, ymid, sepdot_f, 40); + filldraw dotpath(xmid+xhalf, ymid, sepdot_f, 50); +endchar; + +% \penteye +beginrunechar(64, 0.75*base_width#+2*margin_width#); + filldraw dotpath(xmid, ymid-xhalf, sepdot_f, 20); + filldraw dotpath(xmid, ymid, sepdot_f, 30); + filldraw dotpath(xmid, ymid+xhalf, sepdot_f, 40); + filldraw dotpath(xmid+xhalf, ymid, sepdot_f, 50); + filldraw dotpath(xmid-xhalf, ymid, sepdot_f, 60); +endchar; + +% \cross +cross_width_f=0.55; +beginrunechar("*", cross_width_f*base_width#+2*margin_width#); + draw_cross(0.0, 20); +endchar; + +% \doublecross +beginrunechar(37, cross_width_f*base_width#+2*margin_width#); + save dcross_y_f; + dcross_y_f=0.4; + draw_cross(-dcross_y_f, 20); + draw_cross( dcross_y_f, 40); +endchar; + +% \triplecross +beginrunechar(38, cross_width_f*base_width#+2*margin_width#); + save tcross_y_f; + tcross_y_f=0.7; + draw_cross(-tcross_y_f, 20); + draw_cross( 0.0, 40); + draw_cross( tcross_y_f, 60); +endchar; + +% \plus +plus_width_f=0.67; +beginrunechar("+", plus_width_f*base_width#+2*margin_width#); + draw_plus(0.0, 20); +endchar; + +% \doubleplus +beginrunechar(44, plus_width_f*base_width#+2*margin_width#); + save dplus_y_f; + dplus_y_f=0.4; + draw_plus(-dplus_y_f, 20); + draw_plus( dplus_y_f, 40); +endchar; + +% \tripleplus +beginrunechar(45, plus_width_f*base_width#+2*margin_width#); + save tplus_y_f; + tplus_y_f=0.76; + draw_plus(-tplus_y_f, 20); + draw_plus( 0.0, 40); + draw_plus( tplus_y_f, 60); +endchar; + +% \bar +beginrunechar("!", stem_w#+2*margin_width#); + save barheight_y_f; + barheight_y_f=0.4; + filldraw barpath(xmid, ymid+barheight_y_f*yhalf, endrounding, + xmid, ymid-barheight_y_f*yhalf, endrounding, 0, tightness_f, 20); +endchar; + +% \doublebar +beginrunechar(34, stem_w#+2*margin_width#); + save dbarheight_y_f; + save dbarpos_y_f; + dbarheight_y_f=0.3; + dbarpos_y_f=0.4; + filldraw barpath(xmid, ymid+( dbarpos_y_f+dbarheight_y_f)*yhalf, endrounding, + xmid, ymid+( dbarpos_y_f-dbarheight_y_f)*yhalf, endrounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid+(-dbarpos_y_f+dbarheight_y_f)*yhalf, endrounding, + xmid, ymid+(-dbarpos_y_f-dbarheight_y_f)*yhalf, endrounding, 0, tightness_f, 30); +endchar; + +% \triplebar +beginrunechar(35, stem_w#+2*margin_width#); + save tbarheight_y_f; + save tbarpos_y_f; + tbarheight_y_f=0.25; + tbarpos_y_f=0.7; + filldraw barpath(xmid, ymid+( tbarpos_y_f+tbarheight_y_f)*yhalf, endrounding, + xmid, ymid+( tbarpos_y_f-tbarheight_y_f)*yhalf, endrounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid +tbarheight_y_f *yhalf, endrounding, + xmid, ymid -tbarheight_y_f *yhalf, endrounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid+(-tbarpos_y_f+tbarheight_y_f)*yhalf, endrounding, + xmid, ymid+(-tbarpos_y_f-tbarheight_y_f)*yhalf, endrounding, 0, tightness_f, 30); +endchar; + + +% \star +beginrunechar(36, 0.7*base_width#+2*margin_width#); + filldraw barpath(xmid, ymid, jointrounding, + xmid+cosd(1/5*360+90)*xhalf, ymid+sind(1/5*360+90)*xhalf, endrounding, 0, tightness_f, 20); + filldraw barpath(xmid, ymid, jointrounding, + xmid+cosd(2/5*360+90)*xhalf, ymid+sind(2/5*360+90)*xhalf, endrounding, 0, tightness_f, 30); + filldraw barpath(xmid, ymid, jointrounding, + xmid+cosd(3/5*360+90)*xhalf, ymid+sind(3/5*360+90)*xhalf, endrounding, 0, tightness_f, 40); + filldraw barpath(xmid, ymid, jointrounding, + xmid+cosd(4/5*360+90)*xhalf, ymid+sind(4/5*360+90)*xhalf, endrounding, 0, tightness_f, 50); + filldraw barpath(xmid, ymid, jointrounding, + xmid+cosd(5/5*360+90)*xhalf, ymid+sind(5/5*360+90)*xhalf, endrounding, 0, tightness_f, 60); +endchar; + +% \end{macrocode} +% +%</frusep> +% +% \section{Font family files} +% +%<*fruc> +% +% \begin{macrocode} +% f +draw_primitive_f("f",1,1); + +% \vflip{f} +draw_primitive_f(166,1,-1); + +% \hflip{f} +draw_primitive_f(174,-1,1); + +% \turn{f} +draw_primitive_f(182,-1,-1); + +% F +draw_normal_f("F",1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \vflip{F} +draw_normal_f(134,1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \hflip{F} +draw_normal_f(142,-1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \turn{F} +draw_normal_f(150,-1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% u +draw_normal_u("u",1,1,true,0); %tight = true, 0 = no dots + +% \hflip{u} +draw_normal_u(229,-1,1,true,0); %tight = true, 0 = no dots + +% \vflip{u} +draw_normal_u(221,1,-1,true,0); %tight = true, 0 = no dots + +% \turn{u} +draw_normal_u(237,-1,-1,true,0); %tight = true, 0 = no dots + +% U (tent shaped) +draw_primitive_U("U",1,1,true); %symmetric = true + +% \hflip{U} (tent shaped) +draw_primitive_U(205,-1,1,true); %symmetric = true + +% \vflip{U} (tent shaped) +draw_primitive_U(197,1,-1,true); %symmetric = true + +% \turn{U} (tent shaped) +draw_primitive_U(213,-1,-1,true); %symmetric = true + +% \th +draw_normal_th(254,1,1,false,false,false); %big = false, dot = false, doubble = false + +% \hflip{\th} +draw_normal_th(238,-1,1,false,false,false); %big = false, dot = false, doubble = false + +% a +draw_normal_single_A("a",1,1,true); %top = true + +% \hflip{a} +draw_normal_single_A(177,-1,1,true); %top = true + +% \vflip{a} +draw_normal_single_A(169,1,-1,true); %top = true + +% \turn{a} +draw_normal_single_A(185,-1,-1,true); %top = true + +% \a +draw_roek_a(225,1,1); + +% \hflip{\a} +draw_roek_a(233,-1,1); + +% r +draw_normal_r("r",1,1,false,false); % closed = false, topdot=false + +% \hflip{r} +draw_normal_r(242,-1,1,false,false); % closed = false, topdot=false + +% \vflip{r} +draw_normal_r(234,1,-1,false,false); % closed = false, topdot=false + +% \turn{r} +draw_normal_r(250,-1,-1,false,false); % closed = false, topdot=false + +% k +draw_primitive_k("k",1,1); + +% \hflip{k} +draw_primitive_k(163,-1,1); + +% \k +draw_primitive_kup(171,1,1,false,false); %stem = false, big = false + +% \vflip{\k} +draw_primitive_kup(187,1,-1,false,false); %stem = false, big = false + +% K +draw_primitive_kup("K",1,1,true,true); %stem = true, big = true + +% \vflip{K} +draw_primitive_kup(155,1,-1,true,true); %stem = true, big = true + +% \K +draw_primitive_kup(131,1,1,true,false); %stem = true, big = false + +% \vflip{\K} +draw_primitive_kup(139,1,-1,true,false); %stem = true, big = false + +% g +draw_primitive_g("g",1,1,false,false,false); %v_stem = false, h_angles = false, eye = false + +% w +draw_primitive_w("w",1,1); + +% \hflip{w} +draw_primitive_w(175,-1,1); + +% \vflip{w} +draw_primitive_w(191,1,-1); + +% \turn{w} +draw_primitive_w(183,-1,-1); + +% h +draw_primitive_h("h",1,1,false,false); %top = false, twobars = false + +% \hflip{h} +draw_primitive_h(168,-1,1,false,false); %top = false, twobars = false + +% \h +draw_primitive_h(232,1,1,false,true); %top = false, twobars = true + +% \hflip{\h} +draw_primitive_h(240,-1,1,false,true); %top = false, twobars = true + +% H +draw_primitive_h("H",1,1,true,false); %top = true, twobars = false + +% \hflip{H} +draw_primitive_h(136,-1,1,true,false); %top = true, twobars = false + +% n +draw_normal_h("n",1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% \hflip{n} +draw_normal_h(158,-1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% i +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% \i +draw_roek_i(193,1,1); + +% \hflip{iRoek} +draw_roek_i(201,-1,1); + +% j +draw_primitive_j("j",1,1); + +% \hflip{j} +draw_primitive_j(162,-1,1); + +% \j +draw_primitive_jup(170,1,1); + +% \hflip{\j} +draw_primitive_jup(178,-1,1); + +% J +draw_normal_s("J",1,1,true,false,false,false,false); %twobars = true, chair = false, high = false, twigs = false, flat = false + +% \hflip{J} +draw_normal_s(130,-1,1,true,false,false,false,false); %twobars = true, chair = false, high = false, twigs = false, flat = false + +% A +draw_normal_s("A",1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \hflip{A} +draw_normal_s(129,-1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \A +draw_normal_h(161,1,1,true,true,false); %NWSE = true, NESW = true, dot = false + +% I +draw_primitive_I(239,1,1); +draw_primitive_I("I",1,1); + +%\hflip{I} +draw_primitive_I(207,-1,1); + +% p +draw_primitive_p("p",1,1); + +%\hflip{p} +draw_primitive_p(176,-1,1); + +% \p +draw_primitive_e(160,1,-1,false,false); %closed = false, midstem = false + +% \vflip{p} +draw_primitive_e(192,1,1,false,false); %closed = false, midstem = false + +% P +draw_primitive_e("P",1,1,true,false); %closed = true, midstem = false + +% R +draw_normal_m("R",1,1,false,false,false); %dots = false, double = false, tree = false + +% \R +draw_normal_m(154,1,-1,false,false,false); %dots = false, double = false, tree = false + +% \RR +draw_normal_m(122,1,1,false,true,false); %dots = false, double = true, tree = false + +% s, \s4 +draw_primitive_s("s",1,1,4); %strokes = 4 + +% \hflip{s}, \hflip{\s4} +draw_primitive_s(179,-1,1,4); %strokes = 4 + +% S, \s6 +draw_primitive_s("S",1,1,6); %strokes = 6 + +% \hflip{S}, \hflip{\s6} +draw_primitive_s(147,-1,1,6); %strokes = 6 + +% \s +draw_normal_s(195,1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \hflip{\s} +draw_normal_s(203,-1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \S +draw_normal_s(196,1,1,false,false,false,false,true); %twobars = false, chair = false, high = false, twigs = false, flat = true + +% \hflip{\S} +draw_normal_s(204,-1,1,false,false,false,false,true); %twobars = false, chair = false, high = false, twigs = false, flat = true + +% \s3 +draw_primitive_s(211,1,1,3); %strokes = 3 + +% \hflip{\s3} +draw_primitive_s(219,-1,1,3); %strokes = 3 + +% \s4 +draw_primitive_s(227,1,1,4); %strokes = 4 + +% \hflip{\s4} +draw_primitive_s(235,-1,1,4); %strokes = 4 + +% \s5 +draw_primitive_s(243,1,1,5); %strokes = 5 + +% \hflip{\s5} +draw_primitive_s(251,-1,1,5); %strokes = 5 + +% \s6 +draw_primitive_s(212,1,1,6); %strokes = 6 + +% \hflip{\s6} +draw_primitive_s(220,-1,1,6); %strokes = 6 + +% \s7 +draw_primitive_s(228,1,1,7); %strokes = 7 + +% \hflip{\s7} +draw_primitive_s(236,-1,1,7); %strokes = 7 + +% \s8 +draw_primitive_s(244,1,1,8); %strokes = 8 + +% \hflip{\s8} +draw_primitive_s(252,-1,1,8); %strokes = 8 + +% t +draw_normal_t("t",1,1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \vflip{t} +draw_normal_t(180,1,-1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \t +draw_normal_t("T",1,1,false,false,false,false,true); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = true + +% \vflip{\t} +draw_normal_t(188,1,-1,false,false,false,false,true); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = true + +% b +draw_normal_b("b",1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% \hflip{b} +draw_normal_b(226,-1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% B, small eyes +draw_normal_b("B",1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + +% \hflip{B}, small eyes +draw_normal_b(194,-1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + +% e +draw_primitive_e("e",1,1,false,false); %closed = false, midstem = false + +% \vflip{e} +draw_primitive_e(165,1,-1,false,false); %closed = false, midstem = false + +% E +draw_primitive_E("E",1,1,false); %closed = false + +% \vflip{E} +draw_primitive_E(133,1,-1,false); %closed = false + +% m +draw_primitive_m("m",1,1,false,true,false); %big = false, top = true, double = false + +% \vflip{m} +draw_primitive_m(149,1,-1,false,true,false); %big = false, top = true, double = false + +% l +draw_normal_l("l",1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \hflip{l} +draw_normal_l(148,-1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + + +% \vflip{l} +draw_normal_l(140,1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \turn{l} +draw_normal_l(156,-1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + + +%173 = \ng +draw_primitive_ng(173,1,1,false,false,false,false); %top = false, line = false, empty = false, belgthor = false + +% \NG +draw_primitive_NG(141,1,1); + +% \ing +draw_primitive_ng(181,1,1,true,true,true,false); %top = true, line = true, empty = true, belgthor = false + +% \vflip{\ing} +draw_primitive_ng(245,1,-1,true,true,true,false); %top = true, line = true, empty = true, belgthor = false + +% \Ing +draw_primitive_ng(189,1,1,true,true,false,false); %top = true, line = true, empty = false, belgthor = false + +% \vflip{\Ing} +draw_primitive_ng(253,1,-1,true,true,false,false); %top = true, line = true, empty = false, belgthor = false + +% \ING +draw_primitive_ng(157,1,1,false,true,false,false); %top = false, line = true, empty = false, belgthor = false + +% d +draw_primitive_m("d",1,1,true,false,false); %big = true, top = false, double = false + +% \d +draw_primitive_m(164,1,1,false,false,false); %big = false, top = false, double = false + +% D +draw_primitive_E("D",1,1,true); %closed = true + +% o +draw_primitive_o("o",1,1); + +% \vflip{o} +draw_primitive_o(255,1,-1); + +ligtable ".": + ":": + 62: %62 \tripleeye + 63: %63 \quadeye + 64: %64 \penteye + "!": + "+": + 44: %44 \doubleplus + 36: %36 \star + 42: %42 \cross + "K" kern -0.2base_width#, + "g" kern -0.2base_width#, + "I" kern -0.2base_width#, + "R" kern -0.3base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#; % \RR + +ligtable "f": + "K": + 181: % \ing + 189: % \Ing + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + "U" kern -0.15base_width#, + "k" kern -0.2base_width#, + 163 kern -0.1base_width#, % \hflip{k} + 171 kern -0.1base_width#, % \k + 187 kern -0.2base_width#, % \vflip{\k} + 155 kern -0.3base_width#, % \vflip{K} + 139 kern -0.3base_width#, % \vflip{\K} + "j" kern -0.1base_width#, + 162 kern -0.2base_width#, % \vflip{j} + 170 kern -0.2base_width#, % \j + 178 kern -0.1base_width#, % \vflip{\j} + "I" kern -0.15base_width#, + "T" kern -0.2base_width#, + 154 kern -0.3base_width#; % \R + +ligtable "F": + "R": + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "k" kern -0.3base_width#, + 163 kern -0.2base_width#, % \hflip{k} + 171 kern -0.2base_width#, % \k + 187 kern -0.3base_width#, % \vflip{\k} + 155 kern -0.4base_width#, % \vflip{K} + 139 kern -0.4base_width#, % \vflip{\K} + "n" kern -0.2base_width#, + "j" kern -0.1base_width#, + 162 kern -0.2base_width#, % \vflip{j} + 170 kern -0.2base_width#, % \j + 178 kern -0.1base_width#, % \vflip{\j} + 161 kern -0.2base_width#, % \A + "I" kern -0.2base_width#, + "T" kern -0.3base_width#, + 173 kern -0.3base_width#, % \ng + 141 kern -0.2base_width#, % \NG + 157 kern -0.3base_width#, % \ING + 154 kern -0.5base_width#; % \R + +ligtable "u": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + "K" kern -0.3base_width#, + "n" kern -0.2base_width#, + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + "R" kern -0.3base_width#, + 193 kern -0.2base_width#; % \i + +ligtable "U": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + "n" kern -0.2base_width#, + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + "R" kern -0.3base_width#, + 193 kern -0.2base_width#; % \i + + +ligtable 254: % \th + 163: % \hflip{k} + "T": + 173: % \ng + 157: % \ING + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "K" kern -0.2base_width#, + 155 kern -0.2base_width#, % \vflip{K} + "g" kern -0.2base_width#, + "I" kern -0.15base_width#, + "n" kern -0.15base_width#, + "t" kern -0.15base_width#, + "R" kern -0.3base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#, % \RR + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + 193 kern -0.15base_width#; % \i + + +ligtable "a": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + 155 kern -0.3base_width#, % \vflip{K} + "I" kern -0.15base_width#, + 154 kern -0.3base_width#; % \R + +ligtable "r": + "b": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "k" kern -0.15base_width#, + "K" kern -0.2base_width#, + "t" kern -0.2base_width#, + "T" kern -0.25base_width#, + 173 kern -0.15base_width#, % \ng + 157 kern -0.15base_width#, % \ING + "R" kern -0.25base_width#; + +ligtable "k": + 161: % \A + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "k" kern -0.15base_width#, + "K" kern -0.15base_width#, + 155 kern -0.15base_width#, % \vflip{K} + "g" kern -0.15base_width#, + 173 kern -0.15base_width#, % \ng + 157 kern -0.15base_width#, % \ING + 154 kern -0.2base_width#, % \R + "R" kern -0.2base_width#; + +ligtable 171: % \k + 187: % \vflip{\k} + "K" kern -0.2base_width#, + "g" kern -0.2base_width#, + "R" kern -0.2base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#; % \RR + +ligtable 131: % \K + "g" kern -0.2base_width#, + 122 kern -0.2base_width#; % \RR + +ligtable 139: % \vflip{\K} + "g" kern -0.2base_width#, + 122 kern -0.2base_width#; % \RR + +ligtable "g": + "p": + 122: % \RR + "B": + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "k" kern -0.2base_width#, + 163 kern -0.15base_width#, % \hflip{k} + 171 kern -0.1base_width#, % \k + 187 kern -0.1base_width#, % \vflip{\k} + 131 kern -0.2base_width#, % \K + 139 kern -0.2base_width#, % \vflip{\K} + "j" kern -0.2base_width#, + 162 kern -0.2base_width#, % \vflip{j} + 170 kern -0.2base_width#, % \j + 178 kern -0.2base_width#, % \vflip{\j} + 161 kern -0.2base_width#, % \A + "I" kern -0.15base_width#, + "t" kern -0.1base_width#, + "T" kern -0.3base_width#, + 173 kern -0.3base_width#, % \ng + 141 kern -0.2base_width#, % \NG + 157 kern -0.3base_width#; % \ING + +ligtable "h": + 168: % \hflip{h} + "H": + 136: % \hflip{H} + 232: % \h + 240: % \hflip{\h} + "i" kern +0.1base_width#; + +ligtable "n": 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 36 kern -0.1base_width#, %36, \star + 171 kern -0.2base_width#, % \k + "K" kern -0.3base_width#, + 131 kern -0.2base_width#, % \K + "g" kern -0.2base_width#, + "j" kern -0.2base_width#, + 178 kern -0.2base_width#, % \vflip{\j} + "I" kern -0.2base_width#, + "R" kern -0.3base_width#, + 154 kern -0.2base_width#, % \R + 122 kern -0.2base_width#, % \RR + 211 kern -0.2base_width#, % \sthree + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + 193 kern -0.3base_width#; % \i + +ligtable "i": "i" kern -0.2base_width#; + +ligtable "j": "K" kern -0.3base_width#, + "g" kern -0.2base_width#, + "n" kern -0.3base_width#, + "R" kern -0.3base_width#, + 154 kern -0.2base_width#, % \R + 122 kern -0.2base_width#, % \RR + 211 kern -0.2base_width#, % \sthree + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + 193 kern -0.3base_width#; % \i + +ligtable 162: % \vflip{j} + 155 kern -0.3base_width#, % \vflip{K} + "g" kern -0.2base_width#, + "I" kern -0.15base_width#, + "R" kern -0.2base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#, % \RR + "T" kern -0.15base_width#; + +ligtable 170: % \j + "K" kern -0.2base_width#, + 155 kern -0.3base_width#, % \vflip{K} + "g" kern -0.2base_width#, + "R" kern -0.2base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#, % \RR + "t" kern -0.2base_width#; + +ligtable 178: % \vflip{\j} + "K" kern -0.3base_width#, + 155 kern -0.2base_width#, % \vflip{K} + "g" kern -0.2base_width#, + "R" kern -0.3base_width#, + 154 kern -0.2base_width#, % \R + 122 kern -0.2base_width#, % \RR + "t" kern -0.2base_width#; + + +ligtable "J": + "A": + 195: % \s + "K" kern -0.2base_width#, + "R" kern -0.2base_width#, + "t" kern -0.2base_width#, + 193 kern -0.2base_width#; % \i + +ligtable "I": + "l": + "t": + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 36 kern -0.2base_width#, %36, \star + 42 kern -0.2base_width#, %42, \cross + "U" kern -0.15base_width#, + "k" kern -0.2base_width#, + 155 kern -0.3base_width#, % \vflip{K} + "g" kern -0.1base_width#, + "I" kern -0.3base_width#, + "j" kern -0.1base_width#, + 162 kern -0.15base_width#, % \vflip{j} + 170 kern -0.2base_width#, % \j + 178 kern -0.1base_width#, % \vflip{\j} + "R" kern -0.2base_width#, + 154 kern -0.3base_width#, % \R + 122 kern -0.2base_width#, % \RR + "T" kern -0.2base_width#, + 173 kern -0.15base_width#, % \ng + 141 kern -0.15base_width#, % \NG + 157 kern -0.15base_width#; % \ING + + +ligtable 154: % \R + 155: % \vflip{K} + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "k" kern -0.2base_width#, + 163 kern -0.2base_width#, % \hflip{k} + 171 kern -0.3base_width#, % \k + 187 kern -0.2base_width#, % \vflip{\k} + "K" kern -0.4base_width#, + 131 kern -0.4base_width#, % \K + 162 kern -0.2base_width#, % \vflip{j} + 170 kern -0.2base_width#, % \j + 161 kern -0.2base_width#, % \A + "I" kern -0.2base_width#, + "T" kern -0.3base_width#, + 173 kern -0.3base_width#, % \ng + 141 kern -0.2base_width#, % \NG + 181 kern -0.3base_width#, % \ing + 187 kern -0.3base_width#, % \Ing + 157 kern -0.3base_width#, % \ING + "R" kern -0.5base_width#; % + +ligtable 196: % \S + "K" kern -0.2base_width#, + "R" kern -0.2base_width#, + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + 193 kern -0.2base_width#; % \i + +ligtable 211: % \sthree + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + 171 kern -0.2base_width#, % \k + 131 kern -0.2base_width#, % \K + "j" kern -0.25base_width#, + "p" kern -0.2base_width#, + "R" kern -0.15base_width#, + 154 kern -0.15base_width#, % \R + 211 kern -0.2base_width#, % \sthree + "t" kern -0.2base_width#, + 181 kern -0.2base_width#, % \ing + 189 kern -0.2base_width#, % \Ing + 193 kern -0.2base_width#; % \i + + + +ligtable 193: % \i + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "K" kern -0.5base_width#, + "j" kern -0.3base_width#, + "R" kern -0.3base_width#, + "t" kern -0.3base_width#, + 181 kern -0.3base_width#, % \ing + 189 kern -0.3base_width#, % \Ing + 193 kern -0.4base_width#; % \i + +ligtable 225: % \a + "g" kern -0.2base_width#; + + +% \end{macrocode} +% +%</fruc> +% +%<*frua> +% +% \begin{macrocode} +% f +draw_primitive_f("f",1,1); + +% \vflip{f} +draw_primitive_f(166,1,-1); + +% \hflip{f} +draw_primitive_f(174,-1,1); + +% \turn{f} +draw_primitive_f(182,-1,-1); + +% F +draw_normal_f("F",1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \vflip{F} +draw_normal_f(134,1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \hflip{F} +draw_normal_f(142,-1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \turn{F} +draw_normal_f(150,-1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% u +draw_normal_u("u",1,1,true,0); %tight = true, 0 = no dots + +% \hflip{u} +draw_normal_u(229,-1,1,true,0); %tight = true, 0 = no dots + +% \vflip{u} +draw_normal_u(221,1,-1,true,0); %tight = true, 0 = no dots + +% \turn{u} +draw_normal_u(237,-1,-1,true,0); %tight = true, 0 = no dots + +% U (tent shaped) +draw_primitive_U("U",1,1,true); %symmetric = true + +% \hflip{U} (tent shaped) +draw_primitive_U(205,-1,1,true); %symmetric = true + +% \vflip{U} (tent shaped) +draw_primitive_U(197,1,-1,true); %symmetric = true + +% \turn{U} (tent shaped) +draw_primitive_U(213,-1,-1,true); %symmetric = true + +% \th +draw_normal_th(254,1,1,false,false,false); %big = false, dot = false, doubble = false + +% \hflip{\th} +draw_normal_th(238,-1,1,false,false,false); %big = false, dot = false, doubble = false + +% o +draw_anglo_o("o",1,1,true); %two = true + +% \hflip{o} +draw_anglo_o(151,-1,1,true); %two = true + +% \vflip{o} +draw_anglo_o(143,1,-1,true); %two = true + +% \turn{o} +draw_anglo_o(159,-1,-1,true); %two = true + +% r +draw_normal_r("r",1,1,false,false); % closed = false, topdot=false + +% \hflip{r} +draw_normal_r(242,-1,1,false,false); % closed = false, topdot=false + +% \vflip{r} +draw_normal_r(234,1,-1,false,false); % closed = false, topdot=false + +% \turn{r} +draw_normal_r(250,-1,-1,false,false); % closed = false, topdot=false + +% c +draw_normal_k("c",1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \hflip{c} +draw_normal_k(155,-1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \vflip{c} +draw_normal_k(163,1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \turn{c} +draw_normal_k(171,-1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \c +draw_primitive_kup(131,1,-1,true,true); %stem = true, big = true + +% \vflip{\c} +draw_primitive_kup(139,1,1,true,true); %stem = true, big = true + +% g +draw_primitive_g("g",1,1,false,false,false); %v_stem = false, h_angles = false, eye = false + +% w +draw_primitive_w("w",1,1); + +% \hflip{w} +draw_primitive_w(175,-1,1); + +% \vflip{w} +draw_primitive_w(191,1,-1); + +% \turn{w} +draw_primitive_w(183,-1,-1); + +% h +draw_primitive_h("h",1,1,false,true); %top = false, twobars = true + +% \hflip{h} +draw_primitive_h(168,-1,1,false,true); %top = false, twobars = true + +% H +draw_primitive_h("H",1,1,false,false); %top = false, twobars = false + +% \hflip{H} +draw_primitive_h(136,-1,1,false,false); %top = false, twobars = false + +% \h +draw_normal_double_A(216,1,1,false,false,false); %three = false, stlb = false, sblb = false + +% \vflip{\h} +draw_normal_double_A(224,1,-1,false,false,false); %three = false, stlb = false, sblb = false + +% n +draw_normal_h("n",1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% \hflip{n} +draw_normal_h(158,-1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% i +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% j +draw_normal_h("j",1,1,true,true,false); %NWSE = true, NESW = true, dot = false + +% \j +draw_primitive_ng(178,1,1,false,true,false,false); %top = false, line = true, empty = false, belgthor = false + +% J +draw_anglo_j("J",1,1); + +% I +draw_primitive_I("I",1,1); +draw_primitive_I(239,1,1); + +%\hflip{I} +draw_primitive_I(207,-1,1); + +% p +draw_primitive_p("p",1,1); + +%\hflip{p} +draw_primitive_p(176,-1,1); + +% p +draw_frisian_p("P",1,1); + +% \hflip{P} +draw_frisian_p(144,-1,1); + +% x +draw_normal_m("x",1,1,false,false,false); %dots = false, double = false, tree = false + +% s +draw_normal_s("s",1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \hflip{s} +draw_normal_s(179,-1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% S +draw_normal_k("S",1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \hflip{S} +% see \turn{c} + +% \vflip{S} +% see c + +% \turn{S} +% see \hflip{c} + +% \s3 +draw_primitive_s(211,1,1,3); %strokes = 3 + +% \hflip{\s3} +draw_primitive_s(219,-1,1,3); %strokes = 3 + +% \s4 +draw_primitive_s(227,1,1,4); %strokes = 4 + +% \hflip{\s4} +draw_primitive_s(235,-1,1,4); %strokes = 4 + +% \s5 +draw_primitive_s(243,1,1,5); %strokes = 5 + +% \hflip{\s5} +draw_primitive_s(251,-1,1,5); %strokes = 5 + +% \s6 +draw_primitive_s(212,1,1,6); %strokes = 6 + +% \hflip{\s6} +draw_primitive_s(220,-1,1,6); %strokes = 6 + +% \s7 +draw_primitive_s(228,1,1,7); %strokes = 7 + +% \hflip{\s7} +draw_primitive_s(236,-1,1,7); %strokes = 7 + +% \s8 +draw_primitive_s(244,1,1,8); %strokes = 8 + +% \hflip{\s8} +draw_primitive_s(252,-1,1,8); %strokes = 8 + +% t +draw_normal_t("t",1,1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \vflip{t} +draw_normal_t(180,1,-1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% b +draw_normal_b("b",1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% \hflip{b} +draw_normal_b(226,-1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% B, small eyes +draw_normal_b("B",1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + + +% \hflip{B}, small eyes +draw_normal_b(194,-1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + +% e +draw_primitive_e("e",1,1,false,false); %closed = false, midstem = false + +% \vflip{e} +draw_primitive_e(165,1,-1,false,false); %closed = false, midstem = false + +% m +draw_primitive_m("m",1,1,false,true,false); %big = false, top = true, double = false + +% \vflip{m} +draw_primitive_m(149,1,-1,false,true,false); %big = false, top = true, double = false + +% l +draw_normal_l("l",1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \hflip{l} +draw_normal_l(148,-1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{l} +draw_normal_l(140,1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \turn{l} +draw_normal_l(156,-1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +%173 = \ng +draw_anglo_ng(173, 1, 1); + +% d +draw_primitive_m("d",1,1,true,false,false); %big = true, top = false, double = false + +% \d +draw_primitive_m(164,1,1,false,false,false); %big = false, top = false, double = false + +% D +draw_primitive_e("D",1,1,true,true); %closed = true, midstem = true + +% \oe +draw_primitive_o(247,1,1); + +% \vflip{o} +draw_primitive_o(255,1,-1); + +% \OE +draw_primitive_ng(215,1,1,true,true,false,false); %top = true, line = true, empty = false, belgthor = false + +% \vflip{\OE} +draw_primitive_ng(223,1,-1,true,true,false,false); %top = true, line = true, empty = false, belgthor = false + +% a +draw_anglo_o("a",1,1,false); %two = false + +% \hflip{a} +draw_anglo_o(177,-1,1,false); %two = false + +% \vflip{a} +draw_anglo_o(169,1,-1,false); %two = false + +% \turn{a} +draw_anglo_o(185,-1,-1,false); %two = false + +% \ae +draw_normal_single_A(230,1,1,true); %top = true + +% \hflip{\ae} +draw_normal_single_A(198,-1,1,true); %top = true + +% \vflip{\ae} +draw_normal_single_A(206,1,-1,true); %top = true + +% \turn{\ae} +draw_normal_single_A(214,-1,-1,true); %top = true + +% y +draw_normal_u("y",1,1,true,3); %tight = true, 3 = bar + +% \hflip{y} +draw_normal_u(232,-1,1,true,3); %tight = true, 3 = bar + +% \vflip{y} +draw_normal_u(240,1,-1,true,3); %tight = true, 3 = bar + +% \turn{y} +draw_normal_u(248,-1,-1,true,3); %tight = true, 3 = bar + +% \y +draw_normal_u(193,1,1,true,4); %tight = true, 4 = x + +% \hflip{\y} +draw_normal_u(201,-1,1,true,4); %tight = true, 4 = x + +% \vflip{\y} +draw_normal_u(209,1,-1,true,4); %tight = true, 4 = x + +% \turn{\y} +draw_normal_u(217,-1,-1,true,4); %tight = true, 4 = x + +% Y +draw_normal_u("Y",1,1,true,5); %tight = true, 5 = y + +% \hflip{y} +draw_normal_u(233,-1,1,true,5); %tight = true, 5 = y + +% \vflip{y} +draw_normal_u(241,1,-1,true,5); %tight = true, 5 = y + +% \turn{y} +draw_normal_u(249,-1,-1,true,5); %tight = true, 5 = y + +% \ea +draw_anglo_ea(196,1,1,false); %q = false + +% \vflip{\ea} +draw_anglo_ea(204,1,-1,false); %q = false + +% \g +draw_primitive_g(135,1,1,false,true,false); %v_stem = false, h_angles = true, eye = false + +% \G +draw_primitive_g(167,1,1,false,false,true); %v_stem = false, h_angles = false, eye = true + +% k +draw_normal_m("k",1,-1,false,false,false); %dots = false, double = false, tree = false + +% \k +draw_primitive_g(195,1,1,true,true,false); %v_stem = true, h_angles = true, eye = false + +% \io +%draw_anglo_io(153,1,1); + +% q +draw_anglo_ea("q",1,1,true); %q = true + +% \vflip{q} +draw_anglo_ea(81,1,-1,true); %q = true + +% \stan +draw_primitive_e(208,1,1,true,false); %closed = true, midstem = false + +% \STAN +draw_primitive_m(200,1,1,false,true,true); %big = true, top = false, double = true + +% \rex +draw_anglo_rex(154,1,1); + +% \vflip{\rex} +draw_anglo_rex(186,1,-1); + +ligtable ".": + ":": + 62: %62 \tripleeye + 63: %63 \quadeye + 64: %64 \penteye + "!": + "+": + 44: %44 \doubleplus + 36: %36 \star + 42: %42 \cross + 254: % \th + "j": + 178: % \j + "J": + "U" kern -0.1base_width#, + 131 kern -0.2base_width#, % \c + "g" kern -0.2base_width#, + "n" kern -0.1base_width#, + "I" kern -0.2base_width#, + "x" kern -0.2base_width#, + "t" kern -0.1base_width#, + 247 kern -0.2base_width#, % \oe + 215 kern -0.1base_width#, % \OE + 196 kern -0.25base_width#, % \ea + 135 kern -0.1base_width#, % \g + 167 kern -0.1base_width#, % \G + "k" kern -0.2base_width#, + 195 kern -0.1base_width#, % \k + 154 kern -0.2base_width#, % \rex + "q" kern -0.2base_width#; + +ligtable "f": + "o": + "w": + "I": + "x": + "t": + "l": + 215: % \OE + 230: % \ae + "a": + 154: % \rex + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + "U" kern -0.15base_width#, + 131 kern -0.25base_width#, % \c + "n" kern -0.1base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.2base_width#, + "I" kern -0.3base_width#, + "k" kern -0.3base_width#, + "q" kern -0.3base_width#; + +ligtable "F": + "S": + 196: % \ea + "q": + "." kern -0.25base_width#, + ":" kern -0.15base_width#, + 62 kern -0.25base_width#, %62, \tripleeye + 63 kern -0.25base_width#, %63, \quadeye + 64 kern -0.25base_width#, %64, \penteye + "!" kern -0.15base_width#, + "+" kern -0.25base_width#, + 44 kern -0.15base_width#, %44, \doubleplus + 36 kern -0.25base_width#, %36, \star + 37 kern -0.15base_width#, %37, \doublecross + 42 kern -0.25base_width#, %42, \cross + "U" kern -0.2base_width#, + 131 kern -0.3base_width#, % \c + "n" kern -0.15base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.3base_width#, + "I" kern -0.4base_width#, + "k" kern -0.4base_width#, + "q" kern -0.4base_width#; + +ligtable "u": + "U": + "H": + "n": + "s": + "y": + 193: % \y + "Y": + "." kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.1base_width#, %63, \quadeye + 64 kern -0.1base_width#, %64, \penteye + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + 216 kern -0.1base_width#, % \h + "n" kern -0.1base_width#, + "J" kern -0.15base_width#, + "x" kern -0.25base_width#, + "t" kern -0.15base_width#, + 215 kern -0.2base_width#, % \OE + 196 kern -0.3base_width#, % \ea + 154 kern -0.25base_width#; % \rex + +ligtable "r": + 247: % \oe + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + 216 kern -0.1base_width#, % \h + "n" kern -0.1base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.25base_width#, + "I" kern -0.15base_width#, + "x" kern -0.25base_width#, + "t" kern -0.15base_width#, + 173 kern -0.15base_width#, + 215 kern -0.15base_width#, % \OE + 196 kern -0.3base_width#, % \ea + 154 kern -0.25base_width#; % \rex + +ligtable "c": + 131: % \c + "k": + "." kern -0.25base_width#, + ":" kern -0.15base_width#, + 62 kern -0.25base_width#, %62, \tripleeye + 63 kern -0.25base_width#, %63, \quadeye + 64 kern -0.25base_width#, %64, \penteye + "!" kern -0.15base_width#, + "+" kern -0.25base_width#, + 44 kern -0.15base_width#, %44, \doubleplus + 36 kern -0.25base_width#, %36, \star + 37 kern -0.15base_width#, %37, \doublecross + 42 kern -0.25base_width#, %42, \cross + 216 kern -0.1base_width#, % \h + "n" kern -0.1base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.3base_width#, + "x" kern -0.3base_width#, + "s" kern -0.2base_width#, + "t" kern -0.2base_width#, + 215 kern -0.2base_width#, % \OE + 196 kern -0.4base_width#, % \ea + 154 kern -0.3base_width#; % \rex + +ligtable "g": + "p": + "B": + 135: % \g + 167: % \G + 195: % \k + "." kern -0.25base_width#, + ":" kern -0.15base_width#, + 62 kern -0.25base_width#, %62, \tripleeye + 63 kern -0.25base_width#, %63, \quadeye + 64 kern -0.25base_width#, %64, \penteye + "!" kern -0.15base_width#, + "+" kern -0.25base_width#, + 44 kern -0.15base_width#, %44, \doubleplus + 36 kern -0.25base_width#, %36, \star + 37 kern -0.15base_width#, %37, \doublecross + 42 kern -0.25base_width#, %42, \cross + 216 kern -0.1base_width#, % \h + "n" kern -0.1base_width#, + "j" kern -0.15base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.3base_width#, + "I" kern -0.1base_width#, + "t" kern -0.1base_width#, + 215 kern -0.2base_width#; % \OE + +ligtable "h": + 216: % \h + "m": + "e": + "d": + 164: %\d + "D": + 208: % \stan + 200: % \STAN + "i" kern +0.1base_width#; + +ligtable "i": + "h" kern +0.1base_width#, + 216 kern +0.1base_width#, % \h + "i" kern +0.1base_width#, + "m" kern +0.1base_width#, + "e" kern +0.1base_width#, + "d" kern +0.1base_width#, + 164 kern +0.1base_width#, % \d + "D" kern +0.1base_width#, + 208 kern +0.1base_width#, % \stan + 200 kern +0.1base_width#; % \STAN + +ligtable "P": + "b": + "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + 131 kern -0.2base_width#, + 216 kern -0.1base_width#, % \h + "n" kern -0.1base_width#, + 178 kern -0.15base_width#, % \j + "J" kern -0.25base_width#, + "I" kern -0.15base_width#, + "x" kern -0.25base_width#, + "t" kern -0.15base_width#, + 173 kern -0.15base_width#, + 215 kern -0.15base_width#, % \OE + 196 kern -0.3base_width#, % \ea + "k" kern -0.25base_width#, + 154 kern -0.25base_width#, % \rex + "q" kern -0.2base_width#; + +ligtable 173: % \ng + "j" kern -0.15base_width#, + "I" kern -0.15base_width#, + "t" kern -0.15base_width#, + 247 kern -0.2base_width#, % \oe + 215 kern -0.2base_width#; % \OE + + +% \end{macrocode} +% +%</frua> +% +%<*frun> +% +% \begin{macrocode} +% f +draw_normal_f("f",1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \vflip{f} +draw_normal_f(134,1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \hflip{f} +draw_normal_f(142,-1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \turn{f} +draw_normal_f(150,-1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% F +draw_primitive_f("F",1,1); + +% \vflip{F} +draw_primitive_f(166,1,-1); + +% \hflip{F} +draw_primitive_f(174,-1,1); + +% \turn{F} +draw_primitive_f(182,-1,-1); + +% u +draw_normal_u("u",1,1,false,0); %tight = false, 0 = no dots + +% \vflip{u} +draw_normal_u(221,1,-1,false,0); %tight = false, 0 = no dots + +% \hflip{u} +draw_normal_u(229,-1,1,false,0); %tight = false, 0 = no dots + +% \turn{u} +draw_normal_u(237,-1,-1,false,0); %tight = false, 0 = no dots + +% y, \.u +draw_normal_u("y",1,1,false,1); %tight = false, 1 = one dot + +% \vflip{y} +draw_normal_u(233,1,-1,false,1); %tight = false, 1 = one dot + +% \hflip{y} +draw_normal_u(241,-1,1,false,1); %tight = false, 1 = one dot + +% \turn{y} +draw_normal_u(249,-1,-1,false,1); %tight = false, 1 = one dot + +% \th +draw_normal_th(254,1,1,false,false,false); %big = false, dot = false, doubble = false + +% \hflip{\th} +draw_normal_th(246,-1,1,false,false,false); %big = false, dot = false, doubble = false + +% \TH +draw_normal_th(222,1,1,true,false,false); %big = false, dot = false, doubble = false + +% \hflip{\TH} +draw_normal_th(214,-1,1,true,false,false); %big = false, dot = false, doubble = false + +% \dh, \.th +draw_normal_th(240,1,1,false,true,false); %big = false, dot = false, doubble = false + +% \hflip{\dh} +draw_normal_th(232,-1,1,false,true,false); %big = false, dot = false, doubble = false + +% \DH, \.\TH +draw_normal_th(208,1,1,true,true,false); %big = false, dot = false, doubble = false + +% \hflip{\DH} +draw_normal_th(200,-1,1,true,true,false); %big = false, dot = false, doubble = false + +% A +draw_normal_single_A("A",1,1,false); %top = false + +% \vflip{A} +draw_normal_single_A(169,1,-1,false); %top = false + +% \hflip{A} +draw_normal_single_A(177,-1,1,false); %top = false + +% \turn{A} +draw_normal_single_A(185,-1,-1,false); %top = false + +% \A +draw_normal_double_A(193,1,1,false,false,false); %three = false, stlb = false, sblb = false + +% \hflip{\A} +draw_normal_double_A(201,-1,1,false,false,false); %three = false, stlb = false, sblb = false + +% r +draw_normal_r("r",1,1,true,false); % closed = true, topdot=false + +% \vflip{r} +draw_normal_r(234,1,-1,true,false); % closed = true, topdot=false + +% \hflip{r} +draw_normal_r(242,-1,1,true,false); % closed = true, topdot=false + +% \turn{r} +draw_normal_r(250,-1,-1,true,false); % closed = true, topdot=false + +% k +draw_normal_k("k",1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \vflip{k} +draw_normal_k(235,1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \hflip{k} +draw_normal_k(243,-1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \turn{k} +draw_normal_k(251,-1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% g, \.k +draw_normal_k("g",1,1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \vflip{g} +draw_normal_k(135,1,-1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \hflip{g} +draw_normal_k(143,-1,1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \turn{g} +draw_normal_k(151,-1,-1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% h +draw_normal_h("h",1,1,true,true,false); %NWSE = true, NESW = true, dot = false + +% n +draw_normal_h("n",1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% i +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% e, \.i +draw_normal_i("e",1,1,true,false,false,false,false,false); % dot = true, twig = false, high = false, top = false, twodots = false, circle = false + +% a +draw_normal_h("a",1,1,false,true,false); %NWSE = false, NESW = true, dot = false + +% s +draw_normal_s("s",1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \hflip{s} +draw_normal_s(179,-1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% S +draw_normal_s("S",1,1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \vflip{S} +draw_normal_s(139,1,-1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \hflip{S} +draw_normal_s(147,-1,1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \turn{S} +draw_normal_s(155,-1,-1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% t +draw_normal_t("t",1,1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \vflip{t} +draw_normal_t(180,1,-1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% d, \.t +draw_normal_t("d",1,1,true,false,false,false,false); %middot = true, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \vflip{d} +draw_normal_t(188,1,-1,true,false,false,false,false); %middot = true, topdots = false, doublearrow = false, arlaug = false, mid = false + +% b +draw_normal_b("b",1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% \hflip{b} +draw_normal_b(226,-1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% b, small eyes +draw_normal_b("B",1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + +% \hflip{b}, small eyes +draw_normal_b(194,-1,1,false,false,true); %topdot = false, bottomdot = false, separated = true + +% p, \"b +draw_normal_b("p",1,1,true,true,false); %topdot = true, bottomdot = true, separated = false + +% \hflip{p} +draw_normal_b(176,-1,1,true,true,false); %topdot = true, bottomdot = true, separated = false + +% m +draw_normal_m("m",1,1,false,false,false); %dots = false, double = false, tree = false + +% \"m +draw_normal_m(165,1,1,true,false,false); %dots = true, double = false, tree = false + +% \vflip{\"m} +draw_normal_m(157,1,-1,true,false,false); %dots = true, double = false, tree = false + +% M (round form) +draw_normal_M("M",1,1,false); %dots = false + +% \vflip{M} (round form) +draw_normal_M(149,1,-1,false); %dots = false + +% \"M (round form) +draw_normal_M(133,1,1,true); %dots = true + +% \"M (round form) +draw_normal_M(141,1,-1,true); %dots = true + +% l +draw_normal_l("l",1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{l} +draw_normal_l(140,1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \hflip{l} +draw_normal_l(148,-1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \turn{l} +draw_normal_l(156,-1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% R +draw_normal_m("R",1,-1,false,false,false); %dots = false, double = false, tree = false + + +ligtable ".": + "h" kern -0.1base_width#, + "n" kern -0.1base_width#, + "e" kern +0.1base_width#, + "a" kern -0.1base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "b" kern -0.1base_width#, + "p" kern -0.1base_width#, + "B" kern -0.1base_width#, + "m" kern -0.3base_width#, + 165 kern -0.3base_width#, %165, \"m + "M" kern -0.3base_width#, + 133 kern -0.3base_width#, %133, \"M + "R" kern -0.3base_width#; + +ligtable ":": + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable 59: %\tripledot + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable 62: %\tripleeye + 63: %\quadeye + 64: %\penteye + "n" kern -0.2base_width#, + "a" kern -0.2base_width#, + "m" kern -0.3base_width#, + 165 kern -0.3base_width#, %165, \"m + "M" kern -0.3base_width#, + 133 kern -0.3base_width#, %133, \"M + "R" kern -0.3base_width#; + +ligtable "!": %\bar + "m" kern -0.2base_width#, + 165 kern -0.2base_width#, %165, \"m + "M" kern -0.2base_width#, + 133 kern -0.2base_width#, %133, \"M + "R" kern -0.2base_width#; + +ligtable 34: %\doublebar + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable "+": %\plus + "h" kern -0.2base_width#, + "n" kern -0.2base_width#, + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "b" kern -0.1base_width#, + "p" kern -0.1base_width#, + "B" kern -0.1base_width#, + "m" kern -0.3base_width#, + 165 kern -0.3base_width#, %165, \"m + "M" kern -0.3base_width#, + 133 kern -0.3base_width#, %133, \"M + "R" kern -0.3base_width#; + +ligtable 44: %\doubleplus + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable 45: %\tripleplus + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable 36: %\star + 42: %\cross + "h" kern -0.1base_width#, + "n" kern -0.1base_width#, + "a" kern -0.1base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "b" kern -0.1base_width#, + "p" kern -0.1base_width#, + "B" kern -0.1base_width#, + "m" kern -0.2base_width#, + 165 kern -0.2base_width#, %165, \"m + "M" kern -0.2base_width#, + 133 kern -0.2base_width#, %133, \"M + "R" kern -0.2base_width#; + +ligtable 37: %\doublecross + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable 38: %\triplecross + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +ligtable "f": "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + 185 kern -0.2base_width#, % \turn{A} + 193 kern -0.2base_width#, % \A + "h" kern -0.3base_width#, + "n" kern -0.3base_width#, + "a" kern -0.5base_width#, + "s" kern -0.1base_width#, + 179 kern -0.2base_width#, %179, \s + "S" kern -0.1base_width#, + 147 kern -0.3base_width#, %147, \S + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + "M" kern -0.1base_width#, + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.5base_width#; + +ligtable "F": "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + 185 kern -0.1base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "h" kern -0.1base_width#, + "n" kern -0.1base_width#, + "a" kern -0.3base_width#, + 179 kern -0.1base_width#, %179, \s + 147 kern -0.2base_width#, %147, \S + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "R" kern -0.3base_width#; + +ligtable "u": + "y": "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + 185 kern -0.1base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "n" kern -0.2base_width#, + "a" kern -0.1base_width#, + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.3base_width#, + "M" kern -0.1base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.1base_width#; %133, \"M + +ligtable 254: %254 \th + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + 185 kern -0.1base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "h" kern -0.15base_width#, + "n" kern -0.15base_width#, + "a" kern -0.15base_width#, + "t" kern -0.15base_width#, + "d" kern -0.15base_width#, + "m" kern -0.3base_width#, + "M" kern -0.2base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.2base_width#, %133, \"M + "R" kern -0.3base_width#; + +%222 \TH +ligtable 222: 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.1base_width#, %36, \star + "h" kern -0.15base_width#, + "n" kern -0.15base_width#, + "a" kern -0.15base_width#, + "t" kern -0.15base_width#, + "d" kern -0.15base_width#, + "m" kern -0.2base_width#, + "M" kern -0.1base_width#, + 165 kern -0.2base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.2base_width#; + +ligtable "A": + 193: %\AA + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doublplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + 185 kern -0.2base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "h" kern -0.1base_width#, + "n" kern -0.2base_width#, + "a" kern -0.1base_width#, + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.3base_width#, + "M" kern -0.1base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.1base_width#; + +%ligtable 129: %\A + +ligtable "r": "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + 185 kern -0.1base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "h" kern -0.1base_width#, + "n" kern -0.2base_width#, + "a" kern -0.2base_width#, + "s" kern -0.05base_width#, + 179 kern -0.15base_width#, %179, \s + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.3base_width#, + "M" kern -0.1base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.1base_width#; %133, \"M + +ligtable "k": + "g": "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.3base_width#, %42, \cross + 185 kern -0.2base_width#, % \turn{A} + 193 kern -0.2base_width#, % \A + "h" kern -0.25base_width#, + "n" kern -0.25base_width#, + "a" kern -0.4base_width#, + "s" kern -0.1base_width#, + 179 kern -0.2base_width#, %179, \s + 147 kern -0.3base_width#, %147, \S + "t" kern -0.25base_width#, + "d" kern -0.25base_width#, + "m" kern -0.1base_width#, + "M" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.5base_width#; + +ligtable "h": + "+" kern -0.2base_width#, + 36 kern -0.1base_width#, %36, \star + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.2base_width#, + "M" kern -0.1base_width#, + 165 kern -0.2base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.2base_width#; + +ligtable "n": 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 36 kern -0.1base_width#, %36, \star + "n" kern -0.3base_width#, + "a" kern -0.1base_width#, + "s" kern -0.1base_width#, + "t" kern -0.3base_width#, + "d" kern -0.3base_width#, + "m" kern -0.3base_width#, + "M" kern -0.2base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.2base_width#, %133, \"M + "R" kern -0.2base_width#; + +ligtable "i": + "f" kern +0.1base_width#, + "u" kern +0.1base_width#, + "y" kern +0.1base_width#, + 254 kern +0.1base_width#, %254, \th + 222 kern +0.1base_width#, %222, \TH + "A" kern +0.1base_width#, + "r" kern +0.1base_width#, + "k" kern +0.1base_width#, + "g" kern +0.1base_width#, + "i" kern +0.1base_width#, + "e" kern +0.1base_width#, + "S" kern +0.1base_width#, + "b" kern +0.1base_width#, + "p" kern +0.1base_width#, + "B" kern +0.1base_width#, + "l" kern +0.1base_width#; + +ligtable "e": + "." kern +0.1base_width#, + "f" kern +0.1base_width#, + "u" kern +0.1base_width#, + "y" kern +0.1base_width#, + 254 kern +0.1base_width#, %254, \th + 222 kern +0.1base_width#, %222, \TH + "A" kern +0.1base_width#, + "r" kern +0.1base_width#, + "k" kern +0.1base_width#, + "g" kern +0.1base_width#, + "i" kern +0.1base_width#, + "e" kern +0.1base_width#, + "S" kern +0.1base_width#, + "b" kern +0.1base_width#, + "p" kern +0.1base_width#, + "B" kern +0.1base_width#, + "l" kern +0.1base_width#; + +ligtable "a": 62 kern -0.2base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 36 kern -0.1base_width#, %36, \star + "n" kern -0.1base_width#, + "a" kern -0.3base_width#, + "t" kern -0.15base_width#, + "d" kern -0.15base_width#, + "m" kern -0.2base_width#, + "M" kern -0.1base_width#, + 165 kern -0.2base_width#, %165, \m + 133 kern -0.1base_width#, %133, \M + "R" kern -0.3base_width#; + +ligtable "s": "n" kern -0.1base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.3base_width#, + "M" kern -0.1base_width#, + 165 kern -0.3base_width#, %165, \m + 133 kern -0.1base_width#; %133, \M + +%179 \s +ligtable 179: "a" kern -0.1base_width#, + "R" kern -0.2base_width#; + +ligtable "S": "n" kern -0.1base_width#, + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.3base_width#, + "M" kern -0.1base_width#, + 165 kern -0.3base_width#, %165, \"m + 133 kern -0.1base_width#; %133, \"M + +% ligtable 147 \S + +ligtable "t": + "d": "." kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + "n" kern -0.1base_width#, + "a" kern -0.3base_width#, + "m" kern -0.2base_width#, + "M" kern -0.1base_width#, + 165 kern -0.2base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.4base_width#; + +ligtable "b": + "p": "." kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + "h" kern -0.1base_width#, + "n" kern -0.2base_width#, + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.2base_width#, + 165 kern -0.2base_width#, %165, \"m + "R" kern -0.2base_width#; + +ligtable "B": "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + "h" kern -0.1base_width#, + "n" kern -0.2base_width#, + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.2base_width#, + 165 kern -0.2base_width#, %165, \"m + "R" kern -0.2base_width#; + +ligtable "m": + 165: "." kern -0.3base_width#, %165 \"m + ":" kern -0.1base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.3base_width#, %42, \cross + 185 kern -0.2base_width#, % \turn{A} + 193 kern -0.2base_width#, % \A + "h" kern -0.2base_width#, + "n" kern -0.2base_width#, + "a" kern -0.4base_width#, + "s" kern -0.1base_width#, + 179 kern -0.1base_width#, %179, \s + 147 kern -0.2base_width#, %147, \S + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.1base_width#, + "M" kern -0.1base_width#, + 165 kern -0.1base_width#, %165, \"m + 133 kern -0.1base_width#, %133, \"M + "R" kern -0.4base_width#; + +ligtable "M": + 133: "." kern -0.3base_width#, %133 \"M + ":" kern -0.1base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.3base_width#, %42, \cross + 185 kern -0.2base_width#, % \turn{A} + 193 kern -0.2base_width#, % \A + "h" kern -0.1base_width#, + "n" kern -0.1base_width#, + "a" kern -0.3base_width#, + "t" kern -0.1base_width#, + "d" kern -0.1base_width#, + "m" kern -0.1base_width#, + "M" kern -0.1base_width#, + "R" kern -0.3base_width#; + +ligtable "l": 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "h" kern -0.2base_width#, + "n" kern -0.1base_width#, + "a" kern -0.3base_width#, + 179 kern -0.1base_width#, %179, \s + 147 kern -0.2base_width#, %147, \S + "t" kern -0.2base_width#, + "d" kern -0.2base_width#, + "m" kern -0.2base_width#, + "M" kern -0.2base_width#, + 165 kern -0.1base_width#, %165, \m + 133 kern -0.1base_width#, %133, \M + "R" kern -0.4base_width#; + +ligtable "R": "." kern -0.3base_width#, + ":" kern -0.1base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.3base_width#, %42, \cross + 185 kern -0.1base_width#, % \turn{A} + 193 kern -0.1base_width#, % \A + "h" kern -0.2base_width#, + "n" kern -0.4base_width#, + "a" kern -0.2base_width#, + "s" kern -0.3base_width#, + "t" kern -0.4base_width#, + "d" kern -0.4base_width#, + "m" kern -0.4base_width#, + "M" kern -0.2base_width#, + 165 kern -0.4base_width#, %165, \m + 133 kern -0.2base_width#; %133, \M + +% \end{macrocode} +% +%</frun> +% +%<*frut> +% +% \begin{macrocode} +% f +draw_normal_f("f",1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \vflip{f} +draw_normal_f(134,1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \hflip{f} +draw_normal_f(142,-1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \turn{f} +draw_normal_f(150,-1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% F +draw_primitive_f("F",1,1); + +% \vflip{F} +draw_primitive_f(166,1,-1); + +% \hflip{F} +draw_primitive_f(174,-1,1); + +% \turn{F} +draw_primitive_f(182,-1,-1); + +% u +draw_normal_u("u",1,1,false,0); %tight = false, 0 = no dots + +% \vflip{u} +draw_normal_u(221,1,-1,false,0); %tight = false, 0 = no dots + +% \hflip{u} +draw_normal_u(229,-1,1,false,0); %tight = false, 0 = no dots + +% \turn{u} +draw_normal_u(237,-1,-1,false,0); %tight = false, 0 = no dots + +% U +draw_primitive_U("U",1,1,false); %symmetric = false + +% \vflip{U} +draw_primitive_U(197,1,-1,false); %symmetric = false + +% \hflip{U} +draw_primitive_U(205,-1,1,false); %symmetric = false + +% \turn{U} +draw_primitive_U(213,-1,-1,false); %symmetric = false + +% \th +draw_normal_th(254,1,1,false,false,false); %big = false, dot = false, doubble = false + +% \hflip{\th} +draw_normal_th(246,-1,1,false,false,false); %big = false, dot = false, doubble = false + +% \TH +draw_normal_th(222,1,1,true,false,false); %big = false, dot = false, doubble = false + +% \hflip{\TH} +draw_normal_th(214,-1,1,true,false,false); %big = false, dot = false, doubble = false + +% A +draw_normal_single_A("A",1,1,false); %top = false + +% \turn{A} +draw_normal_single_A(129,-1,-1,false); %top = false + +% \A +draw_normal_double_A(193,1,1,false,false,false); %three = false, stlb = false, sblb = false + +% r +draw_normal_r("r",1,1,true,false); % closed = true, topdot=false + +% \vflip{r} +draw_normal_r(234,1,-1,true,false); % closed = true, topdot=false + +% \hflip{r} +draw_normal_r(242,-1,1,true,false); % closed = true, topdot=false + +% \turn{r} +draw_normal_r(250,-1,-1,true,false); % closed = true, topdot=false + +% k +draw_normal_k("k",1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \vflip{k} +draw_normal_k(235,1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \hflip{k} +draw_normal_k(243,-1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \turn{k} +draw_normal_k(251,-1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% h +draw_normal_i("h",1,1,false,true,false,false,false,false); % dot = false, twig = true, high = false, top = false, twodots = false, circle = false + +%\h +draw_normal_i(160,1,1,true,false,false,false,false,false); % dot = true, twig = false, high = false, top = false, twodots = false, circle = false + +% n +draw_shorttwig_n("n",1,1,false,false); %middot = false, sidedot = false + +% \turn{n} +draw_shorttwig_n(158,-1,-1,false,false); %middot = false, sidedot = false + +% i +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% a +draw_shorttwig_n("a",-1,1,false,false); %middot = false, sidedot = false + +%\turn{a} +draw_shorttwig_n(161,1,-1,false,false); %middot = false, sidedot = false + +% s +draw_shorttwig_s("s",1,1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% \s +draw_shorttwig_s(179,1,1,true,false,false,false,false); %dot = true, twig = false, hook = false, arrow = false, circle = false + +% t +draw_normal_l("t",-1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \turn{t} +draw_normal_l(140,1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \t +draw_shorttwig_l(180,-1,1); + +% \turn{\t} +draw_shorttwig_l(204,1,-1); + +% T +draw_shorttwig_L("T",-1,1); + +% \turn{T} +draw_shorttwig_L(148,1,-1); + +% b +draw_normal_single_A("b",1,-1,false); %top = false + +% \turn{b} +draw_normal_single_A(162,-1,1,false); %top = false + +% \b +draw_normal_double_A(194,-1,1,false,false,false); %three = false, stlb = false, sblb = false + +% m +draw_normal_i("m",1,1,false,true,true,false,false,false); % dot = false, twig = true, high = true, top = false, twodots = false, circle = false + +% \vflip{m} +draw_normal_i(141,1,-1,false,true,true,false,false,false); % dot = false, twig = true, high = true, top = false, twodots = false, circle = false + +% \m +draw_normal_i(165,1,1,true,false,false,true,false,false); % dot = true, twig = false, high = false, top = true, twodots = false, circle = false + +% \vflip{\m} +draw_normal_i(157,1,-1,true,false,false,true,false,false); % dot = true, twig = false, high = false, top = true, twodots = false, circle = false + +% M +draw_normal_i("M",1,1,false,true,false,true,false,false); % dot = false, twig = true, high = false, top = true, twodots = false, circle = false + +% \vflip{M} +draw_normal_i(149,1,-1,false,true,false,true,false,false); % dot = false, twig = true, high = false, top = true, twodots = false, circle = false + +% l +draw_normal_l("l",1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \turn{l} +draw_normal_l(156,-1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \l +draw_shorttwig_l(188,1,1); + +% \turn{\l} +draw_shorttwig_l(196,-1,-1); + +% L +draw_shorttwig_L("L",1,1); + +% \turn{L} +draw_shorttwig_L(164,-1,-1); + +% R +draw_shorttwig_s("R",1,-1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% \R +draw_shorttwig_s(154,1,-1,true,false,false,false,false); %dot = true, twig = false, hook = false, arrow = false, circle = false + + +ligtable ".": + ":": + 62: %62 \tripleeye + 63: %63 \quadeye + 64: %64 \penteye + "!": + "+": + 44: %44 \doubleplus + 36: %36 \star + 42: %42 \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.2base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.2base_width#, + "T" kern -0.1base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + + +ligtable 59: %59 \tripledot + 60: %60 \quaddot + 61: %61 \pentdot + 34: %34 \doublebar + 35: %35 \triplebar + 45: %45 \tripleplus + 37: %37 \doublecross + 38: %38 \triplecross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.1base_width#, % \n + "a" kern -0.1base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.2base_width#, %188 \l + "L" kern -0.1base_width#; + +ligtable "f": + "k": + 180: % 180 \t + "T": + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + 129 kern -0.2base_width#, % \A + 193 kern -0.2base_width#, % \AA + "h" kern -0.1base_width#, + 166 kern -0.2base_width#, % \n + "a" kern -0.3base_width#, + "t" kern -0.3base_width#, + "T" kern -0.3base_width#, + 162 kern -0.3base_width#, % \b + 194 kern -0.3base_width#, % \bb + 188 kern -0.1base_width#, %188 \l + "L" kern -0.1base_width#, + "R" kern -0.2base_width#, + 154 kern -0.3base_width#; %154 \.R + +ligtable "F": "." kern -0.2base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "!" kern -0.1base_width#, + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.2base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.1base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 162 kern -0.2base_width#, % \b + 194 kern -0.2base_width#, % \bb + "M" kern +0.1base_width#, + 188 kern -0.1base_width#, %188 \l + "L" kern -0.1base_width#, + "R" kern -0.1base_width#, + 154 kern -0.1base_width#; %154 \.R + +ligtable "u": "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 36 kern -0.1base_width#, %36, \star + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.2base_width#, % \n + "a" kern -0.1base_width#, + "t" kern -0.3base_width#, + "T" kern -0.3base_width#, + 188 kern -0.3base_width#, %188 \l + "L" kern -0.3base_width#; + +ligtable "U": "." kern -0.3base_width#, + ":" kern -0.2base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + 129 kern -0.3base_width#, % \A + 193 kern -0.3base_width#, % \AA + "h" kern -0.1base_width#, + 166 kern -0.3base_width#, % \n + "a" kern -0.2base_width#, + "s" kern -0.2base_width#, + 179 kern -0.2base_width#, % \.s + "t" kern -0.5base_width#, + "T" kern -0.4base_width#, + 162 kern -0.2base_width#, % \b + 194 kern -0.2base_width#, % \bb + 188 kern -0.5base_width#, %188 \l + "L" kern -0.4base_width#; + +ligtable 254: %254 \th + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + + +ligtable 222: %222 \TH + "." kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + +ligtable "A": + 193: %\AA + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doublplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.2base_width#, % \n + "a" kern -0.1base_width#, + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + +ligtable 129: % 129 \A + 166: % 166 \n + "a": + "i": + "s": + "t": + 162: % 162 \b + 188: % 188 \l + "i" kern +0.1base_width#, + "s" kern +0.1base_width#, + "R" kern +0.1base_width#; + + +ligtable "r": "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + "h" kern -0.1base_width#, + 166 kern -0.2base_width#, % \n + "a" kern -0.1base_width#, + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + +ligtable "h": + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.1base_width#, % \n + "a" kern -0.1base_width#, + "t" kern -0.3base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + +% ligtable \.h + +ligtable "n": + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.2base_width#, % \n + "a" kern -0.1base_width#, + "s" kern -0.1base_width#, + 179 kern -0.1base_width#, % \.s + "t" kern -0.3base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, % 188 \l + "L" kern -0.2base_width#; + +ligtable 161: %161 \a + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.1base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.2base_width#, + "T" kern -0.1base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#, + "R" kern -0.1base_width#, + 154 kern -0.1base_width#; % \.R + +ligtable "b": + 194: % \bb + ":" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doublplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + 129 kern -0.1base_width#, % \A + 193 kern -0.1base_width#, % \AA + 166 kern -0.1base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#; + +ligtable "m": + "M": + 166 kern -0.2base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "T" kern -0.2base_width#, + 162 kern -0.1base_width#, % \b + 194 kern -0.1base_width#, % \bb + 188 kern -0.2base_width#, % 188 \l + "L" kern -0.1base_width#; + +ligtable "l": + "L": + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + 166 kern -0.2base_width#, % \n + "a" kern -0.2base_width#, + "t" kern -0.1base_width#, + "T" kern -0.2base_width#, + 162 kern -0.2base_width#, % \b + 194 kern -0.2base_width#, % \bb + 188 kern -0.2base_width#, % 188 \l + "L" kern -0.2base_width#, + "R" kern -0.2base_width#, + 154 kern -0.2base_width#; % \.R + +ligtable "R": + 154: % \R + "i" kern +0.1base_width#, + "s" kern +0.1base_width#, + "t" kern -0.3base_width#, + "T" kern -0.2base_width#, + 188 kern -0.3base_width#, %188 \l + "L" kern -0.2base_width#, + "R" kern +0.1base_width#; + +% \end{macrocode} +% +%</frut> +% +%<*frul> +% +% \begin{macrocode} + +% f +draw_staveless_f("f",1,1,true); % long=true + +% \vflip{f} +draw_staveless_f(134,1,-1,true); % long=true + +% u +draw_staveless_u("u",1,1); + +% \vflip{u} +draw_staveless_u(221,1,-1); + +% \th +draw_staveless_th(254,1,1); + +% A +draw_staveless_A("A",1,1,3,false); % 3=low, down=false + +% \vflip{A} +draw_staveless_A(129,1,-1,3,false); % 3=low, down=false + +% \A +draw_staveless_A(193,1,1,2,true); % 2=mid, down=true + +% \vflip{\A} +draw_staveless_A(201,1,-1,2,true); % 2=mid, down=true + +% r +draw_staveless_u("r",-1,1); + +% \vflip{r} +draw_staveless_u(234,-1,-1); + +% k +draw_staveless_f("k",1,-1,false); % long=false + +% h +draw_staveless_f("h",1,1,false); % long=false + +% n +draw_staveless_A("n",1,1,2,false); % 2=mid, down=false + +% \vflip{n} +draw_staveless_A(158,1,-1,2,false); % 2=mid, down=false + +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% a +draw_staveless_A("a",-1,1,2,false); % 2=mid, down=false + +% \vflip{a} +draw_staveless_A(161,-1,-1,2,false); % 2=mid, down=false + +% s +draw_shorttwig_s("s",1,1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% \vflip{s} +draw_shorttwig_s(179,1,-1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% t +draw_staveless_A("t",-1,1,1,false); % 1=high, down=false + +% \vflip{t} +draw_staveless_A(156,-1,-1,1,false); % 1=high, down=false + +% b +draw_staveless_A("b",-1,1,3,false); % 3=low, down=false + +% \vflip{b} +draw_staveless_A(162,-1,-1,3,false); % 3=low, down=false + +% m +draw_staveless_m("m",1,1); + +% l +draw_staveless_A("l",1,1,1,false); % 1=high, down=false + +% \vflip{l} +draw_staveless_A(140,1,-1,1,false); % 1=high, down=false + +% R +draw_staveless_m("R",1,-1); + + +ligtable ".": + ":": + 62: %62 \tripleeye + 63: %63 \quadeye + 64: %64 \penteye + "!": + "+": + 44: %44 \doubleplus + 36: %36 \star + 42: %42 \cross + "f" kern -0.1base_width#, + "u" kern -0.2base_width#, + "b" kern -0.1base_width#; + + +ligtable "f": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62 \tripleeye + 63 kern -0.1base_width#, %63 \quadeye + 64 kern -0.1base_width#, %64 \penteye + "!" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44 \doubleplus + 42 kern -0.2base_width#, %42 \cross + 36 kern -0.2base_width#; %36 \star + +ligtable "A": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62 \tripleeye + 63 kern -0.1base_width#, %63 \quadeye + 64 kern -0.1base_width#, %64 \penteye + "!" kern -0.1base_width#, + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44 \doubleplus + 42 kern -0.2base_width#, %42 \cross + 36 kern -0.2base_width#, %36 \star + "u" kern -0.2base_width#, + "k" kern -0.2base_width#, + "s" kern -0.1base_width#, + "t" kern -0.2base_width#, + "m" kern -0.1base_width#, + "l" kern -0.2base_width#; + +ligtable + "r": + "." kern -0.2base_width#, + ":" kern -0.2base_width#, + 62 kern -0.2base_width#, %62 \tripleeye + 63 kern -0.2base_width#, %63 \quadeye + 64 kern -0.2base_width#, %64 \penteye + "!" kern -0.2base_width#, + "+" kern -0.2base_width#, + 44 kern -0.2base_width#, %44 \doubleplus + 42 kern -0.2base_width#, %42 \cross + 36 kern -0.2base_width#, %36 \star + "A" kern -0.2base_width#, + "k" kern -0.1base_width#, + "h" kern -0.1base_width#, + "a" kern -0.1base_width#, + "b" kern -0.3base_width#, + "R" kern -0.2base_width#; + +ligtable + "k": + "b" kern -0.1base_width#; + +ligtable + "h": + "u" kern -0.1base_width#; +ligtable + "n": + "u" kern -0.1base_width#, + "b" kern -0.1base_width#; + +ligtable + "a": + "n" kern +0.1base_width#, + "b" kern -0.1base_width#; + +ligtable + "s": + "b" kern -0.1base_width#; + +ligtable + "t": + "h" kern -0.1base_width#, + "n" kern +0.1base_width#, + "b" kern -0.2base_width#, + "l" kern +0.1base_width#; + +ligtable + "b": + "u" kern -0.1base_width#, + "A" kern +0.1base_width#, + "n" kern +0.1base_width#; + +ligtable + "m": + "b" kern -0.1base_width#; + +ligtable + "l": + "b" kern -0.2base_width#; + +ligtable + "R": + "u" kern -0.2base_width#, + "t" kern -0.1base_width#, + "l" kern -0.1base_width#; + +% \end{macrocode} +% +%</frul> +% +%<*frum> +% +% \begin{macrocode} +% a +draw_shorttwig_n("a",-1,1,false,false); %middot = false, sidedot = false + +% \vflip{a} +draw_shorttwig_n(129,-1,-1,false,false); %middot = false, sidedot = false + +% \'a \adot +draw_shorttwig_n(209,-1,1,false,true); %middot = false, sidedot = true + +% \vflip{\adot} +draw_shorttwig_n(201,-1,-1,false,true); %middot = false, sidedot = true + +% \.a \a +draw_shorttwig_n(29,-1,1,true,false); %middot = true, sidedot = false + +% \vflip{\a} +draw_shorttwig_n(31,-1,-1,true,false); %middot = true, sidedot = false + +% A +draw_normal_k("A",-1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% b +draw_normal_b("b",1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% \hflip{b} +draw_normal_b(160,-1,1,false,false,false); %topdot = false, bottomdot = false, separated = false + +% B +draw_primitive_w("B",1,-1); + +% c +draw_shorttwig_s("c",1,1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% \vflip{c} +draw_shorttwig_s(195,1,-1,false,false,false,false,false); %dot = false, twig = false, hook = false, arrow = false, circle = false + +% \c +draw_shorttwig_s(155,1,1,true,false,false,false,false); %dot = true, twig = false, hook = false, arrow = false, circle = false + +% \vflip{\c} +draw_shorttwig_s(147,1,-1,true,false,false,false,false); %dot = true, twig = false, hook = false, arrow = false, circle = false + +% C +draw_shorttwig_s("C",1,1,false,false,false,false,true); %dot = false, twig = false, hook = false, arrow = false, circle = true + +% \vflip{C} +draw_shorttwig_s(91,1,-1,false,false,false,false,true); %dot = false, twig = false, hook = false, arrow = false, circle = true + +% d, \.t +draw_normal_l("d",-1,1,true,false,false,false,false); %middot = true, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{d} +draw_normal_l(141,-1,-1,true,false,false,false,false); %middot = true, topdot = false, midbar = false, topbar = false, circle = false + +% \'t \tdot +draw_normal_l(188,-1,1,false,true,false,false,false); %middot = false, topdot = true, midbar = false, topbar = false, circle = false + +% \vflip{\tdot} +draw_normal_l(189,-1,-1,false,true,false,false,false); %middot = false, topdot = true, midbar = false, topbar = false, circle = false + +% \=t \tbar +draw_normal_l(164,-1,1,false,false,true,false,false); %middot = false, topdot = false, midbar = true, topbar = false, circle = false + +% \vflip{\tbar} +draw_normal_l(165,-1,-1,false,false,true,false,false); %middot = false, topdot = false, midbar = true, topbar = false, circle = false + +% \~t \tflag +draw_normal_l(180,-1,1,false,false,false,true,false); %middot = false, topdot = false, midbar = false, topbar = true, circle = false + +% \hflip{\tflag} +draw_normal_l(196,1,1,false,false,false,true,false); %middot = false, topdot = false, midbar = false, topbar = true, circle = false + +% \vflip{\tflag} +draw_normal_l(181,-1,-1,false,false,false,true,false); %middot = false, topdot = false, midbar = false, topbar = true, circle = false + +% \turn{\tflag} +draw_normal_l(197,1,-1,false,false,false,true,false); %middot = false, topdot = false, midbar = false, topbar = true, circle = false + +% \^t \tring +draw_normal_l(156,-1,1,false,false,false,false,true); %middot = false, topdot = false, midbar = false, topbar = false, circle = true + +% \hflip{\tring} +draw_normal_l(124,1,1,false,false,false,false,true); %middot = false, topdot = false, midbar = false, topbar = false, circle = true + +% \vflip{\tring} +draw_normal_l(157,-1,-1,false,false,false,false,true); %middot = false, topdot = false, midbar = false, topbar = false, circle = true + +% \turn{\tring} +draw_normal_l(125,1,-1,false,false,false,false,true); %middot = false, topdot = false, midbar = false, topbar = false, circle = true + +% D, \.T +draw_normal_t("D",1,1,true,false,false,false,false); %middot = true, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \vflip{D}, \vflip{\.T} +draw_normal_t(92,1,-1,true,false,false,false,false); %middot = true, topdots = false, doublearrow = false, arlaug = false, mid = false + +% \D, \"T +draw_normal_t(132,1,1,false,true,false,false,false); %middot = false, topdots = true, doublearrow = false, arlaug = false, mid = false + +% \vflip{\D} +draw_normal_t(133,1,-1,false,true,false,false,false); %middot = false, topdots = true, doublearrow = false, arlaug = false, mid = false + +% e, \.i +draw_normal_i("e",1,1,true,false,false,false,false,false); % dot = true, twig = false, high = false, top = false, twodots = false, circle = false + +% \=i \e +draw_normal_i("I",1,1,false,true,false,false,false,false); % dot = false, twig = true, high = false, top = false, twodots = false, circle = false + +% \^i E +draw_normal_i("E",1,1,false,false,false,false,false,true); % dot = false, twig = false, high = false, top = false, twodots = false, circle = true + +% f +draw_normal_f("f",1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \hflip{f} +draw_normal_f(6,-1,1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \vflip{f} +draw_normal_f(14,1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% \turn{f} +draw_normal_f(22,-1,-1,false,false,false); %highdot = false, stemdot = false, twigdot = false + +% F +draw_medieval_f("F",1,1); + +% \hflip{F} +draw_medieval_f(154,-1,1); + +% \vflip{F} +draw_medieval_f(162,1,-1); + +% \turn{F} +draw_medieval_f(170,-1,-1); + +% g, \.k +draw_normal_k("g",1,1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \hflip{g} +draw_normal_k(159,-1,1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \vflip{g} +draw_normal_k(167,1,-1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% \turn{g} +draw_normal_k(175,-1,-1,true,false,false,false); % topdot = true, middot = false, midtwig = false, two = false + +% G, \'k +draw_normal_k("G",1,1,false,true,false,false); % topdot = false, middot = true, midtwig = false, two = false + +% \hflip{G} +draw_normal_k(7,-1,1,false,true,false,false); % topdot = false, middot = true, midtwig = false, two = false + +% \vflip{G} +draw_normal_k(15,1,-1,false,true,false,false); % topdot = false, middot = true, midtwig = false, two = false + +% \turn{G} +draw_normal_k(23,-1,-1,false,true,false,false); % topdot = false, middot = true, midtwig = false, two = false + +% \g, \=k +draw_normal_k(95,1,1,false,false,true,false); % topdot = false, middot = false, midtwig = true, two = false + +% \hflip{\g} +draw_normal_k(2,-1,1,false,false,true,false); % topdot = false, middot = false, midtwig = true, two = false + +% \vflip{\g} +draw_normal_k(10,1,-1,false,false,true,false); % topdot = false, middot = false, midtwig = true, two = false + +% \turn{\g} +draw_normal_k(18,-1,-1,false,false,true,false); % topdot = false, middot = false, midtwig = true, two = false + +% h +draw_normal_h("h",1,1,true,true,false); %NWSE = true, NESW = true, dot = false + +% \h +draw_medieval_h(168,1,1,6,0); %twigs = 6, offset = 0 + +% H +draw_medieval_bigh("H",1,1); + +% i +draw_normal_i("i",1,1,false,false,false,false,false,false); % dot = false, twig = false, high = false, top = false, twodots = false, circle = false + +% j +draw_normal_i("j",1,1,false,false,false,false,true,false); % dot = false, twig = false, high = false, top = false, twodots = true, circle = false + +% k +draw_normal_k("k",1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \vflip{k} +draw_normal_k("K",1,-1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% l +draw_normal_l("l",1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{l} +draw_normal_l(148,1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% L \.l +draw_normal_l("L",1,1,true,false,false,false,false); %middot = true, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{L} +draw_normal_l(140,1,-1,true,false,false,false,false); %middot = true, topdot = false, midbar = false, topbar = false, circle = false + +% \'l \lflag +draw_normal_l(204,1,1,false,true,false,false,false); %middot = false, topdot = true, midbar = false, topbar = false, circle = false + +% \vflip{\lflag} +draw_normal_l(205,1,-1,false,true,false,false,false); %middot = false, topdot = true, midbar = false, topbar = false, circle = false + +% \=l \lbar +draw_normal_l(172,1,1,false,false,true,false,false); %middot = false, topdot = false, midbar = true, topbar = false, circle = false + +% \vflip{\lbar} +draw_normal_l(173,1,-1,false,false,true,false,false); %middot = false, topdot = false, midbar = true, topbar = false, circle = false + +% m +draw_normal_m("m",1,1,false,false,false); %dots = false, double = false, tree = false + +% n +draw_shorttwig_n("n",1,1,false,false); %middot = false, sidedot = false + +% \vflip{n} +draw_shorttwig_n(126,1,-1,false,false); %middot = false, sidedot = false + +% \.n \n +draw_shorttwig_n(166,1,1,true,false); %middot = true, sidedot = false + +% \vflip{\n} +draw_shorttwig_n(30,1,-1,true,false); %middot = true, sidedot = false + +% \'n \ndot +draw_shorttwig_n(190,1,1,false,true); %middot = false, sidedot = true + +% \vflip{\ndot} +draw_shorttwig_n(182,1,-1,false,true); %middot = false, sidedot = true + +% N +draw_normal_h("N",1,1,true,false,false); %NWSE = true, NESW = false, dot = false + +% \.N +draw_normal_h(198,1,1,true,false,true); %NWSE = true, NESW = false, dot = true + +% \hflip{\.N} +draw_normal_h(206,-1,1,true,false,true); %NWSE = true, NESW = false, dot = true + +% o +draw_normal_single_A("o",-1,1,false); %top = false + +% \hflip{o} +draw_normal_single_A("O",1,1,false); %top = false + +% \turn{o} +draw_normal_single_A(151,1,-1,false); %top = false + +% \vflip{o} +draw_normal_single_A(255,-1,-1,false); %top = false + +% p, \"b +draw_normal_b("p",1,1,true,true,false); %topdot = true, bottomdot = true, separated = false + +% \hflip{p} +draw_normal_b(152,-1,1,true,true,false); %topdot = true, bottomdot = true, separated = false + +% \vflip{\.b} +draw_normal_b(224,1,1,true,false,false); %topdot = true, bottomdot = false, separated = false + +% \turn{\.b} +draw_normal_b(225,-1,1,true,false,false); %topdot = true, bottomdot = false, separated = false + +% \.b +draw_normal_b(232,1,1,false,true,false); %topdot = false, bottomdot = true, separated = false + +% \hflip{\.b} +draw_normal_b(233,-1,1,false,true,false); %topdot = false, bottomdot = true, separated = false + +% \p +draw_normal_k(176,1,1,false,false,false,true); % topdot = false, middot = false, midtwig = false, two = true + +% \"\p +draw_normal_k(184,1,1,true,false,false,true); % topdot = true, middot = false, midtwig = false, two = true + +% \hflip{\"\p} +draw_normal_k(192,-1,1,true,false,false,true); % topdot = true, middot = false, midtwig = false, two = true + +% P +draw_primitive_w("P",1,1); + +% q +draw_primitive_w("q",-1,1); + +% \vflip{q} +draw_primitive_w(96,-1,-1); + +% \q +draw_normal_k(220,-1,1,false,false,false,false); % topdot = false, middot = false, midtwig = false, two = false + +% \Q +draw_normal_k("Q",-1,1,false,false,false,true); % topdot = false, middot = false, midtwig = false, two = true + +% r +draw_normal_r("r",1,1,true,false); % closed = true, topdot=false + +% \vflip{r} +draw_normal_r(234,1,-1,true,false); % closed = true, topdot=false + +% \hflip{r} +draw_normal_r(242,-1,1,true,false); % closed = true, topdot=false + +% \turn{r} +draw_normal_r(250,-1,-1,true,false); % closed = true, topdot=false + +% \.r or \rdot +draw_normal_r(1,1,1,true,true); % closed = true, topdot=true + +% \vflip{\rdot} +draw_normal_r(9,1,-1,true,true); % closed = true, topdot=true + +% \hflip{\rdot} +draw_normal_r(17,-1,1,true,true); % closed = true, topdot=true + +% \turn{\rdot} +draw_normal_r(25,-1,-1,true,true); % closed = true, topdot=true + +% \r +draw_greenland_r("R",1,1); + +% \vflip{\r} +draw_greenland_r(210,1,-1); + +% \hflip{\r} +draw_greenland_r(218,-1,1); + +% \turn{\r} +draw_greenland_r(226,-1,-1); + +% s +draw_normal_s("s",1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% \hflip{s} +draw_normal_s(179,-1,1,false,false,false,false,false); %twobars = false, chair = false, high = false, twigs = false, flat = false + +% S +draw_normal_s("S",-1,1,false,false,true,false,false); %twobars = false, chair = false, high = true, twigs = false, flat = false + +% \hflip{S} +draw_normal_s(227,1,1,false,false,true,false,false); %twobars = false, chair = false, high = true, twigs = false, flat = false + +% \vflip{S} +draw_normal_s(235,-1,-1,false,false,true,false,false); %twobars = false, chair = false, high = true, twigs = false, flat = false + +% \turn{S} +draw_normal_s(243,1,-1,false,false,true,false,false); %twobars = false, chair = false, high = true, twigs = false, flat = false + +% \S +draw_normal_s(187,1,1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \hflip{\S} +draw_normal_s(203,-1,1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \vflip{\S} +draw_normal_s(211,1,-1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% \turn{\S} +draw_normal_s(219,-1,-1,false,true,false,false,false); %twobars = false, chair = true, high = false, twigs = false, flat = false + +% t +draw_normal_l("t",-1,1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% \vflip{t} +draw_normal_l(149,-1,-1,false,false,false,false,false); %middot = false, topdot = false, midbar = false, topbar = false, circle = false + +% T +draw_normal_t("T",1,1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +%\T +draw_normal_t(212,1,1,false,false,true,false,false); %middot = false, topdots = false, doublearrow = true, arlaug = false, mid = false + +% \th +draw_normal_th(254,1,1,false,false,false); %big = false, dot = false, doubble = false + +% \hflip{\th} +draw_normal_th(238,-1,1,false,false,false); %big = false, dot = false, doubble = false + +% \TH +draw_normal_th(222,1,1,true,false,false); %big = true, dot = false, doubble = false + +% \hflip{\TH} +draw_normal_th(221,-1,1,true,false,false); %big = true, dot = false, doubble = false + +% \thth +draw_normal_th(158,1,1,false,false,true); %big = false, dot = false, doubble = true + +% \hflip{\thth} +draw_normal_th(174,-1,1,false,false,true); %big = false, dot = false, doubble = true + +% \dh, \.th +draw_normal_th(240,1,1,false,true,false); %big = false, dot = true, doubble = false + +% \hflip{\dh} +draw_normal_th(241,-1,1,false,true,false); %big = false, dot = true, doubble = false + +% \DH, \.\TH +draw_normal_th(208,1,1,true,true,false); %big = true, dot = true, doubble = false + +% \hflip{\DH} +draw_normal_th(200,-1,1,true,true,false); %big = true, dot = true, doubble = false + +% u +draw_normal_u("u",1,1,false,0); %tight = false, 0 = no dots + +% \vflip{u} +draw_normal_u(237,1,-1,false,0); %tight = false, 0 = no dots + +% \hflip{u} +draw_normal_u(245,-1,1,false,0); %tight = false, 0 = no dots + +% \turn{u} +draw_normal_u(253,-1,-1,false,0); %tight = false, 0 = no dots + +% v, \.u +draw_normal_u("v",1,1,false,1); %tight = false, 1 = one dot + +% \hflip{v} +draw_normal_u(134,-1,1,false,1); %tight = false, 1 = one dot + +% \vflip{v} +draw_normal_u(142,1,-1,false,1); %tight = false, 1 = one dot + +% \turn{v} +draw_normal_u(150,-1,-1,false,1); %tight = false, 1 = one dot + +% V, \.f +draw_normal_f("V",1,1,true,false,false); %highdot = true, stemdot = false, twigdot = false + +% \hflip{V} +draw_normal_f(5,-1,1,true,false,false); %highdot = true, stemdot = false, twigdot = false + +% \vflip{V} +draw_normal_f(13,1,-1,true,false,false); %highdot = true, stemdot = false, twigdot = false + +% \turn{V} +draw_normal_f(21,-1,-1,true,false,false); %highdot = true, stemdot = false, twigdot = false + +% \~f or \v +draw_normal_f("W",1,1,false,true,false); %highdot = false, stemdot = true, twigdot = false + +% \hflip{\v} +draw_normal_f(4,-1,1,false,true,false); %highdot = false, stemdot = true, twigdot = false + +% \vflip{\v} +draw_normal_f(12,1,-1,false,true,false); %highdot = false, stemdot = true, twigdot = false + +% \turn{\v} +draw_normal_f(20,-1,-1,false,true,false); %highdot = false, stemdot = true, twigdot = false + +% \'f or \V +draw_normal_f(94,1,1,false,false,true); %highdot = false, stemdot = false, twigdot = true + +% \hflip{\V} +draw_normal_f(3,-1,1,false,false,true); %highdot = false, stemdot = false, twigdot = true + +% \vflip{\V} +draw_normal_f(11,1,-1,false,false,true); %highdot = false, stemdot = false, twigdot = true + +% \turn{\V} +draw_normal_f(19,-1,-1,false,false,true); %highdot = false, stemdot = false, twigdot = true + +% w +draw_medieval_w("w",1,1); + +% \vflip{w} +draw_medieval_w(127,1,-1); + +% \hflip{w} +draw_medieval_w(135,-1,1); + +% \turn{w} +draw_medieval_w(143,-1,-1); + +% x +draw_normal_s("x",1,1,false,false,false,true,false); %twobars = false, chair = false, high = false, twigs = true, flat = false + +% \vflip{x} +draw_normal_s(144,1,-1,false,false,false,true,false); %twobars = false, chair = false, high = false, twigs = true, flat = false + +% \x +draw_normal_t(128,1,-1,false,false,false,false,false); %middot = false, topdots = false, doublearrow = false, arlaug = false, mid = false + +% X +draw_medieval_x("X",1,1,false); %stem = false + +% \X +draw_medieval_x(136,1,1,true); %stem = true + +% y +draw_normal_m("y",1,-1,false,false,false); %dots = false, double = false, tree = false + +% Y +draw_normal_m("Y",1,-1,false,false,true); %dots = false, double = false, tree = true + +% \vflip{Y} +draw_normal_m(249,1,1,false,false,true); %dots = false, double = false, tree = true + +% \"u or \y +draw_normal_u("U",1,1,false,2); %tight = false, 2 = two dots + +% \hflip{\y} +draw_normal_u(137,-1,1,false,2); %tight = false, 2 = two dots + +% \vflip{\y} +draw_normal_u(145,1,-1,false,2); %tight = false, 2 = two dots + +% \hflip{\y} +draw_normal_u(153,-1,-1,false,2); %tight = false, 2 = two dots + +% \=u or \Y +draw_normal_u(93,1,1,false,3); %tight = false, 3 = bar + +% \hflip{\Y} +draw_normal_u(130,-1,1,false,3); %tight = false, 3 = bar + +% \vflip{\Y} +draw_normal_u(138,1,-1,false,3); %tight = false, 3 = bar + +% \turn{\Y} +draw_normal_u(146,-1,-1,false,3); %tight = false, 3 = bar + +% z +draw_shorttwig_s("z",1,1,false,false,true,false,false); %dot = false, twig = false, hook = true, arrow = false, circle = false + +% \vflip{z} +draw_shorttwig_s(186,1,-1,false,false,true,false,false); %dot = false, twig = false, hook = true, arrow = false, circle = false + +% \hflip{z} +draw_shorttwig_s(194,-1,1,false,false,true,false,false); %dot = false, twig = false, hook = true, arrow = false, circle = false + +% \turn{z} +draw_shorttwig_s(202,-1,-1,false,false,true,false,false); %dot = false, twig = false, hook = true, arrow = false, circle = false + +% \z +draw_shorttwig_s(163,1,1,false,true,false,false,false); %dot = false, twig = true, hook = false, arrow = false, circle = false + +% \vflip{\z} +draw_shorttwig_s(171,1,-1,false,true,false,false,false); %dot = false, twig = true, hook = false, arrow = false, circle = false + +% Z +draw_shorttwig_s("Z",1,1,false,false,false,true,false); %dot = false, twig = false, hook = false, arrow = true, circle = false + +% \vflip{Z} +draw_shorttwig_s(251,1,-1,false,false,false,true,false); %dot = false, twig = false, hook = false, arrow = true, circle = false + +% \aa +draw_modern_aa(229,1,1); + +% \hflip{\aa} +draw_modern_aa(213,-1,1); + +% \"a +draw_normal_h(228,1,1,false,true,false); %NWSE = false, NESW = true, dot = false + +% \ae (same character as \"a) +draw_normal_h(230,1,1,false,true,false); %NWSE = false, NESW = true, dot = false + +% \"o +draw_normal_double_A(246,-1,1,false,false,false); %three = false, stlb = false, sblb = false + +% \o (same character as \"o) +draw_normal_double_A(248,-1,1,false,false,false); %three = false, stlb = false, sblb = false + +% \hflip{\o} +draw_normal_double_A(247,1,1,false,false,false); %three = false, stlb = false, sblb = false + +% \oo +draw_normal_double_A(215,-1,1,false,true,false); %false = true, stlb = true, sblb = false + +% \hflip{\oo} +draw_normal_double_A(199,1,1,false,true,false); %false = true, stlb = true, sblb = false + +% \vflip{\oo} +draw_normal_double_A(191,-1,-1,false,true,false); %false = true, stlb = true, sblb = false + +% \turn{\oo} +draw_normal_double_A(239,1,-1,false,true,false); %false = true, stlb = true, sblb = false + +% \oO +draw_normal_double_A(223,-1,1,false,false,true); %false = true, stlb = false, sblb = true + +% \hflip{\oO} +draw_normal_double_A(207,1,1,false,false,true); %false = true, stlb = false, sblb = true + +% \vflip{\oO} +draw_normal_double_A(183,-1,-1,false,false,true); %false = true, stlb = false, sblb = true + +% \turn{\oO} +draw_normal_double_A(231,1,-1,false,false,true); %false = true, stlb = false, sblb = true + +% \"O +draw_normal_double_A(214,-1,1,true,false,false); %three = true, stlb = false, sblb = false + +% \hflip{\"O}, \hflip{\O} +draw_normal_double_A(217,1,1,true,false,false); %three = true, stlb = false, sblb = false + +% \O (same character as \"O) +draw_normal_double_A(216,-1,1,true,false,false); %three = true, stlb = false, sblb = false + +% \ey +draw_primitive_ng("J",1,1,false,true,false,false); %top = false, line = true, empty = false, belgthor = false + +% \arlaug +draw_normal_t(177,1,1,false,false,false,true,false); %middot = false, topdots = false, doublearrow = false, arlaug = true, mid = false + +% \hflip{\arlaug} +draw_normal_t(178,-1,1,false,false,false,true,false); %middot = false, topdots = false, doublearrow = false, arlaug = true, mid = false + +% \vflip{\arlaug} +draw_normal_t(169,1,-1,false,false,false,true,false); %middot = false, topdots = false, doublearrow = false, arlaug = true, mid = false + +% \turn{\arlaug} +draw_normal_t(161,-1,-1,false,false,false,true,false); %middot = false, topdots = false, doublearrow = false, arlaug = true, mid = false + +% \tvimadur +draw_normal_m(185,1,1,false,true,false); %dots = false, double = true, tree = false + +% \belgthor +draw_primitive_ng(193,1,1,false,true,false,true); %top = false, line = true, empty = false, belgthor = true + +ligtable ".": + ":": + 62: %62 \tripleeye + 63: %63 \quadeye + 64: %64 \penteye + "!": + "+": + 44: %44 \doubleplus + 36: %36 \star + 42: %42 \cross + "a" kern -0.1base_width#, + 29 kern -0.1base_width#, % 29 \a + 209 kern -0.1base_width#, % 209 \adot + "A" kern -0.3base_width#, + "d" kern -0.3base_width#, + 188 kern -0.3base_width#, % 188 \~t + 164 kern -0.3base_width#, % 164 \=t + 180 kern -0.3base_width#, % 180 \'t + 156 kern -0.3base_width#, % 156 \^t + "D" kern -0.3base_width#, + 132 kern -0.3base_width#, % 132 \D + 95 kern +0.15base_width#, % 95 \g, \=k + "h" kern -0.1base_width#, + 168 kern -0.1base_width#, %168 \h + "m" kern -0.3base_width#, + 172 kern +0.1base_width#, % 172\=l + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % 198 \.N + "o" kern -0.1base_width#, + "q" kern -0.3base_width#, + 220 kern -0.3base_width#, % 220 \q + "Q" kern -0.3base_width#, + "t" kern -0.3base_width#, + "T" kern -0.2base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.3base_width#, + 229 kern -0.4base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#; % \O + + +ligtable 59: %59 \tripledot + 60: %60 \quaddot + 61: %61 \pentdot + 34: %34 \doublebar + 35: %35 \triplebar + 45: %45 \tripleplus + 37: %37 \doublecross + 38: %38 \triplecross + "a" kern -0.1base_width#, + "d" kern -0.1base_width#, + 188 kern -0.1base_width#, % 188 \~t + 164 kern -0.1base_width#, % 164 \=t + 180 kern -0.1base_width#, % 180 \'t + 156 kern -0.1base_width#, % 156 \^t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % 132 \D + "h" kern -0.1base_width#, + 95 kern +0.15base_width#, % 95 \g, \=k + 168 kern -0.1base_width#, %168 \h + 172 kern +0.1base_width#, % 172\=l + "m" kern -0.1base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % 198 \.N + "o" kern -0.1base_width#, + 220 kern -0.1base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.1base_width#, + 229 kern -0.1base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#; % \O + +ligtable "a": + 180: % \'t + 188: % \~t + 220: % \q + "o": + "t": + "G" kern +0.1base_width#, + 95 kern +0.2base_width#, % 95 \g \=k + "i" kern +0.1base_width#, + "L" kern +0.1base_width#, % L \.l + 172 kern +0.15base_width#, % 172 \=L + 220 kern -0.1base_width#, % 220 \q + 166 kern +0.1base_width#, %166 \.n + "t" kern -0.1base_width#, + "x" kern +0.1base_width#; + + +ligtable "b": + "p": % \"b + 224: % \'b + 232: % \.b + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "a" kern -0.2base_width#, + "A" kern -0.15base_width#, + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, %\=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + "h" kern -0.1base_width#, + 165 kern -0.3base_width#, % \h + "m" kern -0.2base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + "o" kern -0.1base_width#, + 220 kern -0.2base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + "y" kern -0.2base_width#, + 229 kern -0.2base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#; % \O + +ligtable + "B": + "." kern -0.1base_width#, + ":" kern -0.1base_width#, + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "a" kern -0.1base_width#, + "c" kern -0.1base_width#, + 155 kern -0.1base_width#, % \c + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, %\=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.2base_width#, + 132 kern -0.2base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + "h" kern -0.1base_width#, + 165 kern -0.3base_width#, % \h + "m" kern -0.4base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + "o" kern -0.1base_width#, + "q" kern -0.2base_width#, + 220 kern -0.3base_width#, % 220 \q + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + "y" kern -0.2base_width#, + 163 kern -0.15base_width#, % \z + "Z" kern -0.2base_width#, + 229 kern -0.2base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#; % \O + +ligtable + "c": + 155: % \.c + "A" kern -0.3base_width#, + "y" kern -0.3base_width#; + +ligtable + "C": + "A" kern -0.2base_width#, + "E" kern +0.1base_width#, + 95 kern +0.2base_width#, % \=k + 172 kern +0.15base_width#, % \=l + 124 kern +0.1base_width#, % \^l + 229 kern -0.2base_width#; % \aa +ligtable + 165: % \=i, \e + "E": + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, %\=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 95 kern +0.1base_width#, % 95 \g, \=k + 172 kern +0.1base_width#, % 172\=l + "m" kern -0.2base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + 220 kern -0.2base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.3base_width#, + 229 kern -0.2base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#; % \O + +ligtable + "d": + 164: % \=t + "." kern +0.1base_width#, + "e" kern +0.1base_width#, + 165 kern +0.1base_width#, % 165 \=i + "j" kern +0.1base_width#, + 95 kern +0.2base_width#, % 95 \g, \=k + "L" kern +0.1base_width#, + 172 kern +0.2base_width#, % 172\=l + 166 kern +0.1base_width#, % 166 \.n + 142 kern +0.1base_width#, % 142 \~f + "x" kern +0.15base_width#, + "z" kern +0.1base_width#; + +ligtable + "D": + 132: % \D, \"T + "l": + "L": % \.l + 172: % \=l + 124: % \^l + "T": + 148: % \T + 62 kern -0.1base_width#, %62, \tripleeye + 63 kern -0.2base_width#, %63, \quadeye + 64 kern -0.2base_width#, %64, \penteye + "+" kern -0.2base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.2base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "a" kern -0.2base_width#, + "A" kern -0.4base_width#, + "h" kern -0.2base_width#, + 168 kern -0.2base_width#, % \h + "m" kern -0.2base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + "o" kern -0.2base_width#, + 220 kern -0.2base_width#, % 220 \q + "y" kern -0.4base_width#, + 229 kern -0.2base_width#, % \aa + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#, % \ae + 246 kern -0.15base_width#, % \"o + 248 kern -0.15base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.1base_width#; % \ey + +%ligtable e, \.i + +ligtable "f": + "F": + "g": + "G": + 95: %\g, \=k + "k": + "m": + "P": + "V": + 87: % \v + 94: % \V + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "a" kern -0.4base_width#, + 29 kern -0.4base_width#, %\a + 209 kern -0.4base_width#, %\adot + "A" kern -0.5base_width#, + 163 kern -0.2base_width#, % \=c + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, % \=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.2base_width#, + 132 kern -0.2base_width#, % \D, \"T + "e" kern -0.1base_width#, + 220 kern -0.2base_width#, % \=i + "E" kern -0.3base_width#, + "j" kern -0.1base_width#, + "h" kern -0.3base_width#, + 168 kern -0.3base_width#, % \h + "H" kern -0.3base_width#, + "m" kern -0.1base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + "o" kern -0.3base_width#, + 220 kern -0.1base_width#, % 220 \q + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 148 kern -0.2base_width#, % 148 \T + 128 kern -0.4base_width#, % 128 \x + "y" kern -0.5base_width#, + 228 kern -0.3base_width#, % \"a + 230 kern -0.3base_width#, % \ae + 246 kern -0.3base_width#, % \"o + 248 kern -0.3base_width#, % \o + 215 kern -0.3base_width#, % \oo + 223 kern -0.3base_width#, % \oo + 231 kern -0.3base_width#, % \oo + 239 kern -0.3base_width#, % \oo + 214 kern -0.2base_width#, % \"O + 216 kern -0.2base_width#, % \O + 74 kern -0.2base_width#, % \ey + 177 kern -0.3base_width#, % \arlaug + 193 kern -0.2base_width#; % \belgthor + +ligtable "h": + 168: % \h + "H": + "a" kern -0.2base_width#, + "A" kern -0.3base_width#, + 163 kern -0.1base_width#, % \=c + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, % \=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + "m" kern -0.2base_width#, + 220 kern -0.2base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.2base_width#, + 229 kern -0.2base_width#; % \aa + +ligtable "i": + "f" kern +0.1base_width#, + "g" kern +0.1base_width#, + "i" kern +0.1base_width#, + "k" kern +0.1base_width#, + "l" kern +0.1base_width#, + "n" kern +0.1base_width#, + "b" kern +0.1base_width#, + "p" kern +0.1base_width#, + 224 kern +0.1base_width#, % \'b + 232 kern +0.1base_width#, % \.b + 176 kern +0.1base_width#, % \p + 184 kern +0.1base_width#, % \"\p + "r" kern +0.1base_width#, + 1 kern +0.1base_width#, + 186 kern +0.1base_width#, + "S" kern +0.1base_width#, + 254 kern +0.1base_width#, % \th + 222 kern +0.1base_width#, % \TH + 240 kern +0.1base_width#, % \dh, \.th + 208 kern +0.1base_width#, % \DH, \.\TH + "u" kern +0.1base_width#, + "v" kern +0.1base_width#, % \.u + 134 kern +0.1base_width#, % \v, \.f + 142 kern +0.1base_width#, % \~f + "S" kern +0.1base_width#, + 150 kern +0.1base_width#, % \'f + 161 kern +0.1base_width#, % \"u, \y + 169 kern +0.1base_width#; % \=u, \Y + +ligtable + "n": + 166: % \.n + "N": + 198: % \.N + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, %\=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.2base_width#, + 132 kern -0.2base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + 168 kern -0.2base_width#, % \h + "m" kern -0.4base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + 220 kern -0.4base_width#, % 220 \q + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 148 kern -0.2base_width#, % 148 \T + "y" kern -0.2base_width#, + 229 kern -0.2base_width#; % \aa + + +ligtable 176: % \p + 184: % \"\p + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "a" kern -0.3base_width#, + 163 kern -0.2base_width#, % \=c + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, % \=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.2base_width#, + 132 kern -0.2base_width#, % \D, \"T + 165 kern -0.3base_width#, % \=i + "h" kern -0.3base_width#, + 168 kern -0.3base_width#, % \h + "m" kern -0.1base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + "o" kern -0.2base_width#, + 220 kern -0.1base_width#, % 220 \q + "t" kern -0.2base_width#, + "T" kern -0.2base_width#, + 148 kern -0.2base_width#, % 148 \T + "y" kern -0.1base_width#, + 229 kern -0.1base_width#, % \aa + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#, % \ae + 246 kern -0.2base_width#, % \"o + 248 kern -0.2base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.2base_width#; % \ey + +ligtable "r": + 1: %\.r + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "a" kern -0.3base_width#, + 163 kern -0.2base_width#, % \=c + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, % \=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.2base_width#, % \=i + "h" kern -0.2base_width#, + 168 kern -0.2base_width#, % \h + "m" kern -0.25base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + "o" kern -0.2base_width#, + 220 kern -0.3base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.1base_width#, + 229 kern -0.1base_width#, % \aa + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.2base_width#; % \ey + + + +ligtable 186: % \r + "u": + "v": + 161: % \"u + 169: % \=u + "a" kern -0.1base_width#, + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, % \=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + "h" kern -0.1base_width#, + 168 kern -0.1base_width#, % \h + "m" kern -0.25base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + 220 kern -0.3base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.1base_width#, + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#; % \ae + +ligtable "s": + "x": + "d" kern -0.2base_width#, + 164 kern -0.2base_width#, % \=t + 180 kern -0.2base_width#, % \'t + 188 kern -0.2base_width#, % \~t + "D" kern -0.2base_width#, + 132 kern -0.2base_width#, % \D, \"T + 95 kern +0.15base_width#, % 95 \g, \=k + 172 kern +0.1base_width#, % 172\=l + "m" kern -0.25base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + 220 kern -0.35base_width#, % 220 \q + "t" kern -0.2base_width#, + "T" kern -0.2base_width#; + +ligtable "S": + "a" kern -0.15base_width#, + "A" kern -0.3base_width#, + "o" kern -0.1base_width#, + "y" kern -0.3base_width#, + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.1base_width#; % \ey + +ligtable 254: % \th + 240: % \.\th, \dh + 221: % \ey + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 45 kern -0.1base_width#, %45, \tripleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 38 kern -0.1base_width#, %38, \triplecross + 42 kern -0.1base_width#, %42, \cross + "d" kern -0.15base_width#, + 164 kern -0.15base_width#, % \=t + 180 kern -0.15base_width#, % \'t + 188 kern -0.15base_width#, % \~t + "D" kern -0.15base_width#, + 132 kern -0.15base_width#, % \D, \"T + "h" kern -0.1base_width#, + 168 kern -0.1base_width#, % \h + "m" kern -0.3base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + 220 kern -0.3base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.3base_width#, + 229 kern -0.3base_width#, % \aa + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#; % \ae + +ligtable 222: % \TH + 208: % \.\TH, \DH + 158: % \thth + 229: % \aa + 164 kern -0.1base_width#, % \=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + "m" kern -0.25base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + 220 kern -0.25base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.25base_width#, + 229 kern -0.2base_width#; % \aa + +ligtable "y": + "." kern -0.3base_width#, + ":" kern -0.3base_width#, + 59 kern -0.1base_width#, %59, \tripledot + 62 kern -0.3base_width#, %62, \tripleeye + 63 kern -0.3base_width#, %63, \quadeye + 64 kern -0.3base_width#, %64, \penteye + "!" kern -0.2base_width#, + 34 kern -0.1base_width#, %34, \doublebar + "+" kern -0.3base_width#, + 44 kern -0.2base_width#, %44, \doubleplus + 36 kern -0.3base_width#, %36, \star + 37 kern -0.2base_width#, %37, \doublecross + 42 kern -0.3base_width#, %42, \cross + "a" kern -0.3base_width#, + "c" kern -0.2base_width#, + 67 kern -0.2base_width#, % \.c + 163 kern -0.2base_width#, % \=c + "d" kern -0.3base_width#, + 164 kern -0.3base_width#, % \=t + 180 kern -0.3base_width#, % \'t + 188 kern -0.3base_width#, % \~t + "D" kern -0.3base_width#, + 132 kern -0.3base_width#, % \D, \"T + 165 kern -0.3base_width#, % \=i + "h" kern -0.3base_width#, + 168 kern -0.3base_width#, % \h + "m" kern -0.4base_width#, + "N" kern -0.2base_width#, + 198 kern -0.2base_width#, % \.N + "o" kern -0.1base_width#, + 220 kern -0.4base_width#, % 220 \q + "s" kern -0.1base_width#, + "t" kern -0.3base_width#, + "T" kern -0.3base_width#, + 148 kern -0.2base_width#, % 148 \T + "x" kern -0.1base_width#, + "y" kern -0.1base_width#, + "z" kern -0.2base_width#, + 228 kern -0.1base_width#, % \"a + 230 kern -0.1base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.1base_width#; % \ey + + +ligtable "z": + 163: + "Z": + "a" kern -0.2base_width#, + "A" kern -0.3base_width#, + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, % \=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + "m" kern -0.25base_width#, + "N" kern -0.1base_width#, + 198 kern -0.1base_width#, % \.N + "o" kern -0.1base_width#, + 220 kern -0.35base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.3base_width#, + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#, % \ae + 246 kern -0.1base_width#, % \"o + 248 kern -0.1base_width#, % \o + 214 kern -0.1base_width#, % \"O + 216 kern -0.1base_width#, % \O + 221 kern -0.1base_width#; % \ey + +ligtable 228: % \"a + 230: % \ae + 246: % \"o + 248: % \o + 214: % \"O + 216: % \O + "+" kern -0.1base_width#, + 44 kern -0.1base_width#, %44, \doubleplus + 36 kern -0.1base_width#, %36, \star + 37 kern -0.1base_width#, %37, \doublecross + 42 kern -0.1base_width#, %42, \cross + "d" kern -0.1base_width#, + 164 kern -0.1base_width#, %\=t + 180 kern -0.1base_width#, % \'t + 188 kern -0.1base_width#, % \~t + "D" kern -0.1base_width#, + 132 kern -0.1base_width#, % \D, \"T + 165 kern -0.1base_width#, % \=i + 168 kern -0.2base_width#, % \h + "m" kern -0.2base_width#, + 220 kern -0.2base_width#, % 220 \q + "t" kern -0.1base_width#, + "T" kern -0.1base_width#, + 148 kern -0.1base_width#, % 148 \T + "y" kern -0.4base_width#, + 229 kern -0.2base_width#, % \aa + 228 kern -0.2base_width#, % \"a + 230 kern -0.2base_width#; % \ae + + +% \end{macrocode} +% +%</frum> +% +%<*font> +% +% \section{Font driver files}\file{fru*.mf} +% +% This section describes the driver files +% \texttt{fru}\meta{family}\meta{series}\meta{shape}\texttt{.mf}, where +% \meta{family} is one of +% \texttt{c} (Common Germanic), +% \texttt{a} (Anglo-Saxon), +% \texttt{n} (normal), +% \texttt{t} (short-twig), +% \texttt{l} (staveless) and +% \texttt{m} (medieval). +% \meta{series} is one of +% \texttt{m} (medium, withoutlines), +% \texttt{b} (boldface, withoutlines), +% \texttt{l} (lightface, withoutlines), +% \texttt{n} (medium, withlines), +% \texttt{c} (boldface, withlines) and +% \texttt{k} (lightface, withlines). +% \meta{shape} is one of +% \texttt{n} (curved, hightwigs), +% \texttt{s} (straight, hightwigs), +% \texttt{r} (rounded, hightwigs), +% \texttt{m} (curved, lowtwigs), +% \texttt{t} (straight, lowtwigs) and +% \texttt{q} (rounded, lowtwigs). +% +% First we declare some common variables determining the +% shape of the font. +% +% \begin{macrocode} +string boldness; +boolean withlines; +string barshape; +boolean loweredbars; + +% \end{macrocode} +% Next the variables have their values set. (Note that the beginning +% of the lines: <something> of course not shows up in the \MF file.) +% One line from these three: +% \begin{macrocode} +%<medium>boldness="medium"; +%<bold>boldness="bold"; +%<light>boldness="light"; +% \end{macrocode} +% and one line from these two: +% \begin{macrocode} +%<withoutlines>withlines=false; +%<withlines>withlines=true; +% \end{macrocode} +% and one line from these three: +% \begin{macrocode} +%<straight>barshape="straight"; +%<curved>barshape="curved"; +%<rounded>barshape="rounded"; +% \end{macrocode} +% and finally one line from these two: +% \begin{macrocode} +%<hightwigs>loweredbars=false; +%<lowtwigs>loweredbars=true; +% \end{macrocode} +% +% Then the basefile is loaded, with all the heavy stuff. +% And the code for the word separator symbols are +% loaded. Common to all font families. +% \begin{macrocode} + +input frubase; +input frusep; +% \end{macrocode} +% And then the source files +% specific for the current font family is input. +% \begin{macrocode} +%<frucin>input fruc; +%<fruain>input frua; +%<frunin>input frun; +%<frutin>input frut; +%<frulin>input frul; +%<frumin>input frum; + +bye. +% \end{macrocode} +% +%</font> +% +% \Finale |