% \iffalse meta-comment % % allrunes.dtx % % Copyright 2001-2014 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} % % % \fi % % \CheckSum{5013} % % \changes{v1.0}{2001/03/23}{First public release} % \changes{v1.0.1}{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.} % \changes{v2.1.1}{2016/10/06}{2.1.1 Bugfix. \S and \P didn't work in ordinary text. % Updated the installation instructions.} % % % \newcommand{\currentversion}{2.1.1} % \newcommand{\dateofcurrentversion}{2016/10/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 and type1 files for the % \ar{} font families, 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; however, the information herein is somewhat % theoretical, more concrete installation instructions can be found in the % \texttt{README.txt} file. % In some TeX-implementations (like MiKTeX) the \ar{} fonts and package % is part of the distribution; in such cases it is easier to use that, but look % at the version numbers; the CTAN-version is guaranteed to be the latest. % % \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{fonts--base--dir}\texttt{/source/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{fonts--base--dir}\texttt{/pk/public/allrunes/}\newline % and the \texttt{fru*.tfm} files in\newline % \indent\meta{fonts--base--dir}\texttt{/tfm/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{fonts--base--dir}\texttt{/type1/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{fonts-base-dir}\texttt{/maps/dvips/allrunes} would be fine. % % In recent versions of MiKTeX- and texlive-implementations, the % handling of \texttt{*.map} files is rather simple. You have to update % the filename database and you have to add a reference to the \texttt{allrunes.map} % file, and update the depending \texttt{*.map} files. How to do this can differ a % lot in different \TeX-distributions. See the \texttt{README.txt} file for concrete % examples. % % % \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 of course will result in quite a 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 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 was used 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 mixed 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\r a 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\"andning och ljudv\"arde 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} % % % % \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{\textsection}{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} % % % %<*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} % % % %<*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} % % % %<*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} % % % %<*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} % % % %<*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{\textparagraph}{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{\textsection}{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} % % % %<*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} % % % %<*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} % % % % \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} % % % %<*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} % % % %<*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} % % % %<*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} % % % %<*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} % % % %<*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} % % % %<*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: of course not shows up in the \MF file.) % One line from these three: % \begin{macrocode} %boldness="medium"; %boldness="bold"; %boldness="light"; % \end{macrocode} % and one line from these two: % \begin{macrocode} %withlines=false; %withlines=true; % \end{macrocode} % and one line from these three: % \begin{macrocode} %barshape="straight"; %barshape="curved"; %barshape="rounded"; % \end{macrocode} % and finally one line from these two: % \begin{macrocode} %loweredbars=false; %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} %input fruc; %input frua; %input frun; %input frut; %input frul; %input frum; bye. % \end{macrocode} % % % % \Finale