diff options
Diffstat (limited to 'fonts/auncial-new')
-rw-r--r-- | fonts/auncial-new/README | 103 | ||||
-rw-r--r-- | fonts/auncial-new/auncial.dtx | 739 | ||||
-rw-r--r-- | fonts/auncial-new/auncial.ins | 114 | ||||
-rw-r--r-- | fonts/auncial-new/auncial.pdf | bin | 0 -> 160037 bytes | |||
-rw-r--r-- | fonts/auncial-new/auncl10.afm | 276 | ||||
-rw-r--r-- | fonts/auncial-new/auncl10.pfb | bin | 0 -> 98831 bytes | |||
-rw-r--r-- | fonts/auncial-new/auncl10.tfm | bin | 0 -> 1412 bytes | |||
-rw-r--r-- | fonts/auncial-new/aunclb10.afm | 276 | ||||
-rw-r--r-- | fonts/auncial-new/aunclb10.pfb | bin | 0 -> 103998 bytes | |||
-rw-r--r-- | fonts/auncial-new/aunclb10.tfm | bin | 0 -> 1412 bytes | |||
-rw-r--r-- | fonts/auncial-new/aunclmfb.dtx | 640 | ||||
-rw-r--r-- | fonts/auncial-new/aunclmfc.dtx | 4563 | ||||
-rw-r--r-- | fonts/auncial-new/aunclmft.dtx | 2173 | ||||
-rw-r--r-- | fonts/auncial-new/tryauncial.pdf | bin | 0 -> 195807 bytes | |||
-rw-r--r-- | fonts/auncial-new/tryauncial.tex | 29 |
15 files changed, 8913 insertions, 0 deletions
diff --git a/fonts/auncial-new/README b/fonts/auncial-new/README new file mode 100644 index 0000000000..5a4220c0f1 --- /dev/null +++ b/fonts/auncial-new/README @@ -0,0 +1,103 @@ + The auncial bundle provides packages and fonts for a script based +on the Artificial Uncial manuscript book-hand used between the 6th & 10th +century AD. The script consists of minuscules and digits, with some +appropriate period punctuation marks. Both normal and bold versions are +provided. This is one of a series for bookhand fonts. + + The font follows the B1 encoding developed for bookhands. Access to +this is essential. The encoding mainly follows the regular T1 encoding. + + If there are any questions please ask them on the comp.text.tex newsgroup. + +Changes in version 2.0 (2005/11/27) +o Font supplied as Postscript Type1 instead of MetaFont +o Only B1 encoding supported +o Major code rewrite + +Changes in version 1.0 (1999/05/22) +o First public release + +------------------------------------------------------------------ + Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net + Copyright 1999--2005 Peter R. Wilson + + This work may be distributed and/or modified under the + conditions of the Latex Project Public License, either + version 1.3 of this license or (at your option) any + later version. + The latest version of the license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2003/06/01 or later. + + This work has the LPPL maintenance status "author-maintained". + + This work consists of the files: + README (this file) + auncial.dtx + aunclmfb.dtx + aunclmft.dtx + aunclmfc.dtx + auncial.ins + auncial.pdf + and the derived files + auncial.sty + b1auncl.fd + auncial.map + auncl*.mf files + + +------------------------------------------------------------------ + The distribution consists of the following files: +README (this file) +auncial.dtx +aunclmfb.dtx +aunclmft.dtx +aunclmfc.dtx +auncial.ins +auncial.pdf (user manual) +tryauncial.tex (example usage) +tryauncial.pdf +auncl10.afm +auncl10.pfb +auncl10.tfm +aunclb10.afm +aunclb10.pfb +aunclb10.tfm + + To install the bundle: +o If you want MetaFont sources uncomment the appropriate lines in auncial.ins. +o run: latex auncial.ins, which will generate: + auncial.sty + *.fd files + auncial.map + and possibly several *.mf files +o Move *.sty and *.fd files to a location where LaTeX will find them + e.g., .../texmf-local/tex/latex/auncial +o Move *.afm, *.pfb and *.tfm files to where LaTeX looks for font information + e.g., .../texmf-var/fonts/afm/public/bookhands/*.afm + .../texmf-var/fonts/type1/public/bookhands/*.pfb + .../texmf-var/fonts/tfm/public/bookhands/*.tfm +o Add the *.map information to the dvips/pdftex font maps + If you want the MetaFont version as well: + o Move the *.mf files to, e.g., .../texmf-var/fonts/source/public/auncial + o Add a line like the following to the (texmf/fontname/)special.map file: + auncl10.mf public auncial + aunclb10.mf public auncial +o Refresh the database + (for more information on the above see the FAQ). + +o run: (pdf)latex tryauncial for a test of the font + + If you want a full manual with all the MetaFont and LaTeX code and +commentry, comment out the \OnlyDescription line in auncial.dtx. +o run: (pdf)latex auncial.dtx +o (for an index run: makeindex -s gind.ist *.idx) +o run: (pdf)latex *.dtx +o Print *.(pdf|dvi) for a hardcopy of the package manual + +2005/11/27 +Peter Wilson +herries dot press at earthlink dot net + + diff --git a/fonts/auncial-new/auncial.dtx b/fonts/auncial-new/auncial.dtx new file mode 100644 index 0000000000..38d774ed6d --- /dev/null +++ b/fonts/auncial-new/auncial.dtx @@ -0,0 +1,739 @@ +% \iffalse meta-comment +% +% auncial.dtx +% +% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +% Copyright 1999--2005 Peter R. Wilson +% +% This work may be distributed and/or modified under the +% conditions of the Latex Project Public License, either +% version 1.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/06/01 or later. +% +% This work has the LPPL maintenance status "author-maintained". +% +% This work consists of the files listed in the README file. +% +% If you do not have the docmfp package (available from CTAN in +% tex-archive/macros/latex/contrib/supported), comment out the +% \usepackage{docmfp} line below and uncomment the line following it. +% +%<*driver> +\documentclass[twoside]{ltxdoc} +%%%%\usepackage{docmfp} +%%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{} +\usepackage{url} +\usepackage[draft=false, + plainpages=false, + pdfpagelabels, + bookmarksnumbered, + hyperindex=false + ]{hyperref} +\providecommand{\phantomsection}{} +\OnlyDescription %% comment this out for the full glory +\EnableCrossrefs +\CodelineIndex +\setcounter{StandardModuleDepth}{1} +\makeatletter + \@mparswitchfalse +\makeatother +\renewcommand{\MakeUppercase}[1]{#1} +\pagestyle{headings} +\newenvironment{addtomargins}[1]{% + \begin{list}{}{% + \topsep 0pt% + \addtolength{\leftmargin}{#1}% + \addtolength{\rightmargin}{#1}% + \listparindent \parindent + \itemindent \parindent + \parsep \parskip}% + \item[]}{\end{list}} +\begin{document} + \raggedbottom + \DocInput{auncial.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{132} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{1999/05/22}{First public release} +% \changes{v1.0a}{2001/01/02}{Fixed missing * in fd files} +% \changes{v2.0}{2005/11/27}{Major rewrite, 'full' T1 encoding, PostScript Type 1} +% +% \def\fileversion{v1.0} \def\filedate{1999/05/22} +% \def\fileversion{v1.0a} \def\filedate{2001/01/02} +% \def\fileversion{v2.0} \def\filedate{2005/11/27} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% \newcommand*{\AD}{\textsc{ad}} +% \newcommand*{\thisfont}{Artificial Uncial} +% +% \title{The \Lpack{Artificial Uncial} fonts\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\footnote{\texttt{herries dot press at earthlink dot net}}\\ +% Herries Press } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{auncial} bundle provides a PostScript Type1 set of +% \thisfont{} bookhands +% as used +% for manuscripts in the 6th to the 10th century. This is one in a series +% of manuscript fonts. +% +% The font is only supplied in the special bookhands B1 encoding. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The \Lpack{auncial} bundle provides a PostScript Type1 version of a +% Metafont~\cite{METAFONT} rendition +% of the \thisfont{} manuscript book-hand that was in use between about the +% sixth and tenth centuries~\AD. It is part of a project to provide fonts +% covering the major manuscript hands between the first century~\AD{} and +% the invention of printing. The principal resources used in this project +% are listed in the Bibliography. +% +% The font is only supplied in the special bookhands B1 encoding. +% +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% The \Lpack{docmfp} package is used for documenting the Metafont portions +% of the distribution~\cite{DOCMFP}. +% +% Section~\ref{sec:usc} describes the usage of the package. +% +% \subsection{Manuscript book-hands} +% +% Before the invention of printing all books were written by hand. The book-hands +% used by the scribes and copyists for the manuscripts changed as time +% went on. Table~\ref{tab:1} lists some of the common book-hands which were used +% between the 1st and 15th centuries. The later book-hands formed the basis of the +% fonts used by the early printers, which in turn form the basis of the printing +% fonts in use today. +% +% The manuscript book-hands were written with a broad nibbed reed or quill +% pen. Among the distinguishing characteristics of a hand, apart from the +% actual shape of the letters, are the angle of the pen (which controls the +% variation between thick and thin strokes) and the height of a letter compared +% to the width of the nib. The lower the ratio of the letter height to nib +% width, the more condensed is the script. The scripts also varied in their +% typical height. +% +% Table~\ref{tab:1} gives an `average' x-height for each +% script, which I obtained by measuring a sample of photographs of +% manuscripts written in the various hands. About a dozen examples +% of each book-hand were measured. This figure should not be taken too +% seriously. +% +% There was not a sharp division between the use of one hand and another. +% Many manuscripts exhibit a variety of hands in the same document. For example, +% the scribe writing in an Uncial hand may have used Roman Rustic letters +% for capitals. Usually the same pen was used for the two different scripts. +% +% Generally speaking, as a hand got older it became more embelished, and +% therefore took longer to write. As this happened a new hand would appear that +% was faster, and which would eventually make the earlier one obsolete. +% +% Many of the book-hands were single-cased; that is, they did not have an +% upper- and lower-case as we do nowadays in Western scripts. On the other +% hand, a script might be majuscule or minuscule. A \textit{majuscule} script +% is one, like our upper-case, where the letters are drawn between two lines +% and are of a uniform height with no ascenders or descenders. +% A \textit{minuscule} script, like our lower-case, is drawn between four lines +% and has ascenders and descenders. +% +% \begin{table} +% \centering +% \caption{The main manuscript book-hands} \label{tab:1} +% \begin{tabular}{lccccc} \hline +% Name & Century & x-height & Height & Pen & Normalised \\ +% & & (mm) & (nib widths) & angle & height \\ \hline +% Roman Rustic & 1--6 & 5.7 & 4--6 & 45 & 1.90 \\ +% Uncial & 3--6 & 4.1 & 4--5 & 30 & 1.37 \\ +% Half Uncial & 3--9 & 3.2 & 3--6 & 20--30 & 1.07 \\ +% Artificial Uncial & 6--10 & 4.2 & 3--6 & 10 & 1.40 \\ +% Insular majuscule & 6--9 & 4.2 & 5 & 0--20 & 1.40 \\ +% Insular minuscule & 6 onward & 4.1 & 5--6 & 45--70 & 1.37 \\ +% Carolingian minuscule & 8--12 & 3.0 & 3--5 & 45 & 1.00 \\ +% Early Gothic & 11--12 & 3.8 & 4--6 & 20--45 & 1.27 \\ +% Gothic Textura & 13--15 & 3.9 & 3--5 & 30--45 & 1.30 \\ +% Gothic Prescius & 13 onward & 3.3 & 4--5 & 45 & 1.10 \\ +% Rotunda & 13--15 & 3.2 & 4--6 & 30 & 1.07 \\ +% Humanist minuscule & 14 onward & 3.0 & 4--5 & 30--40 & 1.00 \\ \hline +% \end{tabular} +% \end{table} +% +% During the period under consideration arabic numerals were effectively +% not used. At the beginning they were unknown and even though some knew +% of them towards the end, the glyphs used for them are not recognisable --- +% to me they look somewhat like cryllic letters --- and each locality +% and time had its own highly individualistic rendering. The general rule +% when using one of these book-hands is to write all numbers using +% roman numerals. +% +% The Roman alphabet consisted of 23 capital letters --- the J, U and W +% were absent. The book-hands initially used both a `u' and a `v' interchangeably +% but by the 10th century the practice had become to use the `v' before a vowel +% and the `u' otherwise. The letter corresponding to the W sound appeared +% in England around the 7th century in +% the form of the runic \textit{wen} character and by about the 11th century +% the `w' chacter was generally used. The `J' is the newest letter of all, not +% appearing until about the mid 16th century. +% +% In the first century punctuation was virtually unknown, and typically +% would not even be any additional space between individual words, never +% mind denoting ends of sentences. Sometimes a dot at mid-height would be +% used as a word seperator, or to mark off the end of a paragraph. Effectively +% a text was a continuous stream of letters. By the time that printing was +% invented, though, all of our modern punctuation marks were being used. +% +% Among all these manuscript hands, the Carolingian minuscule is the +% most important as our modern fonts are based on its letter shapes, and it is +% also at this point in time where the division occured between the black letter +% scripts as used even today in Germany, and the lighter fonts used elesewhere. +% The Rotunda and Humanist minuscule hands were developed in Italy and were +% essentially a rediscovery of the Carolingian minusucle. Guthenberg took the +% Gothic scripts as the model for his types. Later printers, +% such as Nicholas Jenson of Venice, +% took the Humanist scripts as their models. +% +% +% \subsection{The \thisfont{} script} +% +% The \thisfont{} hand, which is a minuscule script, was in use for some five +% centuries and was, in a sense, the sucessor to the Uncial book-hand. It was +% a much more calligraphic script, and as time went on it became even more +% decorated, until it was too time consuming to use. Usually the +% lettering in a manuscript was all one size. If the scribe felt the need +% for `capital' letters then, using the same pen, would either write a larger +% \thisfont{} letter or a Roman Capital letter. The capitals were only used at +% the start of a line, and were either fully or partially in the margin. The +% capitals were large, perhaps two to four times the size of a normal letter, +% and were the start of versals. As versals for use with other book-hands, +% the script lived on until the end of the Middle Ages. +% +% I have provided a set of `capital' letters that are only a little larger +% than the normal letters for use in running text. If you want to typeset +% using versals, then I suggest Daniel Flipo's \Lpack{lettrine} +% package~\cite{LETTRINE}. +% During the time the \thisfont{} script was used the alphabet only had 24 +% letters. I have included the missing J. +% +% Arabic numerals were unknown at this time, so all numbers were written +% using the roman numbering system. I have provided Uncial versions of +% the arabic digits. +% +% Punctuation was used, but not with the frequency of today. +% A sentence might be ended with +% a dot at mid-height or a paragraph ended with a colon, also at mid-height. +% The start +% of a paragraph might be marked with a capital letter (as a versal). +% The comma was was a small pointed +% slash; the semi-colon was known, as was the single quotation +% mark which was represented by a raised comma. +% +% +% \section{The \Lpack{auncial} and \Lpack{allauncl} packages} \label{sec:usc} +% +% The \thisfont{} font family is called |auncl|. The font is supplied in +% only the special bookhands B1 encoding. Thus, to use the font in a document +% you need to at least have: \\ +% \verb?\usepackage[B1,...]{fontenc}? \\ +% in the preamble. You also need to have installed the files: \\ +% \file{b1enc.def}, \file{b1cmr.fd}, and possibly \file{TeXB1.enc}.\\ +% These are available from the CTAN \file{bookhands} directory as the +% pair \file{bhenc.dtx} and \file{bhenc.ins}. +% +% \subsection{The \Lpack{auncial} package} +% +% This is intended for the occasions when some short pieces of text have +% to be written in \thisfont{} while the majority of the document is in another +% font. The normal baselineskips are used. +% +% \DescribeMacro{\aunclfamily} +% The |\aunclfamily| declaration starts typesetting with the \thisfont{} fonts. +% Use of the \thisfont{} font will continue until either there is another |\...family| +% declaration or the current group (e.g., environment) is closed. +% +% \DescribeMacro{\textuncl} +% The command |\textuncl{|\meta{text}|}| will typeset \meta{text} using the +% \thisfont{} fonts. +% +% \subsection{The \Lpack{allauncl} package} +% +% +% This package is for when the entire document will be typeset with the +% \thisfont font. The baselineskips are set to those appropriate to the +% book-hand. +% +% This is a minimalist package. Apart from declaring \thisfont{} to be the +% default font and setting the baselineskips appropriately, it makes no other +% alterations. +% Vertical spacing +% before and after section titles and before and after lists, etc., will be +% too small as the \LaTeX{} design assumes a font comparable in size to +% normal printing fonts, and the book-hand is much taller. +% To capture more of the flavour of the time, all numbers +% should be written using roman numerals. +% The \Lpack{romannum} package~\cite{ROMANNUM} +% can be used so that \LaTeX{} will typeset the numbers that it generates, +% like sectioning or caption numbers, using roman numerals instead of arabic +% digits. +% +% \DescribeMacro{\cmrfamily} +% \DescribeMacro{\textcmr} +% \DescribeMacro{\cmssfamily} +% \DescribeMacro{\textcmss} +% \DescribeMacro{\cmttfamily} +% \DescribeMacro{\textcmtt} +% The |...family| declarations start typesetting with the Computer Modern Roman +% (|\cmrfamily|), the Computer Modern Sans (|\cmssfamily|), and the Computer +% Modern Typewriter (|\cmttfamily|) font families. The |\textcm..{|\meta{text}|}| +% commands will typeset \meta{text} in the corresponding Computer Modern font. +% +% The \Lpack{allauncl} package automatically loads the \Lpack{auncial} package, +% so its font commands are available if necessary. +% +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \renewcommand{\refname}{Bibliography} +% \begin{thebibliography}{GMS94} +% \addcontentsline{toc}{section}{\refname} +% +% \bibitem[And69]{ANDERSON69} +% Donald M.~Anderson. +% \newblock \emph{The Art of Written Forms: The Theory and Practice of Calligraphy}. +% \newblock Holt, Rinehart and Winston, 1969. +% +% \bibitem[Bol95]{BOLOGNA95} +% Giulia Bologna. +% \newblock \emph{Illuminated Manuscripts: The Book before Gutenberg}. +% \newblock Crescent Books, 1995. +% +% \bibitem[Day95]{DAY95} +% Lewis F.~Day. +% \newblock \emph{Alphabets Old \& New}. +% \newblock (3rd edition originally published by B.~T.~Batsford, 1910) +% \newblock Senate, 1995. +% +% \bibitem[Dro80]{DROGIN80} +% Marc Drogin. +% \newblock \emph{Medieval Calligraphy: Its History and Technique}. +% \newblock Allenheld, Osmun \& Co., 1980. +% +% \bibitem[Dru95]{DRUCKER95} +% Johanna Drucker. +% \newblock \emph{The Alphabetic Labyrinth}. +% \newblock Thames \& Hudson, 1995. +% +% \bibitem[Fir93]{FIRMAGE93} +% Richard A.~Firmage. +% \newblock \emph{The Alphabet Abecedarium}. +% \newblock David R~Goodine, 1993. +% +% \bibitem[Fli98]{LETTRINE} +% Daniel Flipo. +% \newblock \emph{The LETTRINE package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1998. +% +% \bibitem[Har95]{HARRIS95} +% David Harris. +% \newblock \emph{The Art of Calligraphy}. +% \newblock DK Publishing, 1995. +% +% \bibitem[Jen95]{BETON} +% Frank Jensen. +% \newblock \emph{The BETON package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1995. +% +% \bibitem[Joh71]{JOHNSTON75} +% Edward Johnston (ed. Heather Child). +% \newblock \emph{Formal Penship and Other Papers}. +% \newblock Penthalic, 1971. +% +% \bibitem[Knu87]{CM} +% Donald E.~Knuth. +% \newblock \emph{Computer Modern Typefaces}. +% \newblock Addison-Wesley, 1987. +% +% \bibitem[Knu92]{METAFONT} +% Donald E.~Knuth. +% \newblock \emph{The METAFONTbook}. +% \newblock Addison-Wesley, 1992. +% +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Tho75]{THOMAS75} +% Alan G.~Thomas. +% \newblock \emph{Great Books and Book Collectors}. +% \newblock Weidenfield and Nichoson, 1975. +% +% \bibitem[Wil99]{DOCMFP} +% Peter R.~Wilson. +% \newblock \emph{The DOCMFP Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \bibitem[Wil99b]{ROMANNUM} +% Peter R.~Wilson. +% \newblock \emph{The ROMANNUM Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \end{thebibliography} +% \PrintIndex +% } +% +% +% \section{The font definition files} \label{sec:fd} +% +% The font comes in normal and bold weights only. +% +% \begin{macrocode} +%<*fdot1> +\DeclareFontFamily{OT1}{auncl}{} + \DeclareFontShape{OT1}{auncl}{m}{n}{ <-8.5> auncl7 <8.5-15> auncl10 <15-> auncl17 }{} + \DeclareFontShape{OT1}{auncl}{m}{sl}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{OT1}{auncl}{m}{it}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{OT1}{auncl}{m}{sc}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{OT1}{auncl}{m}{u}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{OT1}{auncl}{bx}{n}{ <-8.5> aunclb7 <8.5-15> aunclb10 <15-> aunclb17 }{} + \DeclareFontShape{OT1}{auncl}{bx}{it}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{OT1}{auncl}{bx}{sl}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{OT1}{auncl}{b}{n}{ <-> sub * auncl/bx/n }{} +%</fdot1> +% \end{macrocode} +% +% +% \begin{macrocode} +%<*fdt1> +\DeclareFontFamily{T1}{auncl}{} + \DeclareFontShape{T1}{auncl}{m}{n}{ <-8.5> auncl7 <8.5-15> auncl10 <15-> auncl17 }{} + \DeclareFontShape{T1}{auncl}{m}{sl}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{T1}{auncl}{m}{it}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{T1}{auncl}{m}{sc}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{T1}{auncl}{m}{u}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{T1}{auncl}{bx}{n}{ <-8.5> aunclb7 <8.5-15> aunclb10 <15-> aunclb17 }{} + \DeclareFontShape{T1}{auncl}{bx}{it}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{T1}{auncl}{bx}{sl}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{T1}{auncl}{b}{n}{ <-> sub * auncl/bx/n }{} +%</fdt1> +% \end{macrocode} +% +% \begin{macrocode} +%<*fdb1> +\DeclareFontFamily{B1}{auncl}{} + \DeclareFontShape{B1}{auncl}{m}{n}{ <-> auncl10 }{} + \DeclareFontShape{B1}{auncl}{m}{sl}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{B1}{auncl}{m}{it}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{B1}{auncl}{m}{sc}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{B1}{auncl}{m}{u}{ <-> sub * auncl/m/n }{} + \DeclareFontShape{B1}{auncl}{bx}{n}{ <-> aunclb10 }{} + \DeclareFontShape{B1}{auncl}{bx}{it}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{B1}{auncl}{bx}{sl}{ <-> sub * auncl/bx/n }{} + \DeclareFontShape{B1}{auncl}{b}{n}{ <-> sub * auncl/bx/n }{} +%</fdb1> +% \end{macrocode} +% +% \section{The package code} \label{sec:code} +% +% \subsection{The \Lpack{auncial} package} +% +% The \Lpack{auncial} package is for typesetting short pieces of text +% in the \thisfont{} fonts. +% +% Announce the name and version of the package, which requires +% \LaTeXe{}. +% \begin{macrocode} +%<*usc> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{auncial}[2005/11/27 v2.0 package for Artificial Uncial fonts] +% \end{macrocode} +% +% \begin{macro}{\aunclfamily} +% Selects the \thisfont{} font family in the B1 encoding. +% \changes{v1.1}{2005/07/26}{Providing B1 encoding only} +% \begin{macrocode} +\newcommand{\aunclfamily}{\usefont{B1}{auncl}{m}{n}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textuncl} +% Text command for the \thisfont{} font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textauncl}{\aunclfamily} +% \end{macrocode} +% \end{macro} +% +% The end of this package. +% \begin{macrocode} +%</usc> +% \end{macrocode} +% +% \subsection{The \Lpack{allauncl} package} +% +% The \Lpack{allauncl} package is intended for use when the entire document +% will be typeset in the book-hand. This is a minimal package. Because the +% book-hand should not contain arabic digits a fuller package would redefine +% anything numbered in \LaTeX{} to use roman instead of arabic numbering. +% Also, because of the large |\baselineskip| many other aspects of \LaTeX{} +% to do with vertical positioning should also be redefined. +% +% +% Announce the name and version of the package, which requires +% \LaTeXe{}. It also uses the \Lpack{auncial} package. +% \begin{macrocode} +%<*uscall> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{allauncl}[2005/11/27 v2.0 package for all Artificial Uncial fonts] +\RequirePackage{auncial} +% \end{macrocode} +% +% \begin{macro}{\Tienc} +% A macro for testing the value of |\encodingdefault|. +% \begin{macrocode} +\providecommand{\Tienc}{OT1} +% \end{macrocode} +% \end{macro} +% +% Redefine the default fonts to be \thisfont, which has only one family +% member. +% \begin{macro}{\rmdefault} +% \begin{macro}{\sfdefault} +% \begin{macro}{\ttdefault} +% \begin{macrocode} +\renewcommand{\rmdefault}{auncl} +\renewcommand{\sfdefault}{auncl} +\renewcommand{\ttdefault}{auncl} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% The `leading' in the book-hand is the same as the |x-height|, which is much +% greater than for the CMR fonts. I have borrowed code from Frank Jensen's +% \Lpack{beton} package~\cite{BETON} to do this. The |x-height| (in points) +% for the CMR +% fonts is given in Table~\ref{tab:cmrx}. Note that the CMR design sizes are +% 5--10, 12, and 17.28 points. The other values given are scaled from these +% figures. +% +% \begin{table} +% \centering +% \caption{The x heights of the CMR and \thisfont{} fonts} \label{tab:cmrx} +% \begin{tabular}{ccc} \hline +% Design & CMR & \thisfont \\ +% Size & X Height & X Height \\ \hline +% 5 & 2.14 & 3.00 \\ +% 6 & 2.58 & 3.61 \\ +% 7 & 3.00 & 4.22 \\ +% 8 & 3.44 & 4.82 \\ +% 9 & 3.86 & 5.40 \\ +% 10 & 4.31 & 6.03 \\ +% 11 & 4.74 & 6.64 \\ +% 12 & 5.17 & 7.24 \\ +% 14 & 6.03 & 8.44 \\ +% 17 & 7.44 & 10.42 \\ +% 20 & 8.75 & 12.25 \\ +% 25 & 10.94 & 15.32 \\ \hline +% \end{tabular} +% \end{table} +% +% \begin{macro}{\auncial@baselineskip@table} +% A table of the normal font sizes and the corresponding baselineskip. +% The distance between baselines for \thisfont{} is over twice +% the |x-height|. +% +% \begin{macrocode} +\newcommand{\auncial@baselineskip@table}{% + <\@vpt>6.6% + <\@vipt>7.9% + <\@viipt>9.3% + <\@viiipt>10.6% + <\@ixpt>11.9% + <\@xpt>13.3% + <\@xipt>14.6% + <\@xiipt>16.5% + <\@xivpt>18.6% + <\@xviipt>22.9% + <\@xxpt>26.9% + <\@xxvpt>33.7} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\auncial@new@setfontsize} +% This is a macro that replaces the |\@setfontsize| macro which is called by +% the font size changing commands. +% \begin{macrocode} +\newcommand{\auncial@new@setfontsize}[3]{% + \edef\@tempa{\def\noexpand\@tempb####1<#2}% + \@tempa>##2<##3\@nil{\def\auncial@baselineskip@value{##2}}% + \edef\@tempa{\noexpand\@tempb\auncial@baselineskip@table<#2}% + \@tempa><\@nil + \ifx\auncial@baselineskip@value\@empty + \def\auncial@baselineskip@value{#3}% + \fi + \auncial@old@setfontsize{#1}{#2}\auncial@baselineskip@value} +% \end{macrocode} +% \end{macro} +% +% We had better give an author a means of using The Computer Modern fonts +% if necessary. +% +% \begin{macro}{\cmrfamily} +% \begin{macro}{\cmssfamily} +% \begin{macro}{\cmttfamily} +% These macros select the Computer Modern Roman, Sans, and Typewriter +% font families in either the T1 or OT1 encodings. +% \begin{macrocode} +\ifx\Tienc\encodingdefault + \providecommand{\cmrfamily}{\usefont{OT1}{cmr}{m}{n}} + \providecommand{\cmssfamily}{\usefont{OT1}{cmss}{m}{n}} + \providecommand{\cmttfamily}{\usefont{OT1}{cmtt}{m}{n}} +\else + \providecommand{\cmrfamily}{\usefont{T1}{cmr}{m}{n}} + \providecommand{\cmssfamily}{\usefont{T1}{cmss}{m}{n}} + \providecommand{\cmttfamily}{\usefont{T1}{cmtt}{m}{n}} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\textcmr} +% Text command for the Computer Modern Roman font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textcmr}{\cmrfamily} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textcmss} +% Text command for the Computer Modern Sans font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textcmss}{\cmssfamily} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\textcmtt} +% Text command for the Computer Modern Typewriter font family. +% \begin{macrocode} +\DeclareTextFontCommand{\textcmtt}{\cmttfamily} +% \end{macrocode} +% \end{macro} +% +% +% At the start of the document, change the |\@setfontsize| macro and call +% the normal font to implement the change. +% \begin{macrocode} +\AtBeginDocument{% + \let\auncial@old@setfontsize=\@setfontsize + \let\@setfontsize=\auncial@new@setfontsize} +\AtBeginDocument{\normalsize} +% \end{macrocode} +% +% The end of this package. +% \begin{macrocode} +%</uscall> +% \end{macrocode} +% +% \section{The map file} +% +% Just a short file. +% \changes{v1.1}{2005/07/26}{Added map file} +% +% \begin{macrocode} +%<*map> +auncl10 Bookhands-Artificial-Uncial <auncl10.pfb +aunclb10 Bookhands-Artificial-Uncial-Bold <aunclb10.pfb +%</map> +% \end{macrocode} +% +% +% \Finale +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/fonts/auncial-new/auncial.ins b/fonts/auncial-new/auncial.ins new file mode 100644 index 0000000000..49eaade1f9 --- /dev/null +++ b/fonts/auncial-new/auncial.ins @@ -0,0 +1,114 @@ +%% auncial.ins +%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +%% Copyright 1999--2005 Peter R. Wilson +%% +%% This work may be distributed and/or modified under the +%% conditions of the Latex Project Public License, either +%% version 1.3 of this license or (at your option) any +%% later version. +%% The latest version of the license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2003/06/01 or later. +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This work consists of the files listed in the README file. +%% +%% This file will generate fast loadable files from the doc files +%% in this work when run through LaTeX +%% +%% --------------------- start of docstrip commands -------------- +%% +\def\batchfile{auncial.ins} +\input docstrip.tex +\preamble +------------------------------------------------------------------ + Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net + Copyright 1999--2005 Peter R. Wilson + + This work may be distributed and/or modified under the + conditions of the Latex Project Public License, either + version 1.3 of this license or (at your option) any + later version. + The latest version of the license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2003/06/01 or later. + + This work has the LPPL maintenance status "author-maintained". + + This work consists of the files listed in the README file. +------------------------------------------------------------------ +\endpreamble + +\keepsilent + +%%%%%% Do not try to generate any driver file. This is only here for +%%%%%% historical purposes. +%%% \Msg{*** Generating the driver file ***} +%%% \generateFile{auncial.drv}{t}{\from{auncial.dtx}{driver}} + +\Msg{*** Generating the Metafont files ***} +\usepostamble\empty + +%%\generateFile{auncl10.mf}{t}{\from{aunclmfb.dtx}{base10}} +%%\generateFile{aunclb10.mf}{t}{\from{aunclmfb.dtx}{base10b}} +%%\generateFile{auncltitle.mf}{t}{\from{aunclmft.dtx}{mfd}} +%%\generateFile{auncllow.mf}{t}{\from{aunclmfc.dtx}{low}} +%%\generateFile{aunclsci.mf}{t}{\from{aunclmfc.dtx}{ascii}} +%%\generateFile{aunclmid.mf}{t}{\from{aunclmfc.dtx}{mid}} +%%\generateFile{auncltop.mf}{t}{\from{aunclmfc.dtx}{top}} + + +\Msg{*** Generating the Font Definition files ***} +\usepostamble\defaultpostamble + +%%\generateFile{ot1auncl.fd}{t}{\from{auncial.dtx}{fdot1}} +%%\generateFile{t1auncl.fd}{t}{\from{auncial.dtx}{fdt1}} +\generateFile{b1auncl.fd}{t}{\from{auncial.dtx}{fdb1}} + +\Msg{*** Generating the LaTeX2e package files ***} + +\generateFile{auncial.sty}{t}{\from{auncial.dtx}{usc}} +\generateFile{allauncl.sty}{t}{\from{auncial.dtx}{uscall}} + +\Msg{*** Generating the map files ***} +\usepreamble\empty +\usepostamble\empty + +\generateFile{auncial.map}{t}{\from{auncial.dtx}{map}} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To continue with the installation move these into the LaTeX macro area:} +\Msg{* \space\space b1auncl.fd} +\Msg{* \space\space auncial.sty} +\Msg{* \space\space allauncl.sty} +\Msg{*} +\Msg{* Further instructions are in the README} +\Msg{*} +\Msg{* If you wish to install for MetaFont you have to move the following} +\Msg{* files into directories searched by TeX, and make appropriate changes} +\Msg{* to dvips' special.ps file:} +\Msg{*} +\Msg{* Move these into the font source area:} +\Msg{* \space\space auncl10.mf} +\Msg{* \space\space aunclb10.mf} +\Msg{* \space\space auncltitle.mf} +\Msg{* \space\space auncllow.mf} +\Msg{* \space\space aunclsci.mf} +\Msg{* \space\space aunclmid.mf} +\Msg{* \space\space auncltop.mf} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* `.dtx' through LaTeX.} +\Msg{* Process any name.idx file by:} +\Msg{* \space\space\space\space makeindex -s gind.ist name} +\Msg{* Process any name.glo file by:} +\Msg{* \space\space\space\space makeindex -s gglo.ist -o name.gls name.glo} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endinput diff --git a/fonts/auncial-new/auncial.pdf b/fonts/auncial-new/auncial.pdf Binary files differnew file mode 100644 index 0000000000..7e6652c137 --- /dev/null +++ b/fonts/auncial-new/auncial.pdf diff --git a/fonts/auncial-new/auncl10.afm b/fonts/auncial-new/auncl10.afm new file mode 100644 index 0000000000..5103c357d7 --- /dev/null +++ b/fonts/auncial-new/auncl10.afm @@ -0,0 +1,276 @@ +StartFontMetrics 2.0 +Comment Generated by pfaedit +Comment Creation Date: Sun Nov 27 18:00:20 2005 +FontName Bookhands-Artifical-Uncial +FullName Bookhands Artificial Uncial +FamilyName Bookhands +Weight Book +Notice (Generated from MetaFont bitmap by mftrace 1.1.5, http://www.cs.uu.nl/~hanwen/mftrace/ Copyright 2005 Peter R. Wilson) +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 001.001 +EncodingScheme TeXB1 +FontBBox -43 -503 1977 1307 +CapHeight 754 +XHeight 603 +Ascender 805 +Descender -401 +StartCharMetrics 254 +C 0 ; WX 0 ; N .notdef ; B 0 0 0 0 ; +C 1 ; WX 446 ; N acute ; B 145 605 391 805 ; +C 2 ; WX 446 ; N circumflex ; B 16 605 430 806 ; +C 3 ; WX 781 ; N tilde ; B 174 643 608 729 ; +C 4 ; WX 781 ; N dieresis ; B 139 523 642 729 ; +C 5 ; WX 781 ; N hungarumlaut ; B 192 551 589 820 ; +C 6 ; WX 446 ; N ring ; B 66 536 381 806 ; +C 7 ; WX 446 ; N caron ; B 16 605 430 805 ; +C 8 ; WX 446 ; N breve ; B 15 606 430 805 ; +C 9 ; WX 781 ; N macron ; B 233 670 548 703 ; +C 11 ; WX 230 ; N cedilla ; B 46 -268 276 15 ; +C 12 ; WX 230 ; N ogonek ; B -43 -254 213 16 ; +C 14 ; WX 348 ; N guilsinglleft ; B 17 59 332 544 ; +C 15 ; WX 348 ; N guilsinglright ; B 16 59 331 544 ; +C 16 ; WX 835 ; N quotedblleft ; B 42 461 662 819 ; +C 17 ; WX 835 ; N quotedblright ; B 174 460 794 819 ; +C 18 ; WX 835 ; N quotedblbase ; B 174 -42 793 316 ; +C 19 ; WX 585 ; N guillemotleft ; B 17 59 569 544 ; +C 20 ; WX 585 ; N guillemotright ; B 16 59 568 544 ; +C 21 ; WX 658 ; N endash ; B 13 220 632 391 ; +C 22 ; WX 1261 ; N emdash ; B 14 151 1234 467 ; +C 23 ; WX 446 ; N grave ; B 56 605 302 805 ; +C 24 ; WX 446 ; N dotaccent ; B 120 583 326 788 ; +C 25 ; WX 405 ; N dotlessi ; B 55 -202 351 605 ; +C 26 ; WX 405 ; N dotlessj ; B 55 -402 351 605 ; +C 27 ; WX 1372 ; N ff ; B 55 -403 1316 604 ; L l ffl ; L i ffi ; +C 28 ; WX 1064 ; N fi ; B 56 -403 1008 605 ; +C 29 ; WX 1372 ; N fl ; B 55 -403 1317 604 ; +C 30 ; WX 1722 ; N ffi ; B 56 -403 1666 605 ; +C 31 ; WX 2031 ; N ffl ; B 56 -403 1977 604 ; +C 32 ; WX 0 ; N space ; B 0 0 0 0 ; +C 33 ; WX 269 ; N exclam ; B 40 -13 228 805 ; +C 34 ; WX 835 ; N quotedbl ; B 174 460 794 819 ; +C 35 ; WX 1059 ; N numbersign ; B 56 -197 1003 801 ; +C 36 ; WX 865 ; N dollar ; B 55 -217 810 971 ; +C 37 ; WX 714 ; N percent ; B 54 -16 661 820 ; +C 38 ; WX 1166 ; N ampersand ; B 52 -202 1188 622 ; +C 39 ; WX 572 ; N quoteright ; B 174 259 530 618 ; +C 40 ; WX 535 ; N parenleft ; B 56 -418 546 1021 ; +C 41 ; WX 535 ; N parenright ; B -12 -418 480 1021 ; +C 42 ; WX 639 ; N asterisk ; B 51 446 588 1005 ; +C 43 ; WX 743 ; N plus ; B 55 45 688 633 ; +C 44 ; WX 572 ; N comma ; B 173 -42 530 316 ; +C 45 ; WX 538 ; N hyphen ; B 14 233 511 377 ; +C 46 ; WX 243 ; N period ; B 41 222 202 381 ; +C 47 ; WX 639 ; N slash ; B 17 -418 623 1021 ; +C 48 ; WX 714 ; N zero ; B 55 -23 658 701 ; +C 49 ; WX 714 ; N one ; B 210 -201 506 699 ; +C 50 ; WX 714 ; N two ; B 54 -117 659 701 ; +C 51 ; WX 714 ; N three ; B 54 -28 659 706 ; +C 52 ; WX 714 ; N four ; B 56 -1 736 699 ; +C 53 ; WX 714 ; N five ; B 55 0 659 679 ; +C 54 ; WX 714 ; N six ; B 54 -1 659 680 ; +C 55 ; WX 714 ; N seven ; B 41 -1 658 680 ; +C 56 ; WX 714 ; N eight ; B 55 -23 660 701 ; +C 57 ; WX 714 ; N nine ; B 55 0 659 678 ; +C 58 ; WX 243 ; N colon ; B 41 122 202 481 ; +C 59 ; WX 572 ; N semicolon ; B 174 -143 531 481 ; +C 60 ; WX 743 ; N less ; B 55 86 687 593 ; +C 61 ; WX 743 ; N equal ; B 55 244 687 434 ; +C 62 ; WX 743 ; N greater ; B 56 85 688 592 ; +C 63 ; WX 714 ; N question ; B 41 -73 659 805 ; +C 64 ; WX 1152 ; N at ; B 54 -221 1093 656 ; +C 65 ; WX 1035 ; N A ; B 55 -1 971 725 ; +C 66 ; WX 1035 ; N B ; B 57 -2 981 754 ; +C 67 ; WX 865 ; N C ; B 54 0 810 767 ; +C 68 ; WX 1116 ; N D ; B 56 0 1061 1042 ; +C 69 ; WX 865 ; N E ; B 55 0 810 766 ; +C 70 ; WX 865 ; N F ; B 56 -453 809 755 ; +C 71 ; WX 865 ; N G ; B 54 -503 810 767 ; +C 72 ; WX 1035 ; N H ; B 58 -2 981 1006 ; +C 73 ; WX 405 ; N I ; B 55 -201 351 755 ; L J IJ ; +C 74 ; WX 405 ; N J ; B 55 -452 351 755 ; +C 75 ; WX 1116 ; N K ; B 55 -201 1120 1006 ; +C 76 ; WX 865 ; N L ; B 57 -138 810 1007 ; +C 77 ; WX 1618 ; N M ; B 55 -1 1563 754 ; +C 78 ; WX 1206 ; N N ; B 55 -202 1148 754 ; +C 79 ; WX 990 ; N O ; B 55 -22 934 777 ; +C 80 ; WX 990 ; N P ; B 55 -453 935 764 ; +C 81 ; WX 990 ; N Q ; B 55 -452 935 754 ; +C 82 ; WX 1116 ; N R ; B 55 -202 1060 763 ; +C 83 ; WX 865 ; N S ; B 55 1 811 755 ; +C 84 ; WX 1116 ; N T ; B 42 -2 1060 755 ; +C 85 ; WX 1286 ; N U ; B 55 -1 1229 755 ; +C 86 ; WX 1161 ; N V ; B 57 0 1106 755 ; +C 87 ; WX 1618 ; N W ; B 55 -1 1562 754 ; +C 88 ; WX 1286 ; N X ; B 56 -252 1230 754 ; +C 89 ; WX 1116 ; N Y ; B 55 -503 1062 969 ; +C 90 ; WX 990 ; N Z ; B 41 -137 935 755 ; +C 91 ; WX 385 ; N bracketleft ; B 54 -402 396 1006 ; +C 92 ; WX 639 ; N backslash ; B 16 -418 622 1021 ; +C 93 ; WX 385 ; N bracketright ; B -11 -403 331 1005 ; +C 94 ; WX 446 ; N asciicircum ; B 16 605 430 806 ; +C 95 ; WX 743 ; N underscore ; B 56 -1 687 40 ; +C 96 ; WX 572 ; N quoteleft ; B 42 461 398 819 ; +C 97 ; WX 850 ; N a ; B 55 0 790 584 ; +C 98 ; WX 850 ; N b ; B 57 -2 796 604 ; +C 99 ; WX 714 ; N c ; B 54 0 659 615 ; L t c_t ; +C 100 ; WX 915 ; N d ; B 54 -1 860 827 ; +C 101 ; WX 714 ; N e ; B 54 -1 659 614 ; L t e_t ; +C 102 ; WX 714 ; N f ; B 56 -403 658 604 ; L l fl ; L i fi ; L f ff ; +C 103 ; WX 714 ; N g ; B 54 -404 659 614 ; +C 104 ; WX 850 ; N h ; B 58 -2 796 805 ; +C 105 ; WX 405 ; N i ; B 55 -202 351 605 ; L j ij ; +C 106 ; WX 405 ; N j ; B 55 -402 351 605 ; +C 107 ; WX 915 ; N k ; B 55 -202 923 805 ; +C 108 ; WX 714 ; N l ; B 57 -137 660 806 ; +C 109 ; WX 1317 ; N m ; B 55 -1 1262 604 ; +C 110 ; WX 987 ; N n ; B 55 -202 929 604 ; +C 111 ; WX 814 ; N o ; B 55 -22 758 627 ; +C 112 ; WX 814 ; N p ; B 55 -402 758 610 ; +C 113 ; WX 814 ; N q ; B 56 -402 759 604 ; +C 114 ; WX 915 ; N r ; B 55 -202 859 607 ; +C 115 ; WX 714 ; N s ; B 55 0 659 604 ; +C 116 ; WX 915 ; N t ; B 41 -1 859 604 ; +C 117 ; WX 1051 ; N u ; B 56 -2 994 610 ; +C 118 ; WX 951 ; N v ; B 57 0 896 605 ; +C 119 ; WX 1317 ; N w ; B 56 -1 1262 610 ; +C 120 ; WX 1051 ; N x ; B 56 -202 995 604 ; +C 121 ; WX 915 ; N y ; B 55 -402 860 819 ; +C 122 ; WX 814 ; N z ; B 41 -137 759 604 ; +C 123 ; WX 611 ; N braceleft ; B 55 -402 584 1005 ; +C 124 ; WX 190 ; N bar ; B 55 -403 135 1006 ; +C 125 ; WX 611 ; N braceright ; B 27 -402 556 1005 ; +C 126 ; WX 781 ; N asciitilde ; B 55 625 725 748 ; +C 127 ; WX 538 ; N hyphen ; B 14 233 511 377 ; +C 128 ; WX 572 ; N quotesinglbase ; B 173 -42 530 316 ; +C 129 ; WX 1035 ; N Aogonek ; B 55 -173 971 725 ; +C 130 ; WX 865 ; N Cacute ; B 54 0 810 996 ; +C 131 ; WX 865 ; N Ccaron ; B 54 0 810 996 ; +C 132 ; WX 1116 ; N Dcaron ; B 56 0 1061 1307 ; +C 133 ; WX 865 ; N Ecaron ; B 55 0 810 1055 ; +C 134 ; WX 865 ; N Eogonek ; B 55 -253 810 767 ; +C 135 ; WX 990 ; N paragraph ; B 56 -452 936 754 ; +C 136 ; WX 865 ; N Lacute ; B 57 -138 810 1307 ; +C 137 ; WX 865 ; N Lcaron ; B 57 -138 810 1021 ; +C 138 ; WX 865 ; N Lslash ; B 9 -137 811 1006 ; +C 139 ; WX 1206 ; N Nacute ; B 55 -202 1148 1055 ; +C 140 ; WX 1206 ; N Ncaron ; B 55 -202 1148 1055 ; +C 141 ; WX 1035 ; N Eng ; B 55 -272 981 755 ; +C 142 ; WX 990 ; N Ohungarumlaut ; B 55 -22 934 1146 ; +C 143 ; WX 1116 ; N Racute ; B 55 -202 1060 1055 ; +C 144 ; WX 1116 ; N Rcaron ; B 55 -202 1060 1055 ; +C 145 ; WX 865 ; N Sacute ; B 55 1 811 1055 ; +C 146 ; WX 865 ; N Scaron ; B 55 1 811 1055 ; +C 147 ; WX 1629 ; N slong_t ; B 55 -1 1573 605 ; +C 148 ; WX 1116 ; N Tcaron ; B 42 -2 1060 1055 ; +C 149 ; WX 915 ; N r.half ; B 55 -202 859 607 ; +C 150 ; WX 1286 ; N Uhungarumlaut ; B 55 -1 1229 1124 ; +C 151 ; WX 1286 ; N Uring ; B 55 -1 1229 1125 ; +C 152 ; WX 1116 ; N Ydieresis ; B 55 -503 1062 1033 ; +C 153 ; WX 990 ; N Zacute ; B 41 -137 935 1055 ; +C 154 ; WX 990 ; N Zcaron ; B 41 -137 935 1055 ; +C 155 ; WX 990 ; N Zdot ; B 41 -137 935 1092 ; +C 156 ; WX 700 ; N IJ ; B 55 -452 646 755 ; +C 157 ; WX 405 ; N Idot ; B 55 -201 374 1092 ; +C 158 ; WX 915 ; N dcroat ; B 55 0 861 944 ; +C 159 ; WX 814 ; N section ; B 53 -283 761 888 ; +C 160 ; WX 714 ; N slong ; B 55 0 659 604 ; L t slong_t ; +C 161 ; WX 850 ; N aogonek ; B 55 -169 790 584 ; +C 162 ; WX 714 ; N cacute ; B 54 0 659 846 ; +C 163 ; WX 714 ; N ccaron ; B 54 0 659 846 ; +C 164 ; WX 915 ; N dcaron ; B 54 -1 860 1106 ; +C 165 ; WX 714 ; N ecaron ; B 54 -1 659 905 ; +C 166 ; WX 714 ; N eogonek ; B 55 -253 659 614 ; +C 167 ; WX 1629 ; N e_t ; B 54 -1 1573 614 ; +C 168 ; WX 714 ; N lacute ; B 57 -137 660 1106 ; +C 169 ; WX 714 ; N lcaron ; B 57 -137 660 820 ; +C 170 ; WX 714 ; N lslash ; B 9 -137 660 805 ; +C 171 ; WX 987 ; N nacute ; B 55 -202 929 905 ; +C 172 ; WX 987 ; N ncaron ; B 55 -202 929 905 ; +C 173 ; WX 850 ; N eng ; B 55 -221 796 605 ; +C 174 ; WX 814 ; N ohungarumlaut ; B 55 -22 758 996 ; +C 175 ; WX 915 ; N racute ; B 55 -202 859 905 ; +C 176 ; WX 915 ; N rcaron ; B 55 -202 859 905 ; +C 177 ; WX 714 ; N sacute ; B 55 0 659 905 ; +C 178 ; WX 714 ; N scaron ; B 55 0 659 905 ; +C 179 ; WX 1629 ; N s_t ; B 55 -1 1573 605 ; +C 180 ; WX 915 ; N tcaron ; B 41 -1 859 905 ; +C 181 ; WX 1629 ; N c_t ; B 54 -1 1573 615 ; +C 182 ; WX 1051 ; N uhungarumlaut ; B 56 -2 994 974 ; +C 183 ; WX 1051 ; N uring ; B 56 -2 994 975 ; +C 184 ; WX 915 ; N ydieresis ; B 55 -402 860 883 ; +C 185 ; WX 814 ; N zacute ; B 41 -137 759 905 ; +C 186 ; WX 814 ; N zcaron ; B 41 -137 759 905 ; +C 187 ; WX 814 ; N zdot ; B 41 -137 759 942 ; +C 188 ; WX 700 ; N ij ; B 55 -403 646 605 ; +C 189 ; WX 269 ; N exclamdown ; B 40 -1 228 818 ; +C 190 ; WX 714 ; N questiondown ; B 55 0 673 877 ; +C 191 ; WX 865 ; N sterling ; B 56 -137 811 1072 ; +C 192 ; WX 1035 ; N Agrave ; B 55 -1 971 996 ; +C 193 ; WX 1035 ; N Aacute ; B 55 -1 971 996 ; +C 194 ; WX 1035 ; N Acircumflex ; B 55 -1 971 996 ; +C 195 ; WX 1035 ; N Atilde ; B 55 -1 971 856 ; +C 196 ; WX 1035 ; N Adieresis ; B 55 -1 971 974 ; +C 197 ; WX 1035 ; N Aring ; B 55 -1 971 1007 ; +C 198 ; WX 1430 ; N AE ; B 55 -1 1376 768 ; +C 199 ; WX 865 ; N Ccedilla ; B 54 -289 810 767 ; +C 200 ; WX 865 ; N Egrave ; B 55 0 810 1055 ; +C 201 ; WX 865 ; N Eacute ; B 55 0 810 1055 ; +C 202 ; WX 865 ; N Ecircumflex ; B 55 0 810 1055 ; +C 203 ; WX 865 ; N Edieresis ; B 55 0 810 1033 ; +C 204 ; WX 405 ; N Igrave ; B 55 -201 394 1055 ; +C 205 ; WX 405 ; N Iacute ; B 55 -201 394 1055 ; +C 206 ; WX 405 ; N Icircumflex ; B 55 -201 477 1055 ; +C 207 ; WX 405 ; N Idieresis ; B 19 -201 522 1033 ; +C 208 ; WX 1116 ; N Eth ; B 55 -1 1062 1170 ; +C 209 ; WX 1206 ; N Ntilde ; B 55 -202 1148 915 ; +C 210 ; WX 990 ; N Ograve ; B 55 -22 934 1077 ; +C 211 ; WX 990 ; N Oacute ; B 55 -22 934 1077 ; +C 212 ; WX 990 ; N Ocircumflex ; B 55 -22 934 1077 ; +C 213 ; WX 990 ; N Otilde ; B 55 -22 934 937 ; +C 214 ; WX 990 ; N Odieresis ; B 55 -22 934 1055 ; +C 215 ; WX 1447 ; N OE ; B 55 -42 1392 795 ; +C 216 ; WX 990 ; N Oslash ; B 41 -22 948 775 ; +C 217 ; WX 1286 ; N Ugrave ; B 55 -1 1229 1055 ; +C 218 ; WX 1286 ; N Uacute ; B 55 -1 1229 1055 ; +C 219 ; WX 1286 ; N Ucircumflex ; B 55 -1 1229 1055 ; +C 220 ; WX 1286 ; N Udieresis ; B 55 -1 1229 1033 ; +C 221 ; WX 1116 ; N Yacute ; B 55 -503 1062 1055 ; +C 222 ; WX 990 ; N Thorn ; B 55 -452 935 754 ; +C 223 ; WX 1485 ; N Germandbls ; B 55 -1 1430 754 ; +C 224 ; WX 850 ; N agrave ; B 55 0 790 846 ; +C 225 ; WX 850 ; N aacute ; B 55 0 790 846 ; +C 226 ; WX 850 ; N acircumflex ; B 55 0 790 846 ; +C 227 ; WX 850 ; N atilde ; B 55 0 790 706 ; +C 228 ; WX 850 ; N adieresis ; B 55 0 790 824 ; +C 229 ; WX 850 ; N aring ; B 55 0 790 857 ; +C 230 ; WX 1015 ; N ae ; B 55 0 960 612 ; +C 231 ; WX 714 ; N ccedilla ; B 54 -281 659 615 ; +C 232 ; WX 714 ; N egrave ; B 54 -1 659 905 ; +C 233 ; WX 714 ; N eacute ; B 54 -1 659 905 ; +C 234 ; WX 714 ; N ecircumflex ; B 54 -1 659 905 ; +C 235 ; WX 714 ; N edieresis ; B 54 -1 659 883 ; +C 236 ; WX 405 ; N igrave ; B 55 -202 394 905 ; +C 237 ; WX 405 ; N iacute ; B 55 -202 394 905 ; +C 238 ; WX 405 ; N icircumflex ; B 55 -202 477 905 ; +C 239 ; WX 405 ; N idieresis ; B 19 -202 522 883 ; +C 240 ; WX 915 ; N eth ; B 55 0 861 944 ; +C 241 ; WX 987 ; N ntilde ; B 55 -202 929 765 ; +C 242 ; WX 814 ; N ograve ; B 55 -22 758 927 ; +C 243 ; WX 814 ; N oacute ; B 55 -22 758 927 ; +C 244 ; WX 814 ; N ocircumflex ; B 55 -22 758 927 ; +C 245 ; WX 814 ; N otilde ; B 55 -22 758 787 ; +C 246 ; WX 814 ; N odieresis ; B 55 -22 758 905 ; +C 247 ; WX 1180 ; N oe ; B 54 -42 1125 645 ; +C 248 ; WX 814 ; N oslash ; B 42 -22 772 625 ; +C 249 ; WX 1051 ; N ugrave ; B 56 -2 994 905 ; +C 250 ; WX 1051 ; N uacute ; B 56 -2 994 905 ; +C 251 ; WX 1051 ; N ucircumflex ; B 56 -2 994 905 ; +C 252 ; WX 1051 ; N udieresis ; B 56 -2 994 883 ; +C 253 ; WX 915 ; N yacute ; B 55 -402 860 905 ; +C 254 ; WX 814 ; N thorn ; B 55 -452 759 604 ; +C 255 ; WX 850 ; N germandbls ; B 55 -403 795 804 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/auncial-new/auncl10.pfb b/fonts/auncial-new/auncl10.pfb Binary files differnew file mode 100644 index 0000000000..890e9f193f --- /dev/null +++ b/fonts/auncial-new/auncl10.pfb diff --git a/fonts/auncial-new/auncl10.tfm b/fonts/auncial-new/auncl10.tfm Binary files differnew file mode 100644 index 0000000000..bbc60305d2 --- /dev/null +++ b/fonts/auncial-new/auncl10.tfm diff --git a/fonts/auncial-new/aunclb10.afm b/fonts/auncial-new/aunclb10.afm new file mode 100644 index 0000000000..7aa644c30f --- /dev/null +++ b/fonts/auncial-new/aunclb10.afm @@ -0,0 +1,276 @@ +StartFontMetrics 2.0 +Comment Generated by pfaedit +Comment Creation Date: Sun Nov 27 18:05:31 2005 +FontName Bookhands-Artificial-Uncial-Bold +FullName Bookhands Artificial Uncial Bold +FamilyName Bookhands +Weight Bold +Notice (Generated from MetaFont bitmap by mftrace 1.1.5, http://www.cs.uu.nl/~hanwen/mftrace/ Copyright 2005 Peter R. wilson) +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 001.001 +EncodingScheme TeXB1 +FontBBox -60 -504 2363 1436 +CapHeight 755 +XHeight 603 +Ascender 805 +Descender -401 +StartCharMetrics 254 +C 0 ; WX 0 ; N .notdef ; B 0 0 0 0 ; +C 1 ; WX 702 ; N acute ; B 287 521 638 805 ; +C 2 ; WX 702 ; N circumflex ; B 56 521 646 805 ; +C 3 ; WX 1276 ; N tilde ; B 329 575 948 696 ; +C 4 ; WX 1276 ; N dieresis ; B 280 404 996 697 ; +C 5 ; WX 1276 ; N hungarumlaut ; B 355 444 921 827 ; +C 6 ; WX 702 ; N ring ; B 126 422 577 806 ; +C 7 ; WX 702 ; N caron ; B 55 521 646 806 ; +C 8 ; WX 702 ; N breve ; B 55 521 648 805 ; +C 9 ; WX 1276 ; N macron ; B 413 613 863 659 ; +C 11 ; WX 331 ; N cedilla ; B 68 -381 394 22 ; +C 12 ; WX 331 ; N ogonek ; B -60 -361 306 22 ; +C 14 ; WX 534 ; N guilsinglleft ; B 8 52 526 549 ; +C 15 ; WX 534 ; N guilsinglright ; B 8 54 526 551 ; +C 16 ; WX 1369 ; N quotedblleft ; B 63 314 1024 826 ; +C 17 ; WX 1369 ; N quotedblright ; B 345 314 1306 825 ; +C 18 ; WX 1369 ; N quotedblbase ; B 345 -189 1307 323 ; +C 19 ; WX 940 ; N guillemotleft ; B 8 52 932 549 ; +C 20 ; WX 940 ; N guillemotright ; B 8 54 932 551 ; +C 21 ; WX 787 ; N endash ; B 13 202 756 411 ; +C 22 ; WX 1511 ; N emdash ; B 12 120 1480 502 ; +C 23 ; WX 702 ; N grave ; B 63 521 415 805 ; +C 24 ; WX 702 ; N dotaccent ; B 204 489 498 781 ; +C 25 ; WX 632 ; N dotlessi ; B 63 -201 483 606 ; +C 26 ; WX 632 ; N dotlessj ; B 63 -402 484 606 ; +C 27 ; WX 1638 ; N ff ; B 63 -402 1574 605 ; L l ffl ; L i ffi ; +C 28 ; WX 1420 ; N fi ; B 64 -402 1354 606 ; +C 29 ; WX 1638 ; N fl ; B 63 -402 1575 605 ; +C 30 ; WX 2207 ; N ffi ; B 64 -402 2141 605 ; +C 31 ; WX 2426 ; N ffl ; B 64 -402 2363 605 ; +C 32 ; WX 0 ; N space ; B 0 0 0 0 ; +C 33 ; WX 399 ; N exclam ; B 42 -20 309 805 ; +C 34 ; WX 1369 ; N quotedbl ; B 345 314 1306 825 ; +C 35 ; WX 1752 ; N numbersign ; B 64 -196 1688 799 ; +C 36 ; WX 1032 ; N dollar ; B 63 -223 969 976 ; +C 37 ; WX 851 ; N percent ; B 63 -22 787 827 ; +C 38 ; WX 1394 ; N ampersand ; B 61 -202 1442 622 ; +C 39 ; WX 917 ; N quoteright ; B 345 113 854 624 ; +C 40 ; WX 638 ; N parenleft ; B 63 -425 663 1028 ; +C 41 ; WX 638 ; N parenright ; B -25 -424 575 1028 ; +C 42 ; WX 761 ; N asterisk ; B 50 328 711 1005 ; +C 43 ; WX 1211 ; N plus ; B 64 -170 1147 848 ; +C 44 ; WX 917 ; N comma ; B 344 -188 855 323 ; +C 45 ; WX 643 ; N hyphen ; B 12 217 612 393 ; +C 46 ; WX 353 ; N period ; B 62 187 291 416 ; +C 47 ; WX 761 ; N slash ; B 7 -424 753 1028 ; +C 48 ; WX 851 ; N zero ; B 62 -23 788 702 ; +C 49 ; WX 851 ; N one ; B 216 -201 636 708 ; +C 50 ; WX 851 ; N two ; B 62 -168 788 700 ; +C 51 ; WX 851 ; N three ; B 63 -40 788 718 ; +C 52 ; WX 851 ; N four ; B 64 -1 897 706 ; +C 53 ; WX 851 ; N five ; B 62 0 789 680 ; +C 54 ; WX 851 ; N six ; B 64 0 789 680 ; +C 55 ; WX 851 ; N seven ; B 44 -2 787 680 ; +C 56 ; WX 851 ; N eight ; B 63 -23 789 700 ; +C 57 ; WX 851 ; N nine ; B 62 0 788 678 ; +C 58 ; WX 353 ; N colon ; B 62 87 291 516 ; +C 59 ; WX 917 ; N semicolon ; B 345 -289 855 515 ; +C 60 ; WX 1211 ; N less ; B 64 -22 1147 701 ; +C 61 ; WX 1211 ; N equal ; B 64 202 1147 476 ; +C 62 ; WX 1211 ; N greater ; B 64 -23 1147 700 ; +C 63 ; WX 851 ; N question ; B 44 -105 788 805 ; +C 64 ; WX 1447 ; N at ; B 63 -228 1378 735 ; +C 65 ; WX 1324 ; N A ; B 63 0 1246 710 ; +C 66 ; WX 1324 ; N B ; B 65 -14 1262 755 ; +C 67 ; WX 1032 ; N C ; B 62 0 969 766 ; +C 68 ; WX 1333 ; N D ; B 63 0 1270 1081 ; +C 69 ; WX 1032 ; N E ; B 63 -1 969 765 ; +C 70 ; WX 1032 ; N F ; B 64 -452 968 755 ; +C 71 ; WX 1032 ; N G ; B 63 -504 969 764 ; +C 72 ; WX 1324 ; N H ; B 65 -1 1260 1006 ; +C 73 ; WX 632 ; N I ; B 63 -201 484 756 ; L J IJ ; +C 74 ; WX 632 ; N J ; B 64 -453 484 756 ; +C 75 ; WX 1333 ; N K ; B 63 -201 1353 1007 ; +C 76 ; WX 1032 ; N L ; B 65 -196 969 1006 ; +C 77 ; WX 1936 ; N M ; B 63 -2 1872 755 ; +C 78 ; WX 1617 ; N N ; B 64 -201 1552 755 ; +C 79 ; WX 1183 ; N O ; B 64 -22 1119 777 ; +C 80 ; WX 1183 ; N P ; B 64 -452 1120 767 ; +C 81 ; WX 1183 ; N Q ; B 64 -452 1120 754 ; +C 82 ; WX 1333 ; N R ; B 64 -201 1269 762 ; +C 83 ; WX 1032 ; N S ; B 63 -1 969 755 ; +C 84 ; WX 1333 ; N T ; B 44 -1 1269 754 ; +C 85 ; WX 1626 ; N U ; B 63 -2 1561 769 ; +C 86 ; WX 1475 ; N V ; B 65 -1 1412 756 ; +C 87 ; WX 1936 ; N W ; B 64 -1 1873 769 ; +C 88 ; WX 1626 ; N X ; B 64 -252 1562 754 ; +C 89 ; WX 1333 ; N Y ; B 64 -503 1270 1061 ; +C 90 ; WX 1183 ; N Z ; B 44 -195 1121 755 ; +C 91 ; WX 457 ; N bracketleft ; B 62 -404 481 1007 ; +C 92 ; WX 761 ; N backslash ; B 8 -425 754 1027 ; +C 93 ; WX 457 ; N bracketright ; B -24 -404 395 1007 ; +C 94 ; WX 702 ; N asciicircum ; B 56 521 646 805 ; +C 95 ; WX 1211 ; N underscore ; B 64 -1 1147 57 ; +C 96 ; WX 917 ; N quoteleft ; B 63 314 572 826 ; +C 97 ; WX 1085 ; N a ; B 63 0 1016 579 ; +C 98 ; WX 1085 ; N b ; B 65 -5 1022 605 ; +C 99 ; WX 851 ; N c ; B 64 0 788 614 ; L t c_t ; +C 100 ; WX 1092 ; N d ; B 64 0 1028 854 ; +C 101 ; WX 851 ; N e ; B 62 0 788 613 ; L t e_t ; +C 102 ; WX 851 ; N f ; B 64 -402 787 605 ; L l fl ; L i fi ; L f ff ; +C 103 ; WX 851 ; N g ; B 64 -403 788 613 ; +C 104 ; WX 1085 ; N h ; B 65 -1 1022 805 ; +C 105 ; WX 632 ; N i ; B 63 -201 483 606 ; L j ij ; +C 106 ; WX 632 ; N j ; B 63 -402 484 606 ; +C 107 ; WX 1092 ; N k ; B 64 -202 1121 806 ; +C 108 ; WX 851 ; N l ; B 65 -195 788 806 ; +C 109 ; WX 1574 ; N m ; B 64 -2 1510 605 ; +C 110 ; WX 1319 ; N n ; B 64 -201 1253 605 ; +C 111 ; WX 972 ; N o ; B 64 -22 909 627 ; +C 112 ; WX 972 ; N p ; B 63 -402 909 611 ; +C 113 ; WX 972 ; N q ; B 64 -402 910 604 ; +C 114 ; WX 1092 ; N r ; B 64 -202 1028 606 ; +C 115 ; WX 851 ; N s ; B 62 0 788 604 ; +C 116 ; WX 1092 ; N t ; B 44 -1 1028 605 ; +C 117 ; WX 1326 ; N u ; B 64 -2 1261 625 ; +C 118 ; WX 1206 ; N v ; B 65 0 1144 606 ; +C 119 ; WX 1574 ; N w ; B 64 -1 1511 625 ; +C 120 ; WX 1326 ; N x ; B 64 -201 1263 603 ; +C 121 ; WX 1092 ; N y ; B 63 -401 1028 911 ; +C 122 ; WX 972 ; N z ; B 44 -195 910 604 ; +C 123 ; WX 729 ; N braceleft ; B 64 -403 697 1006 ; +C 124 ; WX 263 ; N bar ; B 75 -403 189 1006 ; +C 125 ; WX 729 ; N braceright ; B 32 -403 665 1006 ; +C 126 ; WX 1276 ; N asciitilde ; B 64 535 1213 737 ; +C 127 ; WX 643 ; N hyphen ; B 12 217 612 393 ; +C 128 ; WX 917 ; N quotesinglbase ; B 344 -188 855 323 ; +C 129 ; WX 1324 ; N Aogonek ; B 63 -249 1246 710 ; +C 130 ; WX 1032 ; N Cacute ; B 62 0 969 1099 ; +C 131 ; WX 1032 ; N Ccaron ; B 62 0 969 1100 ; +C 132 ; WX 1333 ; N Dcaron ; B 63 0 1270 1436 ; +C 133 ; WX 1032 ; N Ecaron ; B 63 -1 969 1184 ; +C 134 ; WX 1032 ; N Eogonek ; B 63 -361 969 766 ; +C 135 ; WX 1183 ; N paragraph ; B 64 -452 1120 754 ; +C 136 ; WX 1032 ; N Lacute ; B 65 -196 969 1435 ; +C 137 ; WX 1032 ; N Lcaron ; B 65 -196 969 1026 ; +C 138 ; WX 1032 ; N Lslash ; B -3 -195 969 1006 ; +C 139 ; WX 1617 ; N Nacute ; B 64 -201 1552 1183 ; +C 140 ; WX 1617 ; N Ncaron ; B 64 -201 1552 1184 ; +C 141 ; WX 1324 ; N Eng ; B 64 -280 1262 755 ; +C 142 ; WX 1183 ; N Ohungarumlaut ; B 64 -22 1119 1305 ; +C 143 ; WX 1333 ; N Racute ; B 64 -201 1269 1183 ; +C 144 ; WX 1333 ; N Rcaron ; B 64 -201 1269 1184 ; +C 145 ; WX 1032 ; N Sacute ; B 63 -1 969 1183 ; +C 146 ; WX 1032 ; N Scaron ; B 63 -1 969 1184 ; +C 147 ; WX 1943 ; N slong_t ; B 63 -1 1879 605 ; +C 148 ; WX 1333 ; N Tcaron ; B 44 -1 1269 1184 ; +C 149 ; WX 1092 ; N r.half ; B 64 -202 1028 606 ; +C 150 ; WX 1626 ; N Uhungarumlaut ; B 63 -2 1561 1283 ; +C 151 ; WX 1626 ; N Uring ; B 63 -2 1561 1283 ; +C 152 ; WX 1333 ; N Ydieresis ; B 64 -503 1270 1153 ; +C 153 ; WX 1183 ; N Zacute ; B 44 -195 1121 1183 ; +C 154 ; WX 1183 ; N Zcaron ; B 44 -195 1121 1184 ; +C 155 ; WX 1183 ; N Zdot ; B 44 -195 1121 1237 ; +C 156 ; WX 1137 ; N IJ ; B 63 -453 905 756 ; +C 157 ; WX 632 ; N Idot ; B 63 -201 517 1237 ; +C 158 ; WX 1092 ; N dcroat ; B 64 0 1028 960 ; +C 159 ; WX 972 ; N section ; B 62 -307 911 910 ; +C 160 ; WX 851 ; N slong ; B 62 0 788 604 ; L t slong_t ; +C 161 ; WX 1085 ; N aogonek ; B 63 -239 1016 579 ; +C 162 ; WX 851 ; N cacute ; B 64 0 788 949 ; +C 163 ; WX 851 ; N ccaron ; B 64 0 788 950 ; +C 164 ; WX 1092 ; N dcaron ; B 64 0 1028 1235 ; +C 165 ; WX 851 ; N ecaron ; B 62 0 788 1034 ; +C 166 ; WX 851 ; N eogonek ; B 64 -362 788 613 ; +C 167 ; WX 1943 ; N e_t ; B 64 -1 1879 614 ; +C 168 ; WX 851 ; N lacute ; B 65 -195 788 1234 ; +C 169 ; WX 851 ; N lcaron ; B 65 -195 884 825 ; +C 170 ; WX 851 ; N lslash ; B -3 -195 788 805 ; +C 171 ; WX 1319 ; N nacute ; B 64 -201 1253 1033 ; +C 172 ; WX 1319 ; N ncaron ; B 64 -201 1253 1034 ; +C 173 ; WX 1085 ; N eng ; B 64 -230 1023 604 ; +C 174 ; WX 972 ; N ohungarumlaut ; B 64 -22 909 1155 ; +C 175 ; WX 1092 ; N racute ; B 64 -202 1028 1033 ; +C 176 ; WX 1092 ; N rcaron ; B 64 -202 1028 1034 ; +C 177 ; WX 851 ; N sacute ; B 62 0 788 1033 ; +C 178 ; WX 851 ; N scaron ; B 62 0 788 1034 ; +C 179 ; WX 1943 ; N s_t ; B 63 -1 1879 605 ; +C 180 ; WX 1092 ; N tcaron ; B 44 -1 1028 1034 ; +C 181 ; WX 1943 ; N c_t ; B 63 -1 1879 614 ; +C 182 ; WX 1326 ; N uhungarumlaut ; B 64 -2 1261 1133 ; +C 183 ; WX 1326 ; N uring ; B 64 -2 1261 1133 ; +C 184 ; WX 1092 ; N ydieresis ; B 63 -401 1057 1003 ; +C 185 ; WX 972 ; N zacute ; B 44 -195 910 1033 ; +C 186 ; WX 972 ; N zcaron ; B 44 -195 910 1034 ; +C 187 ; WX 972 ; N zdot ; B 44 -195 910 1087 ; +C 188 ; WX 1137 ; N ij ; B 63 -403 905 606 ; +C 189 ; WX 399 ; N exclamdown ; B 42 -1 309 823 ; +C 190 ; WX 851 ; N questiondown ; B 63 -1 807 909 ; +C 191 ; WX 1032 ; N sterling ; B 64 -195 1047 1050 ; +C 192 ; WX 1324 ; N Agrave ; B 63 0 1246 1099 ; +C 193 ; WX 1324 ; N Aacute ; B 63 0 1246 1099 ; +C 194 ; WX 1324 ; N Acircumflex ; B 63 0 1246 1099 ; +C 195 ; WX 1324 ; N Atilde ; B 63 0 1246 899 ; +C 196 ; WX 1324 ; N Adieresis ; B 63 0 1246 1068 ; +C 197 ; WX 1324 ; N Aring ; B 63 0 1246 1114 ; +C 198 ; WX 1710 ; N AE ; B 63 0 1647 770 ; +C 199 ; WX 1032 ; N Ccedilla ; B 62 -412 969 766 ; +C 200 ; WX 1032 ; N Egrave ; B 63 -1 969 1184 ; +C 201 ; WX 1032 ; N Eacute ; B 63 -1 969 1183 ; +C 202 ; WX 1032 ; N Ecircumflex ; B 63 -1 969 1184 ; +C 203 ; WX 1032 ; N Edieresis ; B 63 -1 969 1153 ; +C 204 ; WX 632 ; N Igrave ; B 63 -201 546 1184 ; +C 205 ; WX 632 ; N Iacute ; B 63 -201 546 1183 ; +C 206 ; WX 632 ; N Icircumflex ; B 63 -201 665 1184 ; +C 207 ; WX 632 ; N Idieresis ; B 12 -201 728 1153 ; +C 208 ; WX 1333 ; N Eth ; B 64 0 1270 1186 ; +C 209 ; WX 1617 ; N Ntilde ; B 64 -201 1552 984 ; +C 210 ; WX 1183 ; N Ograve ; B 64 -22 1119 1206 ; +C 211 ; WX 1183 ; N Oacute ; B 64 -22 1119 1205 ; +C 212 ; WX 1183 ; N Ocircumflex ; B 64 -22 1119 1206 ; +C 213 ; WX 1183 ; N Otilde ; B 64 -22 1119 1006 ; +C 214 ; WX 1183 ; N Odieresis ; B 64 -22 1119 1176 ; +C 215 ; WX 1644 ; N OE ; B 63 -51 1581 802 ; +C 216 ; WX 1183 ; N Oslash ; B 44 -22 1138 776 ; +C 217 ; WX 1626 ; N Ugrave ; B 63 -2 1561 1184 ; +C 218 ; WX 1626 ; N Uacute ; B 63 -2 1561 1183 ; +C 219 ; WX 1626 ; N Ucircumflex ; B 63 -2 1561 1184 ; +C 220 ; WX 1626 ; N Udieresis ; B 63 -2 1561 1153 ; +C 221 ; WX 1333 ; N Yacute ; B 64 -503 1270 1183 ; +C 222 ; WX 1183 ; N Thorn ; B 63 -452 1119 754 ; +C 223 ; WX 1774 ; N Germandbls ; B 63 -2 1711 755 ; +C 224 ; WX 1085 ; N agrave ; B 63 0 1016 949 ; +C 225 ; WX 1085 ; N aacute ; B 63 0 1016 949 ; +C 226 ; WX 1085 ; N acircumflex ; B 63 0 1016 949 ; +C 227 ; WX 1085 ; N atilde ; B 63 0 1016 749 ; +C 228 ; WX 1085 ; N adieresis ; B 63 0 1016 918 ; +C 229 ; WX 1085 ; N aring ; B 63 0 1016 964 ; +C 230 ; WX 1213 ; N ae ; B 64 0 1150 613 ; +C 231 ; WX 851 ; N ccedilla ; B 64 -401 788 614 ; +C 232 ; WX 851 ; N egrave ; B 62 0 788 1034 ; +C 233 ; WX 851 ; N eacute ; B 62 0 788 1033 ; +C 234 ; WX 851 ; N ecircumflex ; B 62 0 788 1034 ; +C 235 ; WX 851 ; N edieresis ; B 62 0 788 1003 ; +C 236 ; WX 632 ; N igrave ; B 63 -201 546 1034 ; +C 237 ; WX 632 ; N iacute ; B 63 -201 546 1033 ; +C 238 ; WX 632 ; N icircumflex ; B 63 -201 665 1034 ; +C 239 ; WX 632 ; N idieresis ; B 12 -201 728 1003 ; +C 240 ; WX 1092 ; N eth ; B 64 0 1028 960 ; +C 241 ; WX 1319 ; N ntilde ; B 64 -201 1253 834 ; +C 242 ; WX 972 ; N ograve ; B 64 -22 909 1056 ; +C 243 ; WX 972 ; N oacute ; B 64 -22 909 1055 ; +C 244 ; WX 972 ; N ocircumflex ; B 64 -22 909 1056 ; +C 245 ; WX 972 ; N otilde ; B 64 -22 909 855 ; +C 246 ; WX 972 ; N odieresis ; B 64 -22 909 1026 ; +C 247 ; WX 1341 ; N oe ; B 63 -50 1278 654 ; +C 248 ; WX 972 ; N oslash ; B 44 -23 928 626 ; +C 249 ; WX 1326 ; N ugrave ; B 64 -2 1261 1034 ; +C 250 ; WX 1326 ; N uacute ; B 64 -2 1261 1033 ; +C 251 ; WX 1326 ; N ucircumflex ; B 64 -2 1261 1034 ; +C 252 ; WX 1326 ; N udieresis ; B 64 -2 1261 1003 ; +C 253 ; WX 1092 ; N yacute ; B 63 -401 1028 1033 ; +C 254 ; WX 972 ; N thorn ; B 64 -452 908 604 ; +C 255 ; WX 1085 ; N germandbls ; B 64 -402 1022 805 ; +EndCharMetrics +EndFontMetrics diff --git a/fonts/auncial-new/aunclb10.pfb b/fonts/auncial-new/aunclb10.pfb Binary files differnew file mode 100644 index 0000000000..79a1e77f8e --- /dev/null +++ b/fonts/auncial-new/aunclb10.pfb diff --git a/fonts/auncial-new/aunclb10.tfm b/fonts/auncial-new/aunclb10.tfm Binary files differnew file mode 100644 index 0000000000..ae43add608 --- /dev/null +++ b/fonts/auncial-new/aunclb10.tfm diff --git a/fonts/auncial-new/aunclmfb.dtx b/fonts/auncial-new/aunclmfb.dtx new file mode 100644 index 0000000000..accaf9f9b5 --- /dev/null +++ b/fonts/auncial-new/aunclmfb.dtx @@ -0,0 +1,640 @@ +% \iffalse meta-comment +% +% aunclmfb.dtx +% +% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +% Copyright 1999--2005 Peter R. Wilson +% +% This work may be distributed and/or modified under the +% conditions of the Latex Project Public License, either +% version 1.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/06/01 or later. +% +% This work has the LPPL maintenance status "author-maintained". +% +% This work consists of the files listed in the README file. +% +% If you do not have the docmfp package (available from CTAN in +% tex-archive/macros/latex/contrib/supported), comment out the +% \usepackage{docmfp} line below and uncomment the line following it. +% +%<*driver> +\documentclass[twoside]{ltxdoc} +\usepackage{docmfp} +%%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{} +\usepackage{url} +\usepackage[draft=false, + plainpages=false, + pdfpagelabels, + bookmarksnumbered, + hyperindex=false + ]{hyperref} +\providecommand{\phantomsection}{} +\OnlyDescription %% comment this out for the full glory +\EnableCrossrefs +\CodelineIndex +\setcounter{StandardModuleDepth}{1} +\makeatletter + \@mparswitchfalse +\makeatother +\renewcommand{\MakeUppercase}[1]{#1} +\pagestyle{headings} +\newenvironment{addtomargins}[1]{% + \begin{list}{}{% + \topsep 0pt% + \addtolength{\leftmargin}{#1}% + \addtolength{\rightmargin}{#1}% + \listparindent \parindent + \itemindent \parindent + \parsep \parskip}% + \item[]}{\end{list}} +\begin{document} + \raggedbottom + \DocInput{aunclmfb.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{132} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{1999/05/22}{First public release} +% +% \def\fileversion{v1.0} \def\filedate{1999/05/22} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% \newcommand*{\AD}{\textsc{ad}} +% \newcommand*{\thisfont}{Artificial Uncial} +% +% \title{\Lpack{Artificial Uncial}: MetaFont base code\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\footnote{\texttt{herries dot press at earthlink dot net}}\\ +% Herries Press } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{auncial} bundle provides a PostScript Type1 set of +% \thisfont{} bookhands +% as used +% for manuscripts in the 6th to the 10th century. This is one in a series +% of manuscript fonts. +% +% This document contains the MetaFont base code. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The \Lpack{auncial} bundle provides a PostScript Type1 version of a +% Metafont~\cite{METAFONT} rendition +% of the \thisfont{} manuscript book-hand that was in use between about the +% sixth and tenth centuries~\AD. It is part of a project to provide fonts +% covering the major manuscript hands between the first century~\AD{} and +% the invention of printing. + +% this document contains the MetaFont base code for the font. +% +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% The \Lpack{docmfp} package is used for documenting the MetaFont portions +% of the distribution~\cite{DOCMFP}. +% +% +% \section{The Metafont code} \label{sec:mf} +% +% +% As previously noted, this work is part of a larger project to provide +% fonts covering the main manuscript book-hands. As such, one of the +% aims is to produce a coordinated set of fonts, especially as multiple +% hands might be used in a single document. +% +% Noting that the hands tend to be somewhat larger than the typical 10pt +% size (where the x-height is approximately 1.5mm) used for modern books, +% I have also designed the fonts +% at a larger than normal size, then applied some non-linear factors when reducing +% them down to a 10pt size. +% Further, I have used the height of the Carolingian minuscule as a +% normalising factor when deciding on the absolute height of any particular +% script. The x-height of the Carolingian font is made equal to the +% x-height of the Computer Modern Roman (CMR) font. +% +% Modern fonts are effectively drawn. That is, the outline of the letter is +% drawn carefully and the center is filled with ink. This is shown to good +% effect in the Metafont code for the Computer Modern fonts~\cite{CM}. +% In contrast, the manuscript letters were inked by single pen strokes in +% a calligraphic manner. I have tried to repeat this calligraphic style +% in the Metafont code. +% +% As much as possible I have tried to use parameter values from the +% Computer Modern Roman (CMR) fonts in order to reduce possible +% infelicities if the CM and manuscript fonts are used together. However, +% few of the CMR parameters are applicable to the calligraphic style. +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \renewcommand{\refname}{Bibliography} +% \begin{thebibliography}{GMS94} +% \addcontentsline{toc}{section}{\refname} +% +% \bibitem[And69]{ANDERSON69} +% Donald M.~Anderson. +% \newblock \emph{The Art of Written Forms: The Theory and Practice of Calligraphy}. +% \newblock Holt, Rinehart and Winston, 1969. +% +% \bibitem[Bol95]{BOLOGNA95} +% Giulia Bologna. +% \newblock \emph{Illuminated Manuscripts: The Book before Gutenberg}. +% \newblock Crescent Books, 1995. +% +% \bibitem[Day95]{DAY95} +% Lewis F.~Day. +% \newblock \emph{Alphabets Old \& New}. +% \newblock (3rd edition originally published by B.~T.~Batsford, 1910) +% \newblock Senate, 1995. +% +% \bibitem[Dro80]{DROGIN80} +% Marc Drogin. +% \newblock \emph{Medieval Calligraphy: Its History and Technique}. +% \newblock Allenheld, Osmun \& Co., 1980. +% +% \bibitem[Dru95]{DRUCKER95} +% Johanna Drucker. +% \newblock \emph{The Alphabetic Labyrinth}. +% \newblock Thames \& Hudson, 1995. +% +% \bibitem[Fir93]{FIRMAGE93} +% Richard A.~Firmage. +% \newblock \emph{The Alphabet Abecedarium}. +% \newblock David R~Goodine, 1993. +% +% \bibitem[Fli98]{LETTRINE} +% Daniel Flipo. +% \newblock \emph{The LETTRINE package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1998. +% +% \bibitem[Har95]{HARRIS95} +% David Harris. +% \newblock \emph{The Art of Calligraphy}. +% \newblock DK Publishing, 1995. +% +% \bibitem[Jen95]{BETON} +% Frank Jensen. +% \newblock \emph{The BETON package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1995. +% +% \bibitem[Joh71]{JOHNSTON75} +% Edward Johnston (ed. Heather Child). +% \newblock \emph{Formal Penship and Other Papers}. +% \newblock Penthalic, 1971. +% +% \bibitem[Knu87]{CM} +% Donald E.~Knuth. +% \newblock \emph{Computer Modern Typefaces}. +% \newblock Addison-Wesley, 1987. +% +% \bibitem[Knu92]{METAFONT} +% Donald E.~Knuth. +% \newblock \emph{The METAFONTbook}. +% \newblock Addison-Wesley, 1992. +% +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Tho75]{THOMAS75} +% Alan G.~Thomas. +% \newblock \emph{Great Books and Book Collectors}. +% \newblock Weidenfield and Nichoson, 1975. +% +% \bibitem[Wil99]{DOCMFP} +% Peter R.~Wilson. +% \newblock \emph{The DOCMFP Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \bibitem[Wil99b]{ROMANNUM} +% Peter R.~Wilson. +% \newblock \emph{The ROMANNUM Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \end{thebibliography} +% \PrintIndex +% } +% +% +% \section{The base parameter file} +% +% We deal with the parameter files first, and start by announcing +% what they are for. The \thisfont{} font comes in three sizes and also as a normal +% and a bold font. +% \begin{macrocode} +%<*base7|base10|base17|base7b|base10b|base17b> +%<base7>%%% AUNCL7.MF Artificial Uncial at 7 point design size. +%<base10>%%% AUNCL10.MF Artificial Uncial at 10 point design size. +%<base17>%%% AUNCL17.MF Artificial Uncial at 17 point design size. +%<base7b>%%% AUNCLB7.MF Artificial Uncial Bold at 7 point design size. +%<base10b>%%% AUNCLB10.MF Artificial Uncial Bold at 10 point design size. +%<base17b>%%% AUNCLB17.MF Artificial Uncial Bold at 17 point design size. +% +% \end{macrocode} +% Parameters from CMR are used as much as possible. We also +% make sure that \Lpack{cmbase} is loaded as well as plain Metafont. +% \begin{macrocode} +if unknown cmbase: input cmbase fi + +%<base7>font_identifier:="AUNCL"; font_size 7pt#; +%<base10>font_identifier:="AUNCL"; font_size 10pt#; +%<base17>font_identifier:="AUNCL"; font_size 17.28pt#; +%<base7b>font_identifier:="AUNCLB"; font_size 7pt#; +%<base10b>font_identifier:="AUNCLB"; font_size 10pt#; +%<base17b>font_identifier:="AUNCLB"; font_size 17.28pt#; + +% \end{macrocode} +% +% \DescribeVariable{jutstretch} +% The CMR scaling for lowercase serifs wrt 17pt size. +% \begin{macrocode} +%<base7|base7b> jutstretch:=1.19; +%<base10|base10b> jutstretch:=1.152; +%<base17|base17b> jutstretch:=1.0; +% \end{macrocode} +% +% \DescribeVariable{stemstretch} +% The CMR scaling for lowercase stem widths wrt 17pt size. +% \begin{macrocode} +%<base7|base7b> stemstretch:=1.50; +%<base10|base10b> stemstretch:=1.31; +%<base17|base17b> stemstretch:=1.0; +% \end{macrocode} +% +% \DescribeVariable{caprat} +% The scaling for `capitals' wrt `lowercase'. This is pretty much a guess. +% \begin{macrocode} + caprat:=1.25; % ratio of capital height to minuscule height +% \end{macrocode} +% +% \DescribeVariable{cap_jutstretch} +% The CMR scaling for uppercase serifs wrt 17pt size. +% \begin{macrocode} +%<base7|base7b> cap_jutstretch:=1.3; +%<base10|base10b> cap_jutstretch:=1.2; +%<base17|base17b> cap_jutstretch:=1.0; +% \end{macrocode} +% +% \DescribeVariable{cap_stemstretch} +% The CMR scaling for uppercase stem width wrt 17pt size. +% \begin{macrocode} +%<base7|base7b> cap_stemstretch:=1.45; +%<base10|base10b> cap_stemstretch:=1.31; +%<base17|base17b> cap_stemstretch:=1.0; +% \end{macrocode} +% +% \DescribeVariable{bfudge} +% Letter width scaling for bold font wrt normal font. +% \begin{macrocode} +%<base7|base10|base17> bfudge:=1.0; +%<base7b|base10b|base17b> bfudge:=1.2; +% \end{macrocode} +% +% \DescribeVariable{szfudge} +% Width scaling wrt 17pt letter width. +% \begin{macrocode} +%<base7|base7b> szfudge:=1.18; +%<base10|base10b> szfudge:=1.0; +%<base17|base17b> szfudge:=1.0; +% \end{macrocode} +% +% \DescribeVariable{hstretch} +% Horizontal stretching factor wrt 17pt size letter width. +% \begin{macrocode} + hstretch:=szfudge*bfudge; +% \end{macrocode} +% +% \DescribeVariable{carol_height} +% The x-height of the Carolingian minuscule font. +% \begin{macrocode} +%<base7|base7b> carol_height#:=108.5/36pt#; +%<base10|base10b> carol_height#:=155/36pt#; +%<base17|base17b> carol_height#:=268/36pt#; +% \end{macrocode} +% +% \DescribeVariable{vstretch} +% The height of this font wrt the Carolingian font. +% \begin{macrocode} + vstretch:=1.4; + +% \end{macrocode} +% +% \DescribeVariable{x_height} +% The x-height of lower case letters. Scaled from the Carolingian font. +% \begin{macrocode} + x_height#:=vstretch*carol_height#; +% \end{macrocode} +% +% \DescribeVariable{u} +% The unit width. The CMR values are used. +% \begin{macrocode} +%<base7> u#:=15.5/36pt#; +%<base10> u#:=20/36pt#; +%<base17> u#:=32.5/36pt#; +%<base7b> u#:=17.9/36pt#; +%<base10b> u#:=23/36pt#; +%<base17b> u#:=37/36pt#; +% \end{macrocode} +% +% \DescribeVariable{width_adj} +% \DescribeVariable{serif_fit} +% \DescribeVariable{cap_serif_fit} +% \DescribeVariable{letter_fit} +% The majority of these parameters and values are constant. +% They are for fine adjustements of characters. The CM values are used. +% \begin{macrocode} + width_adj#:=0pt#; % width adjustment for certain characters + serif_fit#:=0pt#; % extra sidebar near lowercase serifs +%<base7|base7b> cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs +%<base10|base10b> cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs +%<base17|base17b> cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs +%<base7|base7b> letter_fit#:=0pt#; % extra space added to all sidebars +%<base10|base10b> letter_fit#:=0pt#; % extra space added to all sidebars +%<base17|base17b> letter_fit#:=-0.1pt#; % extra space added to all sidebars + +% \end{macrocode} +% +% \DescribeVariable{cap_height} +% The height of capital letters. +% \begin{macrocode} +%<base7|base7b> cap_height#:=172.2/36pt#; % height of caps +%<base10|base10b> cap_height#:=246/36pt#; % height of caps +%<base17|base17b> cap_height#:=425/36pt#; % height of caps +% \end{macrocode} +% +% \DescribeVariable{thickfudge} +% The reciprocal of the font height in nib widths. Normal font height +% is 5 nib widths and the bold font height is 3.5 nib widths. +% \begin{macrocode} +%<base7|base10|base17> thickfudge:=1/5; +%<base7b|base10b|base17b> thickfudge:=1/3.5; +% \end{macrocode} +% +% \DescribeVariable{thinfudge} +% The nib sharpness. +% \begin{macrocode} +thinfudge:=1/6; +% \end{macrocode} +% +% \DescribeVariable{thick} +% The maximum nib width. +% That is, the width of the thickest line that can be penned. +% \begin{macrocode} +thick#:=stemstretch*thickfudge*x_height#; % max pen breadth +% \end{macrocode} +% +% \DescribeVariable{thin} +% The nib thinness. +% That is, the width of the thinnest line that can be penned. +% \begin{macrocode} +thin#:=thinfudge*thick#; +% \end{macrocode} +% +% \DescribeVariable{pangle} +% The pen angle (in degrees). +% \begin{macrocode} +pangle:=10; % pen angle +% \end{macrocode} +% +% \DescribeVariable{asc_height} +% The height of lower case ascenders. +% \begin{macrocode} + asc_height#:=4/3x_height#; +% \end{macrocode} +% +% \DescribeVariable{desc_depth} +% The depth of lower case descenders. +% \begin{macrocode} + desc_depth#:=2/3x_height#; +% \end{macrocode} +% +% \DescribeVariable{fig_height} +% The height of numerals. Make these midway between normal and capital +% letters. +% \begin{macrocode} + fig_height#:=(0.5[1,caprat])*x_height#; +% \end{macrocode} +% +% \DescribeVariable{fig_width} +% The width of numerals. All numerals are the same width (roughly, an `o'). +% \begin{macrocode} + fig_width#:=hstretch*(x_height#); +% \end{macrocode} +% +% \DescribeVariable{body_height} +% The height of the tallest character. +% \begin{macrocode} + body_height#:=caprat*asc_height#; +% \end{macrocode} +% +% \DescribeVariable{body_depth} +% The depth of the lowest character. +% \begin{macrocode} + body_depth#:=caprat*desc_depth#; +% \end{macrocode} +% +% \DescribeVariable{half_height} +% Half the normal letter height. +% \begin{macrocode} + half_height#:=1/2x_height#; % half the height of x height letters + +% \end{macrocode} +% +% \DescribeVariable{side} +% We might be using a square for the character design. +% \begin{macrocode} +side#:=x_height#; +% \end{macrocode} +% +% \DescribeVariable{rule_thickness} +% Thickness of rules (in math symbols). The CMR values are used. +% \begin{macrocode} +%<base7|base7b> rule_thickness#:=.34pt#; +%<base10|base10b> rule_thickness#:=.4pt#; +%<base17|base17b> rule_thickness#:=.6pt#; + +% \end{macrocode} +% +% \DescribeVariable{jutfudge} +% Controls the protrusion of serifs. +% \begin{macrocode} +jutfudge:= 3/4; +% \end{macrocode} +% +% \DescribeVariable{jut} +% The lowercase serif protrusion. +% \begin{macrocode} +jut#:=jutstretch*jutfudge*thick#; +% \end{macrocode} +% +% \DescribeVariable{srad} +% |srad| with |0 < srad < 1| controls the serif radius. +% \begin{macrocode} +srad:=0.5; +% \end{macrocode} +% +% \DescribeVariable{o} +% Amount of overshoot for curves (as in an `o'). Use CMR values. +% \begin{macrocode} +%<base7|base7b> o#:=5/36pt#; +%<base10|base10b> o#:=8/36pt#; +%<base17|base17b> o#:=10/36pt#; + +% \end{macrocode} +% +% \DescribeVariable{slant} +% |slant| is the amount the font slopes to the right. +% \begin{macrocode} +slant:=0; % tilt ratio $(\Delta x/\Delta y)$ + +% \end{macrocode} +% +% \DescribeVariable{monospace} +% We are generating a variable-width font. +% \begin{macrocode} +monospace:=false; % should all characters have the same width? + +% \end{macrocode} +% +% \DescribeVariable{dot_size} +% The size of (punctuation) dots. +% \begin{macrocode} +dot_size#:=5thin#; % size of dots +% \end{macrocode} +% +% \DescribeVariable{comma_width} +% The horizontal width of a comma. +% \begin{macrocode} +comma_width#:=2.5dot_size#; + +% \end{macrocode} +% +% \DescribeVariable{accent_ysize} +% \DescribeVariable{accent_thickness} +% |accent_ysize| is the height/depth of an accent and |accent_thickness| is +% the width of the pen for drawing accents. +% \begin{macrocode} +accent_ysize#:=3/2thick#; +accent_thickness#:=4/16[thin#,thick#]; +% \end{macrocode} +% +% \DescribeVariable{accent_gap} +% |accent_gap| is the space between the top of a character and the bottom +% of a (top) accent. +% \begin{macrocode} +accent_gap#:=1/2accent_ysize#; + +% \end{macrocode} +% +% +% +% \DescribeVariable{accent_angle} +% \DescribeVariable{sin_accent_angle} +% \DescribeVariable{cos_accent_angle} +% The angle that an accent makes with the horizontal, with its sin and cosine. +% \begin{macrocode} +accent_angle:=45; +sin_accent_angle:= sind(accent_angle); +cos_accent_angle:= cosd(accent_angle); + +% \end{macrocode} +% +% Finally, call the driver file for the font. +% \begin{macrocode} +generate auncltitle %% switch to the driver file + +% \end{macrocode} +% +% The end of this code section. +% \begin{macrocode} +%</base7|base10|base17|base7b|base10b|base17b> +% \end{macrocode} +% +% \Finale +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/fonts/auncial-new/aunclmfc.dtx b/fonts/auncial-new/aunclmfc.dtx new file mode 100644 index 0000000000..bda201adfe --- /dev/null +++ b/fonts/auncial-new/aunclmfc.dtx @@ -0,0 +1,4563 @@ +% \iffalse meta-comment +% +% aunclmfc.dtx +% +% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +% Copyright 1999--2005 Peter R. Wilson +% +% This work may be distributed and/or modified under the +% conditions of the Latex Project Public License, either +% version 1.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/06/01 or later. +% +% This work has the LPPL maintenance status "author-maintained". +% +% This work consists of the files listed in the README file. +% +% If you do not have the docmfp package (available from CTAN in +% tex-archive/macros/latex/contrib/supported), comment out the +% \usepackage{docmfp} line below and uncomment the line following it. +% +%<*driver> +\documentclass[twoside]{ltxdoc} +\usepackage{docmfp} +%%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{} +\usepackage{url} +\usepackage[draft=false, + plainpages=false, + pdfpagelabels, + bookmarksnumbered, + hyperindex=false + ]{hyperref} +\providecommand{\phantomsection}{} +\OnlyDescription %% comment this out for the full glory +\EnableCrossrefs +\CodelineIndex +\setcounter{StandardModuleDepth}{1} +\makeatletter + \@mparswitchfalse +\makeatother +\renewcommand{\MakeUppercase}[1]{#1} +\pagestyle{headings} +\newenvironment{addtomargins}[1]{% + \begin{list}{}{% + \topsep 0pt% + \addtolength{\leftmargin}{#1}% + \addtolength{\rightmargin}{#1}% + \listparindent \parindent + \itemindent \parindent + \parsep \parskip}% + \item[]}{\end{list}} +\begin{document} + \raggedbottom + \DocInput{aunclmfc.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{132} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{2005/11/27}{First public release} +% \changes{v1.0}{2005/11/27}{Major rewrite from auncial.dtx} +% +% \def\fileversion{v1.0} \def\filedate{2005/11/27} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% \newcommand*{\AD}{\textsc{ad}} +% \newcommand*{\thisfont}{Artificial Uncial} +% +% \title{\Lpack{Artificial Uncial}: MetaFont code for the characters\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\footnote{\texttt{herries dot press at earthlink dot net}}\\ +% Herries Press } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{auncial} bundle provides a PostScript Type1 set of +% \thisfont{} bookhands +% as used +% for manuscripts in the 6th to the 10th century. This is one in a series +% of manuscript fonts. This document contains the MetaFont code for the +% characters. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The \Lpack{auncial} bundle provides a PostScript Type1 version of a +% Metafont~\cite{METAFONT} rendition +% of the \thisfont{} manuscript book-hand that was in use between about the +% sixth and tenth centuries~\AD. It is part of a project to provide fonts +% covering the major manuscript hands between the first century~\AD{} and +% the invention of printing. +% +% The font is supplied in only the special bookhands B1 encoding. +% +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% The \Lpack{docmfp} package is used for documenting the Metafont portions +% of the distribution~\cite{DOCMFP}. +% +% +% +% \section{The Metafont code} \label{sec:mf} +% +% +% As previously noted, this work is part of a larger project to provide +% fonts covering the main manuscript book-hands. As such, one of the +% aims is to produce a coordinated set of fonts, especially as multiple +% hands might be used in a single document. +% +% Noting that the hands tend to be somewhat larger than the typical 10pt +% size (where the x-height is approximately 1.5mm) used for modern books, +% I have also designed the fonts +% at a larger than normal size, then applied some non-linear factors when reducing +% them down to a 10pt size. +% Further, I have used the height of the Carolingian minuscule as a +% normalising factor when deciding on the absolute height of any particular +% script. The x-height of the Carolingian font is made equal to the +% x-height of the Computer Modern Roman (CMR) font. +% +% Modern fonts are effectively drawn. That is, the outline of the letter is +% drawn carefully and the center is filled with ink. This is shown to good +% effect in the Metafont code for the Computer Modern fonts~\cite{CM}. +% In contrast, the manuscript letters were inked by single pen strokes in +% a calligraphic manner. I have tried to repeat this calligraphic style +% in the Metafont code. +% +% As much as possible I have tried to use parameter values from the +% Computer Modern Roman (CMR) fonts in order to reduce possible +% infelicities if the CM and manuscript fonts are used together. However, +% few of the CMR parameters are applicable to the calligraphic style. +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \renewcommand{\refname}{Bibliography} +% \begin{thebibliography}{GMS94} +% \addcontentsline{toc}{section}{\refname} +% +% \bibitem[And69]{ANDERSON69} +% Donald M.~Anderson. +% \newblock \emph{The Art of Written Forms: The Theory and Practice of Calligraphy}. +% \newblock Holt, Rinehart and Winston, 1969. +% +% \bibitem[Bol95]{BOLOGNA95} +% Giulia Bologna. +% \newblock \emph{Illuminated Manuscripts: The Book before Gutenberg}. +% \newblock Crescent Books, 1995. +% +% \bibitem[Day95]{DAY95} +% Lewis F.~Day. +% \newblock \emph{Alphabets Old \& New}. +% \newblock (3rd edition originally published by B.~T.~Batsford, 1910) +% \newblock Senate, 1995. +% +% \bibitem[Dro80]{DROGIN80} +% Marc Drogin. +% \newblock \emph{Medieval Calligraphy: Its History and Technique}. +% \newblock Allenheld, Osmun \& Co., 1980. +% +% \bibitem[Dru95]{DRUCKER95} +% Johanna Drucker. +% \newblock \emph{The Alphabetic Labyrinth}. +% \newblock Thames \& Hudson, 1995. +% +% \bibitem[Fir93]{FIRMAGE93} +% Richard A.~Firmage. +% \newblock \emph{The Alphabet Abecedarium}. +% \newblock David R~Goodine, 1993. +% +% \bibitem[Fli98]{LETTRINE} +% Daniel Flipo. +% \newblock \emph{The LETTRINE package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1998. +% +% \bibitem[Har95]{HARRIS95} +% David Harris. +% \newblock \emph{The Art of Calligraphy}. +% \newblock DK Publishing, 1995. +% +% \bibitem[Jen95]{BETON} +% Frank Jensen. +% \newblock \emph{The BETON package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1995. +% +% \bibitem[Joh71]{JOHNSTON75} +% Edward Johnston (ed. Heather Child). +% \newblock \emph{Formal Penship and Other Papers}. +% \newblock Penthalic, 1971. +% +% \bibitem[Knu87]{CM} +% Donald E.~Knuth. +% \newblock \emph{Computer Modern Typefaces}. +% \newblock Addison-Wesley, 1987. +% +% \bibitem[Knu92]{METAFONT} +% Donald E.~Knuth. +% \newblock \emph{The METAFONTbook}. +% \newblock Addison-Wesley, 1992. +% +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Tho75]{THOMAS75} +% Alan G.~Thomas. +% \newblock \emph{Great Books and Book Collectors}. +% \newblock Weidenfield and Nichoson, 1975. +% +% \bibitem[Wil99]{DOCMFP} +% Peter R.~Wilson. +% \newblock \emph{The DOCMFP Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \bibitem[Wil99b]{ROMANNUM} +% Peter R.~Wilson. +% \newblock \emph{The ROMANNUM Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \end{thebibliography} +% \PrintIndex +% } +% +% +% \section{The code for characters 0 through 31} +% +% The following code is for characters in slots below the ASCII set which +% starts in slot 32. +% +% \begin{macrocode} +%<*low> +%%%% AUNCLLOW.MF Program file for Artificial Uncial below-ASCII characters. + +% \end{macrocode} +% +% I'm leaving slots (o000/h00/d0), (o012,h0A,d10), and (o015/h0D/d13) empty. +% +% \begin{routine}{acute} +% The acute accent. (o001/h01/d1) +% \begin{macrocode} +cmchar "acute"; +beginchar(oct "001", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +rt x1=w-pcshiftx; top y1=h; +draw_acute(1); +penlabels(1); +endchar; % end "acute accent" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{circumflex} +% The circumflex accent. (o002/h02/d2) +% \begin{macrocode} +cmchar "circumflex"; +beginchar(oct "002", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; top y1catm=h; +draw_circumflex(1); +penlabels(1); +endchar; % end "circumflex accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{tilde} +% The tilde accent. (o003/h03/d3) +% \begin{macrocode} +cmchar "tilde"; +beginchar(oct "003", 2u#+hstretch*(4cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1=h-1/2accent_ysize; +draw_tildea(1); +penlabels(1); +endchar; % end "tilde accent" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{dieresis} +% The dieresis (double dot) accent. (o004/h04/d4) +% \begin{macrocode} +cmchar "dieresis"; +beginchar(oct "004", 2u#+hstretch*(4cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1ddab=h-accent_ysize; +draw_dieresis(1); +penlabels(1); +endchar; % end "double dot accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{hungarumlaut} +% The long umlaut accent. (o005/h05/d5) +% \begin{macrocode} +cmchar "hungarumlaut"; +beginchar(oct "005", 2u#+hstretch*(4cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1=h; +draw_lumlaut(1); +penlabels(1); +endchar; % end "long umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ring} +% The ring accent. (o006/h06/d6) +% \begin{macrocode} +cmchar "ring"; +beginchar(oct "006", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; top y1=h; +draw_ring(1); +penlabels(1); +endchar; % end "ring accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{caron} +% The caron/hachek accent. (o007/h07/d7) +% \begin{macrocode} +cmchar "caron"; +beginchar(oct "007", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; top y1hatl=h; +draw_hachek(1); +penlabels(1); +endchar; % end "hachek accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{breve} +% The breve accent. (o010/h08/d8) +% \begin{macrocode} +cmchar "breve"; +beginchar(oct "010", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; top y1batl=h; +draw_breve(1); +penlabels(1); +endchar; % end "breve accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{macron} +% The macron accent. (o011/h08/d9) +% \begin{macrocode} +cmchar "macron"; +beginchar(oct "011", 2u#+hstretch*(4cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1=h-1/2accent_ysize; +draw_macron(1); +penlabels(1); +endchar; % end "macron accent" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{cedilla} +% The cedilla. (o013/h0B/d11) +% \begin{macrocode} +cmchar "cedilla"; +beginchar(oct "013", 2u#+hstretch*(1/2accent_ysize#), 0, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1=0; +draw_cedilla(1); +penlabels(1); +endchar; % end "cedilla" + +% \end{macrocode} +% \end{routine} +% +% +% +% \begin{routine}{ogonek} +% The ogonek. (o014/h0C/d12) +% \begin{macrocode} +cmchar "ogonek"; +beginchar(oct "014", 2u#+hstretch*(1/2accent_ysize#), 0, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1=0; +draw_ogonek(1); +penlabels(1); +endchar; % end "ogonek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{guilsinglleft} +% The left guillemot. (o016/h0E/d14) +% \begin{macrocode} +cmchar "guilsinglleft"; +beginchar(oct "016", 2u#+hstretch*(accent_ysize#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=w-pcshiftx; y1lgqm=1/2h; +draw_leftguill(1, 3/4h, (w-2pcshiftx)); +penlabels(1); +endchar; % end "left guillemot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{guilsinglright} +% The right guillemot. (o017/h0F/d15) +% \begin{macrocode} +cmchar "guilsinglright"; +beginchar(oct "017", 2u#+hstretch*(accent_ysize#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=pcshiftx; y1rgqm=1/2h; +draw_rightguill(1, 3/4h, (w-2pcshiftx)); +penlabels(1); +endchar; % end "right guillemot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quotedblleft} +% The ```' ligature. (o020/h10/d16) +% \begin{macrocode} +cmchar "quotedblleft"; +beginchar(oct "020",2u#+hstretch*(comma_width#+3dot_size#),4/3x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=pcshiftx+(0.5hstretch*dot_size); y1=y2=h; +x2=x1+(2hstretch*dot_size); +draw_plq(1,dot_size,comma_width); % left +draw_plq(2,dot_size,comma_width); % right +penlabels(1,2); +endchar; % end of "``" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quotedblright} +% The `''' ligature. (o021/h11/d17) +% \begin{macrocode} +cmchar "quotedblright"; +beginchar(oct "021",2u#+hstretch*(comma_width#+3dot_size#),4/3x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=y2=h; +x2=x1-(2hstretch*dot_size); +draw_pcomma(1,dot_size,comma_width); % right +draw_pcomma(2,dot_size,comma_width); % left +penlabels(1,2); +endchar; % end of "''" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quotedblbase} +% The double quote at the baseline. (o022/h12/d18) +% \begin{macrocode} +cmchar "quotedblbase"; +beginchar(oct "022",2u#+hstretch*(comma_width#+3dot_size#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=y2=h/2; +x2=x1-(2hstretch*dot_size); +draw_pcomma(1,dot_size,comma_width); % right +draw_pcomma(2,dot_size,comma_width); % left +penlabels(1,2); +endchar; % end of "''" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{guillemotleft} +% The double left guillemot. (o023/h13/d19) +% \begin{macrocode} +cmchar "guillemotleft"; +beginchar(oct "023", 2u#+hstretch*(2accent_ysize#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=w-pcshiftx; y1lgqm=1/2h; +x2lgqm=pcshiftx; y2lgqm=y1lgqm; +draw_leftguill(1, 3/4h, (1/2w-pcshiftx)); +draw_leftguill(2, 3/4h, (1/2w-pcshiftx)); +penlabels(1,2); +endchar; % end "double left guillemot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{guillemotright} +% The double right guillemot. (o024/h14/d20) +% \begin{macrocode} +cmchar "guillemotright"; +beginchar(oct "024", 2u#+hstretch*(2accent_ysize#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=pcshiftx; y1rgqm=1/2h; +x2rgqm=w-pcshiftx; y2rgqm=y1rgqm; +draw_rightguill(1, 3/4h, (1/2w-pcshiftx)); +draw_rightguill(2, 3/4h, (1/2w-pcshiftx)); +penlabels(1,2); +endchar; % end "double right guillemot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{endash} +% The en dash (o025/h15/d21) +% \begin{macrocode} +cmchar "endash"; +beginchar(oct "025",u#+hstretch*(x_height#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u/2; pickup quill; +numeric alpha; alpha:=w/8; +lft x1 = pcshiftx; rt x2=w-pcshiftx; y1=y2=h/2; +x11=lft x1+alpha/2; y11=top y1-0.5thin; +x12=rt x2; y12=bot y1+0.5thin; +draw z1--z2; % bar +draw_triangle(11,alpha); +draw_rutriangle(12,alpha); +penlabels(1,2); +endchar; % end of "en dash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{emdash} +% The em dash is twice the width of the en dash. (o026/h16/d22) +% \begin{macrocode} +cmchar "emdash"; +beginchar(oct "026",u#+hstretch*(2x_height#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u/2; pickup quill; +numeric alpha; alpha:=w/8; +lft x1 = pcshiftx; rt x2=w-pcshiftx; y1=y2=h/2; +x11=lft x1+alpha/2; y11=top y1-0.5thin; +x12=rt x2; y12=bot y1+0.5thin; +draw z1--z2; % bar +draw_triangle(11,alpha); +draw_rutriangle(12,alpha); +penlabels(1,2); +endchar; % end of "em dash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nought} +% Zero sized character. (o027/h17/d23) (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "AUncial zero sized character (nought)"; +%%%beginchar(oct "000", 0,0,0); +%%%endchar; % end "nought" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{grave} +% The grave accent (moved from o000 to o027). (o027/h17/d23) +% \begin{macrocode} +cmchar "grave"; +beginchar(oct "027", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1=pcshiftx; top y1=h; +draw_grave(1); +penlabels(1); +endchar; % end "grave accent" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{small_zero} +% The small zero for adding to the percent sign. (o030/h18/d24) +% (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "AUncial small zero sign"; +%%%beginchar(oct "000", 2u#+hstretch*(1/2x_height#)-1/2thick#, 1/2asc_height#, 0); +%%%adjust_fit(0,0); pcshiftx := u; pickup accentpen; +%%%x11=pcshiftx; y11=0; rt x12=w-pcshiftx; y12=h; +%%%draw_small_zero(11,12); +%%%ductus:=false; +%%%penlabels(1,2,11,12,21,22); +%%%endchar; % end "small zero" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dotaccent} +% The dot accent (moved from o012 to o030). (o030/h18/d24) +% \begin{macrocode} +cmchar "dotaccent"; +beginchar(oct "030", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; y1dab=h-accent_ysize; +draw_dota(1); +penlabels(1); +endchar; % end "dot accent" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{dotlessi} +% The dotless i (which is the same as the regular i). (o031/h19/d25) +% \begin{macrocode} +cmchar "dotlessi"; +beginchar(oct "031", 2u#+hstretch*(thick#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +penlabels(555,666); +endchar; % end "dotless i" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dotlessj} +% The dotless j (which is the same as the regular j). (o032/h1A/d26) +% \begin{macrocode} +cmchar "dotlessj"; +beginchar(oct "032", 2u#+hstretch*(thick#+jut#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=-1/2d; +draw_j(555,666); +penlabels(555,666); +endchar; % end "dotless j" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ff} +% ff pair (o033/h1B/d27) +% \begin{macrocode} +cmchar "ff"; +beginchar(oct "033", 3u#+hstretch*(16/8x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x888=w-pcshiftx; x666=1/2w-1/2pcshiftx; x444=x555; +x888-x777 = x666-x555; y555=y777=0; y666=y888=h; +y444=y333=-d/2; +draw_f(555,666,444); +draw_f(777,888,333); +penlabels(555,666,444,777,888,333); +endchar; % end "fi" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{fi} +% fi pair (o034/h1C/d28) +% \begin{macrocode} +cmchar "fi"; +beginchar(oct "034", 3u#+hstretch*(x_height#+thick#+jut#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x888=x777=w-pcshiftx-thick; x666=x777-jut-pcshiftx; x444=x555; +y555=y777=0; y666=y888=h; +y444=y333=-d/2; +draw_f(555,666,444); +draw_i(777,888); +penlabels(555,666,444,777,888,333); +endchar; % end "fi" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{fl} +% fl pair (o035/h1D/d29) +% \begin{macrocode} +cmchar "fl"; +beginchar(oct "035", 3u#+hstretch*(16/8x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x888=w-pcshiftx; x666=1/2w-1/2pcshiftx; x444=x555; +x888-x777 = x666-x555; y555=y777=0; y666=y888=h; +y444=y333=-d/2; +draw_f(555,666,444); +draw_l(777,888); +penlabels(555,666,444,777,888,333); +endchar; % end "fl" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ffi} +% ffi triple (o036/h1E/d30) +% \begin{macrocode} +cmchar "ffi"; +beginchar(oct "036", 4u#+hstretch*(16/8x_height#+thick#+jut#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x888=x777=w-pcshiftx-thick; +x669=x777-pcshiftx-jut; +x559-x666=pcshiftx+jut; x666-x555 = x669-x559; +y555=y559=y777=0; y666=y669=y888=h; +y444=y333=-d/2; +draw_f(555,666,444); +draw_f(559,669,333); +draw_i(777,888); +penlabels(555,666,444,777,888,333,559,569); +endchar; % end "ffi" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ffl} +% ffl triple (o037/h1F/d31) +% \begin{macrocode} +cmchar "ffl"; +beginchar(oct "037", 4u#+hstretch*(24/8x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x888=w-pcshiftx; +x669=x777-pcshiftx-jut; x559-x666=x777-x669; +x666-x555 = x669-x559 = x888-x777; +y555=y559=y777=0; y666=y669=y888=h; +y444=y333=-d/2; +draw_f(555,666,444); +draw_f(559,669,333); +draw_l(777,888); +penlabels(555,666,444,777,888,333,559,569); +endchar; % end "ffl" + +% \end{macrocode} +% \end{routine} +% +% The end of this file. +% +% \begin{macrocode} +%</low> +% \end{macrocode} +% +% \section{The ASCII characters} +% +% Here we implement the ASCII character set. +% +% \begin{macrocode} +%<*ascii> +%%%% AUNCLSCI.MF Program file for Artificial Uncial ASCII character set + +% \end{macrocode} +% +% \subsection{Space through slash} +% +% \begin{routine}{visible_space} +% A denoted space. +% \begin{macrocode} +cmchar "space"; +beginchar(oct "040", 2u#+9u#, x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1=pcshiftx; rt x4=w-pcshiftx; y1=y4=2/3h; +x2=x1; x3=x4; bot y2= bot y3 =0; +%%draw z1--z2--z3--z4; +penlabels(1,2,3,4); +endchar; % end "visible space" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{exclam} +% Exclamation mark. (o041/h21/d33) +% \begin{macrocode} +cmchar "exclam"; +beginchar(oct "041", 2u#+hstretch*(thick#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +lft x1=pcshiftx; top y1=h; +x2=x3=x1; y3=1/2thick; y2=1/3h; +draw z1--z2; draw_pdot(3, thick); +penlabels(1,2,3,4); +endchar; % end "exclamation" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quotedbl} +% The ASCII \verb?"? character. (o042/h22/d34) +% \begin{macrocode} +cmchar "quotedbl"; +beginchar(oct "042",2u#+hstretch*(comma_width#+3dot_size#),4/3x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=y2=h; +x2=x1-(2hstretch*dot_size); +draw_pcomma(1,dot_size,comma_width); % right +draw_pcomma(2,dot_size,comma_width); % left +penlabels(1,2); +endchar; % end of " + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{numbersign} +% Hash mark (octothorpe). (o043/h23/d35) +% \begin{macrocode} +cmchar "numbersign"; +beginchar(oct "043", 2u#+hstretch*(6thick#), asc_height#, 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +lft x1=pcshiftx; rt x2=w-pcshiftx; top y5=h; bot y6 = -d; +x3=x1; x4=x2; y7=y5; y8=y6; +x6=4/16w; x8=8/16w; x5=8/16w; x7=12/16w; +y3=y4=1/2[h,-d]-thick; y1=y2=1/2[h,-d]+thick; +pickup quill; +draw z1--z2; draw z3--z4; +pickup accentpen; +draw z5--z6; draw z7--z8; +penlabels(1,2,3,4,5,6,7,8); +endchar; % end "hash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dollar} +% The dollar sign. (o044/h24/d37) +% \begin{macrocode} +cmchar "dollar"; +beginchar(oct "044", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +x222=x223=1/2w; y222=h+1/2desc_depth; y223=-1/2desc_depth; +pickup accentpen; +draw z222--z223; +penlabels(555,666,444); +endchar; % end "dollar" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{percent} +% The percent sign. (o045/h25/d37) +% \begin{macrocode} +cmchar "percent"; +beginchar(oct "045", 2u#+hstretch*(x_height#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +% left 0 +lft x11=pcshiftx; y11=1/2h; x12=1/2w-1/2thick; y12=h; +draw_small_zero(11,12); +% right 0 +x21=1/2w+1/2thick; y21=0; rt x22=w-pcshiftx; y22=1/2h; +draw_small_zero(21,22); +x1=1/2[x11,x12]; y1=0; x2=1/2[x21,x22]; y2=h; +draw z1--z2; +penlabels(1,2,11,12,21,22); +endchar; % end "percent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ampersand} +% The ampersand (which is really an `et' ligature). (o046/h26/d38) +% \begin{macrocode} +cmchar "ampersand"; +beginchar("&", 2u#+hstretch*(7/4x_height#), x_height#, 0.5desc_depth#); +adjust_fit(0,0); pcshiftx:=u; pickup quill; +numeric alpha; alpha:=4/7w-u; +% for the e part +lft x1=pcshiftx; rt x3= alpha; y1=y3=h/2; +x2=x4=alpha/2; top y2=h; bot y4=0; +x5=x6=x3; y5=0.1h; +top y6=0.95h; y6'=top y6; y6''=bot y6; x6''=lft x6; +pickup stylus; +rt x16=alpha; top y16=y6'; +x17=x6; y17=y16-jut; +lft x18=x6''; bot y18=y6''; +pickup quill; +% the bar +x7=x1; y7=y1; x8=w-pcshiftx; y8=y7; +% the t part +lft x31=alpha+2thin; y31=y8; +x32=x31; bot y32=-d; +x33=rt x8-0.5thin; y33=top y31-0.5thin; +if ductus: + pickup stylus; +fi +draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl +draw_tstem(31,32,srad); % t stem +draw z7--z8; % the (top) bar +draw_rtriangle(33,jut); % t bar serif +pickup stylus; +filldraw z17..z18--z16--cycle; % e serif +penlabels(1,2,3,4,5,6,7,8,9,10,16,17,18,31,32,33); +endchar; % end of "&" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quoteright} +% The closing quote character. (o047/h27/d39) +% \begin{macrocode} +cmchar "quoteright"; +beginchar(oct "047",2u#+hstretch*(comma_width#+dot_size#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=h; +draw_pcomma(1,dot_size,comma_width); +penlabels(1); +endchar; % end of "'" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{parenleft} +% The left parenthesis. (o050/h28/d40) +% \begin{macrocode} +cmchar "parenleft"; +beginchar(oct "050", 3/2u#+hstretch*(6/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=x3=w-1/2pcshiftx; lft x2=pcshiftx; y1=h; y3=-d; y2=1/2[y1,y3]; +draw z1..z2..z3; +penlabels(1,2,3); +endchar; % end "left parenthesis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{parenright} +% The right parenthesis. (o051/h29/d41) +% \begin{macrocode} +cmchar "parenright"; +beginchar(oct "051", 3/2u#+hstretch*(6/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=x3=1/2pcshiftx; rt x2=w-pcshiftx; y1=h; y3=-d; y2=1/2[y1,y3]; +draw z1..z2..z3; +penlabels(1,2,3); +endchar; % end "right parenthesis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{asterisk} +% The asterisk (o052/h2A/d42) +% \begin{macrocode} +cmchar "asterisk"; +beginchar(oct "052", 2u#+hstretch*(7/8x_height#), body_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=x2=1/2w; top y1=h; y1-y2=w-2pcshiftx; z0=1/2[z1,z2]; +z3=z1 rotatedaround (z0,60); z5=z1 rotatedaround (z0,120); +z4=z3 rotatedaround (z0,180); z6=z5 rotatedaround(z0,180); +draw z1--z2; draw z3--z4; draw z5--z6; +penlabels(1,2,3,4,5,6); +endchar; % end "asterisk" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{plus} +% The plus sign (o053/h2B/d43) +% \begin{macrocode} +cmchar "plus"; +beginchar(oct "053", 2u#+hstretch*(4thick#), fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=x2=1/2w; y3=y4=1/2h; +lft x3=pcshiftx; rt x4=w-pcshiftx; +z0=1/2[z3,z4]; y1-y0 = x3-x0 = y0-y2; +draw z1--z2; draw z3--z4; +penlabels(1,2,3,4,5,6); +endchar; % end "plus" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{comma} +% The `,' character. (o054/h2C/d44) +% \begin{macrocode} +cmchar "comma"; +beginchar(",",2u#+hstretch*(comma_width#+dot_size#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=h/2; +draw_pcomma(1,dot_size,comma_width); +penlabels(1); +endchar; % end of "," + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{hyphen} +% The `-' character. (o055/h2D/d45) +% \begin{macrocode} +cmchar "hyphen"; +beginchar(oct "055",u#+hstretch*(0.8x_height#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u/2; pickup quill; +numeric alpha; alpha:=w/8; +lft x1 = pcshiftx; rt x2=w-pcshiftx; y1=y2=h/2; +x11=lft x1+alpha/2; y11=top y1-0.5thin; +x12=rt x2; y12=bot y1+0.5thin; +draw z1--z2; % bar +draw_triangle(11,alpha); +draw_rutriangle(12,alpha); +penlabels(1,2); +endchar; % end of "hyphen" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{period} +% The `.' character. (o056/h2E/d46) +% \begin{macrocode} +cmchar "period"; +beginchar(".",2u#+hstretch*(dot_size#),x_height#,0); +pcshiftx:=u; x1=w/2; y1=h/2; +draw_pdot(1,dot_size); +penlabels(1); +endchar; % end of "." + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{slash} +% The slash (virgule). (o057/h2F/d47) +% \begin{macrocode} +cmchar "slash"; +beginchar(oct "057", 2u#+hstretch*(7/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=pcshiftx; x2=w-pcshiftx; y1=-d; y2=h; +draw z1--z2; +penlabels(1,2,3); +endchar; % end "virgule" + +% \end{macrocode} +% \end{routine} +% +% +% \subsection{The digits} +% +% These are arabic digits in the style of the book-hand. They are a +% modern invention. +% +% \begin{routine}{zero} +% The digit `0'. (o060/h30/d48) +% \begin{macrocode} +cmchar "zero"; +beginchar("0", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +y100 = h/2; x100 = pcshiftx+y100; % square center +lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2; +x2=x4=w/2; top y2=h+o; bot y4=-o; +draw z1..z2..z3..z4..cycle; +penlabels(1,2,3,4,100); +endchar; % end "0" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{one} +% The digit `1'. (o061/h31/d49) +% \begin{macrocode} +cmchar "one"; +beginchar("1", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x1=x2=w/2+1/2jut; y1=h; bot y2=0; +draw_tlserif(1,2,srad); +draw_tail(2,jut); +penlabels(1,2,100); +endchar; % end "1" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{two} +% The digit `2'. (o062/h32/d50) +% \begin{macrocode} +cmchar "two"; +beginchar("2", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +% stem +lft x1=pcshiftx; y1=3/4h; +x2=1/2w; top y2= h+o; +rt x3=w-pcshiftx; y3=3/4h; +% foot +lft x5=pcshiftx; bot y5=0; x6=w-pcshiftx; y6=y5; +draw_fork(5,6,jut); % foot +draw z1{up}..z2{right}..z3{down}..{down}z5; % curve +penlabels(1,2,3,4,5,6,100); +endchar; % end "2" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{three} +% The digit `3'. (o063/h33/d51) +% \begin{macrocode} +cmchar "three"; +beginchar("3", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +% x values +lft x3=pcshiftx; x10=x3; rt x5=w-pcshiftx; x8=x5-3thin; +x4=0.5[x3,x5]; x9=0.5[x10,x8]; lft x6=pcshiftx; x7=x6; +% y values +y3=1/4h; y10=3/4h; y6=0.5[y3,y10]; y7=y6; +bot y4=-thin; top y9=h+thin; +y5=0.5[y4,y6]; y8=0.5[y7,y9]; +draw z3{down}..z4{right}..z5{up}...{left}z6; % bottom bowl +draw z7{right}...z8{up}..z9{left}..{down}z10; % top bowl +penlabels(1,2,3,4,5,6,7,8,9,10,100); +endchar; % end "3" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{four} +% The digit `4'. (o064/h34/d52) +% \begin{macrocode} +cmchar "four"; +beginchar("4", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +% the stem +x1=x2=w-pcshiftx-jut; y1=h; bot y2=0; +% the crossbar +lft x3=pcshiftx; y3=0.33h; rt x4=w-pcshiftx; y4=y3; +draw_tstem(1,2,srad); % main stem +draw_wave(3,4,thin); % crossbar +draw z3wl--z1; % diagonal +penlabels(1,2,3,4,100); +endchar; % end "4" + +% \end{macrocode} +% \end{routine} +% +% +% +% \begin{routine}{five} +% The digit `5'. (o065/h35/d53) +% \begin{macrocode} +cmchar "five"; +beginchar("5", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +% for the top +rt x1=w-pcshiftx; top y1=h; lft x2=pcshiftx; y2=y1; +% the S curve +x3=x2; y3=0.5h+thin; x4=0.5[x1,x3]; y4=0.5[y3,y5]; +rt x5=w-pcshiftx; y5=0.3h; x6=w/2; bot y6=0; +lft x7=pcshiftx; bot y7=2thin; x8=w-pcshiftx; y8=h-0.5thin; +draw z2--z1; % top bar +draw_rtriangle(8,3/4jut); +draw z3{pdir}..z5{down}..z6{left}..z7; % curve +draw z2--z3; % vertical +penlabels(1,2,3,4,5,6,7,100); +endchar; % end "5" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{six} +% The digit `6'. (o066/h36/d54) +% \begin{macrocode} +cmchar "six"; +beginchar("6", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +rt x1=w-pcshiftx; top y1=h; +x2=1/2w; top y2= h; lft x3=pcshiftx; y3=1/2h; +x4=x2; bot y4=0; rt x5=w-pcshiftx; y5=1/4h; +lft x6=rt x3; bot y6=y3; x8=w-pcshiftx; y8=h-0.5thin; +draw z1{left}..z3{down}..z4{right}..z5{up}..{-pdir}z6; +draw_rtriangle(8,3/4jut); +penlabels(1,2,3,4,5,6,8,100); +endchar; % end "6" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{seven} +% The digit `7'. (o067/h37/d55) +% \begin{macrocode} +cmchar "seven"; +beginchar("7", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +% top bar +lft x1=pcshiftx; rt x2=w-pcshiftx; top y1=top y2=h; +x8=pcshiftx+3/8jut; y8=h-0.5thin; +% bowed leg +x4=w/2; bot y4=0; x3=0.5[x2,x4]-3thin; y3=0.5[y2,y4]; +draw z1--z2; % top bar +draw_triangle(8,3/4jut); +draw z2..z3..z4; % leg +penlabels(1,2,3,4,5,6,7,8,100); +endchar; % end "7" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{eight} +% The digit `8'. (o070/h38/d56) +% \begin{macrocode} +cmchar "eight"; +beginchar("8", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +numeric alpha; alpha:=1; +lft x1=alpha*pcshiftx+o; rt x3=w-alpha*pcshiftx-o; y1=y3=3/4h; +x2=x4=w/2; top y2=h+o; bot y4=-o; x5=x2; y5=h/2+2o; +lft x11=pcshiftx; rt x13=w-pcshiftx; y11=y13=1/4h; +draw z1..z2..z3..z5..z11..z4..z13..z5..cycle; +penlabels(1,2,3,4,5,11,13,100); +endchar; % end "8" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nine} +% The digit `9'. (o071/h39/d57) +% \begin{macrocode} +cmchar "nine"; +beginchar("9", 2u#+fig_width#, fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +lft x1=pcshiftx; bot y1=2thin; x2=1/2w; bot y2= 0; +rt x3=w-pcshiftx; y3=1/2h; x4=x2; top y4=h; +lft x5=pcshiftx; y5=3/4h; rt x6=lft x3; top y6=y3; +draw z1..z2{right}..z3{up}..z4{left}..z5{down}..{pdir}z6; +penlabels(1,2,3,4,5,6,100); +endchar; % end "9" + +% \end{macrocode} +% \end{routine} +% +% \subsection{Colon through commercial at} +% +% +% \begin{routine}{colon} +% The `:' character. (o072/h3A/d58) +% \begin{macrocode} +cmchar "colon"; +beginchar(":",2u#+hstretch*(dot_size#),x_height#,0); +pcshiftx:=u; +x1=x2=w/2; y1=2/3h; y2=1/3h; +draw_pdot(1,dot_size); +draw_pdot(2,dot_size); +penlabels(1,2); +endchar; % end ":" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{semicolon} +% The `;' character. (o073/h3B/d59) +% \begin{macrocode} +cmchar "semicolon"; +beginchar(";",2u#+hstretch*(comma_width#+dot_size#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=x2=w-pcshiftx-(0.5hstretch*dot_size); y1=2/3h; y2=1/3h; +draw_pdot(1,dot_size); +draw_pcomma(2,dot_size,comma_width); +penlabels(1,2); +endchar; % end of ";" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{less} +% The less than sign (o074/h3C/d60) +% \begin{macrocode} +cmchar "less"; +beginchar(oct "074", 2u#+hstretch*(4thick#), fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +rt x1= rt x3=w-pcshiftx; lft x2 = pcshiftx; +y2=1/2h; y1-y2=y2-y3; y1=y2+3/2thick; +draw z1--z2--z3; +penlabels(1,2,3,4,5,6); +endchar; % end "less than" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{equal} +% The equals sign (o075/h3D/d61) +% \begin{macrocode} +cmchar "equal"; +beginchar(oct "075", 2u#+hstretch*(4thick#), fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1 = lft x3=pcshiftx; rt x2 = rt x4=w-pcshiftx; +y1=y2=1/2h+1/2thick; y3=y4=1/2h-1/2thick; +draw z1--z2; draw z3--z4; +penlabels(1,2,3,4,5,6); +endchar; % end "equals" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{greater} +% The greater than sign (o076/h3E/d62) +% \begin{macrocode} +cmchar "greater"; +beginchar(oct "076", 2u#+hstretch*(4thick#), fig_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1= lft x3=pcshiftx; rt x2 = w-pcshiftx; +y2=1/2h; y1-y2=y2-y3; y1=y2+3/2thick; +draw z1--z2--z3; +penlabels(1,2,3,4,5,6); +endchar; % end "greater than" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{question} +% The `?' character. (o077/h3F/d63) +% \begin{macrocode} +cmchar "question"; +beginchar(oct "077", 2u#+hstretch*(x_height#),asc_height#, 0); +adjust_fit(0,0); pcshiftx:=u; pickup quill; +lft x1=pcshiftx; rt x3=w-pcshiftx; x2=x4=1/2w; +top y2=h; y4=1/2h; top y1=h-thin; y3=1/2[y4,y2]; +x5=x4; y5=1/4h; +path p[]; +p1=z1..z2{right}..z3{down}..{left}z4--z5; +x9=x5; bot y9=0; + pair vec[]; + vec1= direction 0 of p1; + z11=z1 shifted vec1; + x81=lft x1; y81=bot y1; + x82=x1; y82=y1-0.75jut; + draw p1; % the curve + pickup stylus; + filldraw z81--z82--z11--cycle; % the serif + draw_pdot(9,thick); + penlabels(1,2,3,4,5,6,7,9,11,17,26,27,28,81,82,100); +endchar; % end of "query" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{at} +% The commercial at sign. (o100/h40/d64) +% \begin{macrocode} +cmchar "at"; +beginchar(oct "100", 2u#+hstretch*(3/2x_height#+jut#), x_height#, 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x666=w-pcshiftx-jut; y666=h; x555=pcshiftx; y555=0; +draw_at(555,666); +penlabels(555,666); +endchar; % end "commercial at" + +% \end{macrocode} +% \end{routine} +% +% \subsection{Upper case characters} +% +% \thisfont{} `capitals' were drawn with the same pen as for the minuscules, +% and the letters were merely larger versions of the minuscules. +% +% \begin{routine}{A} +% The letter `A'. (o101/h41/d65) +% \begin{macrocode} +cmchar "A"; +beginchar("A", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +penlabels(555,666); +endchar; % end "A" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{B} +% The letter `B'. (o102/h42/d66) +% \begin{macrocode} +cmchar "B"; +beginchar("B", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_b(555,666); +penlabels(555,666); +endchar; % end "B" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{C} +% The letter `C'. (o103/h43/d67) +% \begin{macrocode} +cmchar "C"; +beginchar("C", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +penlabels(555,666); +endchar; % end "C" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{D} +% The letter `D'. (o104/h44/d68) +% \begin{macrocode} +cmchar "D"; +beginchar("D", 2u#+hstretch*caprat*(4/3x_height#), caprat*(4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_d(555,666); +penlabels(555,666); +endchar; % end "D" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{E} +% The letter `E'. (o105/h45/d69) +% \begin{macrocode} +cmchar "E"; +beginchar("E", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +penlabels(555,666); +endchar; % end "E" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{F} +% The letter `F'. (o106/h46/d70) +% \begin{macrocode} +cmchar "F"; +beginchar("F", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x666=w-pcshiftx; x444=x555; y444=-d/2; y555=0; y666=h; +draw_f(555,666,444); +penlabels(555,666,444); +endchar; % end "F" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{G} +% The letter `G'. (o107/h47/d71) +% \begin{macrocode} +cmchar "G"; +beginchar("G", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; x444=x555; y444=-d; y555=0; y666=h; +draw_g(555,666,444); +penlabels(555,666,444); +endchar; % end "G" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{H} +% The letter `H'. (o110/h48/d72) +% \begin{macrocode} +cmchar "H"; +beginchar("H", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x666=w-pcshiftx; y555=0; y666=h; +draw_h(555,666); +penlabels(555,666); +endchar; % end "H" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{I} +% The letter I. (o111/h49/d73) +% \begin{macrocode} +cmchar "I"; +beginchar("I", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +penlabels(555,666); +endchar; % end "I" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{J} +% The letter `J'. This letter was not in the script, it being a later +% invention. (o112/h4A/d74) +% \begin{macrocode} +cmchar "J"; +beginchar("J", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=-1/2d; +draw_j(555,666); +penlabels(555,666); +endchar; % end "J" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{K} +% The letter `K'. (o113/h4B/d75) +% \begin{macrocode} +cmchar "K"; +beginchar("K", 2u#+hstretch*caprat*(4/3x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_k(555,666); +penlabels(555,666); +endchar; % end "K" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{L} +% The letter `L'. (o114/h4C/d76) +% \begin{macrocode} +cmchar "L"; +beginchar("L", 2u#+hstretch*caprat*(x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +penlabels(555,666); +endchar; % end "L" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{M} +% The letter `M'. (o115/h4D/d77) +% \begin{macrocode} +cmchar "M"; +beginchar("M", 2u#+hstretch*caprat*(2x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_m(555,666); +penlabels(555,666); +endchar; % end "M" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{N} +% The letter `N'. (o116/h4E/d78) +% \begin{macrocode} +cmchar "N"; +beginchar("N", 2u#+hstretch*caprat*(2jut#+x_height#), caprat*(x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +penlabels(555,666); +endchar; % end "N" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{O} +% The letter `O'. (o117/h4F/d79) +% \begin{macrocode} +cmchar "O"; +beginchar("O", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +penlabels(555,666); +endchar; % end "O" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{P} +% The letter `P'. (o120/h50/d80) +% \begin{macrocode} +cmchar "P"; +beginchar("P", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_p(555,666,444); +penlabels(555,666,444); +endchar; % end "P" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Q} +% The letter `Q'. (o121/h51/d81) +% \begin{macrocode} +cmchar "Q"; +beginchar("Q", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_q(555,666,444); +penlabels(555,666,444); +endchar; % end "Q" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{R} +% The letter `R'. (o122/h52/d82) +% \begin{macrocode} +cmchar "R"; +beginchar("R", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +penlabels(555,666,444); +endchar; % end "R" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{S} +% The letter `S'. (o123/h53/d83) +% \begin{macrocode} +cmchar "S"; +beginchar("S", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +penlabels(555,666,444); +endchar; % end "S" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{T} +% The letter `T'. (o124/h54/d84) +% \begin{macrocode} +cmchar "T"; +beginchar("T", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_t(555,666); +penlabels(555,666,444); +endchar; % end "T" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{U} +% The letter `U'. (o125/h55/d85) +% \begin{macrocode} +cmchar "U"; +beginchar("U", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +penlabels(555,666,444); +endchar; % end "U" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{V} +% The letter `V'. The right half of the `w' is used for the `v' (or vice-versa +% if you prefer). (o126/h56/d86) +% \begin{macrocode} +cmchar "V"; +beginchar("V", 2u#+hstretch*caprat*(7/6x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_v(555,666); +penlabels(555,666,444); +endchar; % end "V" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{W} +% The letter `W'. This is a modern version as the font did not +% have a W. (o127/h57/d87) +% \begin{macrocode} +cmchar "W"; +beginchar("W", 2u#+hstretch*caprat*(2x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_w(555,666); +penlabels(555,666,444); +endchar; % end "W" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{X} +% The letter `X'. (o130/h58/d88) +% \begin{macrocode} +cmchar "X"; +beginchar("X", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), + caprat*(1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_x(555,666,444); +penlabels(555,666,444); +endchar; % end "X" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Y} +% The letter `Y'. This has a dot on top! (o131/h59/d89) +% \begin{macrocode} +cmchar "Y"; +beginchar("Y", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y(555,666,444); +penlabels(555,666,444); +endchar; % end "Y" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Z} +% The letter `Z'. (o132/h5A/d90) +% \begin{macrocode} +cmchar "Z"; +beginchar("Z", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +penlabels(555,666,444); +endchar; % end "Z" + +% \end{macrocode} +% \end{routine} +% +% \subsection{Left bracket through grave} +% +% \begin{routine}{hyphen_char} +% The hyphen char character. +% \begin{macrocode} +cmchar "Uncial hyphen char"; +beginchar(oct "177",u#+hstretch*(0.8x_height#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u/2; pickup quill; +numeric alpha; alpha:=w/8; +lft x1 = pcshiftx; rt x2=w-pcshiftx; y1=y2=h/2; +x11=lft x1+alpha/2; y11=top y1-0.5thin; +x12=rt x2; y12=bot y1+0.5thin; +draw z1--z2; % bar +draw_triangle(11,alpha); +draw_rutriangle(12,alpha); +penlabels(1,2); +endchar; % end of "hyphen char" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{bracketleft} +% The left bracket. (o133/h5B/d91) +% \begin{macrocode} +cmchar "bracketleft"; +beginchar(oct "133", 3/2u#+hstretch*(4/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1= lft x2=pcshiftx; top y1=h; bot y2=-d; +x11=x22=w-1/2pcshiftx; y11=y1; y22=y2; +draw z11--z1--z2--z22; +penlabels(1,2,11,22); +endchar; % end "left bracket" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{backslash} +% The backslash. (o134/h5C/d92) +% \begin{macrocode} +cmchar "backslash"; +beginchar(oct "134", 2u#+hstretch*(7/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=w-pcshiftx; x2=pcshiftx; y1=-d; y2=h; +draw z1--z2; +penlabels(1,2,3); +endchar; % end "backslash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{bracketright} +% The right bracket. (o135/h5D/d93) +% \begin{macrocode} +cmchar "bracketright"; +beginchar(oct "135", 3/2u#+hstretch*(4/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +rt x1= rt x2=w-pcshiftx; top y1=h; bot y2=-d; +x11=x22=1/2pcshiftx; y11=y1; y22=y2; +draw z11--z1--z2--z22; +penlabels(1,2,11,22); +endchar; % end "right bracket" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{asciicircum} +% The circumflex accent. (o136/h5E/d94) +% \begin{macrocode} +cmchar "asciicircum"; +beginchar(oct "136", 2u#+hstretch*(2cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=1/2w; top y1catm=h; +draw_circumflex(1); +penlabels(1); +endchar; % end "circumflex accent" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{underscore} +% The underscore. (o137/h5F/d95) +% \begin{macrocode} +cmchar "underscore"; +beginchar(oct "137", 2u#+hstretch*(4thick#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +lft x1 = pcshiftx; rt x2 = w-pcshiftx; bot y1= bot y2= 0; +draw z1--z2; +penlabels(1,2,3,4,5,6); +endchar; % end "underscore" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quoteleft} +% The opening quote. (o140/h60/d96) +% \begin{macrocode} +cmchar "quoteleft"; +beginchar(oct "140", 2u#+hstretch*(comma_width#+dot_size#), 4/3x_height#, 0); +adjust_fit(0,0); pcshiftx := u; +x1=pcshiftx+(0.5hstretch*dot_size); y1=h; +draw_plq(1,dot_size,comma_width); +penlabels(1); +endchar; % end "left quote" + +% \end{macrocode} +% \end{routine} +% +% +% \subsection{Lower case letters} +% +% \begin{routine}{a} +% The letter `a'. (o141/h61/d97) +% \begin{macrocode} +cmchar "a"; +beginchar("a", 2u#+hstretch*(x_height#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +penlabels(555,666); +endchar; % end "a" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{b} +% The letter `b'. (o142/h62/d98) +% \begin{macrocode} +cmchar "b"; +beginchar("b", 2u#+hstretch*(x_height#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_b(555,666); +penlabels(555,666); +endchar; % end "b" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{c} +% The letter `c'. (o143/h63/d99) +% \begin{macrocode} +cmchar "c"; +beginchar("c", 2u#+hstretch*(x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +penlabels(555,666); +endchar; % end "c" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{d} +% The letter `d'. (o144/h64/d100) +% \begin{macrocode} +cmchar "d"; +beginchar("d", 2u#+hstretch*(4/3x_height#), 4/3x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_d(555,666); +penlabels(555,666); +endchar; % end "d" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{e} +% The letter `e'. (o145/h65/d101) +% \begin{macrocode} +cmchar "e"; +beginchar("e", 2u#+hstretch*(x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +penlabels(555,666); +endchar; % end "e" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{f} +% The letter `f'. (o146/h66/d102) +% \begin{macrocode} +cmchar "f"; +beginchar("f", 2u#+hstretch*(x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x666=w-pcshiftx; x444=x555; y444=-d/2; y555=0; y666=h; +draw_f(555,666,444); +penlabels(555,666,444); +endchar; % end "f" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{g} +% The letter `g'. (o147/h67/d103) +% \begin{macrocode} +cmchar "g"; +beginchar("g", 2u#+hstretch*(x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; x444=x555; y444=-d; y555=0; y666=h; +draw_g(555,666,444); +penlabels(555,666,444); +endchar; % end "g" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{h} +% The letter `h'. (o150/h68/d104) +% \begin{macrocode} +cmchar "h"; +beginchar("h", 2u#+hstretch*(x_height#+jut#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; x666=w-pcshiftx; y555=0; y666=h; +draw_h(555,666); +penlabels(555,666); +endchar; % end "h" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{i} +% The letter i. (o151/h69/d105) +% \begin{macrocode} +cmchar "i"; +beginchar("i", 2u#+hstretch*(thick#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +penlabels(555,666); +endchar; % end "i" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{j} +% The letter `j'. This letter was not in the script, it being a later +% invention. (o152/h6A/d106) +% \begin{macrocode} +cmchar "j"; +beginchar("j", 2u#+hstretch*(thick#+jut#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=-1/2d; +draw_j(555,666); +penlabels(555,666); +endchar; % end "j" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{k} +% The letter `k'. (o153/h6B/d107) +% \begin{macrocode} +cmchar "k"; +beginchar("k", 2u#+hstretch*(4/3x_height#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_k(555,666); +penlabels(555,666); +endchar; % end "k" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{l} +% The letter `l'. (o154/h6C/d108) +% \begin{macrocode} +cmchar "l"; +beginchar("l", 2u#+hstretch*(x_height#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +penlabels(555,666); +endchar; % end "l" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{m} +% The letter `m'. (o155/h6D/d109) +% \begin{macrocode} +cmchar "m"; +beginchar("m", 2u#+hstretch*(2x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_m(555,666); +penlabels(555,666); +endchar; % end "m" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{n} +% The letter `n'. (o156/h6E/d110) +% \begin{macrocode} +cmchar "n"; +beginchar("n", 2u#+hstretch*(2jut#+x_height#), x_height#, 0.5desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +penlabels(555,666); +endchar; % end "n" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{o} +% The letter `o'. (o157/h6F/d111) +% \begin{macrocode} +cmchar "o"; +beginchar("o", 2u#+hstretch*(7/6x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +penlabels(555,666); +endchar; % end "o" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{p} +% The letter `p'. (o160/h70/d112) +% \begin{macrocode} +cmchar "p"; +beginchar("p", 2u#+hstretch*(7/6x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_p(555,666,444); +penlabels(555,666,444); +endchar; % end "p" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{q} +% The letter `q'. (o161/h71/d113) +% \begin{macrocode} +cmchar "q"; +beginchar("q", 2u#+hstretch*(7/6x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_q(555,666,444); +penlabels(555,666,444); +endchar; % end "q" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{r} +% The letter `r'. (o162/h72/d114) +% \begin{macrocode} +cmchar "r"; +beginchar("r", 2u#+hstretch*(4/3x_height#), x_height#, 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +penlabels(555,666,444); +endchar; % end "r" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{s} +% The letter `s'. (o163/h73/d115) +% \begin{macrocode} +cmchar "s"; +beginchar("s", 2u#+hstretch*(x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +penlabels(555,666,444); +endchar; % end "s" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{t} +% The letter `t'. (o164/h74/d116) +% \begin{macrocode} +cmchar "t"; +beginchar("t", 2u#+hstretch*(4/3x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_t(555,666); +penlabels(555,666,444); +endchar; % end "t" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{u} +% The letter `u'. (o165/h75/d117) +% \begin{macrocode} +cmchar "u"; +beginchar("u", 2u#+hstretch*(4/3x_height#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +penlabels(555,666,444); +endchar; % end "u" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{v} +% The letter `v'. The right half of the `w' is used for the `v' (or vice-versa +% if you prefer). (o166/h76/d118) +% \begin{macrocode} +cmchar "v"; +beginchar("v", 2u#+hstretch*(7/6x_height#+jut#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_v(555,666); +penlabels(555,666,444); +endchar; % end "v" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{w} +% The letter `w'. This is a modern version as the font did not +% have a W. (o167/h77/d119) +% \begin{macrocode} +cmchar "w"; +beginchar("w", 2u#+hstretch*(2x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_w(555,666); +penlabels(555,666,444); +endchar; % end "w" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{x} +% The letter `x'. (o170/h78/d120) +% \begin{macrocode} +cmchar "x"; +beginchar("x", 2u#+hstretch*(4/3x_height#+jut#), x_height#, 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_x(555,666,444); +penlabels(555,666,444); +endchar; % end "x" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{y} +% The letter `y'. This has a dot on top! (o171/h79/d121) +% \begin{macrocode} +cmchar "y"; +beginchar("y", 2u#+hstretch*(4/3x_height#), x_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y(555,666,444); +penlabels(555,666,444); +endchar; % end "y" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{z} +% The letter `z'. (o172/h7A/d122) +% \begin{macrocode} +cmchar "z"; +beginchar("z", 2u#+hstretch*(7/6x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +penlabels(555,666,444); +endchar; % end "z" + +% \end{macrocode} +% \end{routine} +% +% \subsection{Left brace through tilde} +% +% \begin{routine}{braceleft} +% The left brace. (o173/h7B/d123) +% \begin{macrocode} +cmchar "braceleft"; +beginchar(oct "173", 3/2u#+hstretch*(7/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +rt x1= rt x7 = w-1/2pcshiftx; top y1=h; bot y7=-d; +lft x4= pcshiftx; y4=1/2[y1,y7]; +x2=x3=x5=x6=1/2[x4,x1]; +y1-y2 = y3-y4 = y4-y5 = y6-y7 = 1/8(h+d); +pair v[]; +path p[]; +v1=(-2,-1); v2=(2,-1); +p1=z1{v1}..{down}z2--z3{down}..{v1}z4; +p2=z4{v2}..{down}z5--z6{down}..{v2}z7; +draw p1; draw p2; +penlabels(1,2,3,4,5,6,7); +endchar; % end "left brace" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{bar} +% The bar (caesura). (o174/h7C/d124) +% \begin{macrocode} +cmchar "bar"; +beginchar(oct "174", 2u#+hstretch*(1/2thick#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +x1=x2=1/2w; top y1=h; bot y2=-d; +draw z1--z2; +penlabels(1,2,3,4,5,6,7); +endchar; % end "bar" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{braceright} +% The right brace. (o175/h7D/d125) +% \begin{macrocode} +cmchar "braceright"; +beginchar(oct "175", 3/2u#+hstretch*(7/8x_height#), body_height#, desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1= lft x7 = 1/2pcshiftx; top y1=h; bot y7=-d; +rt x4= w-pcshiftx; y4=1/2[y1,y7]; +x2=x3=x5=x6=1/2[x4,x1]; +y1-y2 = y3-y4 = y4-y5 = y6-y7 = 1/8(h+d); +pair v[]; +path p[]; +v1=(-2,-1); v2=(2,-1); +p1=z1{v2}..{down}z2--z3{down}..{v2}z4; +p2=z4{v1}..{down}z5--z6{down}..{v1}z7; +draw p1; draw p2; +penlabels(1,2,3,4,5,6,7); +endchar; % end "right brace" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{asciitilde} +% The tilde. (o176/h7E/d126) +% \begin{macrocode} +cmchar "asciitilde"; +beginchar(oct "176", 2u#+hstretch*(4cos_accent_angle*accent_ysize#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup accentpen; +lft x1=pcshiftx; rt x3=w-pcshiftx; x2=1/2[x1,x3]; +y1=y2=y3=h-1/2accent_ysize; +draw z1{dir accent_angle}..z2..{dir accent_angle}z3; +penlabels(1,2,3); +endchar; % end "asciitilde" + +% \end{macrocode} +% \end{routine} +% +% The end of this file +% \begin{macrocode} +%</ascii> +% \end{macrocode} +% +% +% \section{Bottom of the top half of the table} +% +% \begin{macrocode} +%<*mid> +%%% AUNCLMID.MF AUncl bottom half of the top of the code table + +% \end{macrocode} +% +% Some slots have been left empty to accomodate ligatures. +% In the T1 encoding these contained the upper and lowercase characters +% Abreve, Scedilla, Tcedilla, and Gbreve which as far as I know are only +% used for Rumanian. +% +% \begin{routine}{Abreve} +% The letter `A breve'. +% (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "Abreve"; +%%%beginchar(oct "000", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +%%%adjust_fit(0,0); pcshiftx := u; pickup quill; +%%%x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +%%%draw_a(555,666); +%%%x777=x1; y777=y666+1/4accent_ysize; +%%%draw_breve(777); +%%%penlabels(555,666,777); +%%%endchar; % end "A breve" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{quotesinglbase} +% The `single quote on baseline' character (moved from o015 to 0200). (o200/h80/d128) +% \begin{macrocode} +cmchar "quotesinglbase"; +beginchar(oct "200",2u#+hstretch*(comma_width#+dot_size#),x_height#,0); +adjust_fit(0,0); pcshiftx:=u; +x1=w-pcshiftx-(0.5hstretch*dot_size); y1=h/2; +draw_pcomma(1,dot_size,comma_width); +penlabels(1); +endchar; % end of "," + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Aogonek} +% The letter `A ogonek'. (o201/h81/d129) +% \begin{macrocode} +cmchar "Aogonek"; +beginchar(oct "201", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +z777=lft z2a; +draw_ogonek(777); +penlabels(555,666,777); +endchar; % end "A ogonek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Cacute} +% The letter `C acute'. (o202/h82/d130) +% \begin{macrocode} +cmchar "Cacute"; +beginchar(oct "202", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777aab=x2; y777aab=y666+1/4accent_ysize; +draw_acute(777); +penlabels(555,666); +endchar; % end "C acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ccaron} +% The letter `C caron/hachek'. (o203/h83/d131) +% \begin{macrocode} +cmchar "Ccaron"; +beginchar(oct "203", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777=x2; y777=y666+1/4accent_ysize; +draw_hachek(777); +penlabels(555,666); +endchar; % end "C caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Dcaron} +% The letter `D caron/hachek'. (o204/h84/d132) +% \begin{macrocode} +cmchar "Dcaron"; +beginchar(oct "204", 2u#+hstretch*caprat*(4/3x_height#), caprat*(4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_d(555,666); +x777=x4; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "D caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ecaron} +% The letter `E caron/hachek'. (o205/h85/d133) +% \begin{macrocode} +cmchar "Ecaron"; +beginchar(oct "205", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "E caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Eogonek} +% The letter `E ogonek'. (o206/h86/d134) +% \begin{macrocode} +cmchar "Eogonek"; +beginchar(oct "206", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x4; y777=y555; +draw_ogonek(777); +penlabels(555,666); +endchar; % end "E ogonek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Gbreve} +% The letter `G breve'. (o207/h87/d135) +% (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "Gbreve"; +%%%beginchar(oct "000", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), +%%% caprat*(desc_depth#)); +%%%adjust_fit(0,0); pcshiftx := u; %%%pickup quill; +%%%x555=pcshiftx; x666=w-pcshiftx; x444=x555; y444=-d; y555=0; y666=h; +%%%draw_g(555,666,444); +%%%x777=x2; y777=y666+accent_gap; +%%%draw_breve(777); +%%%penlabels(555,666,444); +%%%endchar; % end "G breve" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{paragraph} +% The paragraph/pilcrow symbol. (o207/h87/d135) +% \begin{macrocode} +cmchar "paragraph"; +beginchar(oct "207", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_pilcrow(555,666,444); +penlabels(555,666,444); +endchar; % end "paragraph/pilcrow" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Lacute} +% The letter `L acute'. (o210/h88/d136) +% \begin{macrocode} +cmchar "Lacute"; +beginchar(oct "210", 2u#+hstretch*caprat*(x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777aab=x555Lt; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "L acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Lquote} +% The letter `L quote/apostrophe'. (o211/h89/d137) +% \begin{macrocode} +cmchar "Lquote"; +beginchar(oct "211", 2u#+hstretch*caprat*(x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777=x555Lt+1/2thick + accent_ysize; y777=y666; +draw_pcomma(777,accent_thickness,accent_ysize); +penlabels(555,666); +endchar; % end "L apostrophe" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Lslash} +% The letter `L slash/barred'. (o212/h8A/d138) +% \begin{macrocode} +cmchar "Lslash"; +beginchar(oct "212", 2u#+hstretch*caprat*(x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777=x555Lt; y777=1/2[y555Lb,y555Lt]; +z777ll=(x777-15/16accent_ysize, y777-1/2thick); +z777ur=(x777+15/16accent_ysize, y777+1/2thick); +pickup accentpen; +draw z777ll--z777ur; +penlabels(555,666,777,777ll,777ur); +endchar; % end "L slash/barred" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Nacute} +% The letter `N acute'. (o213/h8B/d139) +% \begin{macrocode} +cmchar "Nacute"; +beginchar(oct "213", 2u#+hstretch*caprat*(2jut#+x_height#), caprat*(x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777aam=1/2[x555nlt,x555nrt]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "N acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ncaron} +% The letter `N caron/hachek'. (o214/h8C/d140) +% \begin{macrocode} +cmchar "Ncaron"; +beginchar(oct "214", 2u#+hstretch*caprat*(2jut#+x_height#), caprat*(x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777=1/2[x555nlt,x555nrt]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "N hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Eng} +% The letter `Eng'. (o215/h8D/d141) +% \begin{macrocode} +cmchar "Eng"; +beginchar(oct "215", 2u#+hstretch*caprat*(jut#+x_height#), caprat*(x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +x444=x555; y444=-d; +draw_eng(555,666,444); +penlabels(555,666,444); +endchar; % end "Eng" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ohungarumlaut} +% The letter `O long umlaut'. (o216/h8E/d142) +% \begin{macrocode} +cmchar "Ohungarumlaut"; +beginchar(oct "216", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777luam=x2; y777luab=y666+accent_gap; +draw_lumlaut(777); +penlabels(555,666); +endchar; % end "O long umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Racute} +% The letter `R acute'. (o217/h8F/d143) +% \begin{macrocode} +cmchar "Racute"; +beginchar(oct "217", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +x777aam=1/2[x1,x5]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "R acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Rcaron} +% The letter `R caron/hachek'. (o220/h90/d144) +% \begin{macrocode} +cmchar "Rcaron"; +beginchar(oct "220", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +x777=1/2[x1,x5]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "R hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Sacute} +% The letter `S acute'. (o221/h91/d145) +% \begin{macrocode} +cmchar "Sacute"; +beginchar(oct "221", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +x777aam=x555Sb; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "S acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Scaron} +% The letter `S caron/hachek'. (o222/h92/d146) +% \begin{macrocode} +cmchar "Scaron"; +beginchar(oct "222", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +x777=x555Sb; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "S caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Scedilla} +% The letter `S cedilla'. (o223/h93/d147) +% (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "Scedilla"; +%%%beginchar(oct "000", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +%%%adjust_fit(0,0); pcshiftx := u; pickup quill; +%%%x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +%%%draw_s(555,666); +%%%x777=x555Sf; top y777=y555; +%%%draw_cedilla(777); +%%%penlabels(555,666,444); +%%%endchar; % end "S cedilla" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{longs-t} +% The longs-t `ligature'. (o223/h93/d147) +% \begin{macrocode} +%%beginchar("s", 2u#+hstretch*(x_height#), x_height#, 0); +%%beginchar("t", 2u#+hstretch*(4/3x_height#), x_height#, 0); +cmchar "longs-t"; +beginchar(oct "223", 4u#+hstretch*(7/3x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=3/7w-pcshiftx; y666=h; +draw_s(555,666); +pickup quill; +x559=x666+2pcshiftx; y559=y555; x669=w-pcshiftx; y669=y666; +draw_t(559,669); +penlabels(555,666,559,669); +endchar; % end longs-t + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Tcaron} +% The letter `T caron/hachek'. (o224/h94/d148) +% \begin{macrocode} +cmchar "Tcaron"; +beginchar(oct "224", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_t(555,666); +x777=x184; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "T hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{r-half} +% The letter `r-half', which in this case is a regular `r'. (o225/h95/d149) +% \begin{macrocode} +cmchar "r-half"; +beginchar(oct "225", 2u#+hstretch*(4/3x_height#), x_height#, 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +penlabels(555,666,444); +endchar; % end "r-half" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Uhungarumlaut} +% The letter `U long umlaut'. (o226/h96/d150) +% \begin{macrocode} +cmchar "Uhungarumlaut"; +beginchar(oct "226", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777luab=y666+accent_gap; +draw_lumlaut(777); +penlabels(555,666,444); +endchar; % end "U long umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Uring} +% The letter `U ring'. (o227/h97/d151) +% \begin{macrocode} +cmchar "Uring"; +beginchar(oct "227", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777rab=y666+accent_gap; +draw_ring(777); +penlabels(555,666,444); +endchar; % end "U ring" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ydieresis} +% The letter `Y dieresis'. (o230/h98/d152) +% \begin{macrocode} +cmchar "Ydieresis"; +beginchar(oct "230", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y_base(555,666,444); +x777=1/2[x1,x666]; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666,444); +endchar; % end "Y dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Zacute} +% The letter `Z acute'. (o231/h99/d153) +% \begin{macrocode} +cmchar "Zacute"; +beginchar(oct "231", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777aam=1/2[x1,x3]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "Z acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Zcaron} +% The letter `Z caron/hachek'. (o232/h9A/d154) +% \begin{macrocode} +cmchar "Zcaron"; +beginchar(oct "232", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777=1/2[x1,x3]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "Z caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Zdot} +% The letter `Z dot'. (o233/h9B/d155) +% \begin{macrocode} +cmchar "Zdot"; +beginchar(oct "233", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777=1/2[x1,x3]; y777dab=y666+accent_gap; +draw_dota(777); +penlabels(555,666,444); +endchar; % end "Z dot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{IJ} +% The letter pair IJ. (o234/h9C/d156) +% \begin{macrocode} +cmchar "IJ"; +beginchar(oct "234", 2u#+hstretch*(2thick#+2jut#), caprat*(x_height#), caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x577=x677=x555+thick+jut; y577=-1/2d; y677=y666; +draw_j(577,677); +penlabels(555,666); +endchar; % end "IJ" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Idot} +% Dotted I. (o235/h9D/d157) +% \begin{macrocode} +cmchar "Idot"; +beginchar(oct "235", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777=x555It.a; y777dab=y666+accent_gap; +pickup accentpen; +draw_dota(777); +penlabels(555,666); +endchar; % end "I dotted" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dyet} +% The letter `dyet'. (o236/h9E/d158) +% \begin{macrocode} +cmchar "dyet"; +beginchar(oct "236", 2u#+hstretch*(4/3x_height#), (4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_dyet(555,666); +penlabels(555,666); +endchar; % end "dyet" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{section} +% The section symbol. (o237/h9F/d159) +% \begin{macrocode} +cmchar "section"; +beginchar(oct "237", 2u#+hstretch*(7/6x_height#), (asc_height#), + (desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_section(555,666,444); +penlabels(555,666,444); +endchar; % end "section" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{abreve} +% The letter `a breve'. (o240/hA0/d160) +% (move to 000 before killing it) +% \begin{macrocode} +%%%cmchar "abreve"; +%%%beginchar(oct "000", 2u#+hstretch*(x_height#+jut#), x_height#, 0); +%%%adjust_fit(0,0); pcshiftx := u; pickup quill; +%%%x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +%%%draw_a(555,666); +%%%x777=x1; y777=y666+1/4accent_ysize; +%%%draw_breve(777); +%%%penlabels(555,666); +%%%endchar; % end "a breve" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{slong} +% The letter `s long'. (o240/hA0/d160) +% \begin{macrocode} +cmchar "salternate"; +beginchar(oct "240", 2u#+hstretch*(x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +penlabels(555,666,444); +endchar; % end "s alternate" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{aogonek} +% The letter `a ogonek'. (o241/hA1/d161) +% \begin{macrocode} +cmchar "aogonek"; +beginchar(oct "241", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +z777=lft z2a; +draw_ogonek(777); +penlabels(555,666,777); +endchar; % end "a ogonek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{cacute} +% The letter `c acute'. (o242/hA2/d162) +% \begin{macrocode} +cmchar "cacute"; +beginchar(oct "242", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777aab=x2; y777aab=y666+1/4accent_ysize; +draw_acute(777); +penlabels(555,666); +endchar; % end "c acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ccaron} +% The letter `c caron/hachek'. (o243/hA3/d163) +% \begin{macrocode} +cmchar "ccaron"; +beginchar(oct "243", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777=x2; y777=y666+1/4accent_ysize; +draw_hachek(777); +penlabels(555,666); +endchar; % end "c hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{dcaron} +% The letter `d caron/hachek' (with an upright `d' this is done with a quote +% not a caron). (o244/hA4/d164) +% \begin{macrocode} +cmchar "dcaron"; +beginchar(oct "244", 2u#+hstretch*(4/3x_height#), (4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_d(555,666); +x777=x4; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "d hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ecaron} +% The letter `e caron/hachek'. (o245/hA5/d165) +% \begin{macrocode} +cmchar "ecaron"; +beginchar(oct "245", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "e caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{eogonek} +% The letter `e ogonek'. (o246/hA6/d166) +% \begin{macrocode} +cmchar "eogonek"; +beginchar(oct "246", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x4; y777=y555; +draw_ogonek(777); +penlabels(555,666); +endchar; % end "e ogonek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{e-t} +% The `e-t' `ligature', which is not the \&. (o247/hA7/d167) +% \begin{macrocode} +cmchar "e-t"; +beginchar(oct "247", 4u#+hstretch*(7/3x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=3/7w-pcshiftx; y666=h; +draw_e(555,666); +pickup quill; +x559=x666+2pcshiftx; y559=y555; x669=w-pcshiftx; y669=y666; +draw_t(559,669); +penlabels(555,666,444,559,669); +endchar; % end "e-t" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{lacute} +% The letter `l acute'. (o250/hA8/d168) +% \begin{macrocode} +cmchar "lacute"; +beginchar(oct "250", 2u#+hstretch*(x_height#), (asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777aab=x555Lt; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "l acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{lquote} +% The letter `l apostrophe'. (o251/hA9/d169) +% \begin{macrocode} +cmchar "lquote"; +beginchar(oct "251", 2u#+hstretch*(x_height#), (asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777=x555Lt+1/2thick + accent_ysize; y777=y666; +draw_pcomma(777,accent_thickness,accent_ysize); +penlabels(555,666); +endchar; % end "l apostrophe" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{lslash} +% The letter `l barred'. (o252/hAA/170) +% \begin{macrocode} +cmchar "lslash"; +beginchar(oct "252", 2u#+hstretch*(x_height#), (asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_l(555,666); +x777=x555Lt; y777=1/2[y555Lb,y555Lt]; +z777ll=(x777-15/16accent_ysize, y777-1/2thick); +z777ur=(x777+15/16accent_ysize, y777+1/2thick); +pickup accentpen; +draw z777ll--z777ur; +penlabels(555,666,777,777ll,777ur); +endchar; % end "l barred" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{nacute} +% The letter `n acute'. (o253/hAB/d171) +% \begin{macrocode} +cmchar "nacute"; +beginchar(oct "253", 2u#+hstretch*(2jut#+x_height#), (x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777aam=1/2[x555nlt,x555nrt]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "n acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ncaron} +% The letter `n caron/hachek'. (o254/hAC/d172) +% \begin{macrocode} +cmchar "ncaron"; +beginchar(oct "254", 2u#+hstretch*(2jut#+x_height#), (x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777=1/2[x555nlt,x555nrt]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666); +endchar; % end "n hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{eng} +% The letter `eng'. (o255/hAD/d173) +% \begin{macrocode} +cmchar "eng"; +beginchar(oct "255", 2u#+hstretch*(jut#+x_height#), (x_height#), + (0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +x444=x555; y444=-d; +draw_eng(555,666,444); +penlabels(555,666,444); +endchar; % end "eng" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ohungarumlaut} +% The letter `o long umlaut'. (o256/hAE/d174) +% \begin{macrocode} +cmchar "ohungarumlaut"; +beginchar(oct "256", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777luam=x2; y777luab=y666+accent_gap; +draw_lumlaut(777); +penlabels(555,666); +endchar; % end "o long umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{racute} +% The letter `r acute'. (o257/hAF/d175) +% \begin{macrocode} +cmchar "racute"; +beginchar(oct "257", 2u#+hstretch*(4/3x_height#), (x_height#), + (1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +x777aam=1/2[x1,x5]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "r acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{rcaron} +% The letter `r caron/hachek'. (o260/hB0/d176) +% \begin{macrocode} +cmchar "rcaron"; +beginchar(oct "260", 2u#+hstretch*(4/3x_height#), (x_height#), + (1/2desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_r(555,666); +x777=1/2[x1,x5]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "r hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sacute} +% The letter `s acute'. (o261/hB1/d177) +% \begin{macrocode} +cmchar "sacute"; +beginchar(oct "261", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +x777aam=x555Sb; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "s acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{scaron} +% The letter `s caron/hachek'. (o262/hB2/d178) +% \begin{macrocode} +cmchar "scaron"; +beginchar(oct "262", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_s(555,666); +x777=x555Sb; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "s hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{s-t} +% The s-t `ligature'. (o263/hB3/d179) +% \begin{macrocode} +%%beginchar("s", 2u#+hstretch*(x_height#), x_height#, 0); +%%beginchar("t", 2u#+hstretch*(4/3x_height#), x_height#, 0); +cmchar "s-t"; +beginchar(oct "263", 4u#+hstretch*(7/3x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=3/7w-pcshiftx; y666=h; +draw_s(555,666); +pickup quill; +x559=x666+2pcshiftx; y559=y555; x669=w-pcshiftx; y669=y666; +draw_t(559,669); +penlabels(555,666,559,669); +endchar; % end s-t + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{tcaron} +% The letter `t caron/hachek'. (The lowercase roman uses a quote instead of a +% caron) (o264/hB4/d180) +% \begin{macrocode} +cmchar "tcaron"; +beginchar(oct "264", 2u#+hstretch*(4/3x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_t(555,666); +x777=x184; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "t caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{c-t} +% The `c-t' `ligature'. (o265/hB5/d181) +% \begin{macrocode} +cmchar "c-t"; +beginchar(oct "265", 4u#+hstretch*(7/3x_height#), x_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=3/7w-pcshiftx; y666=h; +draw_c(555,666); +pickup quill; +x559=x666+2pcshiftx; y559=y555; x669=w-pcshiftx; y669=y666; +draw_t(559,669); +%x555=pcshiftx; y555=0; x666=3/7w-pcshiftx; y666=h; +%draw_c(555,666); +%pickup quill; +%x759=x666+2pcshiftx; y759=y555; x769=w-pcshiftx; y769=y666; +%draw_t(759,769); +penlabels(555,666,444,559,669); +endchar; % end "c-t" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{uhungarumlaut} +% The letter `u long umlaut'. (o266/hB6/d182) +% \begin{macrocode} +cmchar "uhungarumlaut"; +beginchar(oct "266", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777luab=y666+accent_gap; +draw_lumlaut(777); +penlabels(555,666,444); +endchar; % end "u long umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{uring} +% The letter `u ring'. (o267/hB7/d183) +% \begin{macrocode} +cmchar "uring"; +beginchar(oct "267", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777rab=y666+accent_gap; +draw_ring(777); +penlabels(555,666,444); +endchar; % end "u ring" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ydieresis} +% The letter `y dieresis'. (o270/hB7/d184) +% \begin{macrocode} +cmchar "AUncial letter y dieresis"; +beginchar(oct "270", 2u#+hstretch*(4/3x_height#), (x_height#), + (desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y_base(555,666,444); +x777=1/2[x1,x666]; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666,444); +endchar; % end "y dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{zacute} +% The letter `z acute'. (o271/hB8/d185) +% \begin{macrocode} +cmchar "zacute"; +beginchar(oct "271", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777aam=1/2[x1,x3]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "z acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{zcaron} +% The letter `z caron/hachek'. (o272/hBA/d186) +% \begin{macrocode} +cmchar "zcaron"; +beginchar(oct "272", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777=1/2[x1,x3]; y777=y666+accent_gap; +draw_hachek(777); +penlabels(555,666,444); +endchar; % end "z caron/hachek" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{zdot} +% The letter `z dot'. (o273/hBB/d187) +% \begin{macrocode} +cmchar "AUncial letter z dot"; +beginchar(oct "273", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_z(555,666); +x777=1/2[x1,x3]; y777dab=y666+accent_gap; +draw_dota(777); +penlabels(555,666,444); +endchar; % end "z dot" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ij} +% The letter pair ij. (o274/hBC/d188) +% \begin{macrocode} +cmchar "AUncial letter pair ij"; +beginchar(oct "274", 2u#+hstretch*(2thick#+2jut#), (x_height#), (desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x577=x677=x555+thick+jut; y577=-1/2d; y677=y666; +draw_j(577,677); +penlabels(555,666); +endchar; % end "ij" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{exclamdown} +% Exclamation mark upside-down. (o275/hBD/d189) +% \begin{macrocode} +cmchar "exclamdown"; +beginchar(oct "275", 2u#+hstretch*(thick#), asc_height#, 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +lft x1=pcshiftx; bot y1=0; +x2=x3=x1; y3=h-1/2thick; y2=2/3h; +draw z1--z2; draw_pdot(3, thick); +penlabels(1,2,3,4); +endchar; % end "exclamation down" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{questiondown} +% The `?' character upside-down. (o276/hBE/d190) +% \begin{macrocode} +cmchar "questiondown"; +beginchar(oct "276", 2u#+hstretch*(x_height#),asc_height#, 0); +adjust_fit(0,0); pcshiftx:=u; pickup quill; +rt x1=w-pcshiftx; lft x3=pcshiftx; x2=x4=1/2w; +bot y2=0; y4=1/2h; bot y1=thin; y3=1/2[y4,y2]; +x5=x4; y5=3/4h; +path p[]; +p1=z1..z2{left}..z3{up}..{right}z4--z5; +x9=x5; top y9=h; + pair vec[]; + vec1= direction 0 of p1; + z11=z1 shifted vec1; + x81=rt x1; y81=top y1; + x82=x1; y82=y1+0.75jut; + draw p1; % the curve + pickup stylus; + filldraw z81--z82--z11--cycle; % the serif + draw_pdot(9,thick); + penlabels(1,2,3,4,5,6,7,9,11,17,26,27,28,81,82,100); +endchar; % end of "query upside-down" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{sterling} +% The pound sterling symbol. (o277/hBF/d191) +% \begin{macrocode} +cmchar "sterling"; +beginchar(oct "277", 2u#+hstretch*caprat*(x_height#), caprat*(asc_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +draw_pound(555,666); +penlabels(555,666); +endchar; % end "pound" + +% \end{macrocode} +% \end{routine} +% +% +% The end of this file. +% +% \begin{macrocode} +%</mid> +% \end{macrocode} +% +% +% +% \section{Upper half} +% +% Positions octal 300 through 377 (hex C0 through FF, decimal 192 through 255). +% +% \begin{macrocode} +%<*top> +%%% AUNCLTOP.MF AUncl Top of the code table + +% \end{macrocode} +% +% \begin{routine}{Agrave} +% The letter `A grave'. (o300/hC0/d192) +% \begin{macrocode} +cmchar "Agrave"; +beginchar(oct "300", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777gam=x1; y777gab=y666+1/4accent_ysize; +draw_grave(777); +penlabels(555,666,777); +endchar; % end "A grave" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Aacute} +% The letter `A acute'. (o301/hC1/d193) +% \begin{macrocode} +cmchar "Aacute"; +beginchar(oct "301", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777aam=x1; y777aab=y666+1/4accent_ysize; +draw_acute(777); +penlabels(555,666,777); +endchar; % end "A acute" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Acircumflex} +% The letter `A circumflex'. (o302/hC2/d194) +% \begin{macrocode} +cmchar "Acircumflex"; +beginchar(oct "302", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777=y666+1/4accent_ysize; +draw_circumflex(777); +penlabels(555,666,777); +endchar; % end "A circumflex" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Atilde} +% The letter `A tilde'. (o303/hC3/d195) +% \begin{macrocode} +cmchar "Atilde"; +beginchar(oct "303", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777=y666+1/4accent_ysize; +draw_tildea(777); +penlabels(555,666,777); +endchar; % end "A tilde" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Adieresis} +% The letter `A umlaut'. (o304/hC4/d196) +% \begin{macrocode} +cmchar "Adieresis"; +beginchar(oct "304", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777ddab=y666+1/4accent_ysize; +draw_dieresis(777); +penlabels(555,666,777); +endchar; % end "A umlaut" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{Aring} +% The letter `A ring'. (o305/hC5/d197) +% \begin{macrocode} +cmchar "Aring"; +beginchar(oct "305", 2u#+hstretch*caprat*(x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777rab=y666; +draw_ring(777); +penlabels(555,666,777); +endchar; % end "A ring" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{AE} +% The letter `Aesc'. (o306/hC6/d198) +% \begin{macrocode} +cmchar "AE"; +beginchar(oct "306", 2u#+hstretch*caprat*(14/8x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_aesc(555,666); +penlabels(555,666,777); +endchar; % end "Aesc" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ccedilla} +% The letter `C cedilla'. (o307/hC7/d199) +% \begin{macrocode} +cmchar "Ccedilla"; +beginchar(oct "307", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777=x4; top y777=y4-thin; +draw_cedilla(777); +penlabels(555,666); +endchar; % end "C cedilla" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Egrave} +% The letter `E grave'. (o310/hC8/d200) +% \begin{macrocode} +cmchar "Egrave"; +beginchar(oct "310", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777gam=x2; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666); +endchar; % end "E grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Eacute} +% The letter `E acute'. (o311/hC9/d201) +% \begin{macrocode} +cmchar "Eacute"; +beginchar(oct "311", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777aam=x2; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "E acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ecircumflex} +% The letter `E circumflex'. (o312/hCA/d202) +% \begin{macrocode} +cmchar "Ecircumflex"; +beginchar(oct "312", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "E circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Edieresis} +% The letter `E umlaut'. (o313/hCB/d203) +% \begin{macrocode} +cmchar "Edieresis"; +beginchar(oct "313", 2u#+hstretch*caprat*(x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "E umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Igrave} +% I with grave accent. (o314/hCC/d204) +% \begin{macrocode} +cmchar "Igrave"; +beginchar(oct "314", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777gam=x555It.a; y777gab=y666+accent_gap; +pickup accentpen; +draw_grave(777); +penlabels(555,666); +endchar; % end "I grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Iacute} +% I with acute accent. (o315/hCD/d205) +% \begin{macrocode} +cmchar "Iacute"; +beginchar(oct "315", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777aam=x555It.a; y777aab=y666+accent_gap; +pickup accentpen; +draw_acute(777); +penlabels(555,666); +endchar; % end "I acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Icircumflex} +% I with circumflex accent. (o316/hCE/d206) +% \begin{macrocode} +cmchar "Icircumflex"; +beginchar(oct "316", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777=x555It.a; y777=y666+accent_gap; +pickup accentpen; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "I circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Idieresis} +% I with umlaut. (o317/hCF/d207) +% \begin{macrocode} +cmchar "Idieresis"; +beginchar(oct "317", 2u#+hstretch*(thick#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777=x555It.a; y777ddab=y666+accent_gap; +pickup accentpen; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "I umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Eth} +% The letter `Eth' or `Dyet'. (o320/hD0/d208) +% \begin{macrocode} +cmchar "Eth"; +beginchar(oct "320", 2u#+hstretch*caprat*(4/3x_height#), caprat*(4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_dyet(555,666); +penlabels(555,666); +endchar; % end "Eth" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ntilde} +% The letter `N tilde'. (o321/hD1/d209) +% \begin{macrocode} +cmchar "Ntilde"; +beginchar(oct "321", 2u#+hstretch*caprat*(2jut#+x_height#), caprat*(x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777=1/2[x555nlt,x555nrt]; y777=y666+accent_gap; +draw_tildea(777); +penlabels(555,666); +endchar; % end "N tilde" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ograve} +% The letter `O grave'. (o322/hD2/d210) +% \begin{macrocode} +cmchar "Ograve"; +beginchar(oct "322", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777gam=x2; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666); +endchar; % end "O grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Oacute} +% The letter `O acute'. (o323/hD3/d211) +% \begin{macrocode} +cmchar "Oacute"; +beginchar(oct "323", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777aam=x2; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "O acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ocircumflex} +% The letter `O circumflex'. (o324/hD4/d212) +% \begin{macrocode} +cmchar "Ocircumflex"; +beginchar(oct "324", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "O circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Otilde} +% The letter `O tilde'. (o325/hD5/d213) +% \begin{macrocode} +cmchar "Otilde"; +beginchar(oct "325", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777=y666+accent_gap; +draw_tildea(777); +penlabels(555,666); +endchar; % end "O tilde" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Odieresis} +% The letter `O dieresis'. (o326/hD6/d214) +% \begin{macrocode} +cmchar "Odieresis"; +beginchar(oct "326", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "O dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{OE} +% The letter `Ethel'. (o327/hD7/d215) +% \begin{macrocode} +cmchar "OE"; +beginchar(oct "327", 2u#+hstretch*caprat*(2x_height#-jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_ethel(555,666); +penlabels(555,666); +endchar; % end "Ethel" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Oslash} +% The letter `O slash'. (o330/hD8/d216) +% \begin{macrocode} +cmchar "Oslash"; +beginchar(oct "330", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +pickup stylus; +x777=x2; y777=y666+accent_gap; z771=(x555,y4); z772=(x666,y2); +draw z771--z772; +penlabels(555,666,771,772); +endchar; % end "O slash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ugrave} +% The letter `U grave'. (o331/hD9/d217) +% \begin{macrocode} +cmchar "Ugrave"; +beginchar(oct "331", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777gam=x8; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666,444); +endchar; % end "U grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Uacute} +% The letter `U acute'. (o332/hDA/d218) +% \begin{macrocode} +cmchar "Uacute"; +beginchar(oct "332", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777aam=x8; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "U acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Ucircumflex} +% The letter `U circumflex'. (o333/hDB/d219) +% \begin{macrocode} +cmchar "Ucircumflex"; +beginchar(oct "333", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666,444); +endchar; % end "U circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Udieresis} +% The letter `U dieresis'. (o334/hDC/d220) +% \begin{macrocode} +cmchar "Udieresis"; +beginchar(oct "334", 2u#+hstretch*caprat*(4/3x_height#+jut#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666,444); +endchar; % end "U dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Yacute} +% The letter `Y acute'. (o335/hDD/d221) +% \begin{macrocode} +cmchar "Yacute"; +beginchar(oct "335", 2u#+hstretch*caprat*(4/3x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y_base(555,666,444); +x777aam=1/2[x1,x666]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "Y acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Thorn} +% The letter `Thorn'. (o336/hDE/d222) +% \begin{macrocode} +cmchar "Thorn"; +beginchar(oct "336", 2u#+hstretch*caprat*(7/6x_height#), caprat*(x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; +x444=x555; y444=-1/2d; +draw_thorn(555,666,444); +penlabels(555,666,444); +endchar; % end "Thorn" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{Germandbls} +% The letter Eszett. (o337/hDF/d223) +% \begin{macrocode} +cmchar "Germandbls"; +beginchar(oct "337", 3u#+hstretch*caprat*(14/8x_height#), caprat*(x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=1/2w-1/2pcshiftx; y666=h; +x755=1/2w+1/2pcshiftx; x866=w-pcshiftx; y755=y555; y866=y666; +draw_s(555,666); +pickup quill; +draw_s(755,866); +penlabels(555,666,755,866,444); +endchar; % end "Eszett" + +% \end{macrocode} +% \end{routine} +% +% +% +% +% \begin{routine}{agrave} +% The letter `a grave'. (o340/hE0/d224) +% \begin{macrocode} +cmchar "agrave"; +beginchar(oct "340", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777gam=x1; y777gab=y666+1/4accent_ysize; +draw_grave(777); +penlabels(555,666,777); +endchar; % end "a grave" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{aacute} +% The letter `a acute'. (o341/hE1/d225) +% \begin{macrocode} +cmchar "aacute"; +beginchar(oct "341", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777aam=x1; y777aab=y666+1/4accent_ysize; +draw_acute(777); +penlabels(555,666,777); +endchar; % end "a acute" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{acircumflex} +% The letter `a circumflex'. (o342/hE2/d226) +% \begin{macrocode} +cmchar "acircumflex"; +beginchar(oct "342", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777=y666+1/4accent_ysize; +draw_circumflex(777); +penlabels(555,666,777); +endchar; % end "a circumflex" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{atilde} +% The letter `a tilde'. (o343/hE3/d227) +% \begin{macrocode} +cmchar "atilde"; +beginchar(oct "343", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777=y666+1/4accent_ysize; +draw_tildea(777); +penlabels(555,666,777); +endchar; % end "a tilde" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{adieresis} +% The letter `a umlaut'. (o344/hE4/d228) +% \begin{macrocode} +cmchar "adieresis"; +beginchar(oct "344", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777ddab=y666+1/4accent_ysize; +draw_dieresis(777); +penlabels(555,666,777); +endchar; % end "a umlaut" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{aring} +% The letter `a ring'. (o345/hE5/d229) +% \begin{macrocode} +cmchar "aring"; +beginchar(oct "345", 2u#+hstretch*(x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-u-jut; y666=h; +draw_a(555,666); +x777=x1; y777rab=y666; +draw_ring(777); +penlabels(555,666,777); +endchar; % end "a ring" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ae} +% The letter `aesc'. (o346/hE6/d230) +% \begin{macrocode} +cmchar "ae"; +beginchar(oct "346", 2u#+hstretch*(12/8x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_aesc(555,666); +penlabels(555,666,777); +endchar; % end "aesc" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{ccedilla} +% The letter `c cedilla'. (o347/hE7/d231) +% \begin{macrocode} +cmchar "ccedilla"; +beginchar(oct "347", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; +draw_c(555,666); +x777=x4; top y777=y555; +draw_cedilla(777); +penlabels(555,666); +endchar; % end "c cedilla" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{egrave} +% The letter `e grave'. (o350/hE8/d232) +% \begin{macrocode} +cmchar "egrave"; +beginchar(oct "350", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777gam=x2; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666); +endchar; % end "e grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{eacute} +% The letter `e acute'. (o351/hE9/d233) +% \begin{macrocode} +cmchar "AUncial letter e acute"; +beginchar(oct "351", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777aam=x2; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "e acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ecircumflex} +% The letter `e circumflex'. (o352/hEA/d234) +% \begin{macrocode} +cmchar "ecircumflex"; +beginchar(oct "352", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "e circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{edieresis} +% The letter `e umlaut'. (o353/hEB/d235) +% \begin{macrocode} +cmchar "AUncial letter e umlaut"; +beginchar(oct "353", 2u#+hstretch*(x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_e(555,666); +x777=x2; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "e umlaut" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{igrave} +% i with grave accent. (o354/hEC/d236) +% \begin{macrocode} +cmchar "igrave"; +beginchar(oct "354", 2u#+hstretch*(thick#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777gam=x555It.a; y777gab=y666+accent_gap; +pickup accentpen; +draw_grave(777); +penlabels(555,666); +endchar; % end "i grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{iacute} +% i with acute accent. (o355/hED/d237) +% \begin{macrocode} +cmchar "iacute"; +beginchar(oct "355", 2u#+hstretch*(thick#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777aam=x555It.a; y777aab=y666+accent_gap; +pickup accentpen; +draw_acute(777); +penlabels(555,666); +endchar; % end "i acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{icircumflex} +% i with circumflex accent. (o356/hEE/d238) +% \begin{macrocode} +cmchar "icircumflex"; +beginchar(oct "356", 2u#+hstretch*(thick#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777=x555It.a; y777=y666+accent_gap; +pickup accentpen; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "i circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{idieresis} +% i with umlaut. (o357/hEF/d239) +% \begin{macrocode} +cmchar "idieresis"; +beginchar(oct "357", 2u#+hstretch*(thick#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut = x666; y666=h; y555=0; +draw_i(555,666); +x777=x555It.a; y777ddab=y666+accent_gap; +pickup accentpen; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "i umlaut" + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{eth} +% The letter `eth'. (o360/hF0/d240) +% \begin{macrocode} +cmchar "eth"; +beginchar(oct "360", 2u#+hstretch*(4/3x_height#), (4/3x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; x666=w-pcshiftx; y555=0; y666=h; +draw_dyet(555,666); +penlabels(555,666); +endchar; % end "dyet" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ntilde} +% The letter `n tilde'. (o361/hF1/d241) +% \begin{macrocode} +cmchar "ntilde"; +beginchar(oct "361", 2u#+hstretch*(2jut#+x_height#), (x_height#), + caprat*(0.5desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_n(555,666); +x777=1/2[x555nlt,x555nrt]; y777=y666+accent_gap; +draw_tildea(777); +penlabels(555,666); +endchar; % end "n tilde" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ograve} +% The letter `o grave'. (o362/hF2/d242) +% \begin{macrocode} +cmchar "ograve"; +beginchar(oct "362", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777gam=x2; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666); +endchar; % end "o grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{oacute} +% The letter `o acute'. (o363/hF3/d243) +% \begin{macrocode} +cmchar "oacute"; +beginchar(oct "363", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777aam=x2; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666); +endchar; % end "o acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ocircumflex} +% The letter `o circumflex'. (o364/hF4/d244) +% \begin{macrocode} +cmchar "ocircumflex"; +beginchar(oct "364", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666); +endchar; % end "o circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{otilde} +% The letter `o tilde'. (o365/hF5/d245) +% \begin{macrocode} +cmchar "otilde"; +beginchar(oct "365", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777=y666+accent_gap; +draw_tildea(777); +penlabels(555,666); +endchar; % end "o tilde" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{odieresis} +% The letter `o dieresis'. (o366/hF6/d246) +% \begin{macrocode} +cmchar "odieresis"; +beginchar(oct "366", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +x777=x2; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666); +endchar; % end "o dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{oe} +% The letter `ethel'. (o367/hF7/d247) +% \begin{macrocode} +cmchar "oe"; +beginchar(oct "367", 2u#+hstretch*(2x_height#-jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_ethel(555,666); +penlabels(555,666); +endchar; % end "ethel" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{oslash} +% The letter `o slash'. (o370/hF8/d248) +% \begin{macrocode} +cmchar "oslash"; +beginchar(oct "370", 2u#+hstretch*(7/6x_height#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=-o; x666=w-pcshiftx; y666=h+o; +draw_o(555,666); +pickup stylus; +x777=x2; y777=y666+accent_gap; z771=(x555,y4); z772=(x666,y2); +draw z771--z772; +penlabels(555,666,771,772); +endchar; % end "o slash" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ugrave} +% The letter `u grave'. (o371/hF9/d249) +% \begin{macrocode} +cmchar "ugrave"; +beginchar(oct "371", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777gam=x8; y777gab=y666+accent_gap; +draw_grave(777); +penlabels(555,666,444); +endchar; % end "u grave" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{uacute} +% The letter `u acute'. (o372/hFA/d250) +% \begin{macrocode} +cmchar "uacute"; +beginchar(oct "372", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777aam=x8; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "u acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{ucircumflex} +% The letter `u circumflex'. (o373/hFB/d251) +% \begin{macrocode} +cmchar "ucircumflex"; +beginchar(oct "373", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777=y666+accent_gap; +draw_circumflex(777); +penlabels(555,666,444); +endchar; % end "u circumflex" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{udieresis} +% The letter `u dieresis'. (o374/hFC/d252) +% \begin{macrocode} +cmchar "udieresis"; +beginchar(oct "374", 2u#+hstretch*(4/3x_height#+jut#), (x_height#), 0); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx-jut; y666=h; +draw_u(555,666); +x777=x8; y777ddab=y666+accent_gap; +draw_dieresis(777); +penlabels(555,666,444); +endchar; % end "u dieresis" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{yacute} +% The letter `y acute'. (o375/hFD/d253) +% \begin{macrocode} +cmchar "yacute"; +beginchar(oct "375", 2u#+hstretch*(4/3x_height#), (x_height#), + (desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_y_base(555,666,444); +x777aam=1/2[x1,x666]; y777aab=y666+accent_gap; +draw_acute(777); +penlabels(555,666,444); +endchar; % end "y acute" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{thorn} +% The letter `thorn'. (o376/hFE/d254) +% \begin{macrocode} +cmchar "thorn"; +beginchar(oct "376", 2u#+hstretch*(7/6x_height#), (x_height#), + caprat*(desc_depth#)); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-1/2d; +draw_thorn(555,666,444); +penlabels(555,666,444); +endchar; % end "thorn" + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{germandbls} +% The letter eszett. (o377/hFF/d255) +% \begin{macrocode} +cmchar "germandbls"; +beginchar(oct "377", 2u#+hstretch*(x_height#+jut#), (asc_height#), 1/2desc_depth#); +adjust_fit(0,0); pcshiftx := u; pickup quill; +x555=pcshiftx+jut; y555=0; x666=w-pcshiftx; y666=h; x444=x555; y444=-d; +draw_eszett(555,666,444); +penlabels(555,666,444); +endchar; % end "eszett" + +% \end{macrocode} +% \end{routine} +% +% +% +% The end of the file +% +% \begin{macrocode} +%</top> +% \end{macrocode} +% +% +% +% \Finale +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/fonts/auncial-new/aunclmft.dtx b/fonts/auncial-new/aunclmft.dtx new file mode 100644 index 0000000000..a4388d5179 --- /dev/null +++ b/fonts/auncial-new/aunclmft.dtx @@ -0,0 +1,2173 @@ +% \iffalse meta-comment +% +% aunclmft.dtx +% +% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net +% Copyright 1999--2005 Peter R. Wilson +% +% This work may be distributed and/or modified under the +% conditions of the Latex Project Public License, either +% version 1.3 of this license or (at your option) any +% later version. +% The latest version of the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2003/06/01 or later. +% +% This work has the LPPL maintenance status "author-maintained". +% +% This work consists of the files listed in the README file. +% +% If you do not have the docmfp package (available from CTAN in +% tex-archive/macros/latex/contrib/supported), comment out the +% \usepackage{docmfp} line below and uncomment the line following it. +% +%<*driver> +\documentclass[twoside]{ltxdoc} +\usepackage{docmfp} +%%%%%% \providecommand{\DescribeVariable}[1]{} \newenvironment{routine}[1]{}{} +\usepackage{url} +\usepackage[draft=false, + plainpages=false, + pdfpagelabels, + bookmarksnumbered, + hyperindex=false + ]{hyperref} +\providecommand{\phantomsection}{} +\OnlyDescription %% comment this out for the full glory +\EnableCrossrefs +\CodelineIndex +\setcounter{StandardModuleDepth}{1} +\makeatletter + \@mparswitchfalse +\makeatother +\renewcommand{\MakeUppercase}[1]{#1} +\pagestyle{headings} +\newenvironment{addtomargins}[1]{% + \begin{list}{}{% + \topsep 0pt% + \addtolength{\leftmargin}{#1}% + \addtolength{\rightmargin}{#1}% + \listparindent \parindent + \itemindent \parindent + \parsep \parskip}% + \item[]}{\end{list}} +\begin{document} + \raggedbottom + \DocInput{aunclmft.dtx} +\end{document} +%</driver> +% +% \fi +% +% \CheckSum{132} +% +% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath} +% \DoNotIndex{\@centercr,\@cite} +% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue} +% \DoNotIndex{\@input,\@ixpt,\@m} +% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint} +% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb} +% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt} +% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt} +% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace} +% \DoNotIndex{\advance,\Alph,\alph} +% \DoNotIndex{\arabic,\ast,\begin,\begingroup,\bfseries,\bgroup,\box} +% \DoNotIndex{\bullet} +% \DoNotIndex{\cdot,\cite,\CodelineIndex,\cr,\day,\DeclareOption} +% \DoNotIndex{\def,\DisableCrossrefs,\divide,\DocInput,\documentclass} +% \DoNotIndex{\DoNotIndex,\egroup,\ifdim,\else,\fi,\em,\endtrivlist} +% \DoNotIndex{\EnableCrossrefs,\end,\end@dblfloat,\end@float,\endgroup} +% \DoNotIndex{\endlist,\everycr,\everypar,\ExecuteOptions,\expandafter} +% \DoNotIndex{\fbox} +% \DoNotIndex{\filedate,\filename,\fileversion,\fontsize,\framebox,\gdef} +% \DoNotIndex{\global,\halign,\hangindent,\hbox,\hfil,\hfill,\hrule} +% \DoNotIndex{\hsize,\hskip,\hspace,\hss,\if@tempswa,\ifcase,\or,\fi,\fi} +% \DoNotIndex{\ifhmode,\ifvmode,\ifnum,\iftrue,\ifx,\fi,\fi,\fi,\fi,\fi} +% \DoNotIndex{\input} +% \DoNotIndex{\jobname,\kern,\leavevmode,\let,\leftmark} +% \DoNotIndex{\list,\llap,\long,\m@ne,\m@th,\mark,\markboth,\markright} +% \DoNotIndex{\month,\newcommand,\newcounter,\newenvironment} +% \DoNotIndex{\NeedsTeXFormat,\newdimen} +% \DoNotIndex{\newlength,\newpage,\nobreak,\noindent,\null,\number} +% \DoNotIndex{\numberline,\OldMakeindex,\OnlyDescription,\p@} +% \DoNotIndex{\pagestyle,\par,\paragraph,\paragraphmark,\parfillskip} +% \DoNotIndex{\penalty,\PrintChanges,\PrintIndex,\ProcessOptions} +% \DoNotIndex{\protect,\ProvidesClass,\raggedbottom,\raggedright} +% \DoNotIndex{\refstepcounter,\relax,\renewcommand,\reset@font} +% \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rlap,\rmfamily,\roman} +% \DoNotIndex{\roman,\secdef,\selectfont,\setbox,\setcounter,\setlength} +% \DoNotIndex{\settowidth,\sfcode,\skip,\sloppy,\slshape,\space} +% \DoNotIndex{\symbol,\the,\trivlist,\typeout,\tw@,\undefined,\uppercase} +% \DoNotIndex{\usecounter,\usefont,\usepackage,\vfil,\vfill,\viiipt} +% \DoNotIndex{\viipt,\vipt,\vskip,\vspace} +% \DoNotIndex{\wd,\xiipt,\year,\z@} +% +% \changes{v1.0}{1999/05/22}{First public release} +% \changes{v2.0}{2005/11/27}{Major rewrite} +% +% \def\fileversion{v1.0} \def\filedate{1999/05/22} +% \def\fileversion{v2.0} \def\filedate{2005/11/27} +% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package +% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option +% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file +% \newcommand*{\Lcount}[1]{\textsl {\small#1}} ^^A typeset a counter +% \newcommand*{\pstyle}[1]{\textsl {#1}} ^^A typeset a pagestyle +% \newcommand*{\Lenv}[1]{\texttt {#1}} ^^A typeset an environment +% \newcommand*{\AD}{\textsc{ad}} +% \newcommand*{\thisfont}{Artificial Uncial} +% +% \title{\Lpack{Artificial Uncial}: MetaFont driver code\thanks{This +% file has version number \fileversion, last revised +% \filedate.}} +% +% \author{% +% Peter Wilson\footnote{\texttt{herries dot press at earthlink dot net}}\\ +% Herries Press } +% \date{\filedate} +% \maketitle +% \begin{abstract} +% The \Lpack{auncial} bundle provides a PostScript Type1 set of +% \thisfont{} bookhands +% as used +% for manuscripts in the 6th to the 10th century. This is one in a series +% of manuscript fonts. +% +% This document contains the MetaFont driver code. +% \end{abstract} +% \tableofcontents +% \listoftables +% +% +% +% \section{Introduction} +% +% The \Lpack{auncial} bundle provides a PostScript Type1 version of a +% Metafont~\cite{METAFONT} rendition +% of the \thisfont{} manuscript book-hand that was in use between about the +% sixth and tenth centuries~\AD. It is part of a project to provide fonts +% covering the major manuscript hands between the first century~\AD{} and +% the invention of printing. +% +% This document contains the MetaFont driver code. +% +% This manual is typeset according to the conventions of the +% \LaTeX{} \textsc{docstrip} utility which enables the automatic +% extraction of the \LaTeX{} macro source files~\cite{GOOSSENS94}. +% The \Lpack{docmfp} package is used for documenting the Metafont portions +% of the distribution~\cite{DOCMFP}. +% +% \section{The Metafont code} \label{sec:mf} +% +% +% As previously noted, this work is part of a larger project to provide +% fonts covering the main manuscript book-hands. As such, one of the +% aims is to produce a coordinated set of fonts, especially as multiple +% hands might be used in a single document. +% +% Noting that the hands tend to be somewhat larger than the typical 10pt +% size (where the x-height is approximately 1.5mm) used for modern books, +% I have also designed the fonts +% at a larger than normal size, then applied some non-linear factors when reducing +% them down to a 10pt size. +% Further, I have used the height of the Carolingian minuscule as a +% normalising factor when deciding on the absolute height of any particular +% script. The x-height of the Carolingian font is made equal to the +% x-height of the Computer Modern Roman (CMR) font. +% +% Modern fonts are effectively drawn. That is, the outline of the letter is +% drawn carefully and the center is filled with ink. This is shown to good +% effect in the Metafont code for the Computer Modern fonts~\cite{CM}. +% In contrast, the manuscript letters were inked by single pen strokes in +% a calligraphic manner. I have tried to repeat this calligraphic style +% in the Metafont code. +% +% As much as possible I have tried to use parameter values from the +% Computer Modern Roman (CMR) fonts in order to reduce possible +% infelicities if the CM and manuscript fonts are used together. However, +% few of the CMR parameters are applicable to the calligraphic style. +% +% +% \StopEventually{ +% \bibliographystyle{alpha} +% \renewcommand{\refname}{Bibliography} +% \begin{thebibliography}{GMS94} +% \addcontentsline{toc}{section}{\refname} +% +% \bibitem[And69]{ANDERSON69} +% Donald M.~Anderson. +% \newblock \emph{The Art of Written Forms: The Theory and Practice of Calligraphy}. +% \newblock Holt, Rinehart and Winston, 1969. +% +% \bibitem[Bol95]{BOLOGNA95} +% Giulia Bologna. +% \newblock \emph{Illuminated Manuscripts: The Book before Gutenberg}. +% \newblock Crescent Books, 1995. +% +% \bibitem[Day95]{DAY95} +% Lewis F.~Day. +% \newblock \emph{Alphabets Old \& New}. +% \newblock (3rd edition originally published by B.~T.~Batsford, 1910) +% \newblock Senate, 1995. +% +% \bibitem[Dro80]{DROGIN80} +% Marc Drogin. +% \newblock \emph{Medieval Calligraphy: Its History and Technique}. +% \newblock Allenheld, Osmun \& Co., 1980. +% +% \bibitem[Dru95]{DRUCKER95} +% Johanna Drucker. +% \newblock \emph{The Alphabetic Labyrinth}. +% \newblock Thames \& Hudson, 1995. +% +% \bibitem[Fir93]{FIRMAGE93} +% Richard A.~Firmage. +% \newblock \emph{The Alphabet Abecedarium}. +% \newblock David R~Goodine, 1993. +% +% \bibitem[Fli98]{LETTRINE} +% Daniel Flipo. +% \newblock \emph{The LETTRINE package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1998. +% +% \bibitem[Har95]{HARRIS95} +% David Harris. +% \newblock \emph{The Art of Calligraphy}. +% \newblock DK Publishing, 1995. +% +% \bibitem[Jen95]{BETON} +% Frank Jensen. +% \newblock \emph{The BETON package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1995. +% +% \bibitem[Joh71]{JOHNSTON75} +% Edward Johnston (ed. Heather Child). +% \newblock \emph{Formal Penship and Other Papers}. +% \newblock Penthalic, 1971. +% +% \bibitem[Knu87]{CM} +% Donald E.~Knuth. +% \newblock \emph{Computer Modern Typefaces}. +% \newblock Addison-Wesley, 1987. +% +% \bibitem[Knu92]{METAFONT} +% Donald E.~Knuth. +% \newblock \emph{The METAFONTbook}. +% \newblock Addison-Wesley, 1992. +% +% \bibitem[GMS94]{GOOSSENS94} +% Michel Goossens, Frank Mittelbach, and Alexander Samarin. +% \newblock \emph{The LaTeX Companion}. +% \newblock Addison-Wesley Publishing Company, 1994. +% +% \bibitem[Tho75]{THOMAS75} +% Alan G.~Thomas. +% \newblock \emph{Great Books and Book Collectors}. +% \newblock Weidenfield and Nichoson, 1975. +% +% \bibitem[Wil99]{DOCMFP} +% Peter R.~Wilson. +% \newblock \emph{The DOCMFP Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \bibitem[Wil99b]{ROMANNUM} +% Peter R.~Wilson. +% \newblock \emph{The ROMANNUM Package}. +% \newblock (Available from CTAN in \texttt{macros/latex/contrib/supported}). +% \newblock 1999. +% +% \end{thebibliography} +% \PrintIndex +% } +% +% \section{The driver file} +% +% The driver file sets up the font parameters and also contains +% the macros used in the definition of the characters. +% +% \begin{macrocode} +%<*mfd> +% This is UNCLTITLE.MF for the Artificial Uncial font. +% This file also contains special macros universally needed in the +% font but either not in the cmbase.mf file or modifications of these. +% +% \end{macrocode} +% +% \begin{routine}{makebox} +% This is a new version of the \Lpack{cmbase.mf} |makebox| macro. +% Essentially, as we are only generating a single case font, we don't +% need all the horizontals for the CMR characters. +% +% \begin{macrocode} +%%% A new version of cmbase.mf makebox macro +def makebox(text rule) = + for y=0,half_height,cap_height,body_height,x_height,asc_height,-desc_depth,-body_depth: + rule((l,y)t_,(r,y)t_); endfor % horizontals + for x=l,r: rule((x,-body_depth)t_,(x,body_height)t_); endfor % verticals + for x=u*(1+floor(1/u)) step u until r-1: + rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals + if charic<>0: + rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{proofpcbb} +% The macro |proofpcbb(S, xoff, yoff)| draws crosses at the corners of the +% square, and at the bottom and top midpoints, where the point |zS| is at +% position |(xoff,yoff)| in the square. +% \begin{macrocode} +%%% A macro to delineate a letter's bounding square in proof mode. +%%% Point z$ is at (xoff,yoff) in the bounding square. +def proofpcbb(suffix $)(expr xoff, yoff) = +if proofing > 0: + x$bl = x$ - xoff; y$bl = y$ - yoff; % Bottom Left Hand Corner + z$br = (x$bl+side, y$bl); % BRHC + z$tr = (x$bl+side, y$bl+side); % TRHC + z$tl = (x$bl, y$bl+side); % TLHC + z$bc = 1/2[z$bl,z$br]; z$tc = 1/2[z$tl,z$tr]; % horizontal mid points + pair hc, vc; + hc = (2u,0); vc = (0,2u); + pickup pensquare scaled 2; + for s = z$bl, z$br, z$tr, z$tl, z$bc, z$tc: + draw s-hc--s+hc; + draw s-vc--s+vc; + endfor +fi +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% +% \begin{routine}{auncial_font_setup} +% This macro contains the set up for the \thisfont{} fonts. +% \begin{macrocode} +def auncial_font_setup= % contains special stuff for auncial fonts + define_pixels(side,half_height,carol_height,comma_width); + define_pixels(u,dot_size,letter_size,cap_height,width_adj,serif_fit, + cap_serif_fit,jut,cap_jut); + define_pixels(fig_width); + define_whole_pixels(letter_fit); + define_whole_vertical_pixels(body_height,asc_height,cap_height,x_height, + desc_depth,body_depth,fig_height, + accent_ysize,accent_gap); + define_corrected_pixels(o); + define_blacker_pixels(thick,thin,accent_thickness); + let adjust_fit = normal_adjust_fit; +% \end{macrocode} +% \DescribeVariable{stylus} +% The pen for drawing the thinnest lines is |stylus|. +% \begin{macrocode} + pickup pencircle scaled thin; + stylus:=savepen; +% \end{macrocode} +% \DescribeVariable{thickstylus} +% The pen for drawing lines a bit thicker than the thinnest is |thickstylus|. +% \begin{macrocode} + pickup pencircle scaled (1.5thin); + thickstylus:=savepen; +% \end{macrocode} +% \DescribeVariable{accentpen} +% The pen for drawing the typical accent is |accentpen|. +% \begin{macrocode} + pickup pencircle xscaled 1/2thick yscaled thin rotated pangle; + accentpen:=savepen; +% \end{macrocode} +% \DescribeVariable{quill} +% The normal calligraphic pen is |quill|. +% \begin{macrocode} + pickup pencircle xscaled thick yscaled thin rotated pangle; + quill:=savepen; + numeric pcshiftx#; % x value of LHS of box wrt origin of char box + define_pixels(pcshiftx); + numeric sqxside#; % x size of the square + numeric sqyside#; % y size of the square + define_pixels(sqxside,sqyside); + +enddef; % end of auncial_font_setup + +% \end{macrocode} +% \end{routine} +% +% +% \DescribeVariable{ductus} +% A boolean to control drawing the ductus (TRUE) or the full letter (FALSE). +% \begin{macrocode} +boolean ductus; +ductus:=false; +% \end{macrocode} +% +% \DescribeVariable{qhor} +% \DescribeVariable{qvert} +% The cosine and sine of the pen angle. +% \begin{macrocode} +numeric qhor, qvert; +qhor:=cosd(pangle); qvert:=sind(pangle); +% \end{macrocode} +% +% \DescribeVariable{pdir} +% The vector corresponding to the pen angle. +% \begin{macrocode} +pair pdir; pdir=dir(pangle); +% \end{macrocode} +% +% \DescribeVariable{ppdir} +% The vector that is perpendicular (anticlockwise) to the pen angle. +% \begin{macrocode} +pair ppdir; ppdir=dir(pangle+90); + +% \end{macrocode} +% +% +% \begin{routine}{draw_serif} +% A macro to draw a serif. |draw_serif(1,2,f)| uses the current pen to +% draw a serif of extent |jut| at |z1| to the left of the line from |z2| +% to |z1|. The +% radius is controlled by |f|, where $0<f<1$. The `stem' from |z1| to |z2| +% starts at the point |z1a|. +% \begin{macrocode} +def draw_serif(suffix $, $$)(expr fr)= + numeric beta, ajut, bjut; +% \end{macrocode} +% |fr| and |beta| control the serif radius. +% \begin{macrocode} + beta=1-fr; + ajut=fr*jut; bjut=beta*jut; +% \end{macrocode} +% The points |$c|, |$b| and |$a| define the serif. For a top (bottom) serif +% the leftmost (rightmost) point is +% |$c| and |$a| is on the stem. |$a| is moved from |$| towards |$$| by the +% distance |ajut|, and the other points are calculated from this. If the stem +% is not vertical, then we have to rotate |$b| to match. +% \begin{macrocode} + pair vec[]; vec1=unitvector(z$$-z$); + vec2=ajut*vec1; + z$a=z$ shifted vec2; + z$b=z$a rotatedaround (z$,-90); + boolean top_serif; + if y$>y$$: + top_serif := true; + z$c=z$b shifted (-bjut*pdir); + else: + top_serif:=false; + z$c=z$b shifted (bjut*pdir); + fi +% \end{macrocode} +% Draw the parts, and finish off. +% \begin{macrocode} + if top_serif: + draw z$c--z$b{pdir}..{z$$-z$}z$a; % the serif + else: + draw z$c--z$b{-pdir}..{z$$-z$}z$a; + fi + labels($a,$b,$c); +enddef; % end of draw_serif + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_istem} +% A macro to draw the shape of an i. |draw_istem(1,2,f)| draws a stem whose +% top is at |z1| and bottom at |z2|. It draws with the current pen and the serifs +% are of extent |jut|. There is a top left and bottom right serif. +% The serif radius is controlled by |f|, with $0<f<1$. +% \begin{macrocode} +def draw_istem(suffix $, $$)(expr fr)= + draw_serif($, $$, fr); % top serif + draw_serif($$, $, fr); % bottom serif + draw z$a--z$$a; % the stem +enddef; % end of draw_istem + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_tstem} +% A macro to draw the shape of the stem of a `t'. |draw_tstem(1,2,f)| draws a +% stem whose +% top is at |z1| and bottom at |z2| with a right serif at |z2|. The radius +% is controlled by |f|, with $0 < f < 1$. +% It draws with the current pen and the serif is of extent |jut|. +% \begin{macrocode} +def draw_tstem(suffix $, $$)(expr fr)= + draw_serif($$, $, fr); % the serif + draw z$--z$$a; % the stem +enddef; % end of draw_tstem + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_tlserif} +% A macro to draw a top left serif. |draw_tlserif(1,2,f)| draws a serif on top +% of a stem whose absolute +% top is at |z1| and bottom at |z2|. It draws with the current pen and the serif +% is of extent |jut|. It also draws the stem to the point |z2|. The serif +% radius is controlled by |f|, with $0<f<1$. +% \begin{macrocode} +def draw_tlserif(suffix $, $$)(expr fr)= + draw_serif($, $$, fr); % the serif + draw z$a--z$$; % the stem +enddef; % end of draw_tlserif + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_flick} +% A macro to draw a flick (like an eyebrow). +% |draw_flick(1,rise,fall,fjut)| draws a stroke starting at |z1| rising up by +% |rise| and falling down by |fall| wrt |z1|. The overall stroke distance is +% |fjut| to the right of |z1|. It is drawn with the current pen. +% \begin{macrocode} +def draw_flick(suffix $)(expr rise, fall, fjut)= +% \end{macrocode} +% The points |z$a| and |z$b|, together with |z$| make up three points on the +% ductus. +% \begin{macrocode} + rt x$b = x1+fjut; top y$b=y$-fall; + x$a=0.5[x$,x$b]; top y$a=y$+rise; +% \end{macrocode} +% Draw the part, and finish off. +% \begin{macrocode} + draw z$..z$a..z$b; + labels($a,$b); +enddef; % end of draw_flick + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_wave} +% A macro to draw a (horizontal) stroke with a flick at each end +% (down at the left and up at the right). |draw_wave(1,2,f)| uses the current +% pen to draw from |z1wl| to |z1wr|, where |x1wl=x1|, |y1wl=y1-f|, and +% |x1wr=x2|, |y1wr=y2+f|, with |z1| assumed to be at the left of |z2|. +% \begin{macrocode} +def draw_wave(suffix $,$$)(expr f)= + x$wl=x$; y$wl=y$-f; + x$wr=x$$; y$wr=y$$+f; + z$wc=0.5[z$wl,z$wr]; + draw z$wl{pdir}..z$wc{right}..{pdir}z$wr; + labels($wl,$wc,$wr); +enddef; % end of draw_wave + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_tail} +% A macro to draw a tail at the bottom of a (vertical) stem. +% |draw_tail(1,fjut)| draws a tail at the bottom of the stem which ends at |z1|. +% The depth is controlled by the |desc_depth| value and the jut by |fjut|. +% \begin{macrocode} +def draw_tail(suffix $)(expr fj)= + pen oldpen; oldpen:=currentpen; + pickup quill; + x$tl' = lft x$; y$tl=bot y$; + pickup stylus; + lft x$tl=x$tl'; + x$tb=x$tl-fj; bot y$tb=y$tl-1/2desc_depth; + filldraw z${down}..{-pdir}z$tb & z$tb{pdir}..{up}z$tl--cycle; + pickup oldpen; + labels($tb,$tl); +enddef; % end of draw_tail + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_triangle} +% A macro to draw a downward pointing equilateral triangle. +% |draw_triangle(1,sz)| draws a triangle of side length with |z1| in the middle +% of the base. +% \begin{macrocode} +def draw_triangle(suffix $)(expr sz)= + pen oldpen; oldpen:=currentpen; + pickup stylus; + x$t1=x$-sz/2; x$t3=x$+sz/2; + y$t1=y$t3=y$; + x$t2=x$; y$t2=y$-0.9sz; % approx sqrt(3)/2 + filldraw z$t1--z$t2--z$t3--cycle; + pickup oldpen; + labels($t1,$t2,$t3); +enddef; % end of draw_triangle + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_rtriangle} +% A macro to draw a downward pointing right angled triangle. +% |draw_triangle(1,sz)| draws a triangle of side length with |z1| at the +% right (where the right angle is). +% \begin{macrocode} +def draw_rtriangle(suffix $)(expr sz)= + pen oldpen; oldpen:=currentpen; + pickup stylus; + x$t1=x$-sz; rt x$t3=x$; + y$t1=y$t3=y$; + x$t2=x$t3; y$t2=y$-sz; + filldraw z$t1--z$t2--z$t3--cycle; + pickup oldpen; + labels($t1,$t2,$t3); +enddef; % end of draw_rtriangle + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_rutriangle} +% A macro to draw an upward pointing right angled triangle. +% |draw_triangle(1,sz)| draws a triangle of side length with |z1| at the +% right (where the right angle is). +% \begin{macrocode} +def draw_rutriangle(suffix $)(expr sz)= + pen oldpen; oldpen:=currentpen; + pickup stylus; + x$t1=x$-sz; rt x$t3=x$; + y$t1=y$t3=y$; + x$t2=x$t3; y$t2=y$+sz; + filldraw z$t1--z$t2--z$t3--cycle; + pickup oldpen; + labels($t1,$t2,$t3); +enddef; % end of draw_rutriangle + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_fork} +% A macro to draw a forked line. +% |draw_fork(1,2,sz)| draws a graduated line from |z1| to |z2| with a forked +% end of size |sz|. +% \begin{macrocode} +def draw_fork(suffix $, $$)(expr sz)= + pen oldpen; oldpen:=currentpen; + pickup quill; + x$f1'=lft x$; y$f1'=bot y$; + x$f3'=rt x$; y$f3'=top y$; + pickup stylus; + lft x$f1=x$f1'; bot y$f1=y$f1'; + rt x$f3=x$f3'; y$f3-y$=2*(y$-y$f1); + rt x$f2=x$$-sz; bot y$f2=y$$; + rt x$f4= rt x$f5=x$$; + bot y$f5=y$$-sz; top y$f4=y$$+1/2sz; + filldraw z$f1--z$f2--z$f3--cycle; % the line + draw z$f2{right}..z$f4; % upper fork + draw z$f2{right}..z$f5; % lower fork + pickup oldpen; + labels($f1,$f2,$f3,$f4,$f5); +enddef; % end of draw_fork + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_pdot} +% A macro to draw a period dot. +% |draw_pdot(1,sz)| uses |stylus| to draw a dot centered at |z1| of overall size |sz|. +% \begin{macrocode} +def draw_pdot(suffix $)(expr sz)= +% \end{macrocode} +% Draw a square rotated 45 degrees. +% \begin{macrocode} + z$s = z$ shifted (0.5sz*left); + z$t = z$ shifted (0.5sz*up); + z$u = z$s shifted (sz*right); + z$v = z$t shifted (sz*down); + pickup stylus; + filldraw z$s--z$t--z$u--z$v--cycle; + labels($s,$t,$u,$v); +enddef; % end of draw_pdot + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_pcomma} +% A macro to draw a period comma. +% |draw_pcomma(1,t,w)| draws a comma placed at |z1| (the top), line width is |t| +% and bottom of line is |w| horizontally from |z1|. The pen is |stylus|. +% \begin{macrocode} +def draw_pcomma(suffix $)(expr sz, ar)= +% \end{macrocode} +% Draw a line of at |z$| of width |sz| sloping back and down at 45 degrees +% for a total width of |ar|. +% \begin{macrocode} + z$s = z$ shifted (0.5sz*left); + z$t = z$s shifted (sz*right); + x$v=x$s-ar; y$v=y$s-ar; + z$u = z$v shifted (sz*right); + pickup stylus; + filldraw z$s--z$t--z$u--cycle; + labels($s,$t,$u,$v); +enddef; % end of draw_pcomma + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_plq} +% A macro to draw a period left quote. +% |draw_plq(1,t,w)| draws a left quote placed at |z1| (the top), line width is |t| +% and bottom of line is |w| horizontally from |z1|. +% \begin{macrocode} +def draw_plq(suffix $)(expr sz, ar)= +% \end{macrocode} +% Draw a line of at |z$| of width |sz| sloping forward and down at 45 degrees +% for a total width of |ar|. +% \begin{macrocode} + z$s = z$ shifted (0.5sz*left); + z$t = z$s shifted (sz*right); + x$v=x$s+ar; y$v=y$s-ar; + z$u = z$v shifted (sz*right); + pickup stylus; + filldraw z$s--z$t--z$v--cycle; + labels($s,$t,$u,$v); +enddef; % end of draw_plq + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_small_zero} +% A macro to draw a (small) zero. +% |draw_small_zero(1,2)|, bottom left at |z1|, top right at |z2|. +% \begin{macrocode} +def draw_small_zero(suffix $, $$)= + x$szt=x$szb=1/2[x$,x$$]; x$szr=x$$; x$szl=x$; + y$szt=y$$; y$szb=y$; y$szl=y$szr=1/2[y$,y$$]; + draw z$szt..z$szr..z$szb..z$szl..cycle; + labels($,$szt,$szr,$szb,$szl); +enddef; % end of draw_small_zero + +% \end{macrocode} +% \end{routine} +% +% \subsection{Routines for accents} +% +% The next set of routines are for drawing accents and other decorations. +% +% \begin{routine}{draw_grave} +% A macro to draw a grave accent. +% |draw_grave(1)|, top at z1, angle |accent_angle|, +% with total drop of |accent_ysize|. +% \begin{macrocode} +def draw_grave(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$gab = x$ + accent_ysize*cos_accent_angle; + y$gab = y$ - accent_ysize*sin_accent_angle; + z$gam = 1/2[z$,z$gab]; + draw z$--z$gab; + pickup oldpen; + labels($,$gam,$gab); +enddef; % end of draw_grave + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_acute} +% A macro to draw an acute accent. +% |draw_acute(1)|, top at z1, angle |accent_angle|, +% with total drop of |accent_ysize|. +% \begin{macrocode} +def draw_acute(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$aab = x$ - accent_ysize*cos_accent_angle; + y$aab = y$ - accent_ysize*sin_accent_angle; + z$aam = 1/2[z$,z$aab]; + draw z$--z$aab; + pickup oldpen; + labels($,$aab,$aam); +enddef; % end of draw_acute + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_circumflex} +% A macro to draw a circumflex accent. +% |draw_circumflex(1)|, bottom at z1, angles |accent_angle|, with total drop of +% |accent_ysize|. +% \begin{macrocode} +def draw_circumflex(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$cabl = x$ - accent_ysize*cos_accent_angle; x$cabr - x$ = x$ - x$cabl; + y$cabl = y$cabr = y$; + y$catm = y$ + accent_ysize*sin_accent_angle; + x$catm = x$; + draw z$cabl--z$catm--z$cabr; + pickup oldpen; + labels($,$cabl,$cabr,$catm); +enddef; % end of draw_circumflex + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_hachek} +% A macro to draw a caron/hachek accent. +% |draw_hachek(1)|, bottom at z1, angles |accent_angle|, with total drop of +% |accent_ysize|. +% \begin{macrocode} +def draw_hachek(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$hatl = x$ - accent_ysize*cos_accent_angle; x$hatr - x$ = x$ - x$hatl; + y$hatl = y$hatr = y$ + accent_ysize*sin_accent_angle; + draw z$hatl--z$--z$hatr; + pickup oldpen; + labels($,$hatl,$hatr); +enddef; % end of draw_hachek + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_breve} +% A macro to draw a breve accent (a rounded hachek). +% |draw_breve(1)|, bottom at z1, angles |accent_angle|, with total drop of +% |accent_ysize|. +% \begin{macrocode} +def draw_breve(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$batl = x$ - accent_ysize*cos_accent_angle; x$batr - x$ = x$ - x$batl; + y$batl = y$batr = y$ + accent_ysize*sin_accent_angle; + draw z$batl..z$..z$batr; + pickup oldpen; + labels($,$batl,$batr); +enddef; % end of draw_hachek + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_ring} +% A macro to draw a ring accent. +% |draw_breve(1)|, top at z1, angles |accent_angle|, with total drop of +% |accent_ysize|. +% \begin{macrocode} +def draw_ring(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$rab = x$; y$rab = y$ - accent_ysize; + y$raml = y$ramr = 1/2[y$,y$rab]; + x$ramr - x$ = x$ - x$raml = 1/2accent_ysize; + draw z$..z$ramr..z$rab..z$raml..cycle; + pickup oldpen; + labels($,$ramr,$rab,$raml); +enddef; % end of draw_ring + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_dota} +% A macro to draw a dot accent. +% |draw_dota(1)|, top at z1, angles |accent_angle|, +% and diameter 1/2|accent_ysize|.. +% \begin{macrocode} +def draw_dota(suffix $)= + pen oldpen; oldpen:=currentpen; pickup stylus; + numeric dotalpha; dotalpha := 1/2accent_ysize; + x$dab = x$; y$dab = y$ - dotalpha; + y$daml = y$damr = 1/2[y$,y$dab]; + x$damr - x$ = x$ - x$daml = 1/2dotalpha; + draw_pdot($,12/16accent_ysize); + pickup oldpen; + labels($,$damr,$dab,$daml); +enddef; % end of draw_dota + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_dieresis} +% A macro to draw a dieresis (double dot) accent. +% |draw_ddota(1)|, top at z1, angles |accent_angle|, +% and diameter 1/2|accent_ysize|.. +% \begin{macrocode} +def draw_dieresis(suffix $)= + pen oldpen; oldpen:=currentpen; pickup stylus; + numeric ddotalpha; ddotalpha := 1/2accent_ysize; + x$ddab = x$; y$ddab = y$ - ddotalpha; z$ddam = 1/2[z$,z$ddab]; + y$'damr = y$''daml = y$ddam; x$''daml - x$ = x$ - x$'damr = 1/2accent_ysize; + y$drl=y$drr=y$ddam; x$drl = x$-10/16accent_ysize; x$drr=x$+10/16accent_ysize; + draw_pdot($drl,12/16accent_ysize); draw_pdot($drr,12/16accent_ysize); + pickup oldpen; + labels($,$ddam,$ddab); +enddef; % end of draw_dieresis + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_lumlaut} +% A macro to draw a long (Hungarian) umlaut accent. +% |draw_lumlaut(1)|, top at z1, angles |accent_angle|, +% and depth |accent_ysize|.. +% \begin{macrocode} +def draw_lumlaut(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$luab = x$; y$luab = y$ - accent_ysize; z$luam = 1/2[z$,z$luab]; + y$lualt = y$luart = y$; y$lualb = y$luarb = y$luab; + x$luarm - x$luam = x$luam - x$lualm = 1/2accent_ysize; + x$luart - x$luarb = accent_ysize*(cosd(70)) = x$lualt - x$lualb; + z$lualm = 1/2[z$lualt,z$lualb]; z$luarm = 1/2[z$luart,z$luarb]; + draw z$lualt--z$lualb; draw z$luart--z$luarb; + pickup oldpen; + labels($,$luam,$luab,$lualt,$lualb,$luart,$luarb); +enddef; % end of draw_lumlaut + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_tildea} +% A macro to draw a tilde accent. +% |draw_tildea(1)|, center at z1, angles |accent_angle|, +% and length |accent_ysize|.. +% \begin{macrocode} +def draw_tildea(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + y$tal=y$=y$tar; + x$tar - x$ = x$ - x$tal = 12/16accent_ysize; + draw z$tal{dir accent_angle}..z$..{dir accent_angle}z$tar; + pickup oldpen; + labels($,$tal,$tar); +enddef; % end of draw_tildea + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_macron} +% A macro to draw a macron (bar) accent. +% |draw_macron(1)|, center at z1, angles |accent_angle|, +% and length |accent_ysize|.. +% \begin{macrocode} +def draw_macron(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + y$mal=y$=y$mar; + x$mar - x$ = x$ - x$mal = 1/2accent_ysize; + draw z$mal--z$mar; + pickup oldpen; + labels($,$mal,$mar); +enddef; % end of draw_macron + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_cedilla} +% A macro to draw a cedilla. +% |draw_cedilla(1)|, top at z1, angles |accent_angle|, +% and length |accent_ysize|.. +% \begin{macrocode} +def draw_cedilla(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$cedc=x$; y$cedc= y$-accent_ysize; + x$ceda=x$; y$ceda=4/16[y$,y$cedc]; + x$cedb=x$+8/16accent_ysize; y$cedb=1/2[y$ceda,y$cedc]; + x$cedd=x$cedc-2/16accent_ysize; y$cedd=y$cedc-1/16accent_ysize; + draw z$--z$ceda; draw z$ceda..z$cedb..z$cedc..z$cedd; + pickup oldpen; + labels($,$ceda,$cedb,$cedc,$cedd); +enddef; % end of draw_cedilla + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_ogonek} +% A macro to draw an ogonek. +% |draw_ogonek(1)|, top at z1, angles |accent_angle|, +% and length |accent_ysize|.. +% \begin{macrocode} +def draw_ogonek(suffix $)= + pen oldpen; oldpen:=currentpen; pickup accentpen; + x$ogc=x$; y$ogc= y$-accent_ysize; + x$oga=x$; y$oga=2/16[y$,y$ogc]; + x$ogb=x$-8/16accent_ysize; y$ogb=1/2[y$oga,y$ogc]; + x$ogd=x$ogc+4/16accent_ysize; y$ogd=y$ogc+2/16accent_ysize; + draw z$..z$ogb..z$ogc..z$ogd; + pickup oldpen; + labels($,$oga,$ogb,$ogc,$ogd); +enddef; % end of draw_ogonek + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_leftguill} +% A macro to draw a left guillemot. +% |draw_leftquill(1, gh, gw)|, bottom at z1, height and width |gh| and |gw|. +% \begin{macrocode} +def draw_leftguill(suffix $)(expr gh, gw)= + x$lgqt=x$; y$lgqt= y$+gh; + x$lgqm=x$-gw; y$lgqm=1/2[y$,y$lgqt]; + draw z$--z$lgqm--z$lgqt; + labels($,$lgqm,$lgqt); +enddef; % end of draw_leftguill + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_rightguill} +% A macro to draw a right guillemot. +% |draw_rightguill(1, gh, gw)|, bottom at z1, height and width |gh| and |gw|. +% \begin{macrocode} +def draw_rightguill(suffix $)(expr gh, gw)= + x$rgqt=x$; y$rgqt= y$+gh; + x$rgqm=x$+gw; y$rgqm=1/2[y$,y$rgqt]; + draw z$--z$rgqm--z$rgqt; + labels($,$rgqm,$rgqt); +enddef; % end of draw_rightguill + +% \end{macrocode} +% \end{routine} +% +% \subsection{Routines for alphabetic characters} +% +% The next set of routines are for drawing characters. +% +% \begin{routine}{draw_a} +% Draw the `a' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_a(suffix $,$$)= + lft x1=x$+2jut; rt x2=x$$; + top y1=y$$; bot y2=y$; +% for the bowl + z3=3/4[z2,z1]; + x5=lft x3; y5=bot y3; + z13=1/2[z2,z1]; + x15=lft x13; y15=bot y13; + if ductus: + pickup stylus; + fi + draw_istem(1,2,srad); % the stem + pickup thickstylus; % for the bowl + lft x4=x$; bot y4=y$; + z14=0.2[z4,z5]; + draw z14{pdir}...{z5-z4}z15; % bowl bottom + draw z5--z4; % bowl top + labels(1,2,3,4,5,13,14,15); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_a} +% Draw the `a' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_a_save(suffix $,$$)= + lft x1=x$; rt x2=x$$; + top y1=y$$; bot y2=y$; +% for the bowl + z3=3/4[z2,z1]; + x5=lft x3; y5=bot y3; + z13=1/2[z2,z1]; + x15=lft x13; y15=bot y13; + if ductus: + pickup stylus; + fi + draw_istem(1,2,srad); % the stem + pickup thickstylus; % for the bowl + lft x4=pcshiftx; bot y4=0; + z14=0.2[z4,z5]; + draw z14{pdir}...{z5-z4}z15; % bowl bottom + draw z5--z4; % bowl top + labels(1,2,3,4,5,13,14,15); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_at} +% Draw the commercial at character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_at(suffix $,$$)= + lft x1=2/3[x$,x$$]; rt x2=x$$; + top y1=y$$; bot y2=y$; +% for the bowl + z3=3/4[z2,z1]; + x5=lft x3; y5=bot y3; + z13=1/2[z2,z1]; + x15=lft x13; y15=bot y13; + if ductus: + pickup stylus; + fi + draw_tstem(3,2,srad); % the stem + pickup thickstylus; % for the bowl + lft x4=1/3[x$,x$$]; bot y4=y$; + z14=0.2[z4,z5]; + draw z14{pdir}...{z5-z4}z15; % bowl bottom + draw z5--z4; % bowl top +%% the loop + pickup quill; + lft x201=x$; y201=1/2[y$,y$$]; + x203=1/2[x4,x2]; y203=y$-1/2desc_depth; + draw z3..{down}z201..{right}z203; + labels(1,2,3,4,5,13,14,15,201,202,203); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_aesc} +% Draw the aesc character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_aesc(suffix $,$$)= + lft x1=1/3[x$,x$$]; rt x2=2/3[x$,x$$]; + top y1=y$$; bot y2=y$; +% for the bowl + z3=3/4[z2,z1]; + x5=lft x3; y5=bot y3; + z13=1/2[z2,z1]; + x15=lft x13; y15=bot y13; + if ductus: + pickup stylus; + fi + draw_istem(1,2,srad); % the stem + pickup thickstylus; % for the bowl + lft x4=x$; bot y4=y$; + z14=0.2[z4,z5]; + draw z14{pdir}...{z5-z4}z15; % bowl bottom + draw z5--z4; % bowl top +%% the e + pickup quill; + lft x101=x13; rt x103=x$$; x102=x104=1/2[x101,x103]; + top y102=y$$; bot y104=y$; +%% y101=y103=1/2[y$,y$$]; + y101=y103=y13; + x105=x106=x103; + y105=0.1[y$,y$$]; + top y106=0.95[y$,y$$]; y106'=top y106; y106''=bot y106; x106''=lft x106; +% the serif + pickup stylus; + rt x116=x$$; top y116=y106'; + x117=x106; y117=y116-jut; + lft x118=x106''; bot y118=y106''; + pickup quill; +% the bar + x107=x101; y107=y101; + x108=x$$; y108=y107; + if ductus: + pickup stylus; + fi + draw z106..z102..z101..z2a; % the bowl + pickup stylus; + filldraw z117..z118--z116--cycle; % the serif + draw_fork(101,108,jut); % the bar + labels(1,2,3,4,5,13,14,15,101,102,103,104,105,106,107); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_b} +% Draw a `b' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_b(suffix $,$$)= + lft x1=lft x2=x$; + top y1=y$$; bot y2=y$; +% lower bowl + rt x4=x$$; y4=1/3[y$,y$$]; + lft x5=rt x1+2thin; y5=2/3[y$,y$$]; + z6=z1; + rt x7=0.67[x1,x4]; y7=y6; + x9=rt x7-thin; y9=h-thin; + x8=lft x5+thin; y8=bot y5+thin; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % the stem + draw z2{right}..z4{up}..{left}z5; % bottom bowl + draw z6--z7; % top bowl + pickup stylus; + draw z9--z8; + penlabels(1,2,3,4,5,6,7,8,9,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_c} +% Draw a `c' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_c(suffix $,$$)= + lft x1=x$; rt x3=x$$; x2=x4=1/2[x1,x3]; + top y2=y$$; bot y4=y$; y1=y3=1/2[y$,y$$]; + x5=x6=x3; + y5=0.1[y$,y$$]; + top y6=0.95[y$,y$$]; y6'=top y6; y6''=bot y6; x6''=lft x6; +% the serif + pickup stylus; + rt x16=x$$; top y16=y6'; + x17=x6; y17=y16-jut; + lft x18=x6''; bot y18=y6''; + pickup quill; + if ductus: + pickup stylus; + fi + draw z5{-pdir}..{left}z4..z1..z2..z6; + pickup stylus; + filldraw z17..z18--z16--cycle; + penlabels(1,2,3,4,5,6,16,17,18,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_d} +% Draw a `d' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_d(suffix $,$$)= + lft x1=x$; rt x3=x$$; + bot y4=y$; top y5=y$$; + x2=x4=1/2[x1,x3]; top y2=3/4[y$,y$$]; + y1=y3=0.5[y4,y2]; + x5=x1; + if ductus: + pickup stylus; + fi + draw z2{-pdir}..z1{down}..z4{right}..z3{up}..z5; + penlabels(0,1,2,3,4,5,6,7,8,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_dyet} +% Draw a `dyet' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_dyet(suffix $,$$)= + lft x1=x$; rt x3=x$$; + bot y4=y$; top y5=y$$; + x2=x4=1/2[x1,x3]; top y2=3/4[y$,y$$]; + y1=y3=0.5[y4,y2]; + x5=x1; + path p[]; + p1=z2{-pdir}..z1{down}..z4{right}..z3{up}..z5; + if ductus: + pickup stylus; + fi + draw p1; +% the bar + x11=1/2[x5,x2]; y11=1/2[y2,y5]; + x12=x11; y12-y666 = y666-y11; + draw z11--z12; + penlabels(0,1,2,3,4,5,6,7,8,10,11,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_e} +% Draw an `e' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_e(suffix $,$$)= + lft x1=x$; rt x3=x$$; x2=x4=1/2[x1,x3]; + top y2=y$$; bot y4=y$; y1=y3=1/2[y$,y$$]; + x5=x6=x3; + y5=0.1[y$,y$$]; + top y6=0.95[y$,y$$]; y6'=top y6; y6''=bot y6; x6''=lft x6; +% the serif + pickup stylus; + rt x16=x$$; top y16=y6'; + x17=x6; y17=y16-jut; + lft x18=x6''; bot y18=y6''; + pickup quill; +% the bar + x7=x1; y7=y1; + x8=x$$; y8=y7; + if ductus: + pickup stylus; + fi + draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl + pickup stylus; + filldraw z17..z18--z16--cycle; % the serif + draw_fork(7,8,jut); % the bar + ductus:=false; + penlabels(1,2,3,4,5,6,7,8,9,10,16,17,18,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_ethel} +% Draw an `ethel' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_ethel(suffix $,$$)= + lft x1=1/2[x$,x$$]; rt x3=x$$; x2=x4=1/2[x1,x3]; + top y2=y$$; bot y4=y$; y1=y3=1/2[y$,y$$]; + x5=x6=x3; + y5=0.1[y$,y$$]; + top y6=0.95[y$,y$$]; y6'=top y6; y6''=bot y6; x6''=lft x6; +% the serif + pickup stylus; + rt x16=x$$; top y16=y6'; + x17=x6; y17=y16-jut; + lft x18=x6''; bot y18=y6''; + pickup quill; +% the bar + x7=x1; y7=y1; + x8=x$$; y8=y7; + if ductus: + pickup stylus; + fi + draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl + pickup stylus; + filldraw z17..z18--z16--cycle; % the serif + draw_fork(7,8,jut); % the bar +%% the O + pickup quill; + lft x101=x$; rt x103= x1; y101=1/2[y$,y$$]; y103=y1; + x102 = x104 = 1/2[x101,x103]; y102=y$$; y104=y$; + draw z101..z102..z103..z104..cycle; + ductus:=false; + penlabels(1,2,3,4,5,6,7,8,9,10,16,17,18,101,102,103,104); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_f} +% Draw an `f' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% and |$$$| is lower left of the descender box. +% \begin{macrocode} +def draw_f(suffix $,$$,$$$)= +% stem + lft x$Ft=lft x$Fb= x$; % 1 = Ft, 2 = Fb + top y$Ft=y$$; bot y$Fb=y$$$; +% bars + x$Ftl=x$Fml=x$Ft; y$Ftl=y$Ft; bot y$Fml=y$; % 3 = Ftl, 4 = Fml + rt x$Ftr= rt x$Fmr=x$$; y$Ftr=y$Ftl; y$Fmr=y$Fml; % 5 = Ftr, 6 = Fmr +% triangles + x$Ftrt=x$Fmrt=rt x$Ftr-1/2thin; % 15 = Ftrt, 16 = Fmrt + y$Ftrt=y$Ftr; y$Fmrt=y$Fmr; + if ductus: + pickup stylus; + fi + draw_tlserif($Ft,$Fb,srad); % stem + draw_tail($Fb,jut); + draw z$Ftl--z$Ftr; % top bar + draw_rtriangle($Ftrt,jut); + draw z$Fml--z$Fmr; % bottom bar + draw_rtriangle($Fmrt,jut); + penlabels(1,2,3,4,5,6,15,16,100,$Ft,$Fb,$Ftl,$Fml,$Ftr,$Fmr,$Ftrt,$Fmrt); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_g} +% Draw a `g' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% and |$$$| is lower left of the descender box. +% \begin{macrocode} +def draw_g(suffix $,$$,$$$)= +% the bowl + lft x1=x$; rt x3=x$$; y1=y3=1/2[y$,y$$]; + x2=x4=1/2[x$,x$$]; top y2=y$$; bot y4=y$; + x5=x6=x3; + y5=0.1[y$,y$$]; + top y6=0.95[y$,y$$]; y6'=top y6; y6''=bot y6; x6''=lft x6; +% the serif + pickup stylus; + rt x16=x$$; top y16=y6'; + x17=x6; y17=y16-jut; + lft x18=x6''; bot y18=y6''; + pickup quill; +% the stem + x7=rt x5-1/2thin; y7=top y5-1/2thin; + pickup stylus; + lft x8=1/2[x$,x$$]; bot y8=y$$$; + pickup quill; + pair vec[]; vec1:=z7-z8; vec2:=z8-z7; + y21=y8+3/2thick; z21=whatever[z8,z7]; + y22=y8+ thick; z22=whatever[z8,z7]; + x23=x8-thick; y23=y8; + x24=x23+1/2thick; y24=y23+1/2thick; + if ductus: + pickup stylus; + fi + draw z5{-pdir}..{left}z4..z1..z2..z6; % the bowl + pickup stylus; + filldraw z17..z18--z16--cycle; % the serif + draw z7--z22; % the stem + filldraw z22{vec2}..{left}z23--z24{right}..{vec1}z21--cycle; + penlabels(1,2,3,4,5,6,7,8,16,17,18,21,22,23,24,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_h} +% Draw an `h' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_h(suffix $,$$)= + lft x1=lft x2=x$; + top y1=y$$; bot y2=y$; +% bowl + rt x5=x$$; y5=3/8[y$,y$$]; + lft x6=2/3[x$,x$$]; bot y6=y$; + x4=0.5[x1,x5]; top y4=3/4[y$,y$$]; + x4'=0.5[x4,x1]; y4'=y4; + z4''=z4' shifted (-w*pdir); + z3'=whatever[z4',z4'']=whatever[z1,z2]; + x3=rt x3'; y3=y3'; + if ductus: + pickup stylus; + fi + draw_istem(1,2,srad); % stem + draw z3{pdir}..z4{right}..z5{down}..z6; % bowl + penlabels(1,2,3,4,5,6,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_i} +% Draw an `i' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_i(suffix $,$$)= + lft x$It=lft x$Ib=x$; % 1 = $It, 2 = $Ib + top y$It=y$$; bot y$Ib=y$; + draw_tlserif($It,$Ib,srad); + draw_tail($Ib,jut); + penlabels(1,2,$It,$Ib,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_j} +% Draw a `j' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_j(suffix $,$$)= + lft x$Jt=lft x$Jb=x$; % 1 = Jt, 2 = Jb + top y$Jt=y$$; bot y$Jb=y$; + draw_tlserif($Jt,$Jb,srad); + draw_tail($Jb,jut); + penlabels($Jt,$Jb); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_k} +% Draw a `k' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_k(suffix $,$$)= + lft x1=lft x2=x$; top y1=y$$; bot y2=y$; +% for the flick + numeric rise,fall,fjut; + x3=rt x1; y3=5/8[y$,y$$]; + rise:=1/6[y$,y$$]; fall:=-rise/2; fjut:=1/2[x$,x$$]; +% for the leg + z4=z3; + x5=x$$; y5=y$; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % stem + draw_tail(2,jut); + draw_flick(3,rise,fall,fjut); % upper diag + draw_tstem(4,5,srad); % lower diag + penlabels(1,2,3,4,5,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_l} +% Draw an `l' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_l(suffix $,$$)= + lft x$Lt=lft x$Lb= x$; % 1 = Lt, 2 = Lb + top y$Lt=y$$; bot y$Lb=y$; + z$Lbl=z$Lb; % 3 = Lbl + x$Lbr=x$$; y$Lbr=y$; % 4 = Lbr + draw_tlserif($Lt,$Lb,srad); % the stem + draw_fork($Lbl,$Lbr,jut); % the foot + penlabels($Lt,$Lb,$Lbl,$Lbr); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_pound} +% Draw a pound (sterling) symbol. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_pound(suffix $,$$)= + lft x$pst=lft x$psb= x$; + top y$pst=y$$-thick; bot y$psb=y$; + z$psm=z$psb; + x$psr=x$$; y$psr=y$; + draw z$psb--z$pst; % the stem + draw_fork($psm,$psr,jut); % the foot +% top arch + x$pstr=3/4[x$,x$$]; top y$pstr=y$$; + draw z$pstr..{down}z$pst; +% bar + lft x$psbl= x$-jut; y$psbl = y$psbr = 2/3[y$psb,y$pst]; + x$psbr - x$pst = (2x$pst - x$psbl); + draw z$psbl--z$psbr; + penlabels($pst,$psb,$psm,$psr,$pstr,$psbl,$psbr,1,2,3,4,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_m} +% Draw an `m' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_m(suffix $,$$)= + lft x2= x$; y2=1/2[y$,y$$]; + rt x8=x$$; y8=y2; + rt x1=1/4w; bot y1=0; + x4=1/2[x$,x$$]; y4=2/3[y$,y$$]; + x3=0.5[x2,x4]; top y3=y$$; + x5=x4; y5=y1; + z6=z4; + x7=3/4[x$,x$$]; top y7=y$$; + lft x9=3/4[x$,x$$]; y9=y1; + if ductus: + pickup stylus; + fi + draw z1..z2{up}..z3{right}..{down}z4; % left half + draw_tstem(4,5,srad); % middle stem + draw z6..z7{right}..z8{down}..{-pdir}z9; % right half + ductus:=false; + penlabels(1,2,3,4,5,6,7,8,9,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_n} +% Draw an `n' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_n(suffix $,$$)= +% left stem + lft x$nlt=x$; top y$nlt=y$$; %% nlt = 1 + x$nlb=x$nlt; bot y$nlb=y$; %% nlb = 2 +% right stem + rt x$nrt=x$$; y$nrt=y$nlt; %% nrt = 4 + x$nrb=x$nrt; bot y$nrb=y$; %% nrb = 3 + if ductus: + pickup stylus; + fi + draw_tlserif($nlt,$nlb,srad); % left stem + draw_tail($nlb,jut); + draw_istem($nrt,$nrb,srad); % right stem + draw z$nlt--z$nrb; % diagonal + penlabels($nlt,$nlb,$nrt,$nrb); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_eng} +% Draw an `eng' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_eng(suffix $,$$,$$$)= +draw_n($,$$); +x$nge=2/3[x$nlb,x$nrb]; y$nge = y$$$; x$ngf=1/3[x$nlb,x$nrb]; +y$ngf = 1/2[y$nrb,y$nge]; +draw z$nrb{down}..z$nge..z$ngf; +%% undraw the bottom serif +pickup stylus; +lft x$nglt= lft x$nglb=x$$; rt x$ngrb=rt x$ngrt = x$$+jut; +top y$nglt = top y$ngrt = y$$; bot y$nglb = bot y$ngrb = y$; +path pu[]; +pu1 = z$nglt--z$nglb--z$ngrb--z$ngrt--cycle; +unfilldraw pu1; unfilldraw pu1; +penlabels($nge,$ngf,$nglt,$nglb,$lgrb,$ngrt); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_o} +% Draw an `o' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_o(suffix $,$$)= + lft x1=x$; rt x3=x$$; y1=y3=1/2[y$,y$$]; + x2=x4=1/2[x$,x$$]; top y2=y$$; bot y4=y$; + if ductus: + pickup stylus; + fi + draw z1..z2..z3..z4..cycle; + penlabels(1,2,3,4,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_p} +% Draw a `p' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% |$$$| is base of descender box. +% \begin{macrocode} +def draw_p(suffix $,$$,$$$)= +% stem + lft x1=lft x2=x$; top y1=y$$; bot y2=y$$$; +% bowl + z3=z1; + rt x5=x$$; y5=1/2[y$,y$$]; + lft x7=rt x1; bot y7=y$; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % stem + draw_tail(2,jut); + draw z3{pdir}..z5{down}..{-pdir}z7; % bowl + penlabels(1,2,3,4,5,6,7,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_q} +% Draw a `q' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% |$$$| is base of descender box. +% \begin{macrocode} +def draw_q(suffix $,$$,$$$)= +% right stem + rt x1=rt x2=x$$; top y1=y$$; bot y2=y$$$; +% bowl + z3=z1; + lft x5=x$; y5=1/2[y$,y$$]; + rt x7=lft x1; y7=0.1[y$,y$$]; + if ductus: + pickup stylus; + fi + draw z1--z2; % right stem + draw_tail(2,jut); + draw z3{left}..z5{down}..{pdir}z7; % bowl + penlabels(1,2,3,4,5,6,7,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_pilcrow} +% Draw a pilcrow character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% |$$$| is base of descender box. +% \begin{macrocode} +def draw_pilcrow(suffix $,$$,$$$)= +% right stem + rt x1=rt x2=x$$; top y1=y$$; bot y2=y$$$; +% bowl + x3=x1; y3=y1-thick; + lft x5=x$; y5=1/2[y$,y$$]; + rt x7=lft x1; y7=0.1[y$,y$$]; + lft x15=rt x5; y15=y5; + if ductus: + pickup stylus; + fi + draw z1--z2; % right stem + draw_tail(2,jut); + draw z3{left}..z5{down}..{pdir}z7; % bowl + draw z3{left}..z15{down}..{pdir}z7; % bowl + penlabels(1,2,3,4,5,6,7,15,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_r} +% Draw an `r' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_r(suffix $,$$)= +% stem + lft x1=lft x2=x$; top y1=y$$; bot y2=y$; +% bowl + lft x3=rt x1-thin; y3=y1; + rt x5=3/4[x$,x$$]; y5=3/4[y$,y$$]; + lft x7=rt x1; bot y7=1/3[y$,y$$]; +% leg + z8=z7; + rt x9=x$$; bot y9=y$; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % stem + draw_tail(2,jut); + draw z3{pdir}..z5{down}..{-pdir}z7; % bowl + draw z8{-ppdir}..{right}z9; % leg + penlabels(1,2,3,4,5,6,7,8,9,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_s} +% Draw an `s' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_s(suffix $,$$)= + rt x$Sa=x$$; top y$Sa=y$$-thin; % a = 1 + x$Sb=1/2[x$,x$$]; top y$Sb=y$$; % b = 2 + lft x$Sc=x$; y$Sc=0.75[y$,y$$]; % c = 3 + x$Sd=x$Sb; y$Sd=1/2[y$,y$$]; % d = 4 + x$Se=x$Sa; y$Se=0.25[y$,y$$]; % e = 5 + x$Sf=x$Sb; bot y$Sf=y$; % f = 6 + x$Sg=x$Sc; bot y$Sg = y$+thin; % g = 7 + path p[]; + p1=z$Sa..z$Sb{left}..z$Sc{down}..z$Sd..z$Se{down}..z$Sf{left}..z$Sg; + pair vec[]; + vec1= direction 0 of p1; + vec2= direction (length p1) of p1; + z$Saa=z$Sa shifted vec1; % aa = 11 + z$Sgg=z$Sg shifted -vec2; % gg = 17 + y$Sf'=top y$Sa; y$Sf''=bot y$Sa; x$Sf''=lft x$Sa; +% the serif + pickup stylus; + rt x$Sfff=x$$; top y$Sfff=y$Sf'; % 26 = fff + x$Sggg=x$Sa; y$Sggg=y$Sfff-0.75jut; % 27 = ggg + lft x$Shhh=x$Sf''; bot y$Shhh=y$Sf''; % 28 = hhh + pickup quill; + if ductus: + pickup stylus; + fi + draw p1; % the curve + pickup stylus; + filldraw z$Sggg..z$Shhh--z$Sfff--cycle; % the serif + penlabels($Sa,$Sb,$Sc,$Sd,$Se,$Sf,$Sg,$Saa,$Sgg,$Sfff,$Sggg,$Shhh); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_eszett} +% Draw an eszett. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_eszett(suffix $,$$,$$$)= + lft x1 = lft x2 = x$; bot y1 = y$$$; y2 = y$$-2thick; + top y3=y$$; rt x4 = rt x6 = x$$; x3 = 1/2[x2,x4]; + lft x5 = lft x7 = x1+thick; + bot y7 = y$; y5 = 1/2[y7,y3]; + y4 = 1/2[y5,y3]; y6 = 1/2[y7,y5]; + if ductus: + pickup stylus; + fi + draw z1--z2{up}..z3{right}..z4{down}..{-pdir}z5; + draw z5{right}..z6{down}..{left}z7; + draw_tail(1,jut); + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_section} +% Draw a section symbol. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_section(suffix $,$$,$$$)= + rt x1 = rt x11 = x666; top y1 = top y11 = y666; + lft x5 = lft x15 = x555; bot y5 = bot y15 = y$$$; + x12=x15; x4 = x1; + y3 = 1/2[y5,y1] + 1/2thick; y13 = y3-thick; + y2=1/2[y3,y1]; y4 = 1/2[y5,y3]; + y12=1/2[y13,y11]; y14=1/2[y15,y13]; + x2=x12+thick; x14=x4-thick; + x3=1/2[x2,x4]; x13 = 1/2[x12,x14]; + if ductus: + pickup stylus; + fi + draw z1..z2..z3..z4..z5; + draw z11..z12..z13..z14..z15; + penlabels(1,2,3,4,5,11,12,13,14,15); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_t} +% Draw a `t' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_t(suffix $,$$)= +%% x1=x2=1/2[x$,x$$]; +%% top y1=y$$; bot y2=y$; +%% lft x3=x$; rt x4=x$$; y3=y4=y1; +%% x5=x$+0.5jut; y5=y$$-1/2thin; +%% x6=x$$-1/2thin; y6=y5; +%% if ductus: +%% pickup stylus; +%% fi +%% draw_tstem(1,2,srad); % stem +%% draw z3--z4; % top bar +%% draw_triangle(5,jut); draw_rtriangle(6,jut); +%% penlabels(1,2,3,4,5,100); + x184=x284=1/2[x$,x$$]; + top y184=y$$; bot y284=y$; + lft x384=x$; rt x484=x$$; y384=y484=y184; + x584=x$+0.5jut; y584=y$$-1/2thin; + x684=x$$-1/2thin; y684=y584; + if ductus: + pickup stylus; + fi + draw_tstem(184,284,srad); % stem + draw z384--z484; % top bar + draw_triangle(584,jut); draw_rtriangle(684,jut); + penlabels(184,284,384,484,584,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_u} +% Draw a `u' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_u(suffix $,$$)= +% left half first + lft x6=x$+jut; top y6=y$$-2thin; + lft x7=x$; y7=1/2[y$,y$$]; + x8=0.5[x6,x1]; bot y8=y$; +% the stem + rt x1=x$$; top y1=y$$; + x2=x1; bot y2=y$; +% construction points for the curved part + x5=0.5[x8,x1]; y5=y8; + z5'=z5 shifted (w*pdir); + path p[]; + p1=z5--z5'; + p2=z1--z2; + z9= p2 intersectionpoint p1; + pair vec[]; + p3=z6..z7{down}..{right}z8; + vec3 = direction 0 of p3; + z16=z6 shifted vec3; + if ductus: + pickup stylus; + fi +% draw the serifs, then the bowls + draw_serif(6,16,srad); % left half + draw z6a..z7{down}..z8{right}..{pdir}z9; + draw_istem(1,2,srad); % right stem + penlabels(1,2,3,4,5,6,7,8,9,11,16,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_v} +% Draw a `v' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_v(suffix $,$$)= +% right side of W + numeric midx; midx:= pcshiftx; + lft x1=x$; top y1=y$$; + x2=x1; y2=1/2[y$,y$$]; + rt x4=x$$; y4=y2; + x3=0.5[x2,x4]; bot y3=y$; + x5=x4-thick; y5=y1; + if ductus: + pickup stylus; + fi +% draw the serifs, then the bowls + draw_tlserif(1,2,srad); + draw z2{down}..z3{right}..z4{up}..z5; + penlabels(1,2,3,4,5,11,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_w} +% Draw a `w' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_w(suffix $,$$)= +% right side first + numeric midx; midx:= 1/2[x$,x$$]-jut; + lft x1=midx+jut; top y1=y$$; + x2=x1; y2=1/2[y$,y$$]; + rt x4=x$$; y4=y2; + x3=0.5[x2,x4]; bot y3=y$; + x5=x4-thick; y5=y1; +% left side + lft x6=x$+jut; + top y6=y$$-2thin; + lft x7=x$; y7=y2; + x8=0.5[x7,x1]; y8=y3; +% construction points + x15=0.5[x8,x1]; y15=y8; + z15'=z15 shifted (w*pdir); + x2'=x2; y2'=y15; + path p[]; + p1=z1--z2'; + p2=z15--z15'; + z9= p2 intersectionpoint p1; + pair vec[]; + p3=z6..z7{down}..{right}z8; + vec3 = direction 0 of p3; + z16=z6 shifted vec3; + if ductus: + pickup stylus; + fi +% draw the serifs, then the bowls + draw_tlserif(1,2,srad); % right half + draw z2{down}..z3{right}..z4{up}..z5; + draw_serif(6,16,srad); % left half + draw z6a..z7{down}..z8{right}..z9; + penlabels(1,2,3,4,5,6,7,8,9,11,16,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_x} +% Draw an `x' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_x(suffix $,$$,$$$)= +% thick diagonal + lft x1=x$+jut; rt x2=x$$-jut; + y1=y$$; y2=y$; +% thin diagonal + lft x3=x$; bot y3=y$$$; + rt x5=x$$; top y5=y$$; + if ductus: + pickup stylus; + fi + draw_istem(1,2,srad); % thick diagonal + draw z3..{pdir}z5; % thin diagonal + penlabels(1,2,3,4,5,6,7,8,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_y_base} +% Draw a dotless `y' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_y_base(suffix $,$$,$$$)= +% left stroke + lft x1=x$+jut; top y1=y$$; + rt x2=3/4[x$,x$$]; top y2=y$; +% right stroke + pickup stylus; + rt x3=x$$; top y3=y$$; + lft x4=x$; bot y4=y$$$; + x5=x3-3thin; y5=y3; + x7=x2-3/2thin; y7=y2; + pickup quill; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % left stroke + pickup stylus; + filldraw z3..z2..z4 & z4..z7..z5--cycle; % right stroke + penlabels(1,2,3,4,5,6,7,8,9,10,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% \begin{routine}{draw_y} +% Draw a `y' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_y(suffix $,$$,$$$)= + draw_y_base($,$$,$$$); + x8=1/2[x$,x$$]; y8=y$$+jut; + draw_pdot(8,dot_size); % the dot + penlabels(8); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_z} +% Draw a `z' character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% \begin{macrocode} +def draw_z(suffix $,$$)= + % bottom stroke + lft x4=x$; bot y4=y$; + x6=x$$; y6=y$; +% top stroke + x1=x4; top y1=y$$; + rt x3=6/7[x$,x$$]; y3=y1; + x11=x$+0.5jut; y11=y$$-thin/2; + if ductus: + pickup stylus; + fi + draw z1--z3; % top stroke + draw_triangle(11,jut); + draw_fork(4,6,jut); + draw z4--z3; % diagonal + penlabels(1,2,3,4,5,6,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% \begin{routine}{draw_thorn} +% Draw a thorn character. +% |$| and |$$| are the lower left and upper right of the character's `box'. +% |$$$| is base of descender box. +% \begin{macrocode} +def draw_thorn(suffix $,$$,$$$)= +% stem + lft x1=lft x2=x$; top y1=y$$; bot y2=y$$$; +% bowl + lft x7=rt x1; bot y7=y$; + x3=x1; y1-y3 = y7-y2; + rt x5=x$$; y5=1/2[y3,y7]; + if ductus: + pickup stylus; + fi + draw_tlserif(1,2,srad); % stem + draw_tail(2,jut); + draw z3{pdir}..z5{down}..{-pdir}z7; % bowl + penlabels(1,2,3,4,5,6,7,100); +enddef; + +% \end{macrocode} +% \end{routine} +% +% +% +% +% \subsection{Mode, setup and input files} +% +% +% Set the mode and font setup. +% \begin{macrocode} +font_coding_scheme:="TeXB1"; +mode_setup; +auncial_font_setup; + +% \end{macrocode} +% +% +% We generate letters, together with some punctuation and +% analphabetics. +% \begin{macrocode} +input auncllow; % characters below ASCII +input aunclsci; % ASCII character set +input aunclmid; % bottom of top half +input auncltop; % top of top half + +% \end{macrocode} +% +% \subsection{Ligatures} +% +% The open and close double quotes, and the en- and em-dashes. +% \begin{macrocode} +%%ligtable "`": "`"=:oct"134"; +%%ligtable "'": "'"=:oct"042"; %% , "?" kern 2u#, "!" kern 2u#; +%%ligtable "-": "-"=:oct"173"; +%%ligtable oct"173": "-"=:oct"174"; +ligtable "`": "`"=:oct"020"; %% open quotes +ligtable "'": "'"=:oct"021"; %% close quotes +%% , "?" kern 2u#, "!" kern 2u#; +ligtable "-": "-"=:oct"025"; %% en-dash +ligtable oct"025": "-"=:oct"026"; %% em-dash + +% \end{macrocode} +% +% Other ligatures are possible in the following slots.. +% +% \begin{macrocode} +%%ligtable oct"240": "t"=oct"223"; +%%ligtable "e": "t"=oct"247"; +%%ligtable "s": "t"=oct"263"; +%%ligtable "c": "t"=oct"265"; +%%ligtable =oct"223"; +%%ligtable =oct"225"; + +% \end{macrocode} +% +% Finally, do the uppercase ligtable. +% +% \begin{macrocode} +font_slant slant; font_x_height x_height#; +if monospace: font_normal_space 9u#; % no stretching or shrinking + font_quad 18u#; + font_extra_space 9u#; +else: font_normal_space 6u#+2letter_fit#; + font_normal_stretch 3u#; font_normal_shrink 2u#; + font_quad 18u#+4letter_fit#; + font_extra_space 2u#; + k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning +%% ligtable "P": "T": "Y": "A" kern kk#; +%% ligtable "F": "V": "W": "A" kern if serifs: kkk# else: kk#fi, +%% "K": "X": "O" kern k#, "C" kern k#, "G" kern k#, "Q" kern k#; +%% ligtable "O": "D": "X" kern k#, "W" kern k#, "A" kern k#, +%% "V" kern k#, "Y" kern k#; +%% ligtable "A": if serifs: "R": fi +%% "C" kern k#, "O" kern k#, "G" kern k#, "U" kern k#, "Q" kern k#, +%% "L": "T" kern kk#, "Y" kern kkk#, "V" kern kk#, "W" kern kkk#; +%%ligtable "I": "I" kern -k#; % Richard III +fi + +bye. + +%</mfd> +% \end{macrocode} +% +% +% \Finale +% +\endinput + +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} + + diff --git a/fonts/auncial-new/tryauncial.pdf b/fonts/auncial-new/tryauncial.pdf Binary files differnew file mode 100644 index 0000000000..5b5d24db57 --- /dev/null +++ b/fonts/auncial-new/tryauncial.pdf diff --git a/fonts/auncial-new/tryauncial.tex b/fonts/auncial-new/tryauncial.tex new file mode 100644 index 0000000000..4994998d62 --- /dev/null +++ b/fonts/auncial-new/tryauncial.tex @@ -0,0 +1,29 @@ +% tryfont.tex Test Artificial Uncial fonts +\documentclass{article} +\usepackage[B1,T1]{fontenc} +\usepackage{auncial} +\usepackage{fonttable} + +\title{Try Artificial Uncial Fonts} +\author{Peter Wilson} +\date{} +\begin{document} +\maketitle + + This provides a short test of the characters in the Artificial Uncial fonts +--- the \verb?auncl? font family. Pen angle 10 degrees, 5 and 3.5 nibs for +normal and bold versions. + + +\begin{figure} +\decimals\nohexoct +\centering +\caption{Font table} +\fonttable{auncl10} +\end{figure} + +%\fulltext +\regulartext{\aunclfamily} + +\end{document} + |