diff options
Diffstat (limited to 'fonts/poetica')
81 files changed, 1211 insertions, 0 deletions
diff --git a/fonts/poetica/doc/beauty.tex b/fonts/poetica/doc/beauty.tex new file mode 100644 index 0000000000..e103eb407d --- /dev/null +++ b/fonts/poetica/doc/beauty.tex @@ -0,0 +1,35 @@ +%&latex +\documentclass{article} +\usepackage{poetica,colordvi} +\begin{document} +\thispagestyle{empty} + +\newsavebox{\mybox} +\newlength{\mywd}\newlength{\myht}\newlength{\mydp} +\setlength{\fboxrule}{1.2pt} +\savebox{\mybox}{\fbox{\begin{minipage}{.5\textwidth} +\begin{center}\begin{Poetica}\fontsize{26}{34}\selectfont +^--{*A}nd if \+{y}ou wi^{ll} con-\\ +sider a\++{ll} t\++h{\i}ngs, {\wordbounds\++y}ou\\ +will find that ^{th}ose\\ +whi^{ch} are ^goo^--d an^d\\ +use\++ful a\++lways ^have\\ +^{th}e grace of beaut^y\\ +in ^{th}em as we^--{ll}.\\ +{\renewcommand\.{\hspace{1.8pt}}% +\fontshape{t1}\fontsize{16}{24}\selectfont + c\.a\.s\.t\.i\.g\.l\.i\.o\.n\.e}\\[1pc] +\fontsize{30}{38}\orn{78} +\end{Poetica}\end{center} +\end{minipage}}} +\settowidth{\mywd}{\usebox{\mybox}} +\settoheight{\myht}{\usebox{\mybox}} +\settodepth{\mydp}{\usebox{\mybox}} +\begin{center} +\noindent\rlap{\vrule width1.1\mywd height1.1\myht depth1.1\mydp}% + \hskip.05\mywd% + {\White{\usebox{\mybox}}} +\end{center} + +\end{document} + diff --git a/fonts/poetica/doc/install b/fonts/poetica/doc/install new file mode 100644 index 0000000000..ff24bbccf0 --- /dev/null +++ b/fonts/poetica/doc/install @@ -0,0 +1,81 @@ +This file contains instructions for one way of installing and using +the lovely Poetica fonts from Adobe Systems with TeX and LaTeX. The +files in this area contain everything but the font files themselves +(*.pfb) which are of course proprietary. + +The main description of this material appears in the article by Alan +Hoenig (me) in the Proceedings of the 16th Annual TeX User Group +meeting, St. Pete Beach, FL, 1995 (to appear). Alas, that article +requires the actual Poetica fonts themselves, so although that file +(poetica.tex) is included, the commands to actually include the +Poetica types have been commented out. It should be construed as the +user guide. + +Setting Up. +=========== + +Place all the vf files in the vf/ subdirectory with all your other vf +(virtual font) files. + +Place all the tfm files in the tfm/ subdirectory with your other tfm +files. + +Place all the input files in the inputs/ subdirectory with your other +system inputs (probably in a place called something like +/usr/tex/inputs). You might want to rename the file `ot1poe.fd' to +`OT1poe.fd' if your system allows this. The file fontpoet.tex is the +fontinst installation file. + +Check the file poetica.map in the doc/ subdirectory. It gives the +correspondance between the raw font files and the Poetica fonts. You +should rename your Poetical font files according to the entries in +this file. For example, the first line of this file reads + + poce0 Poetica-ChanceryExpert </psfonts/poce.pfb + +which means you have to find the .pfb file whose FontName is +Poetica-ChanceryExpert and rename is to `poce.pfb'. (This is a +laborious process; sorry about that.) Proceed in this way for of the +files. The part following the angle bracket is an instruction for +dvips to download this font file as needed from a directory called +/psfonts on my system. You'll need to change this designation to +accord with the place where you store the .pfb files. Add the +contents of poetica.map to psfonts.map, the dvips alias file. + +Using the Fonts. +================ + +Plain TeX Users: Check the contents of the vf/ subdirectory. Any one +of these fonts can be can be selected and used in the usual way, ie, + + \font\foo=poce at 18pt \foo + +LaTeX2e Users: Use the package poetica.sty via a declaration like + + \usepackage{poetica} + +which makes the Poetica environment available to you. Check the file +poetica.tex for further details. + +LaTeX209 Users: Since the poetica package uses the New Font Selection +Scheme heavily, there's no special advantage to be gained by using +this material in latex209. My advice: upgrade to latex2e. + +Testing. +======== + +The files sonnet.tex and beauty.tex in the doc\ subdirectory provide a +test of Poetica typesetting. After installation, compile these files +using latex2e. + +Good Luck! +========== + +If you have any comments or suggestions, drop me an electronic line. +Enjoy this stuff. + +---Alan Hoenig [ajhjj@cunyvm.cuny.edu] + + + + diff --git a/fonts/poetica/doc/poetica.map b/fonts/poetica/doc/poetica.map new file mode 100644 index 0000000000..58fa94163e --- /dev/null +++ b/fonts/poetica/doc/poetica.map @@ -0,0 +1,21 @@ +poce0 Poetica-ChanceryExpert </psfonts/poce.pfb +poci0 Poetica-ChanceryI </psfonts/poci.pfb +pocii0 Poetica-ChanceryII </psfonts/pocii.pfb +pociii0 Poetica-ChanceryIII </psfonts/pociii.pfb +pociv0 Poetica-ChanceryIV </psfonts/pociv.pfb +porsc0 Poetica-RomanSmallCaps </psfonts/porsc.pfb +porsca0 Poetica-RomanSmallCapsAlt </psfonts/porsca.pfb +posa0 Poetica-SuppAmpersands </psfonts/posa.pfb +posisc0 PoetiSupIniSwaCap </psfonts/posisc.pfb +posl0 Poetica-SuppLigatures </psfonts/posl.pfb +poslai0 Poetica-SuppLowercaseAltI </psfonts/poslai.pfb +poslaii0 PoetiSupLowAltII </psfonts/poslaii.pfb +poslbi0 Poetica-SuppLowercaseBegI </psfonts/poslbi.pfb +poslbii0 PoetiSupLowBegII </psfonts/poslbii.pfb +poslei0 Poetica-SuppLowercaseEndI </psfonts/poslei.pfb +posleii0 PoetiSupLowEndII </psfonts/posleii.pfb +poso0 Poetica-SuppOrnaments </psfonts/poso.pfb +possc30 Poetica-SuppSwashCapsIII </psfonts/possc3.pfb +possci0 Poetica-SuppSwashCapsI </psfonts/possci.pfb +posscii0 Poetica-SuppSwashCapsII </psfonts/posscii.pfb +possciv0 Poetica-SuppSwashCapsIV </psfonts/possciv.pfb diff --git a/fonts/poetica/doc/poetica.tex b/fonts/poetica/doc/poetica.tex new file mode 100644 index 0000000000..e028fd7102 --- /dev/null +++ b/fonts/poetica/doc/poetica.tex @@ -0,0 +1,809 @@ +%&latex + +\documentclass{ltugproc} + +\usepackage{twocolumn,epsf,colordvi} +\newcommand{\tex}{\TeX}\newcommand{\latex}{\LaTeX} + +\title{The Poetica Family: Fancy Fonts with \TeX\ and \LaTeX} +\author{Alan Hoenig} + +\begin{document} +\def\fsize{14pt } + +\maketitle + +In the beginning of the `desktop publishing era', digital foundries +concentrated on making all old favorite fonts +available in digital form. When that task was well along, they then +began to turn their attention to enhancements to these fonts, the +first group of which were expert fonts which contained things like small +capitals and all double-f\/ ligatures. Now that an +impressive array of expert fonts has become available, a third wave +may be under way---the development of beautiful fonts which break out +of common font schemes altogether. A prime example is the +Poetica family of fonts from Adobe. (Another is the Mantinia faces +from the Carter and Cone foundry.) The purpose of this presentation is to +suggest ways of typesetting with these beautiful fonts without walking +around with numerous font tables in hand. + +\section{The Poetica Package} +As delivered from Adobe Systems, the Poetica fonts comprise 21~fonts in two +families. The main font is plainly modeled after the Chancery scripts +of the Renaissance: +\begin{center} +%\leavevmode\epsffile{ehammer0.eps} +\end{center} +Why so many fonts? There is a wide variety of plain and fancy +variants for many glyphs, odd ligatures, and special forms word +endings or beginnings. One font contains ornaments, and another +contains nothing but different ampersands. Using some of these fancy +characters, the above phrase might appear +\begin{center} +%\leavevmode\epsffile{ehammer.eps} +\end{center} +How can we use \TeX\ and \LaTeX\ to typeset with these fonts, using +convenient input conventions? + +Yannis Haralambous and John Plaice~\cite{omega}\ have already +demonstrated that the best way is to use a \tex\ that handles 16-bit +input. In that way, all the raw Adobe fonts can become part of a +single, huge font associated with which would be a complex system of +ligature rules to automatically select various glyphs in appropriate +situations. Their Omega system is one such 16-bit system, currently freely +available, which will handle such fonts, and which will handle a +Poetica super-font. However, the fonts are so attractive that many +people will not want to wait to implement Omega, and so I present the following +discussion. Alternatively, the clumsiness of the arrangements I +suggest may convince authors of the need to upgrade to Omega right +away! + +\subsection{The Raw Package: A Closer Look} +The main package consists of four main chancery fonts. Each has +similar lowercase alphabets, but the uppercase characters are +increasingly fancy. An expert font contains some ligatures, superior +and inferior figures, and miscellaneous glyphs. A small caps font and +an alternate {\sc sc} font contains upright capitals that match the +Chancery fonts. +\begin{center} +%\leavevmode\epsffile{etable.eps} +\end{center} + +The second Poetica family is more interesting. There are four swash +caps fonts, each of which contains two increasingly fancy uppercase +alphabets. +\begin{center} +% \begin{Poetica} +% \+{A B C D E *A *B *C *D *E}\\ +% \++{A B C D E *A *B *C *D *E}\\ +% \+++{A B C D E *A *B *C *D *E}\\ +% ^-{A B C D E *A *B *C *D *E} +% \end{Poetica} +%\leavevmode\epsffile{eupper.eps} +\end{center} +An initial swash font contains one very fancy uppercase +font, appropriate only for word beginnings. +\begin{center} +% \begin{Poetica} +% ^{A \ B \ C \ D \ E \ F \ G \ H \ I \ J} +% \end{Poetica} +%\leavevmode\epsffile{einit.eps} +\end{center} +There are two lowercase +alternate fonts, and each of these contains several groups of +alternate forms for many lowercase characters. +\begin{center} +% \begin{Poetica} +% g k p y z\\ +% \+{ g k p y z}\\ +% \++{ g k p y z}\\ +% \+++{ g k p y z}\\ +% \++++{ g k p y z} +% \end{Poetica} +%\leavevmode\epsffile{ealt.eps} +\end{center} +There are two each of +lowercase beginnings and endings fonts. Each of these fonts contains +at least two forms (of certain letters only) appropriate for word boundaries. +\begin{center} +% \begin{Poetica} +% \+{ baa \ \ end \ \ hah \ \ ill \ \ ton}\\ +% \++{ baa \ \ end \ \ hah \ \ ill \ \ ton}\\ +% \+++{ baa \ \ end \ \ hah \ \ ill \ \ ton}\\ +% \++++{ baa \ \ \ end \ \ \ hah \ \ \ ill \ \ \ ton} +%\leavevmode\epsffile{ebound.eps} +% \end{Poetica} +\end{center} +A special ligature font contains fancy forms of the familiar +f-ligatures, as well as many more ligatures not normally used. +\begin{center} +% \begin{Poetica} +% \+{ff} \ \++{ff} \ \+++{ff} \ \++++{ff} \ +% \+{fi \ fl \ ffi \ ffl \ cl \ ct \ ft \ ll \ ^--{ll} \ ^{ll} \ sp \ st } +% \ \++{st} \ \+++{st} \ ^{st} +% %^---{st} ^--{st} ^-{st} +% \end{Poetica} +%\leavevmode\epsffile{eligs.eps} +\end{center} +Finally, separate fonts contain batches of ornaments and bunches of +ampersands. +\begin{center} +% \begin{Poetica} +% \fontshape{orn}\selectfont A B C D E a b c d e\\ +% \fontshape{amp}\selectfont A B C D E a b c d e +% \end{Poetica} +%\leavevmode\epsffile{eorns.eps} +\end{center} + +It's clear that there are many ways to represent a single character, +depending on its location in a word, whether it's upper- or lowercase, +and the degree of swash that an author desires. The first example +also makes clear that a little swash goes a long way, and a convenient +font selection scheme would make it convenient to typeset in some +single `background' font from which it would be easy to ascend or +descend to fancier or plainer fonts for isolated characters. We'd +also like to be able to do this without having to lug around sheaves +of font tables with us. + +The next section details the font scheme that I propose for these +fonts. I will then show how to use \TeX's virtual font mechanism to +create these fonts. + +\section{Fonts, Fonts, Fonts} +Poetica contains a total of sixteen---16!---uppercase alphabets. +These include: + +\begin{itemize} +\item four alphabets matching the four original chancery fonts; + +\item eight increasingly fancy swash alphabets (these appear in four +fonts so that each font contains a pair of uppercase alphabets, one of +which is in the lowercase position); + +\item a super-fancy swash alphabet suitable only for initial letters +(if then); + +\item two small caps alphabets; and + +\item a small caps alternate alphabet (although this is a sparse +set---only 15~letters are represented. +\end{itemize} + +I felt able to organize these in twelve fonts: +\begin{itemize} +\item four Chancery fonts; + +\item four swash fonts, each incorporating two uppercase alphabets; + +\item one super-swash font; + +\item two small caps fonts; and + +\item two titling fonts. +\end{itemize} + +This is still a formidable array of fonts, and I'll say more later on +about ways of dealing with them all. But at this point, I'll indicate +that I shoehorned two swash uppercase alphabets into each font by +virtue of \TeX's ligature mechanism. Most of the time, uppercase +glyphs appear only at the beginning of a word, so I created the fonts +so that \verb=*= followed by a capital letter generates the alternate +capital. For example, if I type +\[\hbox{\tt A B C D E}\]I might get +$$ +%\hbox{\fontsize{18}{22}\fontfamily{poet}\Fontshape{f2}A B C D E} +%\epsffile{eabcde.eps} +$$ +but if I type +\[\hbox{\tt \char`\*A \char`\*B \char`\*C \char`\*D \char`\*E}\] +in the same font, I get +$$ +%\hbox{\fontsize{18}{22}\fontfamily{poet}\Fontshape{f2}*A *B *C *D *E} +%\epsffile{east.eps} +$$ +instead. + +The uppercase alphabets dictate the nature of their fonts. They +quite clearly become increasingly fancy, so it makes sense to +apportion some of the other special characters to these fonts in order +of increasing fanciness. It's straightforward via Alan Jeffrey's {\tt +fontinst} package to add these characters to the fonts. + +\subsection{Word Boundaries} +Many of the characters provided by Adobe belong specially to the +beginnings or endings of words, and the {\tt boundarychar} mechanism +of \tex3 makes this easy to implement, but not as easy as I expected +for the following interesting reason. + +Human readers are quite specific in what constitutes a word boundary. +Most often it would be a space or punctuation, but \tex3 is more +restrictive: essentially any consecutive string of characters is a +word. This means that \verb=te\it st= is two words from \tex's point of +view---that is, a font change in the middle of a word creates two word +boundaries. Typesetting with fonts containing fancy word boundary +glyphs requires dealing with this fact. + +Here is an example of automatic boundary glyph selection. +Notice here how the forms of the `m' and `t' +change depending on their positions within a word. With the proper +fonts selected, I simply typed {\tt mat tom-tom} to get +$$ +%\hbox{\fontsize{18}{22}\fontfamily{poet}\Fontshape{F3}mat\ \ \ \ +%tom-tom} +%\epsffile{etomtom.eps} +$$ + +\subsection{Supporting Macros} +These fonts are beautiful, but I needed some input conventions that +would allow me to increase or decrease the amount of fanciness in some +easy way. + +I began by appropriating from mathematics +the characters \verb=^=, \verb=_=, \verb=+=, +and \verb=-=; this is no loss, as I felt it unlikely that I'd be doing +math in conjunction with Poetica. (However, some of the Chancery +capitals do +make a good candidate as a math calligraphic alphabet. That is a +different and easier problem.) + +Typesetting is done within the Poetica environment: +\begin{verbatim} +\begin{Poetica} + ... +\end{Poetica} +\end{verbatim} +(I am assuming the conventions of \LaTeX2e, so I have access to the +New Font Selection Scheme) which automatically switches to the +Poetica family. All the fonts are in the medium series \verb=m=, +selected automatically, and the fonts themselves are divided into +three +groups of shapes. (Adobe provides no bold face fonts in this family.) +`Normal' fonts comprise four fonts, with font +shapes of \verb=n0=, \verb=n1=, \verb=n2=, and \verb=n3=. Two groups +of five swash fonts apiece, with shape designations \verb=f0= through +\verb=f4= (\verb=f==fancy) and \verb=F0= through +\verb=F4= (\verb=f= or \verb=F==fancy) encompass the ornate fonts I +set up. The F-shapes incorporate word +boundary glyphs, while f-shapes do not. +The higher the number, the fancier the font. There is +also a small caps font (shape \verb=c= and \verb=c1=) +and two titling fonts (shapes +\verb=t= and \verb=t1=). The default font has the shape +\verb=n3= at an eighteen-on-twenty-two point size: +\begin{center} +% \begin{Poetica} +% Alpha-Betic Constants Demand Emphasis. 12345 67890\end{Poetica} +%\leavevmode\epsffile{ealpha.eps} +\end{center} + +Although these fonts can be accessed by the usual NFSS commands, the +usual \verb=\fontshape= and \verb=\selectfont= commands are +discouraged in favor of a single \verb=\Fontshape= command which +combines \verb=\fontshape= and \verb=\selectfont= together with some +bookkeeping, the reason for which will shortly become clear. It will +be necessary to do any font sizing with \verb=\fontsize= (in the usual +way) before calling \verb=\Fontshape=. + +But even \verb=\Fontshape= is too verbose. Most of the time, we are +content to typeset virtually everything in a piece of text in the same +font, except from time to time we may want to make one or two +characters more or less fancy than the default. Although the usual +font changing could be invoked, it's a bit messy to do that for a +single character here and there. I implemented a scheme which seemed +to me ideal from the point of view of making these spot changes, and +for that reason different meanings were assigned to \verb=^=, +\verb=_=, \verb+|+, \verb=\+=, and \verb=\-=. The control sequences +\verb=\+= and \verb=\-= take the next character (or group) and raise +the level of fanciness up or down by one font. If that is not +sufficient, simply add additional \verb=+=s and \verb=-=s. The +symbols \verb=^= and \verb=_= now mean go up to the fanciest and +plainest fonts respectively (that is, shapes \verb|n0| and \verb|f4|), + +but the \verb=+= and \verb=-= convention +also holds here. The vertical bar is now equivalent to the +\verb=\noboundary= command. There are also two additional commands: +\verb|\wordbounds| and \verb|\nowordbounds|, + which select the F-shape or f-shape +fonts respectively. + +Thus, if we type +\begin{verbatim} +\begin{Poetica} +For every action there is a reaction +\end{Poetica} +\end{verbatim} +we get +\begin{center} +% \begin{Poetica} +% For every Action there is a Reaction +% \end{Poetica} +%\leavevmode\epsffile{eact1.eps} +\end{center} +But if we type +\begin{verbatim} +\begin{Poetica} +^For every \+A^{ct}{\i}on\ \ + ^there i^s a + ^--{*R}ea^--{ct}{\i}o^n +\end{Poetica} +\end{verbatim} +we get instead +\begin{center} +% \begin{Poetica} +% ^For every \+A^{ct}{\i}on\ \ ^there i^s a +% ^--{*R}ea^--{ct}{\i}o^n +% \end{Poetica} +%\leavevmode\epsffile{eact2.eps} +\end{center} +Actually, the markup here is almost as intrusive as normal \TeX\ markup +would be, but normal Poetica markup would not be this excessive. I +had great fun generating this sample, adding and subtracting \verb=+=s +and \verb=-=s until there was sufficient demonstration of these +conventions as well as a demonstration of several different glyphs. +Note the several \verb=ct= ligatures, and other alternate letterforms. + +Let's see why special treatment of word bounds is necessary. If we +re-typeset this example with \verb|\wordbounds| in effect, we get +\begin{center} +% \begin{Poetica}\wordbounds +% ^For every \+A^{ct}{\i}on\ \ ^there i^s a +% ^--{*R}ea^--{ct}{\i}o^n +% \end{Poetica} +%\leavevmode\epsffile{eact3.eps} +\end{center} +Notice the unfortunate appearance of certain boundary glyphs in the +middle of real words due to the word boundaries formed every time +there is a font shift. + +Incidentally, to get an idea +of the possibilities of swash I first typed +\begin{verbatim} +\begin{Poetica} +^{For every action + there is a Reaction} +\end{Poetica} +\end{verbatim} +to get +\begin{center} +% \begin{Poetica} +% ^{For every action there is a Reaction} +% \end{Poetica} +%\leavevmode\epsffile{eact4.eps} +\end{center} + +Let me include two more examples. If we type +\begin{verbatim} +\newsavebox{\mybox} +\newlength{\mywd}\newlength{\myht} +\newlength{\mydp} +\setlength{\fboxrule}{1.2pt} +\savebox{\mybox} + {\fbox{\begin{minipage}{.5\textwidth} + \begin{center}\begin{Poetica} + \fontsize{26}{34}\selectfont + ^--{*A}nd if \+{y}ou wi^{ll} con-\\ + sider a\++{ll} t\++h{\i}ngs, + {\wordbounds\++y}ou\\ + will find that ^{th}ose\\ + whi^{ch} are ^goo^--d an^d\\ + use\++ful a\++lways ^have\\ + ^{th}e grace of beaut^y\\ + in ^{th}em as we^--{ll}.\\ + {\renewcommand\.{\hspace{1.8pt}}% + \fontshape{t1}\fontsize{16}{24} + \selectfont + c\.a\.s\.t\.i\.g\.l\.i\.o\.n\.e}\\[1pc] + \fontsize{30}{38}\orn{78} + \end{Poetica}\end{center} +\end{minipage}}} +\settowidth{\mywd}{\usebox{\mybox}} +\settoheight{\myht}{\usebox{\mybox}} +\settodepth{\mydp}{\usebox{\mybox}} +\noindent\rlap{\vrule width1.1\mywd + height1.1\myht depth1.1\mydp}% + \hskip.05\mywd% + {\White{\usebox{\mybox}}} +\end{verbatim} +we get figure~\ref{castiglione}. +Notice that the titling fonts have to be accessed explicitly (ditto +for the small caps fonts); they are not part of the bump up scheme +elsewhere in use. We selected a special ornament via the \verb|\orn| +command; there is a corresponding \verb=\amp= command to select +ampersands for the special ampersand font. I guess you will need to +have access to the ornament and ampersand font tables to know which +characters to choose. Since I am using Tom Rokicki's {\tt dvips} +post-processor, I use the {\tt colordvi} package. I get the fancy +effect here by setting a big, black rule box, and overprinting the +text in \verb|\White| ink. Actually, only the indented material sets +type; the remaining lines set things up to print white on black. + +\begin{figure*} +% \newsavebox{\mybox} +% \newlength{\mywd}\newlength{\myht}\newlength{\mydp} +% \setlength{\fboxrule}{1.2pt} +% \savebox{\mybox}{\fbox{\begin{minipage}{.5\textwidth} +% \begin{center}\begin{Poetica}\fontsize{26}{34}\selectfont +% ^--{*A}nd if \+{y}ou wi^{ll} con-\\ +% sider a\++{ll} t\++h{\i}ngs, {\wordbounds\++y}ou\\ +% will find that ^{th}ose\\ +% whi^{ch} are ^goo^--d an^d\\ +% use\++ful a\++lways ^have\\ +% ^{th}e grace of beaut^y\\ +% in ^{th}em as we^--{ll}.\\ +% {\renewcommand\.{\hspace{1.8pt}}% +% \fontshape{t1}\fontsize{16}{24}\selectfont +% c\.a\.s\.t\.i\.g\.l\.i\.o\.n\.e}\\[1pc] +% \fontsize{30}{38}\orn{78} +% \end{Poetica}\end{center} +% \end{minipage}}} +% \settowidth{\mywd}{\usebox{\mybox}} +% \settoheight{\myht}{\usebox{\mybox}} +% \settodepth{\mydp}{\usebox{\mybox}} +\begin{center} +% \noindent\rlap{\vrule width1.1\mywd height1.1\myht depth1.1\mydp}% +% \hskip.05\mywd% +% {\White{\usebox{\mybox}}} +%\leavevmode\epsffile{ebeauty.eps} +\end{center} +\caption{\label{castiglione}One example.} +\end{figure*} + +And a final example. To get figure~\ref{shakes}, +I typed +\begin{verbatim} +\newdimen\W +\newcommand{\dropcap}[1]{\setbox0= + \hbox{\fontsize{44}{48} + \selectfont#1\ }% + \setbox0=\hbox to.5\wd0{\hss\box0}% + \W=\wd0 \gdef\.{\noindent\hskip\W} + \noindent\vbox to10pt{\box0 \vss}} +\begin{center} +\begin{Poetica}\fontsize{23}{31} + \selectfont + \fontsize{30}{32}\selectfont + _{A Sonne}{\wordbounds^--{|t}} + \\[3pt] + {\fontsize{14}{21}\fontshape{c} + \selectfont + William Shakespeare} +\end{Poetica}\end{center} +\begin{verse}\begin{Poetica} + \dropcap{^W}hen, in disgrace with + \+{*F}ortune and men's eye^{s},\\ + \.I a^--{ll} alone beweep my + outca\++{st} \ ^{st}ate,\\ + And trouble deaf heaven with my + bootle^--{ss} cries,\\ + \+And look upon myself, and + curse my fate,\\ + Wishing me like to one more + ri^{ch} in ^-{h}ope,\\ + Featured like him, like him + with ^{f}riends posse^--{st},\\ + Desiring this man's ar^---{t} + and that man's sco^---{p}e,\\ + \+With what I most enjoy + contented least;\\ + Yet in these thoughts myself + almost de^--{sp}{\i}sing---\\ + Haply I think on ^{th}ee: + and then my \+++{st}ate,\\ + Like to the \+Lark at break + of day arisin{\wordbounds^g}\\ + \+From su^-{ll}en earth, + sings hymns at \++Heaven's + gate;\\[6pt] + \quad ^For ^{th}y sweet \ \ \ + {\wordbounds^--l}ove rememb'red + suc^-{h} weal^{th} brings\\ + \quad ^{Th}at t^-{h}en \++++{*I} + scorn to ^{ch}ange my ^-{st}ate + with ^-{*K}ings.\\ +\end{Poetica} +\end{verse} +\end{verbatim} +The Poetica macro file, very short, appears in Appendix~A. + +\subsection{Creating Poetica Virtual Fonts} + +The tool of choice for creating virtual fonts is the {\tt fontinst} +package of Alan Jeffrey. In the presence of Ascii files containing +font information, running the installation file through \TeX\ creates +the {\tt.vpl} files from which the actual {\tt.vf} virtual fonts are +rendered. The font information should be in three types of files. +\begin{enumerate} +\item Metric files---files giving information about the sizes and +kernings of each glyph. typically, these are files with extensions +{\tt.pl} (\TeX\ fonts) or {\tt.afm} (type~1 outline fonts). The {\tt +fontinst} package reads these files and creates its own metric +{\tt.mtx} files. Other metric information needs to be supplied in +additional {\tt.mtx} files using commands following the standard {\tt +fontinst} syntax. + +\item Encoding files, which say how the glyphs should be arranged in +the font. In addition to this {\em encoding\/} information, ligature +information is also found here. + +\item Miscellaneous additional files, usually metric in nature. +\end{enumerate} + +The {\tt fontinst} installation file has the following structure. +\begin{verbatim} +\input fontinst.sty +\installfonts + \installfamily{OT1}{poet}{} + \installfont{pof3}{posl0,unposl3, + poslaii0,poslai0, + unlai1, + possciv0,unsc, + setfont1, + pociii0,latinpoe} + {OT1swa}% + {OT1}{poet}{m}{f3}{} + ... + ... +\endinstallfonts +\bye +\end{verbatim} +The lines of ellipses represent (many) additional {\tt\string\installfont} +commands (not shown here). These instructions provide for a font +family called {\tt poet} which uses {\tt OT1} (original \TeX) +encoding. One font in that family is called {\tt pof3} and +corresponds to medium series {\tt m} and font shape {\tt f3} within +this family. + +The second and third parameters of the \verb=\installfont= command +present a list of metric and encoding files that {\tt fontinst} will +need to construct the virtual fonts. The cryptic nature of these file +names is imposed, as is so often the case, by the $8+3$ file name +structure of MS-DOS. Here's a brief description of these files. + +\begin{itemize} +\item All file names {\tt po...} are {\tt.afm} files containing metric +information about one of the 21 Poetica raw fonts. The names {\tt +posl0}, {\tt poslaii0}, {\tt poslai0}, {\tt poslbii0}, {\tt posleii0}, +{\tt poslei0}, {\tt possciv0}, and {\tt pociii0} belong to the +ligature, the second lowercase alternates, the first lowercase +alternates, the second lowercase beginning letters, the second +lowercase endings, the first lowercase endings, the fourth +supplementary swash caps, and Chancery font number~3. + +\item Because the order in which the information is read by {\tt +fontinst}, we need some mechanism for removing superfluous information +from {\tt fontinst}'s memory. The {\tt un....mtx} files perform this +function. See below for an extensive description of this process. +Remember that the {\tt fontinst} macros have been crafted +so that information once read is not over-written by later information. +\end{itemize} + +% \newdimen\W +% \newcommand{\dropcap}[1]{\setbox0=\hbox{\fontsize{44}{48}\selectfont#1\ }% +% \setbox0=\hbox to.5\wd0{\hss\box0}% +% \W=\wd0 \gdef\.{\noindent\hskip\W}\noindent\vbox to10pt{\box0 \vss}} +% \begin{center} +% \begin{Poetica}\fontsize{23}{31}\selectfont +% \fontsize{30}{32}\selectfont _{A Sonne}{\wordbounds^--{|t}}\\[3pt] +% {\fontsize{14}{21}\fontshape{c}\selectfont William Shakespeare} +% \end{Poetica}\end{center} +% \begin{verse}\begin{Poetica} +% \dropcap{^W}hen, in disgrace with \+{*F}ortune and men's eye^{s},\\ +% \.I a^--{ll} alone beweep my outca\++{st} \ ^{st}ate,\\ +% And trouble deaf heaven with my bootle^--{ss} cries,\\ +% \+And look upon myself, and curse my fate,\\ +% Wishing me like to one more ri^{ch} in ^-{h}ope,\\ +% Featured like him, like him with ^{f}riends posse^--{st},\\ +% Desiring this man's ar^---{t} and that man's sco^---{p}e,\\ +% \+With what I most enjoy contented least;\\ +% Yet in these thoughts myself almost de^--{sp}{\i}sing---\\ +% Haply I think on ^{th}ee: and then my \+++{st}ate,\\ +% Like to the \+Lark at break of day arisin{\wordbounds^g}\\ +% \+From su^-{ll}en earth, sings hymns at \++Heaven's gate;\\[6pt] +% \quad ^For ^{th}y sweet \ \ \ +% {\wordbounds^--l}ove rememb'red suc^-{h} weal^{th} brings\\ +% \quad ^{Th}at t^-{h}en \++++{*I} scorn to ^{ch}ange my ^-{st}ate +% with ^-{*K}ings.\\ +% \end{Poetica}\end{verse} +\begin{figure*} +\begin{center} +%\leavevmode\epsffile{esonnet.eps} +\end{center} +\caption{\label{shakes}A second example.} +\end{figure*} + +\section{Crafting a Font} + +Let's consider in greater detail the construction of the font we +called {\tt pof3}. The first thing {\tt fontinst} does is read the glyph +information pertaining to the ligatures ({\tt posl0}), whose glyphs +have been named according to the standard Adobe encoding vector. For +example, position~65---A---of the ligature raw font \verb=posl0= is +occupied by the ligature `Ch' and is called `A' in the {\tt.afm} file. + +This is bad, and a violation of Adobe's own standards! Such a glyph +should, by rights, be named `Ch' since that's what the letterform +looks like and not `A'. +If something is not done, the real `A' (in {\tt possciv0}) will never +be typeset and every `A' in the source document will appear as `Ch' in +the typeset output. (Do you see why? {\tt fontinst} pays attention +only to the first definition of a letterform. Since the default +nomenclature creates an `A' out of a C-h ligature, this becomes the +definition of `A' and a proper definition of A later on will be ignored.) +Therefore, we must read a file {\tt +unposl3.mtx} which saves the ligature information under a more +meaningful name and frees up the `A' slot for the real glyph. Two lines of +this file might read +\begin{verbatim} +\resetligglyph Ch A +\unsetglyph A +\end{verbatim} +where we have previously entered the definition +\begin{verbatim} + \setcommand\resetligglyph#1#2#3{ + \setleftkerning{#1#2}{#1}{1000} + \setrightkerning{#1#2}{#2}{1000} + \resetglyph{#1#2} + \glyph{#3}{1000} + \endresetglyph + } +\end{verbatim} +In this case, a new glyph called `Ch' is defined to be equivalent to +`A'. This new glyph is also given some appropriate kerning +information. Once that definition has been fixed, the `A' glyph has been made +free for later use. + +This is the philosophy behind the next several files. Special +alternate forms, beginning forms, and ending forms are carefully +ingested, and various {\tt un...} files save glyphs under more +appropriate names and free up poorly named slots. Finally, the +uppercase letters are taken from a swash font, some of the alternate +characters are declared to be equivalent to letter glyphs (in file +{\tt setfont1.mtx}), the remaining lowercase +and other characters are taken from the Chancery~3 font {\tt pociii0}, +and {\tt latinpoe.mtx} lists the characters in the font. This +concludes the metric portion. + +Anything not involving measurement is by definition the province +of an encoding file. The file lays out the order of glyphs in a +font---the encoding vector---and arranges for ligature formation. For +example, +\begin{verbatim} +\setslot{c} + \Ligature{h}{ch} + \Ligature{k}{ck} + \Ligature{l}{cl} + \Ligature{t}{ct} + \atendofword{cend} +\endsetslot +\end{verbatim} +arranges things with \TeX\ so that `c' followed by `h' are replaced by +the special `ch' ligature if the `ch' glyph exists. +If a `c' appears at the end of a word, it +is replaced by a special final c glyph, here called `cend'. Special +forms for the beginning of a word are set up by +\begin{verbatim} +\setslot{boundarychar} + \atstartofword{b}{bbeg} + \atstartofword{e}{ebeg} + ... + \atstartofword{w}{wbeg} + \atstartofword{y}{ybeg} +\endsetslot +\end{verbatim} +We use the {\tt fontinst} definitions +\begin{verbatim} +\setcommand\Ligature#1#2{% cond'l lig + \ifisglyph{#2}\then + \ligature{LIG}{#1}{#2}\fi} +\setcommand\atendofword#1{ + \Ligature{boundarychar}{#1}} +\setcommand\atstartofword#1#2{ + \Ligature{#1}{#2}} +\end{verbatim} +to control these special ligatures. + +The {\tt fontinst} files will have been +posted on the CTAN archive network for anonymous file transfer. + +\appendix +\section{The Poetica Macros} + +\begin{verbatim} +%%% Package File poetica.sty +\newcount\poetic \newcount\poetbound + \poetbound=4 +\newcount\poetceiling \poetceiling=8 +\newcount\poetfloor \poetfloor=0 + +\def\wordbounds{\def\fancyshape{F}} +\def\nowordbounds{\def\fancyshape{f}} + \nowordbounds % default + +\def\parsefontshape#1#2{\poetic=-1 + \if f#1\poetic=\poetbound + \advance\poetic by#2 \fi + \if n#1\poetic=\poetfloor + \advance\poetic by#2 \fi +} +\def\setshape{% input is \poetic + \ifnum\poetic<0 \else + \ifnum\poetic<\poetbound + \edef\fshape{n\the\poetic}% + \else\advance\poetic by-\poetbound + \edef\fshape{\fancyshape\the\poetic}% + \fi + \fi +} +\newcommand{\Fontshape}[1]{ + \parsefontshape#1% + \fontshape{#1}\selectfont} +\newenvironment{Poetica}{% + \begingroup\fontencoding{OT1} + \fontfamily{poet}\fontsize{18}{22} + \fontseries{m}\Fontshape{n3} + \poetic=3 \setshape}{\endgroup} +\let\dhyph=\- \let\mytabs=\+ +\let\oldhat=^ \let\oldsub=_ + \let\oldvert=| +\catcode`\^\active \catcode`\_\active +\catcode`\|\active \def\|{\oldvert} + \let|=\noboundary +\newcount\INC \INC 1 +\def^{\bgroup \let\compare=- + \let\bump=\bumpdown \INC-1 + \poetic=\poetceiling + \afterassignment\getnextchar + \global\let\nexttok= } +\def_{\bgroup \let\compare=+ + \let\bump=\bumpup \INC 1 + \poetic=\poetfloor + \afterassignment\getnextchar + \global\let\nexttok= } +\def\-{\bgroup \let\compare=- + \let\bump=\bumpdown \INC-1 \bump + \afterassignment\getnextchar + \global\let\nexttok= } +\def\+{\bgroup \let\compare=+ + \let\bump=\bumpup \INC 1 \bump + \afterassignment\getnextchar + \global\let\nexttok= } + +\def\getnextchar{% + \if\compare\nexttok + \bump \let\nextact\grabchar + \else + \edef\nextact{ + \noexpand\typeset + \noexpand\nexttok}% + \fi \nextact +} +\def\grabchar{\afterassignment + \getnextchar \let\nexttok} +\def\bumpdown{\advance\poetic \INC + \ifnum\poetic<\poetfloor + \poetic\poetfloor \fi} +\def\bumpup{\advance\poetic \INC + \ifnum\poetic>\poetceiling + \poetic\poetceiling \fi} +\def\typeset#1{\setshape\fontshape{\fshape} + \selectfont #1\egroup} + +%% ornaments and ampersands + +\newcommand{\orn}[1]{ + {\fontshape{orn}\selectfont\symbol{#1}}} +\newcommand{\amp}[1]{ + {\fontshape{amp}\selectfont\symbol{#1}}} + +\endinput +\end{verbatim} + +\begin{thebibliography}{9} + +\bibitem{omega}Y. Haralmbous and J. Plaice. {\em First applications +of $\Omega$.} {\it TUGboat} {\bf 15} (1994), 3, 344-352. + +\end{thebibliography} + +\end{document} + diff --git a/fonts/poetica/doc/sonnet.tex b/fonts/poetica/doc/sonnet.tex new file mode 100644 index 0000000000..b81c8db975 --- /dev/null +++ b/fonts/poetica/doc/sonnet.tex @@ -0,0 +1,37 @@ +%&latex +\documentclass{article} +\usepackage{poetica} +\begin{document} +\thispagestyle{empty} + +\newdimen\W +\newcommand{\dropcap}[1]{\setbox0=\hbox{\fontsize{44}{48}\selectfont#1\ }% + \setbox0=\hbox to.5\wd0{\hss\box0}% + \W=\wd0 \gdef\.{\noindent\hskip\W}\noindent\vbox to10pt{\box0 \vss}} + + \begin{center} + \begin{Poetica}\fontsize{23}{31}\selectfont + \fontsize{30}{32}\selectfont _{A Sonne}{\wordbounds^--{|t}}\\[3pt] + {\fontsize{14}{21}\fontshape{c}\selectfont William Shakespeare} + \end{Poetica}\end{center} + \begin{verse}\begin{Poetica} + \dropcap{^W}hen, in disgrace with \+{*F}ortune and men's eye^{s},\\ + \.I a^--{ll} alone beweep my outca\++{st} \ ^{st}ate,\\ + And trouble deaf heaven with my bootle^--{ss} cries,\\ + \+And look upon myself, and curse my fate,\\ + Wishing me like to one more ri^{ch} in ^-{h}ope,\\ + Featured like him, like him with ^{f}riends posse^--{st},\\ + Desiring this man's ar^---{t} and that man's sco^---{p}e,\\ + \+With what I most enjoy contented least;\\ + Yet in these thoughts myself almost de^--{sp}{\i}sing---\\ + Haply I think on ^{th}ee: and then my \+++{st}ate,\\ + Like to the \+Lark at break of day arisin{\wordbounds^g}\\ + \+From su^-{ll}en earth, sings hymns at \++Heaven's gate;\\[6pt] + \quad ^For ^{th}y sweet \ \ \ + {\wordbounds^--l}ove rememb'red suc^-{h} weal^{th} brings\\ + \quad ^{Th}at t^-{h}en \++++{*I} scorn to ^{ch}ange my ^-{st}ate + with ^-{*K}ings.\\ + \end{Poetica}\end{verse} + +\end{document} + diff --git a/fonts/poetica/inputs/OT1poet.fd b/fonts/poetica/inputs/OT1poet.fd new file mode 100644 index 0000000000..ff3dcb559a --- /dev/null +++ b/fonts/poetica/inputs/OT1poet.fd @@ -0,0 +1,97 @@ +%Filename: OT1poet.fd +%Created by: tex fontpoet +%Created using fontinst v1.335 + +%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY + +\ProvidesFile{OT1poet.fd} + [1995/05/16 Fontinst v1.335 font definitions for OT1/poet.] + +\DeclareFontFamily{OT1}{poet}{} + +\DeclareFontShape{OT1}{poet}{m}{orn}{ + <-> poorn +}{} + +\DeclareFontShape{OT1}{poet}{m}{amp}{ + <-> poamp +}{} + +\DeclareFontShape{OT1}{poet}{m}{c}{ + <-> posc +}{} + +\DeclareFontShape{OT1}{poet}{m}{c1}{ + <-> posc1 +}{} + +\DeclareFontShape{OT1}{poet}{m}{t}{ + <-> pottl +}{} + +\DeclareFontShape{OT1}{poet}{m}{t1}{ + <-> pottl1 +}{} + +\DeclareFontShape{OT1}{poet}{m}{n1}{ + <-> poch1 +}{} + +\DeclareFontShape{OT1}{poet}{m}{n2}{ + <-> poch2 +}{} + +\DeclareFontShape{OT1}{poet}{m}{n3}{ + <-> poch3 +}{} + +\DeclareFontShape{OT1}{poet}{m}{n0}{ + <-> poch4 +}{} + +\DeclareFontShape{OT1}{poet}{m}{n}{ + <-> poch4 +}{} + +\DeclareFontShape{OT1}{poet}{m}{f0}{ + <-> pof +}{} + +\DeclareFontShape{OT1}{poet}{m}{F0}{ + <-> pog +}{} + +\DeclareFontShape{OT1}{poet}{m}{f1}{ + <-> pof1 +}{} + +\DeclareFontShape{OT1}{poet}{m}{F1}{ + <-> pog1 +}{} + +\DeclareFontShape{OT1}{poet}{m}{f2}{ + <-> pof2 +}{} + +\DeclareFontShape{OT1}{poet}{m}{F2}{ + <-> pog2 +}{} + +\DeclareFontShape{OT1}{poet}{m}{f3}{ + <-> pof3 +}{} + +\DeclareFontShape{OT1}{poet}{m}{F3}{ + <-> pog3 +}{} + +\DeclareFontShape{OT1}{poet}{m}{f4}{ + <-> pof4 +}{} + +\DeclareFontShape{OT1}{poet}{m}{F4}{ + <-> pog4 +}{} + + +\endinput diff --git a/fonts/poetica/inputs/fontpoet.tex b/fonts/poetica/inputs/fontpoet.tex new file mode 100644 index 0000000000..a5b7f80383 --- /dev/null +++ b/fonts/poetica/inputs/fontpoet.tex @@ -0,0 +1,72 @@ +%&plain + +%% fontinst installation file for Adobe Poetica fonts. + +%% pch1 Poetica Chancery 1 +%% pch2 Poetica Chancery 2 + +\input fontinst.sty + +\errorcontextlines=10 + +\installfonts + \installfamily{OT1}{poet}{} +%% SWASH FONTS + \installfont{posw3}{posl0,unposl7,% ligatures + poslaii0,poslai0,unlai1,%save lowercase alternates + poslbii0,unlbi1,% lowercase beginnings + posleii0,poslei0,unlei1,%lowercase endings + possciv0,unscii,% swash caps + pociii0,latinpoe}% glyphs from Chancery III + {OT1swa}{OT1}{poet}{m}{sw3}{} % + \installfont{posw4}{posl0,unposl7,% ligatures + poslaii0,poslai0,unlai1,%save lowercase alternates + poslbii0,unlbi1,% lowercase beginnings + posleii0,poslei0,unlei1,%lowercase endings + posisc0,% supp swash caps + pociii0,latinpoe}% glyphs from Chancery III + {OT1swa}{OT1}{poet}{m}{sw4}{} % +\endinstallfonts +\bye +%% BASIC CHANCERY FONTS, 0 through 3 + \installfont{poch}{poce0,unpoce,pociv0,latinpoe} + {OT1poe}{OT1}{poet}{m}{n}{} + \installfont{poch1}{poce0,unpoce,poci0,latinpoe} + {OT1poe}{OT1}{poet}{m}{n1}{} + \installfont{poch2}{posl0,unposl2,poce0,unpoce,pocii0,latinpoe} + {OT1poe}{OT1}{poet}{m}{n2}{} + \installfont{poch3}{posl0,unposl3,poce0,unpoce,pociii0,latinpoe} + {OT1poe}{OT1}{poet}{m}{n3}{} +%% SMALL CAPS AND TITLING + \installfont{posc}{porsc0,unporsc,pociv0,latinpoe} + {OT1poe}{OT1}{poet}{m}{sc}{} + \installfont{pottl}{porsc0,pociv0,latinpoe} + {OT1ttl}{OT1}{poet}{m}{ttl}{} + \installfont{pottl1}{porsca0,unprsca1,porsc0,pociv0,latinpoe} + {OT1ttl}{OT1}{poet}{m}{ttl1}{} +%% SWASH FONTS + \installfont{posw}{posl0,unposl4,% ligatures + poslai0,unlai,% save lowercase alternates + poslbi0,unlbi,% lowercase beginnings + poslei0,unlei,% lowercase endings + possci0,unsci,% swash caps + pociii0,latinpoe}% glyphs from Chancery III + {OT1swa}{OT1}{poet}{m}{sw}{} % + \installfont{posw1}{posl0,unposl5,% ligatures + poslai0,unlai1,% save lowercase alternates + poslbi0,unlbi1,% lowercase beginnings + poslei0,unlei1,% lowercase endings + posscii0,unscii,% swash caps + pociii0,latinpoe}% glyphs from Chancery III + {OT1swa}{OT1}{poet}{m}{sw1}{} % + \installfont{posw2}{posl0,unposl6,% ligatures + poslaii0,poslai0,unlai,% save lowercase alternates + poslbii0,unlbi,% lowercase beginnings + posleii0,poslei0,unlei,% lowercase endings + possc30,unsci,% swash caps + pociii0,latinpoe}% glyphs from Chancery III + {OT1swa}{OT1}{poet}{m}{sw2}{} % +\endinstallfonts +\endinstallfonts + +\bye diff --git a/fonts/poetica/inputs/poetica.sty b/fonts/poetica/inputs/poetica.sty new file mode 100644 index 0000000000..078d7de9a4 --- /dev/null +++ b/fonts/poetica/inputs/poetica.sty @@ -0,0 +1,59 @@ +%%% Package File poetica.sty +\newcount\poetic \newcount\poetbound \poetbound=4 +\newcount\poetceiling \poetceiling=8 +\newcount\poetfloor \poetfloor=0 + +\def\wordbounds{\def\fancyshape{F}} +\def\nowordbounds{\def\fancyshape{f}}\nowordbounds % default + +\def\parsefontshape#1#2{\poetic=-1% for `non-text' fonts + \if f#1\poetic=\poetbound \advance\poetic by#2 \fi + \if n#1\poetic=\poetfloor \advance\poetic by#2 \fi +} +\def\setshape{% input is the value of \poetic + \ifnum\poetic<0 \else + \ifnum\poetic<\poetbound \edef\fshape{n\the\poetic}% + \else\advance\poetic by-\poetbound \edef\fshape{\fancyshape\the\poetic}% + \fi + \fi +} +\newcommand{\Fontshape}[1]{\parsefontshape#1% + \fontshape{#1}\selectfont} +\newenvironment{Poetica}{% + \begingroup\fontencoding{OT1}\fontfamily{poet}\fontsize{18}{22} + \fontseries{m}\Fontshape{n3}\poetic=3 \setshape}{\endgroup} +\let\dhyph=\- \let\mytabs=\+ % save discretionary hyphen, tab command +\let\oldhat=^ \let\oldsub=_ \let\oldvert=| +\catcode`\^\active \catcode`\_\active +\catcode`\|\active \def\|{\oldvert} \let|=\noboundary +\newcount\INC \INC 1 % an increment register +\def^{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \poetic=\poetceiling + \afterassignment\getnextchar \global\let\nexttok= } +\def_{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \poetic=\poetfloor + \afterassignment\getnextchar \global\let\nexttok= } +\def\-{\bgroup \let\compare=-\let\bump=\bumpdown \INC-1 \bump + \afterassignment\getnextchar \global\let\nexttok= } +\def\+{\bgroup \let\compare=+\let\bump=\bumpup \INC 1 \bump + \afterassignment\getnextchar \global\let\nexttok= } + +\def\getnextchar{% + \if\compare\nexttok % fancy sign? if so, bump the right way + \bump \let\nextact\grabchar + \else + \edef\nextact{\noexpand\typeset\noexpand\nexttok}% default behavior + \fi \nextact +} +\def\grabchar{\afterassignment\getnextchar \let\nexttok} +\def\bumpdown{\advance\poetic \INC + \ifnum\poetic<\poetfloor \poetic\poetfloor \fi} +\def\bumpup{\advance\poetic \INC + \ifnum\poetic>\poetceiling \poetic\poetceiling \fi} +\def\typeset#1{\setshape\fontshape{\fshape}\selectfont + #1\egroup} + +%% ornaments and ampersands + +\newcommand{\orn}[1]{{\fontshape{orn}\selectfont\symbol{#1}}} +\newcommand{\amp}[1]{{\fontshape{amp}\selectfont\symbol{#1}}} + +\endinput diff --git a/fonts/poetica/tfm/poamp.tfm b/fonts/poetica/tfm/poamp.tfm Binary files differnew file mode 100644 index 0000000000..bae0056125 --- /dev/null +++ b/fonts/poetica/tfm/poamp.tfm diff --git a/fonts/poetica/tfm/poce0.tfm b/fonts/poetica/tfm/poce0.tfm Binary files differnew file mode 100644 index 0000000000..9f12aaa4a5 --- /dev/null +++ b/fonts/poetica/tfm/poce0.tfm diff --git a/fonts/poetica/tfm/poch.tfm b/fonts/poetica/tfm/poch.tfm Binary files differnew file mode 100644 index 0000000000..e56491873b --- /dev/null +++ b/fonts/poetica/tfm/poch.tfm diff --git a/fonts/poetica/tfm/poch1.tfm b/fonts/poetica/tfm/poch1.tfm Binary files differnew file mode 100644 index 0000000000..968a254a0e --- /dev/null +++ b/fonts/poetica/tfm/poch1.tfm diff --git a/fonts/poetica/tfm/poch2.tfm b/fonts/poetica/tfm/poch2.tfm Binary files differnew file mode 100644 index 0000000000..c7340d612e --- /dev/null +++ b/fonts/poetica/tfm/poch2.tfm diff --git a/fonts/poetica/tfm/poch3.tfm b/fonts/poetica/tfm/poch3.tfm Binary files differnew file mode 100644 index 0000000000..208d5cabf2 --- /dev/null +++ b/fonts/poetica/tfm/poch3.tfm diff --git a/fonts/poetica/tfm/poch4.tfm b/fonts/poetica/tfm/poch4.tfm Binary files differnew file mode 100644 index 0000000000..86eb96fefa --- /dev/null +++ b/fonts/poetica/tfm/poch4.tfm diff --git a/fonts/poetica/tfm/poci0.tfm b/fonts/poetica/tfm/poci0.tfm Binary files differnew file mode 100644 index 0000000000..e5f503990e --- /dev/null +++ b/fonts/poetica/tfm/poci0.tfm diff --git a/fonts/poetica/tfm/pocii0.tfm b/fonts/poetica/tfm/pocii0.tfm Binary files differnew file mode 100644 index 0000000000..5354a1ea1b --- /dev/null +++ b/fonts/poetica/tfm/pocii0.tfm diff --git a/fonts/poetica/tfm/pociii0.tfm b/fonts/poetica/tfm/pociii0.tfm Binary files differnew file mode 100644 index 0000000000..a629c97f92 --- /dev/null +++ b/fonts/poetica/tfm/pociii0.tfm diff --git a/fonts/poetica/tfm/pociv0.tfm b/fonts/poetica/tfm/pociv0.tfm Binary files differnew file mode 100644 index 0000000000..9355215bb8 --- /dev/null +++ b/fonts/poetica/tfm/pociv0.tfm diff --git a/fonts/poetica/tfm/pof.tfm b/fonts/poetica/tfm/pof.tfm Binary files differnew file mode 100644 index 0000000000..fa315621e3 --- /dev/null +++ b/fonts/poetica/tfm/pof.tfm diff --git a/fonts/poetica/tfm/pof1.tfm b/fonts/poetica/tfm/pof1.tfm Binary files differnew file mode 100644 index 0000000000..b2f1bc4458 --- /dev/null +++ b/fonts/poetica/tfm/pof1.tfm diff --git a/fonts/poetica/tfm/pof2.tfm b/fonts/poetica/tfm/pof2.tfm Binary files differnew file mode 100644 index 0000000000..846207209f --- /dev/null +++ b/fonts/poetica/tfm/pof2.tfm diff --git a/fonts/poetica/tfm/pof3.tfm b/fonts/poetica/tfm/pof3.tfm Binary files differnew file mode 100644 index 0000000000..5b6ca60a0a --- /dev/null +++ b/fonts/poetica/tfm/pof3.tfm diff --git a/fonts/poetica/tfm/pof4.tfm b/fonts/poetica/tfm/pof4.tfm Binary files differnew file mode 100644 index 0000000000..858daf2409 --- /dev/null +++ b/fonts/poetica/tfm/pof4.tfm diff --git a/fonts/poetica/tfm/pog.tfm b/fonts/poetica/tfm/pog.tfm Binary files differnew file mode 100644 index 0000000000..ec926c816c --- /dev/null +++ b/fonts/poetica/tfm/pog.tfm diff --git a/fonts/poetica/tfm/pog1.tfm b/fonts/poetica/tfm/pog1.tfm Binary files differnew file mode 100644 index 0000000000..8c65a7e6b7 --- /dev/null +++ b/fonts/poetica/tfm/pog1.tfm diff --git a/fonts/poetica/tfm/pog2.tfm b/fonts/poetica/tfm/pog2.tfm Binary files differnew file mode 100644 index 0000000000..17e9337994 --- /dev/null +++ b/fonts/poetica/tfm/pog2.tfm diff --git a/fonts/poetica/tfm/pog3.tfm b/fonts/poetica/tfm/pog3.tfm Binary files differnew file mode 100644 index 0000000000..8714b7fcd4 --- /dev/null +++ b/fonts/poetica/tfm/pog3.tfm diff --git a/fonts/poetica/tfm/pog4.tfm b/fonts/poetica/tfm/pog4.tfm Binary files differnew file mode 100644 index 0000000000..7fff5ccec3 --- /dev/null +++ b/fonts/poetica/tfm/pog4.tfm diff --git a/fonts/poetica/tfm/poorn.tfm b/fonts/poetica/tfm/poorn.tfm Binary files differnew file mode 100644 index 0000000000..797af18cc6 --- /dev/null +++ b/fonts/poetica/tfm/poorn.tfm diff --git a/fonts/poetica/tfm/porsc0.tfm b/fonts/poetica/tfm/porsc0.tfm Binary files differnew file mode 100644 index 0000000000..ba33a6a634 --- /dev/null +++ b/fonts/poetica/tfm/porsc0.tfm diff --git a/fonts/poetica/tfm/porsca0.tfm b/fonts/poetica/tfm/porsca0.tfm Binary files differnew file mode 100644 index 0000000000..b642889096 --- /dev/null +++ b/fonts/poetica/tfm/porsca0.tfm diff --git a/fonts/poetica/tfm/posa0.tfm b/fonts/poetica/tfm/posa0.tfm Binary files differnew file mode 100644 index 0000000000..4d4032d602 --- /dev/null +++ b/fonts/poetica/tfm/posa0.tfm diff --git a/fonts/poetica/tfm/posc.tfm b/fonts/poetica/tfm/posc.tfm Binary files differnew file mode 100644 index 0000000000..a6a65ecebe --- /dev/null +++ b/fonts/poetica/tfm/posc.tfm diff --git a/fonts/poetica/tfm/posc1.tfm b/fonts/poetica/tfm/posc1.tfm Binary files differnew file mode 100644 index 0000000000..e2f6f615a6 --- /dev/null +++ b/fonts/poetica/tfm/posc1.tfm diff --git a/fonts/poetica/tfm/posisc0.tfm b/fonts/poetica/tfm/posisc0.tfm Binary files differnew file mode 100644 index 0000000000..01e8482c87 --- /dev/null +++ b/fonts/poetica/tfm/posisc0.tfm diff --git a/fonts/poetica/tfm/posl0.tfm b/fonts/poetica/tfm/posl0.tfm Binary files differnew file mode 100644 index 0000000000..2cba238cf7 --- /dev/null +++ b/fonts/poetica/tfm/posl0.tfm diff --git a/fonts/poetica/tfm/poslai0.tfm b/fonts/poetica/tfm/poslai0.tfm Binary files differnew file mode 100644 index 0000000000..7ce8a3b7a5 --- /dev/null +++ b/fonts/poetica/tfm/poslai0.tfm diff --git a/fonts/poetica/tfm/poslaii0.tfm b/fonts/poetica/tfm/poslaii0.tfm Binary files differnew file mode 100644 index 0000000000..2e8cbdb873 --- /dev/null +++ b/fonts/poetica/tfm/poslaii0.tfm diff --git a/fonts/poetica/tfm/poslbi0.tfm b/fonts/poetica/tfm/poslbi0.tfm Binary files differnew file mode 100644 index 0000000000..029a5ce697 --- /dev/null +++ b/fonts/poetica/tfm/poslbi0.tfm diff --git a/fonts/poetica/tfm/poslbii0.tfm b/fonts/poetica/tfm/poslbii0.tfm Binary files differnew file mode 100644 index 0000000000..f832434def --- /dev/null +++ b/fonts/poetica/tfm/poslbii0.tfm diff --git a/fonts/poetica/tfm/poslei0.tfm b/fonts/poetica/tfm/poslei0.tfm Binary files differnew file mode 100644 index 0000000000..92b6807442 --- /dev/null +++ b/fonts/poetica/tfm/poslei0.tfm diff --git a/fonts/poetica/tfm/posleii0.tfm b/fonts/poetica/tfm/posleii0.tfm Binary files differnew file mode 100644 index 0000000000..0f318421b5 --- /dev/null +++ b/fonts/poetica/tfm/posleii0.tfm diff --git a/fonts/poetica/tfm/poso0.tfm b/fonts/poetica/tfm/poso0.tfm Binary files differnew file mode 100644 index 0000000000..51f611a597 --- /dev/null +++ b/fonts/poetica/tfm/poso0.tfm diff --git a/fonts/poetica/tfm/possc30.tfm b/fonts/poetica/tfm/possc30.tfm Binary files differnew file mode 100644 index 0000000000..99f6cb2673 --- /dev/null +++ b/fonts/poetica/tfm/possc30.tfm diff --git a/fonts/poetica/tfm/possci0.tfm b/fonts/poetica/tfm/possci0.tfm Binary files differnew file mode 100644 index 0000000000..202b17821f --- /dev/null +++ b/fonts/poetica/tfm/possci0.tfm diff --git a/fonts/poetica/tfm/posscii0.tfm b/fonts/poetica/tfm/posscii0.tfm Binary files differnew file mode 100644 index 0000000000..ce0d4956f8 --- /dev/null +++ b/fonts/poetica/tfm/posscii0.tfm diff --git a/fonts/poetica/tfm/possciv0.tfm b/fonts/poetica/tfm/possciv0.tfm Binary files differnew file mode 100644 index 0000000000..71c8791c6c --- /dev/null +++ b/fonts/poetica/tfm/possciv0.tfm diff --git a/fonts/poetica/tfm/posw.tfm b/fonts/poetica/tfm/posw.tfm Binary files differnew file mode 100644 index 0000000000..1a6d5ed5b6 --- /dev/null +++ b/fonts/poetica/tfm/posw.tfm diff --git a/fonts/poetica/tfm/posw1.tfm b/fonts/poetica/tfm/posw1.tfm Binary files differnew file mode 100644 index 0000000000..79cba7bf0c --- /dev/null +++ b/fonts/poetica/tfm/posw1.tfm diff --git a/fonts/poetica/tfm/posw2.tfm b/fonts/poetica/tfm/posw2.tfm Binary files differnew file mode 100644 index 0000000000..eccdcfa070 --- /dev/null +++ b/fonts/poetica/tfm/posw2.tfm diff --git a/fonts/poetica/tfm/posw3.tfm b/fonts/poetica/tfm/posw3.tfm Binary files differnew file mode 100644 index 0000000000..40b875053a --- /dev/null +++ b/fonts/poetica/tfm/posw3.tfm diff --git a/fonts/poetica/tfm/posw4.tfm b/fonts/poetica/tfm/posw4.tfm Binary files differnew file mode 100644 index 0000000000..d55486ff1f --- /dev/null +++ b/fonts/poetica/tfm/posw4.tfm diff --git a/fonts/poetica/tfm/pottl.tfm b/fonts/poetica/tfm/pottl.tfm Binary files differnew file mode 100644 index 0000000000..12b03ec69a --- /dev/null +++ b/fonts/poetica/tfm/pottl.tfm diff --git a/fonts/poetica/tfm/pottl1.tfm b/fonts/poetica/tfm/pottl1.tfm Binary files differnew file mode 100644 index 0000000000..9846da825f --- /dev/null +++ b/fonts/poetica/tfm/pottl1.tfm diff --git a/fonts/poetica/vf/poamp.vf b/fonts/poetica/vf/poamp.vf Binary files differnew file mode 100644 index 0000000000..0b9a8a1107 --- /dev/null +++ b/fonts/poetica/vf/poamp.vf diff --git a/fonts/poetica/vf/poch.vf b/fonts/poetica/vf/poch.vf Binary files differnew file mode 100644 index 0000000000..945b1a58a3 --- /dev/null +++ b/fonts/poetica/vf/poch.vf diff --git a/fonts/poetica/vf/poch1.vf b/fonts/poetica/vf/poch1.vf Binary files differnew file mode 100644 index 0000000000..85e5e8f747 --- /dev/null +++ b/fonts/poetica/vf/poch1.vf diff --git a/fonts/poetica/vf/poch2.vf b/fonts/poetica/vf/poch2.vf Binary files differnew file mode 100644 index 0000000000..fe92914012 --- /dev/null +++ b/fonts/poetica/vf/poch2.vf diff --git a/fonts/poetica/vf/poch3.vf b/fonts/poetica/vf/poch3.vf Binary files differnew file mode 100644 index 0000000000..9a7036fac4 --- /dev/null +++ b/fonts/poetica/vf/poch3.vf diff --git a/fonts/poetica/vf/poch4.vf b/fonts/poetica/vf/poch4.vf Binary files differnew file mode 100644 index 0000000000..254b0e5adf --- /dev/null +++ b/fonts/poetica/vf/poch4.vf diff --git a/fonts/poetica/vf/pof.vf b/fonts/poetica/vf/pof.vf Binary files differnew file mode 100644 index 0000000000..5a259fa77c --- /dev/null +++ b/fonts/poetica/vf/pof.vf diff --git a/fonts/poetica/vf/pof1.vf b/fonts/poetica/vf/pof1.vf Binary files differnew file mode 100644 index 0000000000..2b850c99b0 --- /dev/null +++ b/fonts/poetica/vf/pof1.vf diff --git a/fonts/poetica/vf/pof2.vf b/fonts/poetica/vf/pof2.vf Binary files differnew file mode 100644 index 0000000000..0fc7bfdacb --- /dev/null +++ b/fonts/poetica/vf/pof2.vf diff --git a/fonts/poetica/vf/pof3.vf b/fonts/poetica/vf/pof3.vf Binary files differnew file mode 100644 index 0000000000..3d3bd8aa3d --- /dev/null +++ b/fonts/poetica/vf/pof3.vf diff --git a/fonts/poetica/vf/pof4.vf b/fonts/poetica/vf/pof4.vf Binary files differnew file mode 100644 index 0000000000..36619c1c32 --- /dev/null +++ b/fonts/poetica/vf/pof4.vf diff --git a/fonts/poetica/vf/pog.vf b/fonts/poetica/vf/pog.vf Binary files differnew file mode 100644 index 0000000000..8346af1058 --- /dev/null +++ b/fonts/poetica/vf/pog.vf diff --git a/fonts/poetica/vf/pog1.vf b/fonts/poetica/vf/pog1.vf Binary files differnew file mode 100644 index 0000000000..b2dc58a772 --- /dev/null +++ b/fonts/poetica/vf/pog1.vf diff --git a/fonts/poetica/vf/pog2.vf b/fonts/poetica/vf/pog2.vf Binary files differnew file mode 100644 index 0000000000..1421adebdc --- /dev/null +++ b/fonts/poetica/vf/pog2.vf diff --git a/fonts/poetica/vf/pog3.vf b/fonts/poetica/vf/pog3.vf Binary files differnew file mode 100644 index 0000000000..ba9b7d1441 --- /dev/null +++ b/fonts/poetica/vf/pog3.vf diff --git a/fonts/poetica/vf/pog4.vf b/fonts/poetica/vf/pog4.vf Binary files differnew file mode 100644 index 0000000000..8e1f812df8 --- /dev/null +++ b/fonts/poetica/vf/pog4.vf diff --git a/fonts/poetica/vf/poorn.vf b/fonts/poetica/vf/poorn.vf Binary files differnew file mode 100644 index 0000000000..648b141875 --- /dev/null +++ b/fonts/poetica/vf/poorn.vf diff --git a/fonts/poetica/vf/posc.vf b/fonts/poetica/vf/posc.vf Binary files differnew file mode 100644 index 0000000000..48f6532687 --- /dev/null +++ b/fonts/poetica/vf/posc.vf diff --git a/fonts/poetica/vf/posc1.vf b/fonts/poetica/vf/posc1.vf Binary files differnew file mode 100644 index 0000000000..6bcd7a9ec7 --- /dev/null +++ b/fonts/poetica/vf/posc1.vf diff --git a/fonts/poetica/vf/posw.vf b/fonts/poetica/vf/posw.vf Binary files differnew file mode 100644 index 0000000000..49f6419766 --- /dev/null +++ b/fonts/poetica/vf/posw.vf diff --git a/fonts/poetica/vf/posw1.vf b/fonts/poetica/vf/posw1.vf Binary files differnew file mode 100644 index 0000000000..ed347f1387 --- /dev/null +++ b/fonts/poetica/vf/posw1.vf diff --git a/fonts/poetica/vf/posw2.vf b/fonts/poetica/vf/posw2.vf Binary files differnew file mode 100644 index 0000000000..31361f1e52 --- /dev/null +++ b/fonts/poetica/vf/posw2.vf diff --git a/fonts/poetica/vf/posw3.vf b/fonts/poetica/vf/posw3.vf Binary files differnew file mode 100644 index 0000000000..a4fc3f3c46 --- /dev/null +++ b/fonts/poetica/vf/posw3.vf diff --git a/fonts/poetica/vf/posw4.vf b/fonts/poetica/vf/posw4.vf Binary files differnew file mode 100644 index 0000000000..54d604aaa4 --- /dev/null +++ b/fonts/poetica/vf/posw4.vf diff --git a/fonts/poetica/vf/pottl.vf b/fonts/poetica/vf/pottl.vf Binary files differnew file mode 100644 index 0000000000..f7bb3f7d67 --- /dev/null +++ b/fonts/poetica/vf/pottl.vf diff --git a/fonts/poetica/vf/pottl1.vf b/fonts/poetica/vf/pottl1.vf Binary files differnew file mode 100644 index 0000000000..e596e87a74 --- /dev/null +++ b/fonts/poetica/vf/pottl1.vf |