diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:51:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:51:06 +0000 |
commit | 270cc45edcd93dc6e6731cd53495b709b5f5f11f (patch) | |
tree | 80f193c9bcd17a98ec650959d0a57c859b11280d /Master/texmf-dist/source/latex/bayer | |
parent | bf7e5eda82d5177d838d28170dce0f539f5e1687 (diff) |
trunk/Master/texmf-dist/source/latex/bayer
git-svn-id: svn://tug.org/texlive/trunk@152 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/bayer')
-rw-r--r-- | Master/texmf-dist/source/latex/bayer/universal.dtx | 3320 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/bayer/universal.ins | 78 |
2 files changed, 3398 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/bayer/universal.dtx b/Master/texmf-dist/source/latex/bayer/universal.dtx new file mode 100644 index 00000000000..87935ad8dac --- /dev/null +++ b/Master/texmf-dist/source/latex/bayer/universal.dtx @@ -0,0 +1,3320 @@ +% \iffalse % universal.dtx +%<*copyright> +% universal font and macros for use with LaTeX, TeX and METAFONT +% $Header: universal.dtx,v 1.0 97/12/24 14:43:14 sdc Exp $ +%$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Copyright (C) 1997 Christian Holm. +% +% The universal package and font is free software; you can +% redistribute it and/or modify it under the terms of the GNU +% General Public License as published by the Free Software +% Foundation; either version 2 of the License, or (at your option) +% any later version. +% +% The universal package and font is distributed in the hope that it +% will be useful, but WITHOUT ANY WARRANTY; without even the implied +% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% See the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% @LaTeX-style-file{ +%% Author = "Christian Holm", +%% Version = "1.0", +%% Date = "1997/12/24", +%% Time = "14:43:14", +%% Filename = "universal.dtx", +%% Address = "Niels Bohr Institute of Physics +%% University of Copenhagen +%% Denmark", +%% Email = "cholm@fys.ku.dk (Internet)", +%% CodeTable = "ISO/ASCII", +%% Keywords = "LaTeX2e, universal, Herbert Bayer, bauhaus", +%% Supported = "yes", +%% Abstract = "LaTeX package for providing support for typesetting +%% in Herbert Bayers universal font" +%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%</copyright> +%<*driver> +\documentclass[twoside]{ltxdoc} +\usepackage[titlepage]{universal} +\usepackage{mflogo,a4wide} +\usepackage[dvips]{graphicx,epsfig} +\EnableCrossrefs +\RecordChanges +\CodelineIndex +\typeout{Expect some Under- and overfull boxes} +\begin{document} + \DocInput{universal.dtx} +\end{document} +%</driver> +% \fi +% \CheckSum{189} +% \def\fileversion{v1.0} +% \def\filedate{97/12/24} +% \def\docdate {january 16, 1997} +% \def\bs{{\tt\char'134}} +% \newcommand{\Lcs}[1]{{\bs\tt#1}} +% \DoNotIndex{\@ne,\advance,\begin,\char,\closein,\def,\DeclareOption} +% \DoNotIndex{\divide,\docdate,\else,\end,\fi,\filedate,\fileversion} +% \DoNotIndex{\framebox,\global,\ifdim,\ifeof,\ifnum,\ifx,\let,\loop} +% \DoNotIndex{\makebox,\mbox,\mutliply,\NeedsTeXFormat,\newcommand} +% \DoNotIndex{\newcount,\newdim,\newenvironment,\newif,\newsavebox} +% \DoNotIndex{\noindent,\openin,\PackageWarning,\par,\ProcessOptions} +% \DoNotIndex{\ProvidesPackage,\put,\relax,\repeat,\RequirePackage} +% \DoNotIndex{\rule,\savebox,\space,\tempa,\textsc,\tt,\undefined} +% \DoNotIndex{\usebox,\vspace,\vfill,\newdimen,\newpage,\normalsize} +% \DoNotIndex{\Large,\chardef,\clearpage,\begingroup,\endgroup} +% \DoNotIndex{\font,\hspace,\thispagestyle} +% \changes{v1.0}{97/12/24}{The creation of \textsf{``universal''} +% font} +% \date{\docdate} +% \title{the universal package} +% \author{christian holm} +% \abstract{ +% {\large experiment with simplified way of writing: +% \begin{enumerate} +% \item this way of writing is recommended by all typographic +% designers as the future way of writing. +% \item by writing in minuscules our writing looses nothing, +% but is easier to read, considerably more economical. +% \item why must you for one sound have two tokens, e.g.\ +% A and a? why two alphabets for one word, why this double +% set of signs, when the half is enough. +% \end{enumerate} +% \begin{flushright} +% herbert bayer\\ +% 1925\index{Bayer, Herbert} +% \end{flushright}} +% } +% \maketitle +% \tableofcontents +% +% \section{Introduction} +% +% This package contains the \MF{} source and driver files for the +% ``universal'' font, designed by Herbert Bayer, a teacher at the +% bauhaus school in Weimar.\index{Bayer, Herbert} +% +% The fonts name is ``universal'' and \emph{not} universal, since it +% is not the exact design of Herbert Bayer, but rather based +% on his design. All copyright on the original design goes +% to Herbert Bayer or who ever may have it now. +% +% This source was implemented into \MF{} by Christian Holm, +% based on a lot of (printed) samples of the original font. +% +% \section{The Font} +% +% The font uses \texttt{plain.base} and \emph{not} \texttt{cmbase.mf}, +% so it should work on most systems (I have \emph{never} heard of any +% one having \MF{} and without \textsf{Computer Modern} fonts, but who +% knows!). +% +% ``universal'' is avaliable only in normal shape (no +% \textit{italized}, \textbf{bold face}, \textsl{slanted}, or +% \textsc{small caps}), since it wouldn't look good. +% +% The font is rather heavy, and therefore only suitable for graphical +% pages (i.e. \emph{not} text pages), such as a title page etc. +% An example of such a page is on page~\pageref{ex}. +% +% Shapes bold face, slanted, italized, and small caps +% are substitued by the default for \textsf{Computer Modern Roman +% Sans Serif} (\texttt{cmssxx.mf}), if you use the \LaTeXe{} package +% provided. +% +% Different sizes (8, 9, 10, 12, 17pt) are avaliable, and others +% may be generated by \MF{}. +% +% No \textbayer{f} ligatures is defined, since they should not be +% used in this font. However, dotless i (\textbayer{\i}) and j +% (\textbayer{\j}) is defined for use with accents. +% +% \textbayer{\{~\}~\|~\S}, are included, but at non-standard +% (\TeX{}-wise) positions. To take care of this, \texttt{universal.sty} +% contains the nessecary code for \TeX{} (and \LaTeX{}) to find them. +% +% \subsection{Modifications to the original design} +% +% However, some modifications has been made. Any deviations from +% the original design is entirely of my doing, but please notice +% I make no claim of consistency, compability or exactness. +% +% I have tried to keep as close as possible to the +% original principle of Herbert Bayers design, as possible. Most +% of the modifications are due to my conception of the basic +% principles of this font, and are extra- an intrapolations based +% on this conception. Some of the modifications are also based on +% other conceptions of the original principle, for instance the +% true type font ``bauhaus'' avaliable for +% Windows95$^{\mbox{\sc tm}}$. +% +% Use this font if you like it, and if you think it deviate too +% much from the original idea, don't use it, or let me know, so +% that I might try to correct any mistakes. +% +% Below is summerized my modifications: +% \begin{description} +% \item[Upper Case letters:] +% Upper case letters are avaliable in this implementation. Herbert +% Bayer never designed any upper case letters, so those avaliable +% here, is of my doing. +% +% \item[Numbers:] +% I haven't been able to find any samples of Herbert Bayers original +% design for numbers, (if he indeed made one) so those here present, +% are extrapolations. +% +% \item[Punctuation Marks:] +% Again, I have not found the original design, but have relied heavily +% on other conceptions of Herbert Bayers design. +% +% \item[Accents:] +% What I said on punctuation marks also goes for accents. +% +% \item[Odinary Symbols:] +% Repeat the above! +% +% \item[Bauhaus Symbols:] +% This where \emph{never} present in Herbert Bayers design, but I have +% included them here, since I think they're beautiful, and who knows -- +% maybe of some use. The face symbol could be used to indicate +% fascination of the bauhaus school, or some thing like that! +% \end{description} +% +% Table~\ref{font} shows all the ``characters'' of the font: +% \par +% \newcount\n\newcount\m\newcount\p\newdimen\dim +% \def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} +% \def\hex#1{\hbox{\rm\H{}\tt#1}} +% \def\setdigs#1"#2{\gdef\h{#2} +% \m=\n \divide\m by 64 \xdef\0{\the\m}% +% \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} +% \def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}% +% \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F% +% \global\p=\lastpenalty}} +% \def\oddline{\cr +% \noalign{\nointerlineskip} +% \multispan{19}\hrulefill& +% \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr +% \noalign{\nointerlineskip}} +% \newif\ifskipping +% \def\evenline{\loop\skippingfalse +% \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m +% \expandafter\setdigs\meaning\next \testrow +% \ifnum\p=1 \skippingtrue \fi\fi +% \ifskipping \global\advance\n 16 \repeat +% \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi +% \next} +% \def\morechart{\cr\noalign{\hrule\penalty5000} +% \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} +% \chartline \evenline} +% \def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} +% \def\chartstrut{\lower4.5pt\vbox to14pt{}} +% \def\Table{$$\global\n=0 +% \halign to\hsize\bgroup +% \chartstrut##\tabskip0pt plus10pt& +% &\hfil##\hfil&\vrule##\cr +% \lower6.5pt\null +% &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} +% \def\endchart{\cr\noalign{\hrule} +% \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& +% &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par} +% \def\:{\setbox0=\hbox{\char\n}% +% \ifdim\ht0>7.5pt\reposition +% \else\ifdim\dp0>2.5pt\reposition\fi\fi +% \box0\global\advance\n 1 } +% \def\reposition{ +% \setbox0=\vbox{\kern2pt\box0}\dim=\dp0 +% \advance\dim 2pt \dp0=\dim} +% \def\centerlargechars{ +% \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} +% +% \begin{figure} +% \begingroup +% \font\LARGEbayer=universal17 +% \LARGEbayer +% \Table +% \endgroup +% \caption{Letters and symbols in ``universal'' font.} +% \label{font} +% \end{figure} +% +% \newpage +% \label{ex} +% \begingroup +% \font\HUGEbayer=universal17 at 80pt +% \par\medskip\bayer\noindent +% {\Huge der bauhaus schule am dessau, weimar und berlin 1919--1933}\\ +% \rule{\textwidth}{.3cm} +% \par\vspace{1cm}\par\noindent\hspace{.4\textwidth} +% \rule{.1cm}{8cm} +% \raisebox{3cm}{ +% \begin{minipage}[l]{.5\textwidth} +% the bauhaus school in germany originally located at dessau, +% was a school for any kind of design, ranging from potery to +% furniture, from painting to --- what was considered the prime +% form of design --- architecture. many famous designers came +% from, or taught at bauhaus, for example mies van der rhoe, +% herbert bayer, kandinsky, walter gropius and gerrit rietveld. +% the style ``die stjil'' was explored here, and painters like +% mondrian made large contributions to what today is known as +% ``the bauhaus style''. +% \end{minipage}} +% \par\vspace{1cm}\hspace{.25\textwidth}\rule{.1cm}{5cm} +% \hspace{.5cm}\raisebox{2cm}{{\HUGEbayer \bauhead}} +% \raisebox{3cm}{ +% \begin{minipage}[l]{.4\textwidth} +% this is one of the logos designed for the bauhaus schule, +% and properly the most well--knowned. use it to show your +% appriciation of bauhaus, or for decoration. +% \end{minipage}} +% \hspace{-.8\textwidth}\raisebox{1cm}{\rule{.75\textwidth}{.2cm}} +% \endgroup +% \index{Bayer, Herbert}\index{Rhoe, Mies van der} +% \index{Gropius, Walter}\index{Rietveld, Gerrit} +% \index{Kandinsky}\index{Mondrian}\index{die stjil} +% \index{Bauhaus 1919--1933} +% \newpage +% +% \section{\MF{} and this font} +% +% The \MF{} source files should be in +% \begin{verbatim} +% /usr/lib/texmf/local/fonts/source/bayer +% \end{verbatim} +% (for te\TeX{}), +% or somewhere equivilante, where \MF{} can find them (on must +% systems, where kpathsea can find them). Please notice the long +% file names (\textsc{dos} users: change the names, both on disk +% and in the files). In Table~\ref{mffiles} is a list of the \MF{} +% source files: +% \begin{table}[htbp] +% \begin{tabular}{l l} +% \texttt{accents.mf}& accents\\ +% \texttt{digits.mf}& numbers (0 - 9)\\ +% \texttt{extras.mf}& bauhaus symbols\\ +% \texttt{ligatures.mf}& german \ss, \ae, \oe, \o, \AE, etc.\\ +% \texttt{lowers.mf}& lower case letters (a--z)\\ +% \texttt{punctuations.mf}& punctuation marks (. , ! : ; etc.)\\ +% \texttt{specials.mf}& symbols (\$, ?, \texttt{\{ }, etc.)\\ +% \texttt{universal.mf}& driver file (definitions)\\ +% \texttt{universal8.mf}& driver file for 8pt \\ +% \texttt{universal9.mf}& driver file for 9pt\\ +% \texttt{universal10.mf}& driver file for 10pt \\ +% \texttt{universal12.mf}& driver file for 12pt \\ +% \texttt{universal17.mf}& driver file for 17pt \\ +% \texttt{uppers.mf}& upper case letters (A--Z)\\ +% \end{tabular} +% \caption{\MF{} source files.} +% \label{mffiles} +% \end{table} +% +% \section{\LaTeX{} and this font} +% +% I have made a package for \LaTeX{} to use this font. Include it with: +% \begin{verbatim} +% \usepackage{universal} +% \end{verbatim} +% +% \DescribeMacro{\title}\DescribeMacro{\author} +% \DescribeMacro{\date}\DescribeMacro{\abstract} +% \DescribeMacro{\maketitle} +% The optional argument \texttt{titlepage} redefines the macros +% \Lcs{title}, \Lcs{author} and \Lcs{date}, so that a special version +% of \Lcs{maketitle} may be used. Also provided is the macro +% \Lcs{abstract} to make a abstract suitable for the special kind +% of titlepage. Notice, you can redefine the \Lcs{maketitle} macro +% to suit your needs. In it's current definition, \Lcs{maketitle} +% produces a title--page as the one of this document. +% +% \DescribeMacro{\bayer}\DescribeMacro{\textbayer} +% To shift to ``universal'' font, do either \Lcs{bayer} (for global +% change, or if in a local group, locally) or +% \Lcs{textbayer\{}\textsl{your text}\texttt{\}} for +% local change (the later takes up the largest block of \TeX{} memory, +% so use \Lcs{bayer} as much as you can). +% +% The files should be in +% \begin{verbatim} +% /usr/lib/texmf/local/tex/latex/bayer/ +% \end{verbatim} +% (for te\TeX{}), or +% something equvilant. Please notice the use of long file name +% (\textsc{dos} users: Change the names, both on disk, and in files!). +% The files are +% \begin{table}[htbp] +% \begin{tabular}{l l} +% \texttt{universal.sty}& style file\\ +% \texttt{ot1universal.fd}& font definition file +% \end{tabular} +% \end{table} +% +% \DescribeMacro{\{}\DescribeMacro{\}}\DescribeMacro{\|} +% \DescribeMacro{\varQ} +% You can accecs the symbols {\bayer\{ \} \|} through +% \Lcs{{} \Lcs{}} \verb+\|+. This is \emph{not} standard \LaTeX{}. +% A variant ``Q'' ({\bayer \varQ}) is defined, and can be accesed +% by \Lcs{varQ}. A paragraph sign (\textbayer{\S}) is also avaliable, +% and is accesed trhough the standard \LaTeX{} \Lcs{S}. +% +% \iffalse +% \DescribeMacro{\bauplus}\DescribeMacro{\baudash} +% \DescribeMacro{\bauequal}\DescribeMacro{\bautriangle} +% \DescribeMacro{\baucircle}\DescribeMacro{\baucross} +% \DescribeMacro{\bauwindow}\DescribeMacro{\bauhole} +% \DescribeMacro{\baueclipse}\DescribeMacro{\bauquarter} +% \DescribeMacro{\bauarrow}\DescribeMacro{\bauwhitearrow} +% \DescribeMacro{\bauhead}\DescribeMacro{\bauface} +% \DescribeMacro{\bauquestion}\DescribeMacro{\bauforms} +% \DescribeMacro{\baupunct}\DescribeMacro{\bausquare} +% \fi +% +% A number of macros are defined to accecs the special +% bauhaus symbols. These are only avaliable in the ``universal'' font +% (i.e. after a % \Lcs{bayer} or inside argument of \Lcs{textbayer}). +% They are shown, along with thier corrosponding macros, in +% Table~\ref{charmac}. +% +% \begin{table}[htbp] +% \centering +% \begin{tabular}{l l l l l l l l} +% \Lcs{bauplus} &\textbayer{\bauplus}& +% \Lcs{baudash} &\textbayer{\baudash}& +% \Lcs{bauequal} &\textbayer{\bauequal}& +% \Lcs{bautriangle} &\textbayer{\bautriangle}\\ +% \Lcs{baucircle} &\textbayer{\baucircle}& +% \Lcs{baucross} &\textbayer{\baucross}& +% \Lcs{bauwindow} &\textbayer{\bauwindow}& +% \Lcs{bauhole} &\textbayer{\bauhole}\\ +% \Lcs{baueclipse} &\textbayer{\baueclipse}& +% \Lcs{bauquarter} &\textbayer{\bauquarter}& +% \Lcs{bauarrow} &\textbayer{\bauarrow}& +% \Lcs{bauwhitearrow} &\textbayer{\bauwhitearrow}\\ +% \Lcs{bauhead} &\textbayer{\bauhead}& +% \Lcs{bauface} &\textbayer{\bauface}& +% \Lcs{bauquestion} &\textbayer{\bauquestion}& +% \Lcs{bausorms} &\textbayer{\bauforms}\\ +% \Lcs{baupunct} &\textbayer{\baupunct}& +% \Lcs{bausquare} &\textbayer{\bausquare}&&\\ +% \end{tabular} +% \caption{Extra bauhaus symbols in ``universal'' font.} +% \label{charmac} +% \end{table} +% +% \section{{\sc dos} Users}: +% +% You may have to run the files through some +% \textsc{unix}--to--\textsc{dos} converter +% (like \texttt{unix2dos}). +% I suggest you make the following changes to the file names: +% +% \paragraph*{\MF{} files} +% The files previously said to be in +% \begin{verbatim} +% /usr/lib/texmf/local/fonts/source/bayer +% \end{verbatim} +% should be in \texttt{\%MFINPUTS\%} and named as: +% \begin{verbatim} +% ligatures.mf => LIGATURE.MF +% punctuations.m => PUNCTUAT.MF +% universal.mf => UNIVERSA.MF +% universal8.mf => UNIVER8.MF +% universal9.mf => UNIVER9.MF +% universal10.mf => UNIVER10.MF +% universal12.mf => UNIVER12.MF +% universal17.mf => UNIVER17.MF +% \end{verbatim} +% And in the file univarsal.mf make the same changes on every line +% containg \texttt{input} \textsl{filename}. In the files +% \texttt{universal}\textsl{xx}\texttt{.mf}, change +% the line: +% \begin{verbatim} +% input universal => input UNIVERSA +% \end{verbatim} +% +% \paragraph*{\LaTeX{} files} +% The files previously said to be in +% \begin{verbatim} +% /usr/lib/texmf/local/fonts/source/bayer +% \end{verbatim} +% should be in \texttt{\%TEXINPUTS\%} and named as: +% \begin{verbatim} +% universal.sty => UNIVERSA.STY +% ot1universal.fd => OT1UNIVE.FD +% \end{verbatim} +% In the file \texttt{UNIVERSA.STY}, change the following lines: +% \begin{verbatim} +% \usefont{OT1}{universal}{m}{n} => \usefont{OT1}{UNIVE}{m}{n} +% \end{verbatim} +% In file \texttt{OT1UNIVE.FD} change \emph{every} occurence of +% \begin{verbatim} +% universal => UNIVE +% universal8 => UNIVER8 +% universal9 => UNIVER9 +% universal10 => UNIVER10 +% universal12 => UNIVER12 +% universal17 => UNIVER17 +% \end{verbatim} +% That should take care of that. +% +% \section{Bugs} +% +% I guess you were waiting for this! +% +% Although I have tried my best to make this font look good in any +% maginification, it may come out bad if you use some non--standard +% maginification. +% +% I have tried the font in various modes, and tried to make it +% coherant on any printer, though I offer no garanty on this. +% +% The code is absurdly simple, and this may prove to be a bug, but +% my familiarity with \MF{} is yet limitied to simple stuff. I +% am no match for Donald E.\ Knuth (who is?), but I'm trying +% (did I hear you laughing!).\index{Knuth, Donald E.\} +% +% \section{Final Comments} +% +% Please send me your suggestions, complaints (but don't flame me +% for something I didn't know), or bug reports, and I will look into +% it when I find the time \verb+:-)+ +% +% This font is avaliable from +% \begin{verbatim} +% http://www.fys.ku.dk/~cholm/V1/TeX/bayer.html +% \end{verbatim} +% and soon from any CTAN site. +% +% This font is distributed under GNU GENERAL PUBLIC LISCENCE. +% Copyright \copyright{} 1997 Christian Holm. +% +% \noindent +% Christian Holm\\ +% E-Mail: \texttt{cholm@fys.ku.dk} +% +% \StopEventually{} +% \iffalse +%<*package> +% \fi +% +% \section{\LaTeXe{} Files} +% +% Here is the sources for the \LaTeX{} files needed to use this +% font. I have only made a font--definition for encoding ``OT1'', +% since I beleiv this to be the most used. Others font--defintion +% files should be easely made. +% +% \subsection{Package File (\texttt{universal.sty})} +% +% First some package identification, nothing special here. +% \begin{macrocode} +\def\fileversion{v1.0} +\def\filedate{97/12/24} +\ProvidesPackage{universal}[\filedate\space\fileversion\space universal + package.] +% \end{macrocode} +% \begin{macro}{\ifBayer} +% We provide a new \textsl{if}, to test for the ``universal'' font. +% This could be used in macros etc. +% \begin{macrocode} +\newif\ifBayer +\Bayerfalse +% \end{macrocode} +% \end{macro} +% \begin{macro}{titlepage} +% Next, a package option is defined. The definition of \Lcs{maketitle} +% is only an example. +% \begin{macrocode} +\DeclareOption{titlepage}{ + \newdimen\unidim + \unidim1cm + \renewcommand{\title}[1]{\def\unititle{#1}} + \renewcommand{\author}[1]{\def\uniauthor{#1}} + \renewcommand{\date}[1]{\def\unidate{#1}} + \renewcommand{\abstract}[1]{\def\uniabst{#1}} + \renewcommand{\maketitle}{ + \clearpage + \thispagestyle{empty} + \noindent + \begingroup + {\Huge\bayer\unititle}\\ + \rule{\textwidth}{.05\textwidth} + \ifx\uniabst\undefined + \vfill + \else + \vspace{.05\textwidth}\par\noindent + \hspace{.2\textwidth}\rule{.01\textwidth}{.7\textwidth} + \raisebox{.3\textwidth}{ + \begin{minipage}[l]{.7\textwidth} + {\bayer\normalsize\uniabst} + \end{minipage} + } + \vfill + \fi + \begin{minipage}[l]{.3\textwidth} + {\bayer\Large\uniauthor}\par\noindent + {\large\bayer\MakeLowercase{\unidate}} + \end{minipage}\hspace{.2\textwidth} + \raisebox{-.05\textwidth}{\rule{.02\textwidth}{.4\textwidth}} + \font\Hugebayer=universal17 at 80pt + \hspace{.01\textwidth}{\Hugebayer\char"84}\\ + \rule{.8\textwidth}{.01\textwidth} + \endgroup + \newpage + } +} +\ProcessOptions\relax +% \end{macrocode} +% \end{macro} +% \begin{macro}{\textbayer} +% This is the command to change to ``universal'' font locally. It's +% not very fancy --- it calls \Lcs{bayer} macro. +% \begin{macrocode} +\newcommand{\textbayer}[1]{ + \begingroup + \bayer + #1 + \endgroup +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bayer} +% Now for the global, and important, macro of this package. We set +% \Lcs{Bayertrue}, so that macroes will know we currently use the +% ``universal'' font. Secondly, it defines some character macros +% to acces special symbols in the font. +% \begin{macrocode} +\newcommand{\bayer}{ + \Bayertrue + \chardef\{="80 + \chardef\}="81 + \chardef\|="0F + \chardef\S="82 + \chardef\varQ="83 + \chardef\bauplus="00 + \chardef\baudash="01 + \chardef\bauequal="02 + \chardef\bautriangle="03 + \chardef\baucircle="04 + \chardef\baucross="05 + \chardef\bauwindow="06 + \chardef\bauhole="07 + \chardef\baueclipse="08 + \chardef\bauquarter="09 + \chardef\bauarrow="0A + \chardef\bauwhitearrow="0B + \chardef\bauhead="0C + \chardef\bauface="0D + \chardef\bauquestion="0E + \chardef\bauforms="84 + \chardef\baupunct="85 + \chardef\bausquare="86 + \usefont{OT1}{universal}{m}{n} +} +% \end{macrocode} +% \end{macro} +% \iffalse +%</package> +% \fi +% +% \subsection{Font Definition File (\texttt{ot1universal.fd})} +% +% This file contains the nessesary definitions for using the +% ``universal'' font. Notice the font is substitued for the +% \textsf{Compute Modern Sans Serif} defaults in all other shapes +% then normal upright. +% \iffalse +%<*fd> +% \fi +% \begin{macrocode} +\ProvidesFile{ot1universal.fd} + [1997/01/14 v2.5a Non standard LaTeX font definitions] +\DeclareFontFamily{OT1}{universal}{\hyphenchar\font45 } +% \end{macrocode} +% {\bayer Normal upright}. +% \begin{macrocode} +\DeclareFontShape{OT1}{universal}{m}{n} + { + <5><6><7><8>universal8 + <9>universal9 + <10><10.95>universal10 + <12><14.4>universal12 + <17.28><20.74><24.88>universal17 + }{} +% \end{macrocode} +% {\it Italized}, {\sl slanted}, {\sc small caps} is undefined, +% therefore substituted. +% \begin{macrocode} +\DeclareFontShape{OT1}{universal}{m}{it}{<->ssub*cmss/m/sl}{} +\DeclareFontShape{OT1}{universal}{m}{sl}{<->ssub*cmss/m/sl}{} +\DeclareFontShape{OT1}{universal}{m}{sc}{<->ssub*cmr/m/sc}{} +\DeclareFontShape{OT1}{universal}{m}{ui}{<->ssub*cmr/m/ui}{} +% \end{macrocode} +% Semibold condensed and bold extended series is undefined, +% therefore substituted. +% \begin{macrocode} +\DeclareFontShape{OT1}{universal}{sbc}{n}{<->ssub*cmss/sbc/n}{} +\DeclareFontShape{OT1}{universal}{bx}{n}{<->ssub*cmss/bx/n}{} +\DeclareFontShape{OT1}{universal}{bx}{ui}{<->ssub*cmr/bx/ui}{} +% \end{macrocode} +% +% End of file `ot1universal.fd'. +% \iffalse +%</fd> +% \fi +% +% \section{The \MF{} Sources} +% +% Below follows the sources for the font and driver files. +% These are in plain \MF{}, so you dont need Computer Modern +% base file \texttt{cmbase.mf}, to use this file. However, the +% files does to some extent follow the style of the Computer +% Modern source files, in particular the divivsion of the sources +% into files. +% +% The reason why I made the sources a part of this \texttt{.dtx} is +% to ease the dsitribution, as well as the documentation. +% +% \subsection{Main driver file (\texttt{universal.mf})} +% \iffalse +%<*main> +% \fi +% \begin{macrocode} +x_height# = 8u#; % height of lowercase without ascenders +m_width# = 7/5x_height# ; % width of widest lowercase (1em) +x_width# = x_height#+f_space#; % width of normal lowercase +p_depth# = 3/5x_height# ; % depth of charactes accending baseline +l_height# = 8/5x_height# ; % height of heighest characters +p_thick# = 1/36x_height# ; % pen thickness +f_space# = 2u#; % space added after fonts +c_width# = 1x_width#-0.5x_width#*(1-cosd(35)); % width of "c" +C_width# = l_height#-0.5l_height#*(1-cosd(35)); % width of "C" +f_width# = 3/8l_height#+f_space#; % width of "f" +A_width# = m_width# ; % width of normal upper case characters +M_width# = 7/5A_width# ; % width of "M" +define_pixels(u,m_width,x_width,x_height,p_depth,l_height,p_thick) ; +define_pixels(f_space,A_width,C_width,M_width) ; +define_corrected_pixels(p_depth) ; + +ligs:=2; +font_coding_scheme:="TeX text"; +spanish_shriek:=oct"074"; +spanish_query:=oct"076"; + +mode_setup; + +font_x_height 8u#; +font_quad m_width#; +font_normal_space 6u#+f_space#; +font_normal_stretch 3u#; +font_normal_shrink 2u#; +font_quad 18u#+4f_space#; +font_extra_space 2u#; + +% \end{macrocode} +% \begin{macro}{makebox} +% We redefine the the macro \texttt{makebox}, so that the +% proof--sheets contain more lines, and indicate baseline, if the +% letter goes beyond this. +% \begin{macrocode} +def makebox(text rule) = % macro for hardcopy proofs + rule((0,0)t_,(w,0)t_); + rule((0,0.01)t_,(w,0.01)t_); + for y=-d step u until h+u: % making addtional grid lines + rule((0,y)t_,(w,y)t_); + endfor % horizontals + for x=0 step u until w+u: + rule((x,-d)t_,(x,h)t_); + endfor % verticals +enddef; + +% \end{macrocode} +% \end{macro} +% The next couple of definitions, are more of mnemonic in nature, then +% actual functions. +% \begin{macrocode} +def bauhauschar (expr name, width, height, depth, extra_width) = + beginchar(name,width,height,depth); + "The letter "&name; + pickup pencircle scaled p_thick ; + wi#:=width-f_space#+extra_width; + define_pixels(wi); + enddef; + +def bauhausnumb (expr name, width, height, depth, extra_width) = + beginchar(name,width,height,depth); + "The number "&name; + pickup pencircle scaled p_thick ; + wi#:=width-f_space#+extra_width; + define_pixels(wi); + enddef; + +def bauhaussymb (expr name, width, height, depth, extra_width) = + beginchar(name,width,height,depth); + pickup pencircle scaled p_thick ; + wi#:=width-f_space#+extra_width; + define_pixels(wi); + enddef; + +def bauhausextra (expr number, name) = + beginchar(number,l_height#+f_space#,l_height#,p_depth#); + "The bauhaus symbol "&name; + pickup pencircle scaled 1/10p_thick ; + wi#:=l_height#; + define_pixels(wi); + enddef; + +picture e_pic, a_pic, o_pic, O_pic; % any where + +input uppers; % upper case (majuscules) +input lowers; % lower case (minuscules) +input digits; % numerals +input specials ; % special symbols +input ligatures; % ligaturres +input punctuations; % punctuation symbols +input accents; % accents +input extras; % bauhaus extras + +ligtable "u": "h" kern u#; +ligtable "f": "f" kern 0 , "l" kern 0 , "i" kern 0; +ligtable "o": "l" kern u#; +ligtable "?": "`" =: spanish_query; +ligtable "!": "`" =: spanish_shriek; +ligtable "-": "-"=:oct"173"; +ligtable oct"173": "-"=:oct"174"; + +bye. +% \end{macrocode} +% \iffalse +%</main> +% \fi +% +% \subsection{Driver file for 8 point(\texttt{universal8.mf})} +% \iffalse +%<*eight> +% \fi +% \begin{macrocode} +font_identifier:="universal"; % name of the font + +font_size 8pt#; % design size of font. +u# = 16/36pt#; % unit width (= 2/36*font_size) +input universal % input driver file +% \end{macrocode} +% \iffalse +%</eight> +% \fi +% +% \subsection{Driver file for 9 point(\texttt{universal9.mf})} +% \iffalse +%<*nine> +% \fi +% \begin{macrocode} +font_identifier:="universal"; % name of the font + +font_size 9pt#; % design size of font. +u# = 18/36pt#; % unit width (= 2/36*font_size) +input universal % input driver file +% \end{macrocode} +% \iffalse +%</nine> +% \fi +% +% \subsection{Driver file for 10 point(\texttt{universal10.mf})} +% \iffalse +%<*ten> +% \fi +% \begin{macrocode} +font_identifier:="universal"; % name of the font + +font_size 10pt#; % design size of font. +u# = 20/36pt#; % unit width (= 2/36*font_size) +input universal % input driver file +% \end{macrocode} +% \iffalse +%</ten> +% \fi +% +% \subsection{Driver file for 12 point(\texttt{universal12.mf})} +% \iffalse +%<*twelve> +% \fi +% \begin{macrocode} +font_identifier:="universal"; % name of the font + +font_size 12pt#; % design size of font. +u# = 24/36pt#; % unit width (= 2/36*font_size) +input universal % input driver file +% \end{macrocode} +% \iffalse +%</twelve> +% \fi +% +% \subsection{Driver file for 17 point(\texttt{universal17.mf})} +% \iffalse +%<*seventeen> +% \fi +% \begin{macrocode} +font_identifier:="universal"; % name of the font + +font_size 17pt#; % design size of font. +u# = 34/36pt#; % unit width (= 2/36*font_size) +input universal % input driver file +% \end{macrocode} +% \iffalse +%</seventeen> +% \fi +% +% \subsection{Majuscules (\texttt{uppers.mf})} +% \iffalse +%<*uppers> +% \fi +% \begin{macro}{A} +% \begin{macrocode} +bauhauschar("A",1A_width#,1l_height#,0,0); %"The letter A"; + lft z1=(0,0); + lft z2=(0,h-0.5wi); + top z3=(0.5wi,h); + rt z4=(wi,y2); + rt z5=(wi,0); + lft z6=(0,0.5h); + rt z7=(wi,y6); + cutdraw z1{up}--z2{up}..z3{right}..z4{down}--z5{down}; + cutdraw z6{right}--z7{right}; + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{B} +% \begin{macrocode} +bauhauschar("B",1A_width#,1l_height#,0,0); %"The letter B"; + lft bot z1 = (0,0); + lft top z2 = (0,h); + top z3 = (wi-0.25h,h); + rt z4 = (wi,0.75h); + z5 = (x3,0.5h); + z6 = (p_thick,0.5h); + rt z7 = (wi,0.25h); + bot z8 = (x3,0); + draw z1{(-1,1)}---z2{(1,1)}---z3{right}..z4{down}..z5{left}--z6{left}; + draw z5{right}..z7{down}..z8{left}---z1{(-1,1)}; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{C} +% \begin{macrocode} +bauhauschar("C",C_width#+f_space#,l_height#,0,0); + rt z1 = bot z2 rotatedaround((0.5wi,0.5h),60); + bot z2 = (0.5wi,0); + lft z3 = (0,0.5h); + top z4 = (0.5wi,h); + rt z5 = top z4 rotatedaround((0.5wi,0.5h),-60); + cutdraw z1..z2{left}..z3{up}..z4{right}..z5; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{D} +% \begin{macrocode} +bauhauschar("D",A_width#,l_height#,0,0); + lft bot z1 = (0,0); + lft top z2 = (0,h); + top z3 = (wi-.5h,h); + rt z4 = (wi,0.5h); + bot z5 = (x3,0); + draw z2{right}---z3{right}..z4{down}..z5{left}---z1{left}---z2{up}; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{E} +% \begin{macrocode} +bauhauschar("E",A_width#,l_height#,0,0); + rt bot z1 = (wi,0); + lft bot z2 = (0,0); + lft top z3 = (0,h); + rt top z4 = (wi,h); + lft z5 = (0,0.5h); + rt z6 = (wi,0.5h); + cutdraw z1{left}---z2{(-1,1)}---z3{(1,1)}---z4{right}; + cutdraw z5{left}--z6; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{F} +% \begin{macrocode} +bauhauschar("F",A_width#,l_height#,0,0); + lft bot z1 = (0,0); + lft top z2 = (0,h); + rt top z3 = (wi,h); + lft z4 = (0,0.5h); + rt z5 = (wi,0.5h); + cutdraw z1{up}---z2{(1,1)}---z3{right}; + cutdraw z4{left}--z5; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{G} +% \begin{macrocode} +bauhauschar("G",l_height#+f_space#,l_height#,0,0); + rt z1 = (wi,0.5h); + bot z2 = (0.5wi,0); + lft z3 = (0,0.5h); + top z4 = (0.5wi,h); + rt z5 = top z4 rotatedaround((0.5wi,0.5h),-60); + rt z6 = (wi,0); + cutdraw z1..z2{left}..z3{up}..z4{right}..z5; + cutdraw z1{down}--z6; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{H} +% \begin{macrocode} +bauhauschar("H",A_width#,l_height#,0,0); + lft z1 = (0,0); + lft z2 = (0,0.5h); + lft z3 = (0,h); + rt z4 = (wi,0); + rt z5 = (wi,0.5h); + rt z6 = (wi,h); + cutdraw z1{up}--z3{up}; + cutdraw z4{up}--z6{up}; + cutdraw z2{left}--z5{left}; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{I} +% \begin{macrocode} +bauhauschar("I",p_thick#+2f_space#,l_height#,0,0); + lft z1 = (0,0); + lft z2 = (0,h); + cutdraw z1{up}--z2{up}; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{J} +% \begin{macrocode} +bauhauschar("J",.5x_width#,l_height#,0,0); + bot z1 = (0,0); + bot rt z2 = (wi,0); + rt z3 = (wi,h); + cutdraw z1{right}---z2{(1,1)}---z3{up}; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{K} +% \begin{macrocode} +bauhauschar("K",0.5l_height#+2f_space#,l_height#,0,0); + lft z1 = (0,0); + lft z2 = (0,0.5h); + lft z3 = (0,h); + rt z4 = (wi,0); + rt z5 = (wi,h); + cutdraw z1{up}--z3{up}; + cutdraw z2{right}..z4{down}; + cutdraw z2{right}..z5{up}; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{L} +% \begin{macrocode} +bauhauschar("L",A_width#,l_height#,0,0); + lft z1 = (0,h); + lft bot z2 = (0,0); + rt bot z3 = (wi,0); + cutdraw z1{down}---z2{(1,-1)}---z3{right}; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{M} +% \begin{macrocode} +bauhauschar("M",M_width#,l_height#,0,0); + lft z1 = (0,0) ; + lft z2 = (0,0.7h) ; + top z3 = (0.5[x5,x1],h) ; + z4 = (0.5wi,0.7h-0.25p_thick) ; + z5 = (0.5wi,0) ; + top z6 = (0.5[x8,x5],h) ; + rt z7 = (wi,0.7h) ; + rt z8 = (wi,0) ; + cutdraw z1{up}--z2..z3{right}..z4{down}--z5 ; + cutdraw z4{up}..z6{right}..z7--z8{down} ; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{N} +% \begin{macrocode} +bauhauschar("N",A_width#,l_height#,0,0); + lft z1 = (0,0); + lft z2 = (0,0.6h) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,0.6h) ; + rt z5 = (wi,0); + cutdraw z1{up}--z2{up}..z3{right}..z4{down}--z5{down}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{O} +% \begin{macrocode} +bauhauschar("O",l_height#+f_space#,l_height#,0,0); + top z1 = (.5wi,h) ; + rt z2 = (wi,.5h) ; + bot z3 = (.5wi,0) ; + lft z4 = (0,.5h) ; + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle ; + penlabels(1,2,3,4); + O_pic = currentpicture; +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{P} +% \begin{macrocode} +bauhauschar("P",A_width#,l_height#,0,0); + lft z1 = (0,0) ; + lft z2 = (0,h-.5wi) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,h-.5wi) ; + bot z5 = (0.5wi,h-wi) ; + draw z2{up}..z3{right}..z4{down}..z5{left}..cycle ; + cutdraw z1{up}--z2{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{Q} +% ``Q'' as an ``O'' with dash +% \begin{macrocode} +bauhauschar("Q",l_height#+f_space#,l_height#,2/3p_depth#,0); + top z1 = (.5wi,h) ; + rt z2 = (wi,.5h) ; + bot z3 = (.5wi,0) ; + lft z4 = (0,.5h) ; + z5 = (.5wi,2d); + z6 = (.5wi,-d); + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle ; + cutdraw z5{down}--z6; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{R} +% \begin{macrocode} +bauhauschar("R",A_width#,l_height#,0,0); + lft z1 = (0,0); + lft z2 = (0,h-.5wi); + top z3 = (.5wi,h); + rt z4 = (wi,h-.5wi); + bot z5 = (0.5wi,h-wi); + rt z6 = (wi,h-1.5wi); + rt z7 = (wi,0); + draw z2{up}..z3{right}..z4{down}..z5{left}..cycle; + cutdraw z1{up}--z2{up}; + cutdraw z5{right}..z7{down}; + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{S} +% \begin{macrocode} +bauhauschar("S",A_width#,l_height#,0,0); % + lft z1 = (0,0.5[y6,y2]) ; + bot z2 = (1/3wi,0) ; + bot z3 = (2/3wi,0) ; + rt z4 = (wi,0.5[y5,y3]) ; + z5 = (2/3wi,0.5h) ; + z6 = (1/3wi,0.5h) ; + lft z7 = (0,0.5[y8,y6]) ; + top z8 = (1/3wi,h); + top z9 = (2/3wi,h) ; + rt z10 = (wi,0.5[y8,y6]) ; + cutdraw z1{down}..z2{right}--z3{right}..z4{up}..z5{left} + --z6{left}..z7{up}..z8{right}--z9{right}..z10{down} ; + penlabels(1,2,3,4,5,6,7,8,9,10); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{T} +% \begin{macrocode} +bauhauschar("T",A_width#,l_height#,0,0); + top z1 = (0,h); + top z2 = (wi,h); + z3 = (.5wi,h); + z4 = (0.5wi,0); + cutdraw z1{right}--z2; + cutdraw z3{up}--z4; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{U} +% \begin{macrocode} +bauhauschar("U",A_width#,l_height#,0,0); + lft z1 = (0,h); + lft z2 = (0,0.4h) ; + bot z3 = (0.5wi,0) ; + rt z4 = (wi,0.4h) ; + rt z5 = (wi,h); + cutdraw z1{down}--z2{down}..z3{right}..z4{up}--z5{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{V} +% \begin{macrocode} +bauhauschar("V",A_width#,l_height#,0,0); + lft z1 = (0,h); + bot z2 = (0.5wi-0.5p_thick,0.5p_thick); + bot z3 = (0.5wi,0); + bot z4 = (0.5wi+0.5p_thick,0.5p_thick); + rt z5 = (wi,h); + draw z1{down}--z2..z3..z4--z5{up}; + cutoff(z1,90); + cutoff(z5,90); + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{W} +% \begin{macrocode} +bauhauschar("W",M_width#,l_height#,0,0); + lft z1 = (0,h) ; + lft z2 = (0,0.3h) ; + bot z3 = (0.5[x5,x1],0) ; + z4 = (0.5wi,0.3h+0.25p_thick) ; + z5 = (0.5wi,h) ; + bot z6 = (0.5[x8,x5],0) ; + rt z7 = (wi,0.3h) ; + rt z8 = (wi,h) ; + cutdraw z1{down}--z2..z3{right}..z4{up}--z5 ; + cutdraw z4{down}..z6{right}..z7--z8{down} ; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{X} +% \begin{macrocode} +bauhauschar("X",l_height#+f_space#,l_height#,0,0); + top z1 = (0,h); + z2 = (0.5wi,0.5wi); + bot z3 = (0,0); + top z4 = (wi,h); + bot z5 = (wi,0); + cutdraw z1{right}..z2{down}..z3{left}; + cutdraw z4{left}..z2{down}..z5{right}; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{Y} +% \begin{macrocode} +bauhauschar("Y",A_width#,l_height#,0,0) ; + rt z1 = (wi,0) ; + lft z2 = (0,h) ; + rt z3 = (wi,h) ; + rt z4 = (wi,h-x5) ; + bot z5 = (0.5wi,h-wi) ; + lft z6 = (0,h-x5) ; + cutdraw z1{up}--z3 ; + cutdraw z3{up}--z4..z5{left}..z6{up}--z2{up} ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{Z} +% \begin{macrocode} +bauhauschar("Z",A_width#,l_height#,0,0) ; + top z1 = (0,h); + rt x2 = wi ; top y2 = h ; + rt x3 = wi ; top y3 = y2; + lft x4 = 0 ; bot y4 = y5 ; + lft x5 = 0 ; bot y5 = 0 ; + bot z6 = (wi,0); + cutdraw z1{right}--z2..z3--z4..z5--z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</uppers> +% \fi +% +% \subsection{Minuscules (\texttt{lowers.mf})} +% \iffalse +%<*lowers> +% \fi +% \begin{macro}{a} +% We save the letter ``a'' in a \textsl{picture} variable for +% later use (in ligature \ae{}). +% \begin{macrocode} +bauhauschar("a",1x_width#,1x_height#,0,0); %"The letter a"; + bot z1 = (7/16wi,0); + lft z2 = lft z3 rotatedaround((0.5wi,0.5h),45); + lft z3 = (0,0.5h); + top z4 = (0.5wi,h); + rt z5 = top z4 rotatedaround((0.5wi,0.5h),-45); + rt z6 = (wi,0.5h+sind(15)); + rt z7 = (wi,0); + draw z6..z1{left}..z2..z3{up}..z4{right}..z5..z6{down}--z7 ; + penlabels(1,2,3,4,5,6,7,8); + cutoff(z7,-90); + a_pic := currentpicture; +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{b} +% \begin{macrocode} +bauhauschar("b",1x_width#,l_height#,0,0); %"The letter b"; + top y1=5/8h ; + rt x2=wi ; + bot y3=0 ; + lft x4= lft x5 = lft x6 = 0 ; + x1 = x3 = 0.5wi ; + y2 = y4 = y5 = 5/16h ; + y6 = h ; + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle ; + cutdraw z5--z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{c} +% \begin{macrocode} +bauhauschar("c",c_width#,1x_height#,0,1f_space#); %"The letter c"; + rt z5 = top z4 rotatedaround((0.5wi,0.5h),-60); + rt z1 = bot z2 rotatedaround((0.5wi,0.5h),60); + bot y2=0; + lft x3=0; + top y4=h; + x2 = x4 = 0.5wi; + y3 = 0.5h ; + cutdraw z1..z2{left}..z3{up}..z4{right}..z5; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{d} +% \begin{macrocode} +bauhauschar("d",1x_width#,l_height#,0,0); %"The letter d"; + top y1 = 5/8h ; + rt x2 = rt x5 = rt x6 = wi ; + bot y3 =0 ; + lft x4 = 0 ; + x1 = x3 = 0.5wi ; + y2 = y4 = y5 = 5/16h ; + y6 = h ; + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle ; + cutdraw z5--z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{e} +% We save the letter ``e'' in a \textsl{picture} variable for +% later use (in ligatures \ae{} \oe{}). +% \begin{macrocode} +bauhauschar("e",1x_width#,1x_height#,0,0) ; %"The letter e"; + rt z1 = bot z2 rotatedaround((0.5wi,0.5h),60) ; + bot y2 = 0 ; + lft x3 = 0 ; + top y4 = h ; + rt x5 = rt x7 = wi ; + x6 = p_thick; + x2 = x4 = 0.5wi ; + y3 = y5 = y6 = 0.5h ; + y7 = y5 - 0.5p_thick ; + cutdraw z5{up}..z4{left}..z3{down}..z2{right}..z1 ; + cutdraw z5{down}--z7{down} ; + draw z6{right}--z5{right}; + penlabels(1,2,3,4,5,6,7); + e_pic := currentpicture +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{f} +% \begin{macrocode} +bauhauschar("f",f_width#,l_height#,0,0); %"The letter f"; + lft x1 = lft x2 = 0 ; + y1 = 0 ; + top y2 = top y5 = top y6 = 5/8h ; + x4 = wi ; + x5 = p_thick; + x6 = wi; + top y4 = h ; + lft z3 = lft z2 rotatedaround((top z6),-45) ; + cutdraw z1{up}--z2{up}..z3{(1,1)}..z4{right} ; + cutdraw z5{right}--z6 ; + penlabels(1,2,3,4,5,6,7); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{g} +% \begin{macrocode} +bauhauschar("g",1x_width#,1x_height#,p_depth#,0); %"The letter g"; + rt z1 = top z2 rotatedaround((0.5wi,0.5h),-60) ; + top z2 = (0.5wi,h) ; + lft z3 = (0,0.5h) ; + bot z4 = (0.5wi,0) ; + rt z5 = (wi,0.5h) ; + rt z6 = (wi,-d) ; + cutdraw z1{(-cosd(60),sind(60))}..z2{left}..z3{down} + ..z4{right}..z5{up} ; + cutdraw z5{down}--z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{h} +% \begin{macrocode} +bauhauschar("h",1x_width#,1l_height#,0,0) ; %"The letter h" ; + lft z1 = (0,0) ; + lft z2 = (0,h) ; + rt z3 = (wi,0) ; + rt z4 = (wi,x5) ; + top z5 = (0.5wi,5/8h) ; + lft z6 = (0,x5) ; + cutdraw z1{up}--z2 ; + cutdraw z3{up}--z4..z5{left}..z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{i} +% \begin{macrocode} +bauhauschar("i",1/5x_height#+f_space#,l_height#,0,0); %"The letter i" ; + lft z1 = (0,0) ; + lft z2 = (0,5/8h) ; + top z3 = (0.5wi,h) ; + cutdraw z1{up}--z2 ; + drawdot z3 ; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{j} +% \begin{macrocode} +bauhauschar("j",1/5x_height#+f_space#,l_height#,p_depth#,0); + %"The letter j" + lft z1 = (0,-d) ; + lft z2 = (0,5/8h) ; + top z3 = (0.5wi,h) ; + cutdraw z1{up}--z2 ; + drawdot z3 ; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{k} +% \begin{macrocode} +bauhauschar("k",0.8x_width#,1x_height#,0,0); %"The letter k" ; + lft z1 = (0,0) ; + lft z2 = (0,h) ; + lft z3 = (0,0.5h) ; + rt z4 = (wi,0) ; + rt z5 = (wi,h) ; + cutdraw z1{up}--z2 ; + cutdraw z3{right}..z4{down} ; + cutdraw z3{right}..z5{up} ; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{l} +% \begin{macrocode} +bauhauschar("l",1/5x_height#+f_space#,l_height#,0,0);%"The letter l" ; + lft z1 = (0,0) ; + lft z2 = (0,h) ; + cutdraw z1{up}--z2 ; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{m} +% \begin{macrocode} +bauhauschar("m",1m_width#,1x_height#,0,0); %"The letter m"; + lft z1 = (0,0) ; + lft z2 = (0,0.7h) ; + top z3 = (0.5[x5,x1],h) ; + z4 = (0.5wi,0.7h-0.25p_thick) ; + z5 = (0.5wi,0) ; + top z6 = (0.5[x8,x5],h) ; + rt z7 = (wi,0.7h) ; + rt z8 = (wi,0) ; + cutdraw z1{up}--z2..z3{right}..z4{down}--z5 ; + cutdraw z4{up}..z6{right}..z7--z8{down} ; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{n} +% \begin{macrocode} +bauhauschar("n",1x_width#,1x_height#,0,0); %"The letter n"; + lft z1 = (0,0); + lft z2 = (0,0.6h) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,0.6h) ; + rt z5 = (wi,0); + cutdraw z1{up}--z2{up}..z3{right}..z4{down}--z5{down}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{o} +% We save the letter in a \textsl{picture} variable for later use +% (for ligature \oe{}). +% \begin{macrocode} +bauhauschar("o",1x_width#,1x_height#,0,0); %"The letter o"; + top y1=h ; + rt x2=wi ; + bot y3=0 ; + lft x4=0 ; + x1 = x3 = 0.5wi ; + y2 = y4 = 0.5h ; + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle ; + penlabels(1,2,3,4); + o_pic := currentpicture; +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{p} +% \begin{macrocode} +bauhauschar("p",1x_width#,1x_height#,p_depth#,0); %"The letter p"; + lft z1 = (0,-d) ; + lft z2 = (0,0.5h) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,0.5h) ; + bot z5 = (0.5wi,0) ; + draw z2{up}..z3{right}..z4{down}..z5{left}..cycle ; + cutdraw z1{up}--z2{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{q} +% \begin{macrocode} +bauhauschar("q",1x_width#,1x_height#,p_depth#,0); %"The letter q"; + rt z1 = (wi,-d) ; + lft z2 = (0,0.5h) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,0.5h) ; + bot z5 = (0.5wi,0) ; + draw z2{up}..z3{right}..z4{down}..z5{left}..cycle ; + cutdraw z1{up}--z4{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{r} +% \begin{macrocode} +bauhauschar("r",3/5x_height#+f_space#,1x_height#,0,0); %"The letter r"; + lft z1 = (0,0) ; + lft z2 = (0,h-wi); + top z4 = (wi,h) ; + lft z3 = lft z2 rotatedaround((x4,y2),-45); + cutdraw z1{up}--z2{up}..z3{(1,1)}..z4{right}; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{s} +% \begin{macrocode} +bauhauschar("s",0.8x_width#,1x_height#,0,0); %"The letter s"; + lft z1 = (0,0.5[y6,y2]) ; + bot z2 = (1/3wi,0) ; + bot z3 = (2/3wi,0) ; + rt z4 = (wi,0.5[y5,y3]) ; + z5 = (2/3wi,0.5h) ; + z6 = (1/3wi,0.5h) ; + lft z7 = (0,0.5[y8,y6]) ; + top z8 = (1/3wi,h); + top z9 = (2/3wi,h) ; + rt z10 = (wi,0.5[y8,y6]) ; + cutdraw z1{down}..z2{right}--z3{right}..z4{up}.. + z5{left}--z6{left}..z7{up}..z8{right}--z9{right}..z10{down} ; + penlabels(1,2,3,4,5,6,7,8,9,10); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{t} +% \begin{macrocode} +bauhauschar("t",3/5x_height#+f_space#,1l_height#,0,0); %"The letter t"; + z1 = (0.5wi,0); + z2 = (0.5wi,h); + cutdraw z1{up}--z2; + top z3 = (0,5/8h); + top z4 = (wi,5/8h); + cutdraw z3--z4; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{u} +% \begin{macrocode} +bauhauschar("u",1x_width#,1x_height#,0,0); %"The letter u"; + lft z1 = (0,h); + lft z2 = (0,0.4h) ; + bot z3 = (0.5wi,0) ; + rt z4 = (wi,0.4h) ; + rt z5 = (wi,h); + cutdraw z1{down}--z2{down}..z3{right}..z4{up}--z5{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{v} +% \begin{macrocode} +bauhauschar("v",1x_width#,1x_height#,0,0); %"The letter v"; + lft z1 = (0,h); + bot z2 = (0.5wi-0.5p_thick,0.5p_thick); + bot z3 = (0.5wi,0); + bot z4 = (0.5wi+0.5p_thick,0.5p_thick); + rt z5 = (wi,h); + draw z1{down}--z2..z3..z4--z5{up}; + cutoff(z1,90); + cutoff(z5,90); + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{w} +% \begin{macrocode} +bauhauschar("w",1m_width#,1x_height#,0,0); %"The letter w"; + lft z1 = (0,h) ; + lft z2 = (0,0.3h) ; + bot z3 = (0.5[x5,x1],0) ; + z4 = (0.5wi,0.3h+0.25p_thick) ; + z5 = (0.5wi,h) ; + bot z6 = (0.5[x8,x5],0) ; + rt z7 = (wi,0.3h) ; + rt z8 = (wi,h) ; + cutdraw z1{down}--z2..z3{right}..z4{up}--z5 ; + cutdraw z4{down}..z6{right}..z7--z8{down} ; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{x} +% \begin{macrocode} +bauhauschar("x",1x_width#,1x_height#,0,0); %"The letter x"; + top z1 = (0,h); + z2 = (0.5wi,0.5wi); + bot z3 = (0,0); + top z4 = (wi,h); + bot z5 = (wi,0); + cutdraw z1{right}..z2{down}..z3{left}; + cutdraw z4{left}..z2{down}..z5{right}; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{y} +% \begin{macrocode} +bauhauschar("y",1x_width#,1x_height#,p_depth#,0) ; %"The letter y" ; + rt z1 = (wi,-d) ; + lft z2 = (0,h) ; + rt z3 = (wi,h) ; + rt z4 = (wi,x5) ; + bot z5 = (0.5wi,0) ; + lft z6 = (0,x5) ; + cutdraw z1{up}--z3 ; + cutdraw z3{up}--z4..z5{left}..z6{up}--z2{up} ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{z} +% \begin{macrocode} +bauhauschar("z",1x_width#,1x_height#,0,0) ; %"The letter z" ; + top z1 = (0,h); + rt x2 = wi ; top y2 = h ; + rt x3 = wi ; top y3 = y2; + lft x4 = 0 ; bot y4 = y5 ; + lft x5 = 0 ; bot y5 = 0 ; + bot z6 = (wi,0); + cutdraw z1{right}--z2..z3--z4..z5--z6 ; + penlabels(1,2,3,4,5,6); +endchar ; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</lowers> +% \fi +% +% \subsection{Numerals (\texttt{digits.mf})} +% \iffalse +%<*digits> +% \fi +% \begin{macro}{0} +% \begin{macrocode} +bauhausnumb("0",A_width#,l_height#,0,0); + lft z1 = (0,h-.5wi); + top z2 = (.5wi,h); + rt z3 = (wi,y1); + rt z4 = (wi,.5wi); + bot z5 = (.5wi,0); + lft z6 = (0,y4); + draw z1{up}..z2{right}..z3{down}---z4{down}..z5{left}..z6{up}---cycle; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{1} +% \begin{macrocode} +bauhausnumb("1",3/8(A_width#-f_space#)+f_space#,l_height#,0,0); + top z1 = (0,h); + top z2 = (2/3wi,h); + rt z3 = (wi,h-x2); + rt z4 = (wi,0); + cutdraw z1{right}---z2{right}..z3{down}---z4{down}; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{2} +% \begin{macrocode} +bauhausnumb("2",A_width#,l_height#,0,0); + lft z1 = (0,h-.5wi); + top z2 = (.5wi,h); + rt z3 = (wi,y1); + lft bot z4 = (0,0); + bot z5 = (wi,0); + cutdraw z1{up}..z2{right}..z3{down}---z4{(-1,1)}---z5{right}; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{3} +% \begin{macrocode} +bauhausnumb("3",A_width#,l_height#,0,0); + rad = .25h; + lft z1 = (0,h-rad); + top z2 = (rad,h); + top z3 = (wi-rad,h); + rt z4 = (wi,h-rad); + rt z5 = (wi-rad,.5h); + rt z6 = (wi,rad); + bot z7 = (wi-rad,0); + bot z8 = (rad,0); + lft z9 = (0,rad); + cutdraw z1{up}..z2{right}---z3{right}..z4{down}..z5{left}; + cutdraw z5{right}..z6{down}..z7{left}---z8{left}..z9{up}; + penlabels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{4} +% \begin{macrocode} +bauhausnumb("4",A_width#,l_height#,0,0); + z1 = (.8wi,h); + lft z2 = (0,h-x1); + z3 = (wi,y2); + z4 = (x1,0); + z5 = (x1,h-.5x1); + draw z1{(-1,-1)}---z2{(1,-1)}---z3{right}; + cutoff(z1,90); + cutoff(z3,0); + cutdraw z4{up}--z5; + penlabels(1,2,3,4,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{5} +% \begin{macrocode} +bauhausnumb("5",A_width#,l_height#,0,0); + tmp=wi/(1+sind(60)); + lft z1 = (0,tmp*(1-sind(30))); + bot z2 = (wi-tmp,0); + rt top z3 = (wi,tmp); + top z4 = (x2,2y3); + top lft z5 = (0,2y3); + top lft z6 = (0,h); + top z7 = (wi,h); + cutdraw z1{dir(-60)}..z2{right}..z3{up}..z4{left}--- + z5{(-1,1)}---z6{(1,1)}---z7{right}; + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{6} +% \begin{macrocode} +bauhausnumb("6",A_width#,l_height#,0,0); + lft z1 = (0,.5wi); + top z2 = (.5wi,wi); + rt z3 = (wi,y1); + bot z4 = (x2,0); + lft z5 = (0,h-.5wi); + top z6 = (x2,h); + z7 = z6 rotatedaround((.5wi,h-.5wi),-60); + draw z1{up}..z2{right}..z3{down}..z4{left}..z1{up}--- + z5{up}..z6{right}..z7{dir(-60)}; + cutoff(z7,-60); + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{7} +% \begin{macrocode} +bauhausnumb("7",A_width#,l_height#,0,0) ; + top z1 = (0,h); + rt top z2 = (wi,h); + lft z3 = (0,0); + draw z1{right}---z2{(1,-1)}---z3{z3-z1} ; + cutoff(z1,180); + cutoff(z3,angle(z3-z1)); + penlabels(1,2,3); +endchar ; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{8} +% \begin{macrocode} +bauhausnumb("8",.5l_height#+p_thick#+f_space#,l_height#,0,0); + top z1 = (.5wi,h); + z3 = (x1,.5h); + bot z6 = (x1,0); + rt z2 = bot z3 rotatedaround(.5[z3,z1],90); + lft z4 = bot z3 rotatedaround(.5[z3,z1],-90); + rt z5 = top z3 rotatedaround(.5[z6,z3],-90); + lft z7 = top z3 rotatedaround(.5[z6,z3],90); + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle; + draw z3{right}..z5{down}..z6{left}..z7{up}..cycle; + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{9} +% \begin{macrocode} +bauhausnumb("9",A_width#,l_height#,0,0); + rt z1 = (wi,h-.5wi); + bot z2 = (.5wi,h-wi); + lft z3 = (0,y1); + top z4 = (x2,h); + rt z5 = (wi,.5wi); + bot z6 = (x2,0); + z7 = z6 rotatedaround((.5wi,.5wi),-60); + draw z1{down}..z2{left}..z3{up}..z4{right}.. + z1{down}---z5{down}..z6{left}..z7{dir(120)}; + cutoff(z7,120); + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</digits> +% \fi +% +% \subsection{Symbols (\texttt{specials.mf})} +% +% Sources for special symmbols. Some of these are not part of a +% normal Computer Modern font, but is included here for consitency. +% \iffalse +%<*specials> +% \fi +% \begin{macro}{|} +% \begin{macrocode} +bauhaussymb(hex"0F",p_thick#+f_space#,l_height#,p_depth#,0); + "The symbol |"; + lft z1 = (0,h); + lft z2 = (0,-d); + cutdraw z1{down}--z2{down}; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\i} +% \begin{macrocode} +bauhaussymb(hex"10",p_thick#+f_space#,x_height#,0,0); + "Dotless i"; + lft z1 = (0,0); + lft z2 = (0,h); + cutdraw z1{up}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\j} +% \begin{macrocode} +bauhaussymb(hex"11",p_thick#+f_space#,x_height#,p_depth#,0); + "Dotless j"; + lft z1 = (0,-d); + lft z2 = (0,h); + cutdraw z1{up}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{$} +% \begin{macrocode} +bauhaussymb("$",x_width#,l_height#,0,0); + "The symbol $"; + lft z1 = (0,0.5[y6,y2]) ; + bot z2 = (1/3wi,1/8h) ; + bot z3 = (2/3wi,1/8h) ; + rt z4 = (wi,0.5[y5,y3]) ; + z5 = (2/3wi,0.5h) ; + z6 = (1/3wi,0.5h) ; + lft z7 = (0,0.5[y8,y6]) ; + top z8 = (1/3wi,7/8h); + top z9 = (2/3wi,7/8h) ; + rt z10 = (wi,0.5[y8,y6]) ; + z11 = (.5wi,0); + z12 = (.5wi,h); + cutdraw z1{down}..z2{right}--z3{right}..z4{up}..z5{left}-- + z6{left}..z7{up}..z8{right}--z9{right}..z10{down}; + cutdraw z11{up}--z12{up}; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{&} +% \begin{macrocode} +bauhaussymb("&",.5l_height#+2p_thick#+f_space#,l_height#,0,0); + "The symbol &"; + top z1 = (3/8wi,h); + bot z6 = (x1,1/8h); + z3 = .5[z6,z1]; + rt z2 = bot z3 rotatedaround(.5[z3,z1],90); + lft z4 = bot z3 rotatedaround(.5[z3,z1],-90); + rt z5 = top z3 rotatedaround(.5[z6,z3],-90); + lft z7 = top z3 rotatedaround(.5[z6,z3],90); + bot z8 = (wi,1/8h); + z9 = (x5,0); + draw z1{right}..z2{down}..z3{left}..z4{up}..cycle; + cutdraw z8{left}---z6{left}..z7{up}..z3{right}..z5{down}---z9{down}; + penlabels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{?} +% \begin{macrocode} +bauhaussymb("?",x_width#,l_height#,0,0); + "The symbol ?" ; + lft z1 = (0,h-.5wi); + top z2 = (.5wi,h); + rt z3 = (wi,y1); + z4 = (x2,h-wi); + bot z6 = (x2,0); + z5 = (x2,3y6); + draw z1{up}..z2{right}..z3{down}..z4{left}--z5{down}; + cutoff(z1,-90); + cutoff(z5,-90); + drawdot z6; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{?`} +% \begin{macrocode} +bauhaussymb(spanish_query,x_width#,x_height#,p_depth#,0); + "Spanish query"; + lft z1 = (0,-d+.5wi); + bot z2 = (.5wi,-d); + rt z3 = (wi,y1); + z4 = (x2,-d+wi); + top z6 = (x2,h); + z5 = (x2,h-3*(h-y6)); + draw z3{down}..z2{left}..z1{up}..z4{right}--z5{up}; + cutoff(z3,90); + cutoff(z5,90); + drawdot z6; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{!`} +% \begin{macrocode} +bauhaussymb(spanish_shriek,p_thick#+f_space#,x_height#,p_depth#,0); + "Spanish shriek"; + lft top z1 = (0,h); + lft z2 = (0,h-3*(h-y1)); + lft z3 = (0,-d); + drawdot z1; + cutdraw z2{down}--z3; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{right brace} +% \begin{macrocode} +bauhaussymb(hex"80",.7x_width#,l_height#,p_depth#,0); + "The symbol {"; + top z1 = (wi,h); + top z2 = (1/2wi,h); + lft z3 = (1/4wi,h-1/2wi); + z4 = (x3,1/2(h-d)); + z5 = (0,1/2(h-d)); + z6 = (x3,1/2wi-d); + bot z7 = (x2,-d); + bot z8 = (wi,-d); + cutdraw z1{left}..z3{down}---z4{down}--z5{left}; + cutdraw z4{down}---z6{down}..z8{right}; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{left brace} +% \begin{macrocode} +bauhaussymb(hex"81",.7x_width#,l_height#,p_depth#,0); + "The symbol }"; + top z1 = (0,h); + top z2 = (1/2wi,h); + rt z3 = (3/4wi,h-1/2wi); + z4 = (x3,1/2(h-d)); + z5 = (wi,1/2(h-d)); + z6 = (x3,1/2wi-d); + bot z7 = (x2,-d); + bot z8 = (0,-d); + cutdraw z1{right}..z3{down}---z4{down}--z5{right}; + cutdraw z4{down}---z6{down}..z8{left}; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \S{} is not normally avaliable as a character in Computer Modern +% fonts but is included here for consistency. +% \begin{macro}{\S} +% \begin{macrocode} +bauhaussymb(hex"82",.5l_height#+f_space#,l_height#,0,0); + "Paragraph sign"; + lft z1 = (0,.5h); + top z2 = (.5wi,.5h+.5wi); + rt z3 = (wi,0.5h); + bot z4 = (.5wi,.5h-.5wi); + lft z5 = (0,h-.5wi); + top z6 = (.5wi,h); + z7 = z6 rotatedaround((.5wi,y5),-60); + rt z8 = (wi,.5wi); + bot z9 = (.5wi,0); + z10 = z9 rotatedaround((.5wi,y8),-60); + draw z10{dir(-60)}..z9{right}..z8{up}--z3{up}; + draw z7{dir(120)}..z6{left}..z5{down}--z1{down}; + draw z1{up}..z2{right}..z3{down}..z4{left}..cycle; + penlabels(1,2,3,4,5,6,7,8,9,10); + cutoff(z10,120); + cutoff(z7,-30); +endchar; + +% \end{macrocode} +% \end{macro} +% "Q" as a reflected "P" +% \begin{macro}{\varQ} +% \begin{macrocode} +bauhaussymb(hex"83",A_width#,l_height#,0,0); + "variant letter Q"; + rt z1 = (wi,0) ; + lft z2 = (0,h-.5wi) ; + top z3 = (0.5wi,h) ; + rt z4 = (wi,h-.5wi) ; + bot z5 = (0.5wi,h-wi) ; + draw z2{up}..z3{right}..z4{down}..z5{left}..cycle ; + cutdraw z1{up}--z4{up}; + penlabels(1,2,3,4,5); +endchar ; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</specials> +% \fi +% +% \subsection{Ligatures (\texttt{ligatures})} +% +% Since I'm Danish, I insited on this ligatures, eventhough they are +% a pain in the neck. +% \iffalse +%<*ligatures> +% \fi +% \begin{macro}{\ss} +% \begin{macrocode} +bauhaussymb(hex"19",2p_thick#+.5l_height#+f_space#,l_height#,0,0); + "Ligature ss"; + lft z1 = (wi-.5h,0); + lft z2 = (wi-.5h,.75h); + top z3 = (wi-.25h,h); + rt z4 = (wi,y2); + z5 = (wi-.25h,.5h); + z6 = (0,.5h); + rt z7 = (wi,.25h); + bot z8 = (wi-.25h,0); + cutdraw z1{up}---z2{up}..z3{right}..z4{down}..z5{left}---z6{left}; + cutdraw z5{right}..z7{down}..z8{left}; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% Here we use the previously stored picture of ``a'' and ``e''. +% \begin{macro}{\ae} +% \begin{macrocode} +bauhaussymb(hex"1A",2x_width#-p_thick#-2f_space#,x_height#,0,0); + "Ligature ae"; + currentpicture := a_pic + ( e_pic shifted (.5wi,0)); +endchar; + +% \end{macrocode} +% \end{macro} +% Here we use the previously stored picture of ``o'' and ``e''. +% \begin{macro}{\oe} +% \begin{macrocode} +bauhaussymb(hex"1B",2x_width#-p_thick#-2f_space#,x_height#,0,0); + "Ligature oe"; + currentpicture := o_pic + ( e_pic shifted (.5wi,0)); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\o} +% Here we use the previously stored picture of ``o''. +% \begin{macrocode} +bauhaussymb(hex"1C",x_width#,x_height#,0,0); + "Ligature o/"; + lft z10 = (0,0); + rt z11 = (wi,h); + draw z10{(1,1)}--z11; + cutoff(z10,-90); + cutoff(z11,90); + currentpicture := currentpicture + o_pic; +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\AE} +% \begin{macrocode} +bauhaussymb(hex"1D",M_width#,l_height#,0,0); + "Ligature AE"; + lft z1 = (0,0); + lft z2 = (0,.5wi); + top z3 = (.5wi,h); + top z4 = (wi,h); + lft z5 = (0,.5h); + z6 = (wi,.5h); + bot z7 = (wi,0); + bot z8 = (.5wi,0); + cutdraw z1{up}---z2{up}..z3{right}---z4{right}; + draw z5{right}---z6{right}; + cutoff(z6,0); + cutdraw z7{left}---z8{(-1,1)}---z3{up}; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\OE} +% \begin{macrocode} +bauhaussymb(hex"1E",.5l_height#+.5A_width#+.5f_space#,l_height#,0,0); + "Ligature OE"; + bot z1 = (wi,0); + bot z2 = (.5h,0); + lft z3 = (0,.5h); + top z4 = (.5h,h); + top z5 = (wi,h); + z6 = .5[z2,z4]; + z7 = .5[z1,z5]; + cutdraw z1{left}---z2{left}..z3{up}..z4{right}---z5{right}; + draw z2{up}--z4{up}; + draw z6{right}--z7{right}; + cutoff(z7,0); + penlabels(1,2,3,4,5,6,7); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\O} +% Here we use the previously stored picture of ``O''. +% \begin{macrocode} +bauhaussymb(hex"1F",l_height#+f_space#,l_height#,0,0); + "Liguture O/"; + lft z10 = (0,0); + rt z11 = (wi,h); + draw z10{(1,1)}--z11; + cutoff(z10,-90); + cutoff(z11,90); + currentpicture := currentpicture + O_pic; +endchar; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</ligatures> +% \fi +% +% \subsection{Punctuation Marks (\texttt{punctuations.mf})} +% +% This is the source file for the punctuation marks in this font. +% These programs are pretty straight--foreward. +% \iffalse +%<*punctuations> +% \fi +% \begin{macro}{!} +% \begin{macrocode} +bauhaussymb("!",p_thick#+f_space#,l_height#,0,0); + "The punctuation !"; + lft bot z1 = (0,0); + lft z2 = (0,3y1); + lft z3 = (0,h); + drawdot z1; + cutdraw z2{up}--z3; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{(} +% \begin{macrocode} +bauhaussymb("(",.5x_width#,l_height#,p_depth#,0); + "The punctuation ("; + rt z1 = (wi,h); + lft z3 = (0,.5(h-d)); + rt z5 = (wi,-d); + draw z1..z3..z5; + cutoff(z1,90); + cutoff(z5,-90); + penlabels(1,3,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{)} +% \begin{macrocode} +bauhaussymb(")",.5x_width#,l_height#,p_depth#,0); + "The punctuation )"; + lft z1 = (0,h); + rt z3 = (wi,.5(h-d)); + lft z5 = (0,-d); + draw z1..z3..z5; + cutoff(z1,90); + cutoff(z5,-90); + penlabels(1,3,5); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{''} +% \begin{macrocode} +bauhaussymb(hex"22",3f_space#,l_height#,0,0); + "The punctuation ''"; + lft z1 = (3p_thick,h); + lft z2 = (p_thick,h); + lft z3 = (2p_thick,h-3p_thick); + lft z4 = (0,h-3p_thick); + draw z1--z3; + draw z2--z4; + cutoff(z1,90); + cutoff(z2,90); + cutoff(z3,-90); + cutoff(z4,-90); + penlabels(1,2,3,4); +endchar; + + +% \end{macrocode} +% \end{macro} +% \begin{macro}{#} +% \begin{macrocode} +bauhaussymb("#",A_width#,l_height#,0,0); + "The punctuation #"; + lft top z1 = (0,3/4h); + lft bot z2 = (0,1/4h); + rt z3 = (wi,y1); + rt z4 = (wi,y2); + cutdraw z1{right}--z3{right}; + cutdraw z2{right}--z4{right}; + bot z5 = (1/5wi,0); + bot z6 = (3/5wi,0); + top z7 = (2/5wi,h); + top z8 = (4/5wi,h); + draw z5--z7; + draw z6--z8; + cutoff(z5,-90); + cutoff(z6,-90); + cutoff(z7,90); + cutoff(z8,90); + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\%} +% \begin{macrocode} +bauhaussymb("%",A_width#,l_height#,0,0); + "The punctuation %"; + rt z1 = (wi,h); + lft z2 = (0,0); + draw z1--z2; + cutoff(z1,90); + cutoff(z2,-90); + top z3 = (1/4wi,h); + rt z4 = top z3 rotatedaround((x3,h-x3),-90); + bot z5 = top z3 rotatedaround((x3,h-x3),-180); + lft z6 = top z3 rotatedaround((x3,h-x3),-270); + draw z3{right}..z4{down}..z5{left}..z6{up}..cycle; + bot z7 = (3/4wi,0); + lft z8 = bot z7 rotatedaround((x7,x3),-90); + top z9 = bot z7 rotatedaround((x7,x3),-180); + rt z10 = bot z7 rotatedaround((x7,x3),-270); + draw z7{left}..z8{up}..z9{right}..z10{down}..cycle; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{'} +% \begin{macrocode} +bauhaussymb("'",2f_space#,l_height#,0,0); + "The punctuation '"; + lft z1 = (p_thick,h); + lft z2 = (0,h-3p_thick); + draw z1--z2; + cutoff(z1,90); + cutoff(z2,-90); + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{*} +% \begin{macrocode} +bauhaussymb("*",x_width#,l_height#,0,0); + "The punctuation *"; + z1 = (0.5wi,h); + z2 = z1 rotatedaround((.5wi,h-.5wi),-60); + z3 = z1 rotatedaround((.5wi,h-.5wi),-120); + z4 = z1 rotatedaround((.5wi,h-.5wi),-180); + z5 = z1 rotatedaround((.5wi,h-.5wi),-240); + z6 = z1 rotatedaround((.5wi,h-.5wi),-300); + cutdraw z1--z4; + cutdraw z2--z5; + cutdraw z3--z6; + penlabels(1,2,3,4,5,6); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{+} +% \begin{macrocode} +bauhaussymb("+",x_width#,x_height#,0,0); + "The punctuation +"; + z1 = (.5wi,h); + z2 = (.5wi,0); + z3 = (0,.5h); + z4 = (wi,.5h); + cutdraw z1{down}--z2; + cutdraw z3{right}--z4; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{,} +% \begin{macrocode} +bauhaussymb(",",p_thick#+f_space#,p_thick#,2/3p_depth#,0); + "The punctuation ,"; + lft bot z1 = (0,h); + lft top z2 = (0,-d); + cutdraw z1{down}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{-} +% \begin{macrocode} +bauhaussymb("-",.7x_width#,x_height#,0,0); + "The punctuation -"; + z1 = (0,.5h); + z2 = (wi,y1); + cutdraw z1{right}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{.} +% \begin{macrocode} +bauhaussymb(".",p_thick#+f_space#,p_thick#,0,0); + "The punctuation ."; + lft bot z1 = (0,0); + drawdot z1; + penlabels(1); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{/} +% \begin{macrocode} +bauhaussymb("/",2/3x_width#,l_height#,p_depth#,0); + "The punctuation /"; + lft z1 = (0,-d); + rt z2 = (wi,h); + draw z1--z2; + cutoff(z1,-90); + cutoff(z2,90); + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{:} +% \begin{macrocode} +bauhaussymb(":",p_thick#+f_space#,x_height#,0,0); + "The punctuation :"; + top lft z1 = (0,h); + bot lft z2 = (0,0); + drawdot z1; + drawdot z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{;} +% \begin{macrocode} +bauhaussymb(";",p_thick#+f_space#,x_height#,2/3p_depth#,0); + "The punctuation ;"; + lft bot z1 = (0,0); + lft top z2 = (0,-d); + lft top z3 = (0,h); + cutdraw z1{down}--z2; + drawdot z3; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{=} +% \begin{macrocode} +bauhaussymb("=",.7x_width#,x_height#,0,0); + "The punctuation ="; + top z1 = (0,1/3h); + z2 = (wi,y1); + cutdraw z1{right}--z2; + bot z3 = (0,2/3h); + z4 = (wi,y3); + cutdraw z3{right}--z4; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{@} +% \begin{macrocode} +bauhaussymb("@",l_height#+f_space#,l_height#,0,0); + "The punctuation @"; + rt z1 = (wi,0); + rt z2 = (wi,.5h); + top z3 = (.5wi,h); + lft z4 = (0,.5h); + z5 = z4 rotatedaround((.5wi,.5h),60); + rt z6 = (wi,1/3h); + top z7 = (wi-1/3h,2/3h); + lft z8 = (wi-2/3h,1/3h); + bot z9 = (wi-1/3h,0); + cutdraw z1{up}--z2{up}..z3{left}..z4{down}..z5{dir(-30)}; + draw z6{up}..z7{left}..z8{down}..z9{right}..cycle; + penlabels(1,2,3,4,5,6,7,8,9); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{[} +% \begin{macrocode} +bauhaussymb("[",.7x_width#,l_height#,p_depth#,0); + "The punctuation ["; + rt top z1 = (wi,h); + lft top z2 = (0,h); + lft bot z3 = (0,-d); + rt bot z4 = (wi,-d); + cutdraw z1{left}---z2{(-1,-1)}---z3{(1,-1)}---z4{right}; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{``} +% \begin{macrocode} +bauhaussymb(hex"5C",3f_space#,l_height#,0,0); + "The punctuation ``"; + lft z1 = (0,h); + lft z2 = (2p_thick,h); + lft z3 = (p_thick,h-3p_thick); + lft z4 = (3p_thick,h-3p_thick); + draw z1--z3; + draw z2--z4; + cutoff(z1,90); + cutoff(z2,90); + cutoff(z3,-90); + cutoff(z4,-90); + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{]} +% \begin{macrocode} +bauhaussymb("]",.7x_width#,l_height#,p_depth#,0); + "The punctuation ]"; + lft top z1 = (0,h); + rt top z2 = (wi,h); + rt bot z3 = (wi,-d); + lft bot z4 = (0,-d); + cutdraw z1{right}---z2{(1,-1)}---z3{(-1,-1)}---z4{left}; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{`} +% \begin{macrocode} +bauhaussymb("`",2f_space#,l_height#,0,0); + "The punctuation `"; + lft z1 = (0,h); + lft z2 = (p_thick,h-3p_thick); + draw z1--z2; + cutoff(z1,90); + cutoff(z2,-90); + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{--} +% \begin{macrocode} +bauhaussymb(hex"7B",x_width#,x_height#,0,0); + "The punctuation --"; + z1 = (0,.5h); + z2 = (wi,y1); + cutdraw z1{right}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{---} +% \begin{macrocode} +bauhaussymb(hex"7C",m_width#,x_height#,0,0); + "The punctuation ---"; + z1 = (0,.5h); + z2 = (wi,y1); + cutdraw z1{right}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</punctuations> +% \fi +% +% \subsection{Accents (\texttt{accents.mf})} +% +% Source file for accents. The ``tie--after'' \t{oo} (\Lcs{t}) +% accent is not defined. +% \iffalse +%<*accents> +% \fi +% \begin{macro}{\`{}} +% \begin{macrocode} +bauhaussymb(hex"12",x_width#,l_height#,0,0); + "The accent `"; + top z1 = (0,h); + bot z2 = (2.5p_thick,h-2.5p_thick); + draw z1--z2; + cutoff(z1,90); + cutoff(z2,-90); + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\'{}} +% \begin{macrocode} +bauhaussymb(hex"13",x_width#,l_height#,0,0); + "The accent '"; + bot z1 = (0.5wi,h-2p_thick); + top z2 = (.5wi+2p_thick,h); + draw z1--z2; + cutoff(z1,-90); + cutoff(z2,90); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\v{}} +% \begin{macrocode} +bauhaussymb(hex"14",x_width#,l_height#,0,0); + "The accent hachek"; + bot z1 = (.5wi,h-2p_thick); + top z2 = (.5wi-1.5p_thick,h); + top z3 = (.5wi+1.5p_thick,h); + draw z2---z1{right}---z3; + cutoff(z2,90); + cutoff(z3,90); + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\u{}} +% \begin{macrocode} +bauhaussymb(hex"15",x_width#,l_height#,0,0); + "The accent breve"; + bot z1 = (.5wi,h-2p_thick); + top z2 = (.5wi-p_thick,h); + top z3 = (.5wi+p_thick,h); + cutdraw z2{down}..z1{right}..z3{up}; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\={}} +% \begin{macrocode} +bauhaussymb(hex"16",x_width#,l_height#,0,0); + "The accent bar"; + top z1 = (.5wi-1.5p_thick,h); + top z2 = (.5wi+1.5p_thick,h); + cutdraw z1{right}--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\aa{}} +% \begin{macrocode} +bauhaussymb(hex"17",A_width#,l_height#,0,0); + "The accent circle"; + top z1 = (.5wi,h+p_thick); + lft z2 = (.5wi-1.5p_thick,h-.5p_thick); + bot z3 = (.5wi,h-2p_thick); + rt z4 = (.5wi+1.5p_thick,h-.5p_thick); + draw z1{left}..z2{down}..z3{right}..z4{up}..cycle; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\c{}} +% \begin{macrocode} +bauhaussymb(hex"18",x_width#,l_height#,p_depth#,0); + "The accent cidelia"; + bot z1 = (.5wi,0); + rt z2 = (.5wi+1.5p_thick,-.5p_thick); + top z3 = (.5wi,-p_thick); + cutdraw z1{right}..z2{down}..z3{left}; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\l} +% \begin{macrocode} +bauhaussymb(hex"20",f_space#,l_height#,0,0); + "The accent bar over l"; + top z1 = (0,.5h); + bot z2 = (3p_thick,.5h); + cutdraw z1--z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{^} +% \begin{macrocode} +bauhaussymb(hex"5E",x_width#,l_height#,0,0); + "The accent hat"; + top z1 = (.5wi,h); + bot z2 = (.5wi-1.5p_thick,h-2p_thick); + bot z3 = (.5wi+1.5p_thick,h-2p_thick); + draw z2---z1{right}---z3; + cutoff(z2,-90); + cutoff(z3,-90); + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\.{}} +% \begin{macrocode} +bauhaussymb(hex"5F",x_width#,l_height#,0,0); + "The accent dot"; + top z1 = (.5wi,h); + drawdot z1; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\H{}} +% \begin{macrocode} +bauhaussymb(hex"7D",x_width#,l_height#,0,0); + "The accent ''"; + rt z1 = (.5wi,h); + rt z2 = (.5wi-2p_thick,h-2p_thick); + rt z3 = (.5wi+2p_thick,h); + rt z4 = (.5wi,h-2p_thick); + draw z1--z2; + draw z3--z4; + cutoff(z1,90); + cutoff(z2,-90); + cutoff(z3,90); + cutoff(z4,-90); + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{tilde} +% \begin{macrocode} +bauhaussymb(hex"7E",x_width#,l_height#,0,0); + "The accent ~"; + bot z1 = (.5wi-1.5p_thick,h-1.5p_thick); + top z2 = (.5wi-.75p_thick,h); + bot z3 = (.5wi+.75p_thick,h-1.5p_thick); + top z4 = (.5wi+1.5p_thick,h); + cutdraw z1..z2{right}..z3{right}..z4; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{umlaut} +% \begin{macrocode} +bauhaussymb(hex"7F",x_width#,l_height#,0,0); + "The accent Ļ"; + top rt z1 = (.5wi-.25p_thick,h); + top lft z2 = (.5wi+.25p_thick,h); + drawdot z1; + drawdot z2; + penlabels(1,2); +endchar; + +% \end{macrocode} +% \end{macro} +% \iffalse +%</accents> +% \fi +% +% \subsection{Bauhaus symbols (\texttt{extras.mf})} +% +% This is the sources for the extra \textbayer{bauhaus} symbols. +% Use them to add some spiece to your document, or as icons +% indicating special sections, etc. +% \iffalse +%<*extras> +% \fi +% \begin{macro}{\bauplus} +% This is \emph{not} --- I repeat \emph{NOT} --- a schwastica, but +% an asymmetrical plus--sign. +% \begin{macrocode} +picture blackpic; +bauhausextra(hex"00","bauplus")%\bauplus + z1 = (0,0); + z2 = (0,h); + z3 = (wi,h); + z4 = (wi,0); + fill z1--z2--z3--z4--cycle; + blackpic := currentpicture; + inn=.9wi; + sp=.05wi; + z5 = (1/3inn+sp,h-sp); + z6 = (.5(wi-sp),y5); + z7 = (x6,.5(h+.sp)); + z8 = (x5,y7); + path square ; + square = z5--z6--z7--z8--cycle; + unfill square; + unfill (square rotatedaround((.5wi,.5h),90)); + unfill (square rotatedaround((.5wi,.5h),180)); + unfill (square rotatedaround((.5wi,.5h),270)); + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\baudash} +% Why not try making hyphonation dashes in a new way (it's only +% a suggestion!). +% \begin{macrocode} +bauhausextra(hex"01","baudash")%\baudash + currentpicture := currentpicture + blackpic; + innn=.9wi; + z5 = (sp,.5(h+sp)); + z6 = (sp,1/6innn+.5h); + z7 = (.5(wi-sp),y6); + z8 = (x7,.y5); + path square[] ; + square1 = z5--z6--z7--z8--cycle; + square2 = (square1 reflectedabout((.5wi,0),(.5wi,h))); + unfill square1; + unfill (square1 reflectedabout((0,.5h),(wi,.5h))); + unfill square2 ; + unfill (square2 reflectedabout((0,.5h),(wi,.5h))); + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauequal} +% Well, sometimes things ARE what they may not seem. +% \begin{macrocode} +bauhausextra(hex"02","bauequal")%\bauequal + currentpicture := currentpicture + blackpic; + z1 = (sp,.5(h+sp)); + z2 = (sp,1/6innn+.5h); + z3 = (.5(wi-sp),y2); + z4 = (x3,.y1); + z5 = (sp,sp); + z6 = (sp,1/6innn+sp); + z7 = (.5(wi-sp),y6); + z8 = (x7,.y5); + path square[] ; + square1 = z1--z2--z3--z4--cycle; + square2 = (square1 reflectedabout((.5wi,0),(.5wi,h))); + square3 = z5--z6--z7--z8--cycle; + square4 = (square3 reflectedabout((.5wi,0),(.5wi,h))); + unfill square1; + unfill square2; + unfill square3 ; + unfill square4; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bautrangle} +% The triangle was one of the main forms to the founder of +% bauhaus school --- Walter Gropius, along with the circle and +% the square. If you use the \textsf{color} package, you could +% use a yellow trangle, red circle and blue square, to make a +% compliment to Walter Gropius. \index{Gropius, Walter} +% \begin{macrocode} +bauhausextra(hex"03","bautriangle")%\bautriangle + z1 = (0,0); + z2 = (.5wi,h); + z3 = (wi,0); + fill z1--z2--z3--cycle; + penlabels(1,2,3); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\baucircle} +% Lets make thing round (but not quite). +% \begin{macrocode} +bauhausextra(hex"04","baucircle")%\baucircle + currentpicture := currentpicture + blackpic; + pickup pencircle scaled 1/4wi; + top z1 = (.5wi,h); rt z2 = (wi,.5h); + bot z3 = (.5wi,0); lft z4 = (0,.5h); + undraw z1..z2..z3..z4..cycle; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\baucross} +% ``X'' marks the spot. +% \begin{macrocode} +bauhausextra(hex"05","baucross")%\baucross + bot lft z1 = (0,0) ; top lft z2 = (0,h) ; + top rt z3 = (wi,h) ; bot rt z4 = (wi,0) ; + draw z1--z2--z3--z4--cycle; + z5 = (0,1/4h) ; z6 = (1/4wi,.5h) ; z7 = (0,3/4h) ; + z8 = (1/4wi,h) ; z9 = (.5wi,3/4h) ; z10 = (3/4wi,h) ; + z11 = (wi,3/4h) ; z12 = (3/4wi,.5h) ; z13 = (wi,1/4h) ; + z14 = (3/4wi,0) ; z15 = (.5wi,1/4h) ; z16 = (1/4wi,0) ; + fill z1--z5--z6--z7--z2--z8--z9--z10--z3--z11--z12-- + z13--z4--z14--z15--z16--cycle; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauwindow} +% This symbols resembles the Japaness sign for ``field'', but +% to Europeans, I think it looks like a window. +% \begin{macrocode} +bauhausextra(hex"06","bauwindow")%\bauwindow + bot lft z1 = (0,0) ; top lft z2 = (0,h) ; + top rt z3 = (wi,h) ; bot rt z4 = (wi,0) ; + draw z1--z2--z3--z4--cycle; + top z5 = (.5wi,h) ; bot z6 = (.5wi,0) ; + lft z7 = (0,.5h) ; rt z8 = (wi,.5h) ; + draw z5--z6; + draw z7--z8; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauhole} +% \begin{macrocode} +bauhausextra(hex"07","bauhole")%\bauhole + top z1 = (.5wi,h); + rt z2 = (wi,.5h); + bot z3 = (x1,0); + lft z4 = (0,y2); + draw z1..z2..z3..z4..cycle; + z5 = (.5wi,9/10h); + z6 = (9/10wi,.5h); + z7 = (x5,1/10h); + z8 = (1/10wi,y6); + fill z5..z6..z7..z8..cycle; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\baueclipse} +% ``The sun ain't gonna shine anymore''. How's dat for a +% quote\footnote{Slang --- what a dreadfull thing.}. +% \begin{macrocode} +bauhausextra(hex"08","baueclipse")%\baueclipse + pickup pencircle scaled p_thick; + top z1 = (.5wi,h); + rt z2 = (wi,.5h); + bot z3 = (x1,0); + lft z4 = (0,y2); + draw z1..z2..z3..z4..cycle; + delta = .05wi; + z5 = bot z1 - (0,delta); + z6 = lft z2 - (delta,0); + z7 = top z3 + (0,.9delta); + z8 = rt z4 + (.9delta,0); + fill z5..z6..z7..z8..cycle; + penlabels(1,2,3,4,5,6,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauquarter} +% Take a slice of this cake! +% \begin{macrocode} +bauhausextra(hex"09","bauquarter")%\bauquarter + z1 = (.5wi,h); + z2 = (.5wi,.5h); + z3 = (wi,y2); + z4 = (x1,0); + z5 = (0,y2); + top z7 = z1; + rt z8 = z3; + fill z4{left}..z5{up}..z1--z2--z3..cycle; + draw z7{right}..z8{down}; + penlabels(1,2,3,4,5,7,8); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauarrow} +% An encircled black arrow. +% \begin{macrocode} +bauhausextra(hex"0A","bauarrow")%\bauarrow + top z1 = (.5wi,h); + rt z2 = (wi,.5h); + bot z3 = (x1,0); + lft z4 = (0,y2); + draw z1..z2..z3..z4..cycle; + z5 = (3/10wi,6/10h); + z6 = (6/10wi,y5); + z7 = (x6,y5+1/20wi); + z8 = (x6+3/20wi,.5h); + z9 = (x6,4/10h-1/20h); + z10 = (x6,4/10h); + z11 = (x5,y10); + fill z5--z6--z7--z8--z9--z10--z11--cycle; + penlabels(1,2,3,4,5,6,7,8,9,10,11); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauwhitearrow} +% Much like above, only the arrow is hollow. +% \begin{macrocode} +bauhausextra(hex"0B","bauwhitearrow")%\bauwhitearrow + top z1 = (.5wi,h); + rt z2 = (wi,.5h); + bot z3 = (x1,0); + lft z4 = (0,y2); + draw z1..z2..z3..z4..cycle; + z5 = (3/10wi,6/10h); + z6 = (6/10wi,y5); + z7 = (x6,y5+1/20wi); + z8 = (x6+3/20wi,.5h); + z9 = (x6,4/10h-1/20h); + z10 = (x6,4/10h); + z11 = (x5,y10); + draw z5--z6--z7--z8--z9--z10--z11--cycle; + penlabels(1,2,3,4,5,6,7,8,9,10,11); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauhead} +% The well--known logo for bauhaus. +% We save some of this symbol picture \texttt{commonface}, since +% this includes the points common to both this symbol and the next. +% \begin{macrocode} +bauhausextra(hex"0C","bauhead")%\bauhead + % Vertical variables + a1 = 0.702h ; a2 = 0.561h ; a3 = 0.491h ; a4 = 0.351h ; + a5 = 0.272h ; a6 = 0.140h ; + % horizontal variables + b1 = 0.202wi ; b2 = 0.307wi ; b3 = 0.412wi ; b4 = 0.447wi ; + b5 = 0.465wi ; b6 = 0.518wi ; b7 = 0.588wi ; b8 = 0.623wi ; + % eye + pickup pensquare scaled .009wi ; + top lft z1 = (b1,a1) ; top rt z2 = (b2,a1) ; + draw z1--z2; + bot rt z3 = (b4,a3) ; top rt z4 = (b4,a2) ; + draw z3--z4; + z5 = (b2,a1) ; z6 = (b4,a1) ; z7 = (b4,a2) ; z8 = (b2,a2) ; + fill z5--z6--z7--z8--cycle; + % nostril + lft bot z9 = (b4,a4) ; rt bot z10 = (b7,a4) ; + draw z9--z10 ; + % chin + lft bot z11 = (b2,a6) ; rt bot z12 = (b6,a6) ; + draw z11--z12; + % lips + pickup pensquare scaled 0.035wi ; + lft top z13 = (b5,a5) ; rt top z14 = (b6,a5) ; + draw z13--z14; + % bottom of face + z15 = (b6,a4) ; z16 = (b7,a4) ; z17 = (b7,a6) ; z18 = (b6,a6) ; + fill z15--z16--z17--z18--cycle ; + % save the common stuff + picture commonface ; + commonface := currentpicture ; + % head with circle + path noselft, nosert, necklft, neckrt ; + path headcircle , parttop, partbot; + z19 = (b7,a4) ; z20 = (b7,h) ; noselft = z19--z20 ; + z21 = (b8,h) ; z22 = (b8,a4) ; nosert = z21--z22 ; + z23 = (b3,a6) ; z24 = (b3,0) ; necklft = z23--z24 ; + z25 = (b6,0) ; z26 = (b6,a6) ; neckrt = z25--z26 ; + % circle + pickup pencircle scaled .009wi; + top z27 = (.5wi,h) ; rt z28 = (wi,.5h) ; + bot z29 = (.5wi,0) ; lft z30 = (0,.5h) ; + headcircle := z27..z28..z29..z30..cycle ; + draw headcircle ; + % nose/forhead + z31 = noselft intersectiontimes headcircle ; + z32 = nosert intersectiontimes headcircle ; + parttop = subpath(y31,y32) of headcircle ; + fill z19--parttop--z22--cycle ; + % nose/forhead + z33 = neckrt intersectiontimes headcircle ; + z34 = necklft intersectiontimes headcircle ; + partbot = subpath(y34,y33) of headcircle ; + fill z23--partbot--z26--cycle ; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20) ; + penlabels(21,22,23,24,25,26,27,28,29,30); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauface} +% This symbol is like the one above, but without the enclosing +% circle. We reuse the saved picture \texttt{commonface}, since +% this includes the points common to both symbols. +% \begin{macrocode} +bauhausextra(hex"0D","bauface");%\bauface + % head without cicle + path noselft, nosert, necklft, neckrt ; + % nose/forhead + z19 = (b7,a4) ; z20 = (b7,h) ; noselft = z19--z20 ; + z21 = (b8,h) ; z22 = (b8,a4) ; nosert = z21--z22 ; + fill noselft--nosert--cycle; + % neck + z23 = (b3,a6) ; z24 = (b3,0) ; necklft = z23--z24 ; + z25 = (b6,0) ; z26 = (b6,a6) ; neckrt = z25--z26 ; + fill necklft--neckrt--cycle; + currentpicture := currentpicture + commonface ; +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauquestion} +% This symbol didn't come out as I originally intended it to, but +% all--in--all I'm quite contend with the outcome. +% \begin{macrocode} +beginchar(hex"0E",5/7l_height#+f_space#,l_height#,p_depth#); + %\bauquestion + "The bauhaus symbol bauquestion"; + pickup pencircle scaled 1/10p_thick ; + spp=.01wi; + wi#:=2/3l_height#; + define_pixels(wi); + z1 = (0,0) ; z2 = (0,h) ; z3 = (wi,h) ; z4 = (wi,0) ; + fill z1--z2--z3--z4--cycle; + z5 = (1/2(.5wi-spp)+spp,spp); + z6 = (.5wi,y5) ; + z7 = (.5wi,x5); + z8 = (x5,x5); + unfill z5--z6--z7--z8--cycle; + z9 = (x6+3/2(x5-spp),y7); z10 = (x9,y7+x9-x6) ; z11 = (x6,y10) ; + unfill z7--z9--z10--z11--cycle; + z12 = (x6,y11+.5(wi-spp)) ; z13 = (spp,y12) ; z14 = (spp,y10) ; + unfill z11--z12--z13--z14--cycle ; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bauforms} +% This is proberly the most complicated symbol of the entire font. +% It is shown in 72pt in Figure~\ref{charforms}. +% \begin{figure}[htbp] +% \centering +% \font\Hugebayer=universal17 at 72pt +% \textbayer{\Hugebayer \bauforms} +% \caption{\Lcs{bauforms} symbol.} +% \label{charforms} +% \end{figure} +% +% This symbol is, however proberly also the most interresting symbol +% of the font, design--wise, since it uses the the three fundamental +% forms: the circle, the trangle and the square. As stated elsewhere, +% these forms was considered by Walter Gropius as three most important +% figures in design.\index{Gropius, Walter} +% +% The task is to make a circle, in inside this make a triangle and +% a square. However, the angles (in particular the right most) of +% triangle should be so that the left--most down--stroke should +% divide the square into two rectangles, twice has high as wide. +% +% One should think the square is an inscribed square of the circle +% with center on the middle of the trangles down--stroke, with a +% radius of the distance from this point to the outer circle. +% This is \emph{not} the case! +% +% It is possible to determine analythical the vertex points of the +% triangle and square as a function of the left most angle (in the +% \MF{} program called \texttt{phi}), but I have found \emph{no} +% anaytical expression for this angle, though I cannot prove no such +% expression exists. If you have a proff of this, or found an +% expression, please let me know, as I consider it a challenging +% problem in geometry.\index{Problem in geometry} +% +% \begin{figure}[htbp] +% \centering +% \epsfig{file=forms.eps} +% \caption{Geometrical problem \Lcs{bauforms}.} +% \label{geometry} +% \end{figure} +% +% Figure~\ref{geometry} shows the upper half of this symbol in terms +% of point positions. Notice point $z_{ref}$ isnīt in the program for +% \Lcs{bauforms} but is shown here to point out an important feature +% of the numerical calculations. Also $w$ is called \texttt{wi} in the +% \MF{} program. +% +% The analytical equations for $z_6=(a_3,a_4)$ and $z_8=(a_5,a_6)$ can +% be determined as functions of $\phi$ as follows:\\ +% From the problem, it is given, that +% \begin{equation}a_3-a_5=a_6,\end{equation} +% and since the angle $\phi$ at the edge of the circle is eguivivalent +% to the angle $2\phi$ from the center of the circle. So there +% resaults +% \begin{eqnarray} +% \sqrt{(a_3)^2+(a_4)^2}&=&w\cos\phi\nonumber\\ +% &=&a_1\\ +% a_3 &=&w\cos\phi\cos\phi\nonumber\\ +% &=&w\cos^2\phi\\ +% a_4 &=&w\cos\phi\sin\phi\quad. +% \end{eqnarray} +% Through some use of the relations of sine, and the fact that the +% angle between the $x$--axis and the vector $z_8-(w/2,0)$ \emph{must} +% be 45 degrees, we can calculate $a_5,a_6$ and there by $a_7$: +% \begin{eqnarray} +% a_2 &=&\frac{w\cos^2\phi}{\cos\phi+\sin\phi}\\ +% a_5 &=&a_2\cos\phi\\ +% a_6 &=&a_2\sin\phi\\ +% a_7 &=&a_2(\cos\phi+2\sin\phi)\quad. +% \end{eqnarray} +% We have found the points $z_6,z_8,z_9$ \emph{but as functions of +% $\phi$}, and since all properties of the problem at hand has been +% fully explored, no more information can be drawn. So we still need a +% way to determine the angle $\phi$. +% +% To solve this problem, I use an \emph{numerical} method of finding +% the angle $\phi$. The points $z_6,z_8$ has been determined, so +% that the down stroke divieds the square into two equal rectangles, +% with double the width as the height. The last problem is to +% determine the angle $\phi$, so that the point $z_9$ lies on the +% circle. +% +% Therefore we calculate the point $z_{ref}$, which is the +% point on the circle where $z_9$ should be, if it were to lie on the +% circle with the current choice of $\phi$. $z_{ref}=(a_9,a_{10})$ is +% given by: +% \begin{eqnarray} +% \theta&=&\tan^{-1}\left(\frac{a_7-w/2}{a_6}\right)\nonumber\\ +% &=&a_8\\ +% a_9 &=&\frac{w}{2}(1+\cos\theta)\\ +% a_10 &=&\frac{w}{2}\sin\theta\quad. +% \end{eqnarray} +% Then we test to see if the point $z_9$ is reasonably close to +% $z_ref$. If so, we use the current choice of $\phi$ to set all the +% points. +% \begin{macrocode} +bauhausextra(hex"84","bauforms");%\bauforms + pickup pencircle scaled 1/32 wi; + top z1 = (.5wi,h); + rt z2 = (wi,.5h); + bot z3 = (.5wi,0); + lft z4 = (0,.5h); + draw z1..z2..z3..z4..cycle; + for phi := 20 step 0.1 until 40 : + a1 := 31/32wi*cosd(phi); + a2 := (31/32wi*(cosd(phi)**2))/(cosd(phi)+sind(phi)); + a3 := a1*cosd(phi); + a4 := a1*sind(phi); + a5 := a2*cosd(phi); + a6 := a2*sind(phi); + a7 := a2*(cosd(phi)+2*sind(phi)); + a8 := angle(a7-31wi/64,a6); + a9 := 31wi/64*(1+cosd(a8)); + a10 := 31wi/64*sind(a8); + if abs(a7 - a9)<.1 : + exitif abs(a6 - a10)<.1 ; + fi; + endfor; + pickup pencircle scaled 1/64wi; + lft z5 = (1/32wi,.5h); + top z6 = (a3,a4)+(0,.5h); + bot z7 = (a3,.5h-a4); + draw z5--z6--z7--z5; + pickup pencircle scaled 1/24wi; + top lft z8 = (a5,a6)+(0,.5h); + top rt z9 = (a7,a6)+(0,.5h); + bot rt z10 = (a7,.5h-a6); + bot lft z11 = (a5,.5h-a6); + z12 = (a9,a10)+(0,.5h); + draw z8--z9--z10--z11--z8; + penlabels(1,2,3,4,5,6,7,8,9,10,11,12); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\baupunct} +% \begin{macrocode} +bauhausextra(hex"85","baupunct");%\baupunct + z1 = (.5wi,h); + z2 = (wi,.5h); + z3 = (.5wi,0); + z4 = (0,.5h); + fill z1..z2..z3..z4..cycle; + penlabels(1,2,3,4); +endchar; + +% \end{macrocode} +% \end{macro} +% \begin{macro}{\bausquare} +% \begin{macrocode} +bauhausextra(hex"86","bausquare");%\bausquare + z1 = (0,h); + z2 = (wi,h); + z3 = (wi,0); + z4 = (0,0); + fill z1--z2--z3--z4--cycle; + penlabels(1,2,3,4); +endchar; + +% end of file "extras.mf" +% \end{macrocode} +% \end{macro} +% \iffalse +%</extras> +% \fi +% +% \Finale +% \PrintIndex +% \PrintChanges + diff --git a/Master/texmf-dist/source/latex/bayer/universal.ins b/Master/texmf-dist/source/latex/bayer/universal.ins new file mode 100644 index 00000000000..e82e821c64e --- /dev/null +++ b/Master/texmf-dist/source/latex/bayer/universal.ins @@ -0,0 +1,78 @@ +%% +%% This is file `universal.ins', the installation file for the +%% `universal' package. +%% +%% Copyright (C) 1997 Christian Holm. +%% +%% The thump package is free software; you can redistribute it +%% and/or modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; either version 2 of +%% the License, or (at your option) any later version. +%% +%% The thump package is distributed in the hope that it will be +%% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +%% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +%% +\def\batchfile{universal.ins} +\input docstrip.tex +\keepsilent +\preamble + +Copyright (C) 1997 Christian Holm. + +This file is NOT the source for universal, because almost all +comments have been stripped from it. It is NOT the preferred +form of universal for making modifications to it. + +Therefore you can NOT redistribute and/or modify THIS file. +You can however redistribute the complete source (universal.dtx +and universal.ins) and/or modify it under the terms of the GNU +General Public License as published by the Free Software +Foundation; either version 2, or (at your option) any later +version. + +The universal font and package is distributed in the hope that +it will be useful, but WITHOUT ANY WARRANTY; without even the +implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public +License along with this program; if not, write to the + Free Software Foundation, Inc., + 675 Mass Ave, Cambridge, + MA 02139, USA. + +See the file universal.dtx for further comments and documentation. + +\endpreamble +\generateFile{universal.sty}{f}{\from{universal.dtx}{package}} +\generateFile{ot1universal.fd}{f}{\from{universal.dtx}{fd}} +\generateFile{universal.mf}{f}{\from{universal.dtx}{main}} +\generateFile{universal8.mf}{f}{\from{universal.dtx}{eight}} +\generateFile{universal9.mf}{f}{\from{universal.dtx}{nine}} +\generateFile{universal10.mf}{f}{\from{universal.dtx}{ten}} +\generateFile{universal12.mf}{f}{\from{universal.dtx}{twelve}} +\generateFile{universal17.mf}{f}{\from{universal.dtx}{seventeen}} +\generateFile{uppers.mf}{f}{\from{universal.dtx}{uppers}} +\generateFile{lowers.mf}{f}{\from{universal.dtx}{lowers}} +\generateFile{digits.mf}{f}{\from{universal.dtx}{digits}} +\generateFile{specials.mf}{f}{\from{universal.dtx}{specials}} +\generateFile{ligatures.mf}{f}{\from{universal.dtx}{ligatures}} +\generateFile{punctuations.mf}{f}{\from{universal.dtx}{punctuations}} +\generateFile{accents.mf}{f}{\from{universal.dtx}{accents}} +\generateFile{extras.mf}{f}{\from{universal.dtx}{extras}} + +\Msg{***********************************************************} +\Msg{* To finish the installation you have to move the files} +\Msg{* `universal.sty' `ot1universal.fd into a directory } +\Msg{* searched by TeX, and the files *.mf to a directory} +\Msg{* searched by Metafont.} +\Msg{*} +\Msg{* To produce the documentation run the file `universal.dtx'} +\Msg{* through LaTeX and MakeIndex as said in the README file.} +\Msg{***********************************************************} |