diff options
Diffstat (limited to 'texmf-dist/source/latex/adobecaslon/adobecaslon.dtx')
-rw-r--r-- | texmf-dist/source/latex/adobecaslon/adobecaslon.dtx | 1320 |
1 files changed, 1320 insertions, 0 deletions
diff --git a/texmf-dist/source/latex/adobecaslon/adobecaslon.dtx b/texmf-dist/source/latex/adobecaslon/adobecaslon.dtx new file mode 100644 index 00000000..082ca47b --- /dev/null +++ b/texmf-dist/source/latex/adobecaslon/adobecaslon.dtx @@ -0,0 +1,1320 @@ +% \iffalse +% +% Copyright (c) 1996, Ulrik Vieth +% Copyright (c) 2012, Boris Veytsman +% Copyright (c) 2013-2017, Reuben Thomas +% +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions +% are met: +% +% * Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% * Redistributions in binary form must reproduce the above +% copyright notice, this list of conditions and the following +% disclaimer in the documentation and/or other materials provided +% with the distribution. +% * Neither the name of the original author nor the names of the +% contributors may be used to endorse or promote products derived +% from this software without specific prior written permission. +% +% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +% CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +% DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +% EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +% TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +% DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +% POSSIBILITY OF SUCH DAMAGE. +% +% \fi +% +% +% \CheckSum{948} +% +% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% +% \MakeShortVerb{|} +% \GetFileInfo{adobecaslon.sty} +% \title{\LaTeX{} Support For Adobe Caslon Fonts} +% \author{Boris Veytsman\thanks{% +% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, +% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}} +% \and +% Reuben Thomas\thanks{% +% \href{mailto:rrt@sc3d.org}{\texttt{rrt@sc3d.org}}} +% \and +% Ulrik Vieth} +% \date{\filedate, \fileversion} +% \maketitle +% \begin{abstract} +% This package provides \LaTeX{} support for the Adobe Caslon +% Fonts. Note that it does not provide the fonts themselves. +% \end{abstract} +% \tableofcontents +% +% \clearpage +% +%\section{Introduction} +%\label{sec:intro} +% +% This package provides support files for the Adobe Caslon font family +% in pdf\LaTeX. (The \LuaTeX and \XeTeX engines support system fonts +% directly, but there are still good reasons to use pdf\TeX.) +% +% The expert font support is based on the \textsf{acaslon} package by +% Ulrik Vieth. +% +% For text symbols such as footnote marks and currencies, the TS1 encoding +% is used, which must be activated by using the \textsf{textcomp} package. +% +% +%\section{Installation} +%\label{sec:install} +% +% The following instructions assume a TeX Directory Structure +% compliant TeX system. If you don't know what that is, you probably +% have one! Otherwise, you'll need to work out where to put the files +% yourself. +% +% First, you need to purchase the fonts themselves: the |pfb| files +% are \emph{not} included in the package. If you got the fonts from +% Adobe, do not rename the |pfb| files. However, if +% there are uppercase letters in your files' names, downcase them. If +% you obtained the files from another source, rename the fonts +% according to Table~\ref{tab:PFB} and, if you have the expert fonts, +% Table~\ref{tab:expertPFB}. Install the files into +% \path{$TEXMF/fonts/type1/adobe/adobecaslon}. +% +% Then, download +% \url{http://ctan.tug.org/install/fonts/psfonts/adobe/adobecaslon.tds.zip} +% and unzip this file in \path{$TEXMF}. +% +% Finally, add the line |Map pac.map| to your |updmap.cfg| file, and +% run |updmap| and |texhash| to update the configuration files and +% file names database. +% +% +% \begin{table}[tp] +% \centering +% \caption{PFB Files} +% \label{tab:PFB} +% +% \begin{tabular}{ll} +% \toprule +% File & Font \\ +% \midrule +% |awrg____.pfb| & Adobe Caslon Regular\\ +% |awi_____.pfb| & Adobe Caslon Italic \\ +% |awsb____.pfb| & Adobe Caslon Semibold \\ +% |awsbi___.pfb| & Adobe Caslon Semibold Italic \\ +% |awb_____.pfb| & Adobe Caslon Bold\\ +% |awbi____.pfb| & Adobe Caslon Bold Italic\\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +% \begin{table}[tp] +% \centering +% \caption{Expert PFB Files} +% \label{tab:expertPFB} +% +% \begin{tabular}{ll} +% \toprule +% File & Font \\ +% \midrule +% |awab____.pfb| & Adobe Caslon Bold Alternate\\ +% |awabi___.pfb| & Adobe Caslon Bold Italic Alternate\\ +% |awai____.pfb| & Adobe Caslon Italic Alternate\\ +% |awarg___.pfb| & Adobe Caslon Regular Alternate\\ +% |awasb___.pfb| & Adobe Caslon Semibold Alternate\\ +% |awasi___.pfb| & Adobe Caslon Semibold Italic Alternate\\ +% |awb_____.pfb| & Adobe Caslon Bold\\ +% |awbi____.pfb| & Adobe Caslon Bold Italic\\ +% |awi_____.pfb| & Adobe Caslon Italic\\ +% |awor____.pfb| & Adobe Caslon Ornaments\\ +% |awrg____.pfb| & Adobe Caslon Regular\\ +% |awsb____.pfb| & Adobe Caslon Semibold\\ +% |awsbi___.pfb| & Adobe Caslon Semibold Italic\\ +% |awsbs___.pfb| & Adobe Caslon SemiboldSC\\ +% |awsc____.pfb| & Adobe Caslon Regular Small Caps \& Oldstyle Figures\\ +% |awssb___.pfb| & Adobe Caslon Swash Semibold Italic\\ +% |awswb___.pfb| & Adobe Caslon Swash Bold Italic\\ +% |awswi___.pfb| & Adobe Caslon Swash Italic\\ +% |axb_____.pfb| & Adobe Caslon Bold Expert\\ +% |axbi____.pfb| & Adobe Caslon Bold Italic Expert\\ +% |axi_____.pfb| & Adobe Caslon Italic Expert\\ +% |axrg____.pfb| & Adobe Caslon Regular Expert\\ +% |axsb____.pfb| & Adobe Caslon Semibold Expert\\ +% |axsbi___.pfb| & Adobe Caslon Semibold Italic Expert\\ +% |awbio___.pfb| & Adobe Caslon Bold Italic OsF\\ +% |awbos___.pfb| & Adobe Caslon Bold OsF\\ +% |awio____.pfb| & Adobe Caslon Italic OsF\\ +% |awsis___.pfb| & Adobe Caslon Semibold Italic OsF\\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +% The package |adobecaslon.sty| provides a number of commands for using +% the font family (see Section~\ref{sec:adobecaslon.sty}). +% +%\subsection{Fonts for extra ligatures} +%\label{sec:extraligs} +% +% There is a range of ligatures for the `long s' letter in the Alternate fonts, +% but there are others it is nice to have (although the fonts do quite well +% without them). They are quite easy to make in a font editor such as FontForge +% (\url{http://fontforge.github.io}): for example, `|longs| |longs| |i|' can be +% made by grafting the left-hand letter of the `|longs| |longs|' ligature on to +% the `|longs| |i|' ligature. +% +% Unfortunately, distributing these ligatures would probably be illegal in many +% countries, so if you want them you will have to make them for yourself. +% +% Table~\ref{tab:extraenc} lists the extra ligatures supported, along with the +% code point at which each glyph should appear and the corresponding glyph name +% in the standard encoding. (It would be nice to support a wider range of extra +% ligatures if there were a way of detecting which the user had supplied.) +% Table~\ref{tab:extraPFB} lists the required font files, one for each Alternate +% font. The extra ligatures are used when the |extraligs| package option is +% given. +% +%\begin{table}[tp] +% \centering +% \caption{Supported extra ligatures} +% \label{tab:extraenc} +% +% \begin{tabular}{lll} +% \toprule +% Ligature sequence & Code point & Standard glyph at code point \\ +% \midrule +% |longs| |longs| |i| & 0x49 & i\\ +% |longs| |longs| |l| & 0x4c & l\\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +%\begin{table}[tp] +% \centering +% \caption{Extra ligature PFB Files} +% \label{tab:extraPFB} +% +% \begin{tabular}{ll} +% \toprule +% File & Font \\ +% \midrule +% |awabe___.pfb| & Adobe Caslon Bold Alternate Extra\\ +% |awabie__.pfb| & Adobe Caslon Bold Italic Alternate Extra\\ +% |awaie___.pfb| & Adobe Caslon Italic Alternate Extra\\ +% |awarge__.pfb| & Adobe Caslon Regular Alternate Extra\\ +% |awasbe__.pfb| & Adobe Caslon Semibold Alternate Extra\\ +% |awasie__.pfb| & Adobe Caslon Semibold Italic Alternate Extra\\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +% +%\section{Using \LaTeX{} Style } +%\label{sec:adobecaslon.sty} +% +% To use the package, add to the preamble of your document the usual +% incantation \cmd{\usepackage}\oarg{options}|{adobecaslon}|. +% +% Several options are defined; see Table~\ref{tab:options}. +% \begin{table}[tp] +% \centering +% \caption{Package options} +% \label{tab:options} +% +% \begin{tabular}{ll} +% \toprule +% Option & Meaning \\ +% \midrule +% |expert| & Use expert fonts \\ +% |osf| & Use old-style (ranging) figures (requires expert fonts) \\ +% |swashit| & Use swash italics (requires expert fonts) \\ +% |alternate| & Use alternate old-style ligatures (requires expert fonts) \\ +% |longs| & Use long `s' (requires expert fonts) \\ +% |c18th| & Use long `s' with 18th century rules (require expert fonts) \\ +% |extraligs| & Use extra ligatures with |longs| or |c18th| (see Section~\ref{sec:extraligs}) \\ +% |swashlongs| & Use long `s' with swashes (requires expert fonts) \\ +% |normdefault| & Don't make Caslon the default roman typeface \\ +% |rmdefault| & Make Caslon the default roman typeface (default) \\ +% |scaled=N| & Scale the font by the given factor (default: $1.00$) \\ +% |bold| & Use bold faces for |\bfseries| \\ +% |semibold| & Use semibold faces for |\bfseries| (default) \\ +% \bottomrule +% \end{tabular} +% +% \end{table} +% +% Note that the |scaled| package option does not currently apply to +% the italic swash and ornament fonts. +% +% The package provides Adobe fonts in two shapes: upright and italic, +% and in three weights: medium (|m|), semibold (|sb|) and bold (|b|). +% The can be selected in the usual way, for example +% \begin{verbatim} +% \fontfamily{pac}\fontshape{it}\fontseries{sb}\selectfont +% \end{verbatim} +% +% \DescribeMacro{\adobecaslonfamily} +% \DescribeMacro{\textadobecaslon} +% Alternatively you can use a declaration |\adobecaslonfamily| and a +% command |\textadobecaslon| to set the family. +% +% \DescribeMacro{\sbseries} +% \DescribeMacro{\textsb} +% You can use the standard \LaTeX{} commands to select the shape and +% weight of the font. The package also provides a new declaration +% |\sbseries| and a command +% |\textsb| modeled after the familiar commands |\bfseries| and +% |\textbf|, which select semi-bold weights. +% +% \DescribeMacro{\adobecaslonexpert} +% Select expert fonts. +% +% \DescribeMacro{\adobecaslonosf} +% Select expert fonts with old-style (ranging) figures. +% +% \DescribeMacro{\adobecaslonalternate} +% Select old-style alternate ligatures. +% +% \DescribeMacro{\adobecaslonlongs} +% Select long `s'. +% +% \DescribeMacro{\adobecasloneighteenth} +% Select long `s' with 18th century rules (see Section~\ref{sec:longs}). +% +% \DescribeMacro{\adobecaslonswashit} +% Select swash italics. +% +% \DescribeMacro{\adobecaslonswashcaps} +% Select swash caps. +% +% \DescribeMacro{\adobecaslonornaments} +% Select ornaments. +% +% Note that currently hyphenation of long `s' does not work properly: +% \TeX\ seems to register a word boundary before the hyphen, so the +% `s' is shortened incorrectly. As a workaround, use |\noboundary| +% directly before such a hyphenation. This applies to automatically +% inserted hyphenation points as well as manual ones, so unfortunately +% complicates proof-reading whenever hyphenation is allowed. +% +%\subsection{Rules for `long s'} +%\label{sec:longs} +% +% The following rules are implemented automatically for the use of `long s' when +% the |longs| package option or |\adobecaslonlongs| command is used. Some come +% directly from the font; others are taken from +% \url{http://babelstone.blogspot.co.uk/2006/06/rules-for-long-s.html}. See also +% \url{http://english.stackexchange.com/questions/96408/during-what-period-of-history-did-english-use-ss-the-sharp-s-ligature}. +% +% \begin{itemize} +% \item `Long s' becomes short at the end of a word. +% \item `Long s' becomes short before apostrophe. +% \item `Long s' becomes short before and after `f'. +% (But see section~\ref{sec:bugs}.) +% \item `Long s' before manual hyphen (i.e., glyph |hyphen|; line-break hyphen +% is |hyphenchar|) becomes short. +% \end{itemize} +% +% The following rules must be applied manually: +% +% \begin{itemize} +% \item `Long s' is retained at the end of abbreviations before the full stop: +% add |\noboundary| before stop. +% \item `Long s' before line-break hyphen (glyph |hyphenchar|): this is +% incorrectly shortened, so add |\noboundary\-| at the hyphenation point. +% \item To shorten a `long s' that is not automatically shortened, insert some +% sort of break after it. +% \end{itemize} +% +% The following additional rules are implemented when the |c18th| package option +% or |\adobecasloneighteenth| command is used: +% +% \begin{itemize} +% \item The `eszet'-style ligature becomes a `long s'--`short s' ligature. +% \item `Long s' is shortened before b and k. +% \end{itemize} +% +%\subsection{Bugs and future work} +%\label{sec:bugs} +% +% The rule that `long s' becomes short before `f' is not correctly applied +% in the case of double `long s' followed by `f', as the double-long-s +% ligature is not broken. This should be fixed manually, for example by +% writing |success\/ful|. +% +% It might seem odd that for version~2 of this package, prepared in 2014, we are +% still using fontinst and PostScript Type~1 fonts. The reason is that as of +% \TeX\ Live~2012, \LuaTeX\ seems to kern Adobe Caslon Pro poorly, and the +% |hlig| historical ligature rules don't seem to work as expected. +% +% The files currently supplied in binary form from Ulrik Vieth's original +% package for the swash and ornament fonts should be generated. +% +% Ligatures should be broken in small caps (st, ct) for correct operation of +% |\textls|. A workaround is to avoid using |\adobecaslonalternate| or +% |\adobecasloneighteenth| with |\textsc|. It may be convenient to make a +% definition such as: +% +% \begin{verbatim} +% \newcommand{\smallcaps}[1]{{\adobecaslonexpert\textsc{#1}}} +% \end{verbatim} +% +% +% \StopEventually{ +% \clearpage +% +% \bibliography{adobecaslon} +% \bibliographystyle{unsrt}} +% +% \clearpage +%\section{Implementation} +%\label{sec:impl} +% +%\subsection{Identification} +%\label{sec:ident} +% +% We start by declaring who we are. +% \begin{macrocode} +%<style>\NeedsTeXFormat{LaTeX2e} +%<driver>\ProvidesFile{adobecaslon.dtx} +%<style>\ProvidesPackage{adobecaslon} +%<style> [2017/01/22 v2.2 Using Adobe Caslon Font in LaTeX] +% \end{macrocode} +% And the driver code: +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\usepackage{booktabs} +\usepackage{url} +\usepackage[tableposition=top]{caption} +\usepackage{hypdoc} +\usepackage[normdefault]{adobecaslon} +\usepackage{metalogo} +\PageIndex +\CodelineIndex +\RecordChanges +\EnableCrossrefs +\begin{document} + \DocInput{adobecaslon.dtx} +\end{document} +%</driver> +% \end{macrocode} +% +% \changes{v2.0}{2014/04/04}{Expert fonts added (Reuben Thomas)} +% \changes{v2.1}{2016/09/05}{Bug fixes, TS1 encoding added for a +% number of fonts (Reuben Thomas)} +%\subsection{Fontinst Driver} +%\label{sec:pac-drv} +% +% This follows~\cite{fontinstallationguide}. +% +% First, the preamble +% \begin{macrocode} +%<*pac-drv,pac-expert-drv,pac-extraligs-drv> +\input fontinst.sty +\substitutesilent{bx}{b} +% \end{macrocode} +% +% +% Starting recording transforms: +% \begin{macrocode} +\recordtransforms{pac-rec.tex} +%</pac-drv,pac-expert-drv,pac-extraligs-drv> +% \end{macrocode} +% The base fonts: +% \begin{macrocode} +%<*pac-drv,pac-expert-drv,pac-extraligs-drv> +\transformfont{pacr8r}{\reencodefont{8r}{\fromafm{awrg____}}} +\transformfont{pacri8r}{\reencodefont{8r}{\fromafm{awi_____}}} +\transformfont{pacs8r}{\reencodefont{8r}{\fromafm{awsb____}}} +\transformfont{pacsi8r}{\reencodefont{8r}{\fromafm{awsbi___}}} +\transformfont{pacb8r}{\reencodefont{8r}{\fromafm{awb_____}}} +\transformfont{pacbi8r}{\reencodefont{8r}{\fromafm{awbi____}}} +% \end{macrocode} +% +% Make oblique fonts for faking italic small caps: +% \begin{macrocode} +\transformfont{pacro8r}{\slantfont{167}{\frommtx{pacr8r}}} +\transformfont{pacso8r}{\slantfont{167}{\frommtx{pacs8r}}} +%</pac-drv,pac-expert-drv,pac-extraligs-drv> +% +% The use of expert fonts is optional, so we have a separate driver for them: +% \begin{macrocode} +%<*pac-expert-drv,pac-extraligs-drv> +\transformfont{pacb7a}{\fromafm{awab____}} +\transformfont{pacbi7a}{\fromafm{awabi___}} +\transformfont{pacri7a}{\fromafm{awai____}} +\transformfont{pacr7a}{\fromafm{awarg___}} +\transformfont{pacs7a}{\fromafm{awasb___}} +\transformfont{pacsi7a}{\fromafm{awasi___}} +\transformfont{pacrp}{\fromafm{awor____}} +\transformfont{pacsc8x}{\fromafm{awsbs___}} +\transformfont{pacrc8x}{\fromafm{awsc____}} +\transformfont{pacsiw}{\fromafm{awssb___}} +\transformfont{pacbiw}{\fromafm{awswb___}} +\transformfont{pacriw}{\fromafm{awswi___}} +\transformfont{pacb8x}{\fromafm{axb_____}} +\transformfont{pacbi8x}{\fromafm{axbi____}} +\transformfont{pacri8x}{\fromafm{axi_____}} +\transformfont{pacr8x}{\fromafm{axrg____}} +\transformfont{pacs8x}{\fromafm{axsb____}} +\transformfont{pacsi8x}{\fromafm{axsbi___}} +% \end{macrocode} +% +% Make expert oblique fonts for faking italic small caps: +% +% \begin{macrocode} +\transformfont{pacro8x}{\slantfont{167}{\frommtx{pacr8x}}} +\transformfont{pacrco8x}{\slantfont{167}{\frommtx{pacrc8x}}} +\transformfont{pacso8x}{\slantfont{167}{\frommtx{pacs8x}}} +\transformfont{pacsco8x}{\slantfont{167}{\frommtx{pacsc8x}}} +%</pac-expert-drv,pac-extraligs-drv> +% \end{macrocode} +% +% The ``extraligs'' fonts must be supplied by the user, so they have a separate driver: +% \begin{macrocode} +%<*pac-extraligs-drv> +\transformfont{pacb7ae}{\fromafm{awabe___}} +\transformfont{pacbi7ae}{\fromafm{awabie__}} +\transformfont{pacri7ae}{\fromafm{awaie___}} +\transformfont{pacr7ae}{\fromafm{awarge__}} +\transformfont{pacs7ae}{\fromafm{awasbe__}} +\transformfont{pacsi7ae}{\fromafm{awasie__}} +%</pac-extraligs-drv> +% \end{macrocode} +% +% There is no hook in |fontinst.sty| for writing our own preamble to +% |.fd| file. However, we need to add scaling commands to the +% preamble, so we patch \textsf{fontinst}: +% \begin{macrocode} +%<*pac-drv,pac-expert-drv,pac-extraligs-drv> +\fontinstcc +\def\fd_family#1#2#3{ + \a_toks{#3} + \edef\lowercase_file{\lowercase{ + \edef\noexpand\lowercase_file{#1#2.fd}}} + \lowercase_file + \open_out{\lowercase_file} + \out_line{\percent_char~Filename:~\lowercase_file} + \out_line{\percent_char~Created~by:~tex~\jobname} + \out_line{\percent_char~Created~using~fontinst~v\fontinstversion} + \out_line{} + \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~ + DIRECTORY} + \out_line{} + \out_line{\string\ProvidesFile{\lowercase_file}} + \out_lline{[ + \the\year/ + \ifnum10>\month0\fi\the\month/ + \ifnum10>\day0\fi\the\day\space + Fontinst~v\fontinstversion\space + font~definitions~for~#1/#2. + ]} + \out_line{} +% \end{macrocode} +% Here is our patch: +% \begin{macrocode} + \out_line{\string\expandafter\string\ifx\string\csname\space + adobecaslon@scaled\string\endcsname\string\relax} + \out_line{\space\string\let\string\adobecaslon@scaled\string\@empty} + \out_line{\string\else} + \out_line{\space\string\edef\string\adobecaslon@scaled\left_brace_char + s*[\string\csname\space adobecaslon@scaled\string\endcsname] + \right_brace_char\percent_char} + \out_line{\string\fi\percent_char} + \out_line{} +% \end{macrocode} +% End of the patch. +% \begin{macrocode} + \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}} + { + \csname #1-#2\endcsname + \out_line{} + \let\do_shape=\substitute_shape + \csname #1-#2\endcsname + \let\do_shape=\remove_shape + \csname #1-#2\endcsname + } + \x_cs\g_let{#1-#2}\x_relax + \out_line{} + \out_line{\string\endinput} + \close_out{Font~definitions} +} +\normalcc +% \end{macrocode} +% +% Now we install the fonts. First T1: +% \begin{macrocode} +\installfonts +\installfont{pacr8t}{pacr8r,newlatin}{t1}{T1}{pac}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacro8t}{pacro8r,newlatin}{t1}{T1}{pac}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrc8t}{pacr8r,newlatin}{t1c}{T1}{pac}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrco8t}{pacro8r,newlatin}{t1c}{T1}{pac}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacri8t}{pacri8r,newlatin}{t1}{T1}{pac}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacs8t}{pacs8r,newlatin}{t1}{T1}{pac}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacso8t}{pacso8r,newlatin}{t1}{T1}{pac}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacsc8t}{pacs8r,newlatin}{t1c}{T1}{pac}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacsco8t}{pacso8r,newlatin}{t1c}{T1}{pac}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsi8t}{pacsi8r,newlatin}{t1}{T1}{pac}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacb8t}{pacb8r,newlatin}{t1}{T1}{pac}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbi8t}{pacbi8r,newlatin}{t1}{T1}{pac}{b}{it}{ <->\string\adobecaslon@scaled} +% \end{macrocode} +% +% Then TS1: +% \begin{macrocode} +\installfont{pacr8c}{pacr8r,textcomp}{ts1}{TS1}{pac}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacri8c}{pacri8r,textcomp}{ts1}{TS1}{pac}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacs8c}{pacs8r,textcomp}{ts1}{TS1}{pac}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsi8c}{pacsi8r,textcomp}{ts1}{TS1}{pac}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacb8c}{pacb8r,textcomp}{ts1}{TS1}{pac}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbi8c}{pacbi8r,textcomp}{ts1}{TS1}{pac}{b}{it}{ <->\string\adobecaslon@scaled} +% \end{macrocode} +% +% And OT1: +% \begin{macrocode} +\installfont{pacr7t}{pacr8r,newlatin}{ot1}{OT1}{pac}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacro7t}{pacro8r,newlatin}{ot1}{OT1}{pac}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrc7t}{pacr8r,newlatin}{ot1c}{OT1}{pac}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrco7t}{pacro8r,newlatin}{ot1c}{OT1}{pac}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacri7t}{pacri8r,newlatin}{ot1}{OT1}{pac}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacs7t}{pacs8r,newlatin}{ot1}{OT1}{pac}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacso7t}{pacso8r,newlatin}{ot1}{OT1}{pac}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacsc7t}{pacs8r,newlatin}{ot1c}{OT1}{pac}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacsco7t}{pacso8r,newlatin}{ot1c}{OT1}{pac}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsi7t}{pacsi8r,newlatin}{ot1}{OT1}{pac}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacb7t}{pacb8r,newlatin}{ot1}{OT1}{pac}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbi7t}{pacbi8r,newlatin}{ot1}{OT1}{pac}{b}{it}{ <->\string\adobecaslon@scaled} +\endinstallfonts +% \end{macrocode} +% +% Now the expert and extra ligature fonts, which we make available only in T1 +% and TS1 encodings. +%<*pac-expert-drv,pac-extraligs-drv> +% \begin{macrocode} +\installfonts +%</pac-expert-drv,pac-extraligs-drv> +% \end{macrocode} +% +% First, the \texttt{expert} option: +% \begin{macrocode} +%<*pac-expert-drv> +\installfont{pacr9e}{pacr8r,pacr8x,newlatin}{t1}{T1}{pacx}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacro9e}{pacro8r,pacro8x,newlatin}{t1}{T1}{pacx}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrc9e}{pacrc8x,pacr8x,newlatin}{t1}{T1}{pacx}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrco9e}{pacrco8x,pacro8x,newlatin}{t1}{T1}{pacx}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacri9e}{pacri8r,pacri8x,newlatin}{t1}{T1}{pacx}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacs9e}{pacs8r,pacs8x,newlatin}{t1}{T1}{pacx}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacso9e}{pacso8r,pacso8x,newlatin}{t1}{T1}{pacx}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacsc9e}{pacsc8x,pacs8x,newlatin}{t1}{T1}{pacx}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacsco9e}{pacsco8x,pacso8x,newlatin}{t1}{T1}{pacx}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsi9e}{pacsi8r,pacsi8x,newlatin}{t1}{T1}{pacx}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacb9e}{pacb8r,pacb8x,newlatin}{t1}{T1}{pacx}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbi9e}{pacbi8r,pacbi8x,newlatin}{t1}{T1}{pacx}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacr9c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{pacx}{m}{n}{} +\installfont{pacro9c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{pacx}{m}{sl}{} +\installfont{pacri9c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{pacx}{m}{it}{} +\installfont{pacs9c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{pacx}{sb}{n}{} +\installfont{pacso9c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{pacx}{sb}{sl}{} +\installfont{pacsi9c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{pacx}{sb}{it}{} +\installfont{pacb9c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{pacx}{b}{n}{} +\installfont{pacbi9c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{pacx}{b}{it}{} +% \end{macrocode} +% +% The \texttt{osf} option: +% \begin{macrocode} +\installfont{pacr9d}{pacr8r,pacr8x,newlatin}{t1j}{T1}{pacj}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacro9d}{pacro8r,pacro8x,newlatin}{t1j}{T1}{pacj}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrc9d}{pacrc8x,pacr8x,newlatin}{t1j}{T1}{pacj}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrco9d}{pacrco8x,pacro8x,newlatin}{t1j}{T1}{pacj}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacri9d}{pacri8r,pacri8x,newlatin}{t1j}{T1}{pacj}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacs9d}{pacs8r,pacs8x,newlatin}{t1j}{T1}{pacj}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacso9d}{pacso8r,pacso8x,newlatin}{t1j}{T1}{pacj}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacsc9d}{pacsc8x,pacs8x,newlatin}{t1j}{T1}{pacj}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacsco9d}{pacsco8x,pacso8x,newlatin}{t1j}{T1}{pacj}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsi9d}{pacsi8r,pacsi8x,newlatin}{t1j}{T1}{pacj}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacb9d}{pacb8r,pacb8x,newlatin}{t1j}{T1}{pacj}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbi9d}{pacbi8r,pacbi8x,newlatin}{t1j}{T1}{pacj}{b}{it}{ <->\string\adobecaslon@scaled} +% \end{macrocode} +% +% The \texttt{alternate} option: +% \begin{macrocode} +\installfont{pacra9d}{pacr8r,pacr7a,pacr8x,newlatina}{t1aj}{T1}{paca}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacroa9d}{pacro8r,pacro8x,newlatina}{t1aj}{T1}{paca}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrca9d}{pacrc8x,pacr8x,newlatinasc}{t1aj}{T1}{paca}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrcoa9d}{pacrco8x,pacro8x,newlatinasc}{t1aj}{T1}{paca}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacria9d}{pacri8r,pacri7a,pacri8x,newlatina}{t1aj}{T1}{paca}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacsa9d}{pacs8r,pacs7a,pacs8x,newlatina}{t1aj}{T1}{paca}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsoa9d}{pacso8r,pacso8x,newlatina}{t1aj}{T1}{paca}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacsca9d}{pacsc8x,pacs8x,newlatinasc}{t1aj}{T1}{paca}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacscoa9d}{pacsco8x,pacso8x,newlatinasc}{t1aj}{T1}{paca}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsia9d}{pacsi8r,pacsi7a,pacsi8x,newlatina}{t1aj}{T1}{paca}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacba9d}{pacb8r,pacb7a,pacb8x,newlatina}{t1aj}{T1}{paca}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbia9d}{pacbi8r,pacbi7a,pacbi8x,newlatina}{t1aj}{T1}{paca}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacra9c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{paca}{m}{n}{} +\installfont{pacroa9c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{paca}{m}{sl}{} +\installfont{pacria9c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{paca}{m}{it}{} +\installfont{pacsa9c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{paca}{sb}{n}{} +\installfont{pacsoa9c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{paca}{sb}{sl}{} +\installfont{pacsia9c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{paca}{sb}{it}{} +\installfont{pacba9c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{paca}{b}{n}{} +\installfont{pacbia9c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{paca}{b}{it}{} +% \end{macrocode} +% +% The \texttt{longs} option: +% \begin{macrocode} +\installfont{pacraa9d}{pacr8r,pacr7a,pacr8x,newlatinaa}{t1aaj}{T1}{pacaa}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacroaa9d}{pacro8r,pacro8x,newlatinaa}{t1aaj}{T1}{pacaa}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrcaa9d}{pacrc8x,pacr8x,newlatinaasc}{t1aaj}{T1}{pacaa}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrcoaa9d}{pacrco8x,pacro8x,newlatinaasc}{t1aaj}{T1}{pacaa}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacriaa9d}{pacri8r,pacri7a,pacri8x,newlatinaa}{t1aaj}{T1}{pacaa}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacsaa9d}{pacs8r,pacs7a,pacs8x,newlatinaa}{t1aaj}{T1}{pacaa}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsoaa9d}{pacso8r,pacso8x,newlatinaa}{t1aaj}{T1}{pacaa}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacscaa9d}{pacsc8x,pacs8x,newlatinaasc}{t1aaj}{T1}{pacaa}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacscoaa9d}{pacsco8x,pacso8x,newlatinaasc}{t1aaj}{T1}{pacaa}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsiaa9d}{pacsi8r,pacsi7a,pacsi8x,newlatinaa}{t1aaj}{T1}{pacaa}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacbaa9d}{pacb8r,pacb7a,pacb8x,newlatinaa}{t1aaj}{T1}{pacaa}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbiaa9d}{pacbi8r,pacbi7a,pacbi8x,newlatinaa}{t1aaj}{T1}{pacaa}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacraa9c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{pacaa}{m}{n}{} +\installfont{pacroaa9c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{pacaa}{m}{sl}{} +\installfont{pacriaa9c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{pacaa}{m}{it}{} +\installfont{pacsaa9c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{pacaa}{sb}{n}{} +\installfont{pacsoaa9c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{pacaa}{sb}{sl}{} +\installfont{pacsiaa9c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{pacaa}{sb}{it}{} +\installfont{pacbaa9c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{pacaa}{b}{n}{} +\installfont{pacbiaa9c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{pacaa}{b}{it}{} +% \end{macrocode} +% +% The \texttt{c18th} option: +% \begin{macrocode} +\installfont{pacraa89d}{pacr8r,pacr7a,pacr8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacroaa89d}{pacro8r,pacro8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrcaa89d}{pacrc8x,pacr8x,newlatinaa8sc}{t1aa8j}{T1}{pacaa8}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrcoaa89d}{pacrco8x,pacro8x,newlatinaa8sc}{t1aa8j}{T1}{pacaa8}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacriaa89d}{pacri8r,pacri7a,pacri8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacsaa89d}{pacs8r,pacs7a,pacs8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsoaa89d}{pacso8r,pacso8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacscaa89d}{pacsc8x,pacs8x,newlatinaa8sc}{t1aa8j}{T1}{pacaa8}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacscoaa89d}{pacsco8x,pacso8x,newlatinaa8sc}{t1aa8j}{T1}{pacaa8}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsiaa89d}{pacsi8r,pacsi7a,pacsi8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacbaa89d}{pacb8r,pacb7a,pacb8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbiaa89d}{pacbi8r,pacbi7a,pacbi8x,newlatinaa8}{t1aa8j}{T1}{pacaa8}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacraa89c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{pacaa8}{m}{n}{} +\installfont{pacroaa89c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{pacaa8}{m}{sl}{} +\installfont{pacriaa89c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{pacaa8}{m}{it}{} +\installfont{pacsaa89c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{pacaa8}{sb}{n}{} +\installfont{pacsoaa89c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{pacaa8}{sb}{sl}{} +\installfont{pacsiaa89c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{pacaa8}{sb}{it}{} +\installfont{pacbaa89c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{pacaa8}{b}{n}{} +\installfont{pacbiaa89c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{pacaa8}{b}{it}{} +%</pac-expert-drv> +% \end{macrocode} +% +% Now the extra ligature fonts. First, the \texttt{longs} with +% \texttt{extraligs} option (see Section~\ref{sec:extraligs}): +% \begin{macrocode} +%<*pac-extraligs-drv> +\installfont{pacraae9d}{pacr8r,pacr7a,pacr7ae,pacr8x,newlatinaae}{t1aaje}{T1}{pacaae}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacroaae9d}{pacro8r,pacro8x,newlatinaae}{t1aaje}{T1}{pacaae}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrcaae9d}{pacrc8x,pacr8x,newlatinaaesc}{t1aaje}{T1}{pacaae}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrcoaae9d}{pacrco8x,pacro8x,newlatinaaesc}{t1aaje}{T1}{pacaae}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacriaae9d}{pacri8r,pacri7a,pacri7ae,pacri8x,newlatinaae}{t1aaje}{T1}{pacaae}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacsaae9d}{pacs8r,pacs7a,pacs7ae,pacs8x,newlatinaae}{t1aaje}{T1}{pacaae}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsoaae9d}{pacso8r,pacso8x,newlatinaae}{t1aaje}{T1}{pacaae}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacscaae9d}{pacsc8x,pacs8x,newlatinaaesc}{t1aaje}{T1}{pacaae}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacscoaae9d}{pacsco8x,pacso8x,newlatinaaesc}{t1aaje}{T1}{pacaae}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsiaae9d}{pacsi8r,pacsi7a,pacsi7ae,pacsi8x,newlatinaae}{t1aaje}{T1}{pacaae}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacbaae9d}{pacb8r,pacb7a,pacb7ae,pacb8x,newlatinaae}{t1aaje}{T1}{pacaae}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbiaae9d}{pacbi8r,pacbi7a,pacbi7ae,pacbi8x,newlatinaae}{t1aaje}{T1}{pacaae}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacraae9c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{pacaae}{m}{n}{} +\installfont{pacroaae9c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{pacaae}{m}{sl}{} +\installfont{pacriaae9c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{pacaae}{m}{it}{} +\installfont{pacsaae9c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{pacaae}{sb}{n}{} +\installfont{pacsoaae9c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{pacaae}{sb}{sl}{} +\installfont{pacsiaae9c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{pacaae}{sb}{it}{} +\installfont{pacbaae9c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{pacaae}{b}{n}{} +\installfont{pacbiaae9c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{pacaae}{b}{it}{} +% \end{macrocode} +% +% Then the \texttt{c18th} with \texttt{extraligs} option: +% \begin{macrocode} +\installfont{pacraa8e9d}{pacr8r,pacr7a,pacr7ae,pacr8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{m}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacroaa8e9d}{pacro8r,pacro8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{m}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacrcaa8e9d}{pacrc8x,pacr8x,newlatinaa8esc}{t1aa8je}{T1}{pacaa8e}{m}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacrcoaa8e9d}{pacrco8x,pacro8x,newlatinaa8esc}{t1aa8je}{T1}{pacaa8e}{m}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacriaa8e9d}{pacri8r,pacri7a,pacri7ae,pacri8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{m}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacsaa8e9d}{pacs8r,pacs7a,pacs7ae,pacs8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{sb}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacsoaa8e9d}{pacso8r,pacso8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{sb}{sl}{ <->\string\adobecaslon@scaled} +\installfont{pacscaa8e9d}{pacsc8x,pacs8x,newlatinaa8esc}{t1aa8je}{T1}{pacaa8e}{sb}{sc}{ <->\string\adobecaslon@scaled} +\installfont{pacscoaa8e9d}{pacsco8x,pacso8x,newlatinaa8esc}{t1aa8je}{T1}{pacaa8e}{sb}{scit}{ <->\string\adobecaslon@scaled} +\installfont{pacsiaa8e9d}{pacsi8r,pacsi7a,pacsi7ae,pacsi8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{sb}{it}{ <->\string\adobecaslon@scaled} +\installfont{pacbaa8e9d}{pacb8r,pacb7a,pacb7ae,pacb8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{b}{n}{ <->\string\adobecaslon@scaled} +\installfont{pacbiaa8e9d}{pacbi8r,pacbi7a,pacbi7ae,pacbi8x,newlatinaa8e}{t1aa8je}{T1}{pacaa8e}{b}{it}{ <->\string\adobecaslon@scaled} + +\installfont{pacraa8e9c}{pacr8r,pacr8x,textcomp}{ts1}{TS1}{pacaa8e}{m}{n}{} +\installfont{pacroaa8e9c}{pacro8r,pacro8x,textcomp}{ts1}{TS1}{pacaa8e}{m}{sl}{} +\installfont{pacriaa8e9c}{pacri8r,pacri8x,textcomp}{ts1i}{TS1}{pacaa8e}{m}{it}{} +\installfont{pacsaa8e9c}{pacs8r,pacs8x,textcomp}{ts1}{TS1}{pacaa8e}{sb}{n}{} +\installfont{pacsoaa8e9c}{pacso8r,pacso8x,textcomp}{ts1}{TS1}{pacaa8e}{sb}{sl}{} +\installfont{pacsiaa8e9c}{pacsi8r,pacsi8x,textcomp}{ts1i}{TS1}{pacaa8e}{sb}{it}{} +\installfont{pacbaa8e9c}{pacb8r,pacb8x,textcomp}{ts1}{TS1}{pacaa8e}{b}{n}{} +\installfont{pacbiaa8e9c}{pacbi8r,pacbi8x,textcomp}{ts1i}{TS1}{pacaa8e}{b}{it}{} +%</pac-extraligs-drv> +% \end{macrocode} +% +% End the fonts installation: +%<*pac-expert-drv,pac-extraligs-drv> +% \begin{macrocode} +\endinstallfonts +% \end{macrocode} +%</pac-expert-drv,pac-extraligs-drv> +% End the driver: +% \begin{macrocode} +\endrecordtransforms +\bye +%</pac-drv,pac-expert-drv,pac-extraligs-drv> +% \end{macrocode} +% +%\subsection{Fontmap Generation} +%\label{sec:fontmap} +% +% This is a standard procedure~\cite{fontinstallationguide} +% \begin{macrocode} +%<*pac-map> +\input finstmsc.sty +\resetstr{PSfontsuffix}{.pfb} +\adddriver{dvips}{pac.map} +\input pac-rec.tex +\donedrivers +\bye +%</pac-map> +% \end{macrocode} +% +%\subsection{Metrics} +% +% Old-style ligatures on modern letters. +% +%<*newlatina> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatin} +\inputmtx{oldstyle-kerning} + +\unfakable{st} +\unfakable{ct} + +\endmetrics +% \end{macrocode} +%</newlatina> +% +% Old-style ligatures with small caps. +% +%<*newlatinasc> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatin} +\inputmtx{oldstyle-kerning} + +\setglyph{st} + \glyph{s}{1000} + \glyph{t}{1000} +\endsetglyph +\setglyph{ct} + \glyph{c}{1000} + \glyph{t}{1000} +\endsetglyph + +\endmetrics +% \end{macrocode} +%</newlatinasc> +% +% The `long s' variant. +% +%<*newlatinaa> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatina} +\inputmtx{longs-kerning} + +\unfakable{longs} +\unfakable{longsh} +\unfakable{longsi} +\unfakable{longsl} +\unfakable{longst} +\unfakable{longdbls} + +\endmetrics +% \end{macrocode} +%</newlatinaa> +% +% The `long s' variant for small caps. +% +%<*newlatinaasc> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinasc} +\inputmtx{longs-kerning} + +\setglyph{longs} + \glyph{s}{1000} +\endsetglyph +\setglyph{longsh} + \glyph{s}{1000} + \glyph{h}{1000} +\endsetglyph +\setglyph{longsi} + \glyph{s}{1000} + \glyph{i}{1000} +\endsetglyph +\setglyph{longsl} + \glyph{s}{1000} + \glyph{l}{1000} +\endsetglyph +\setglyph{longst} + \glyph{s}{1000} + \glyph{t}{1000} +\endsetglyph +\setglyph{longdbls} + \glyph{s}{1000} + \glyph{s}{1000} +\endsetglyph + +\endmetrics +% \end{macrocode} +%</newlatinaasc> +% +% The `long s' variant with extra ligatures. +% +%<*newlatinaae> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaa} +\inputmtx{longdbls-kerning} + +\unfakable{longdblsi} +\unfakable{longdblsl} + +\endmetrics +% \end{macrocode} +%</newlatinaae> +% +% The `long s' variant with extra ligatures for small caps. +% +%<*newlatinaaesc> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaasc} +\inputmtx{longdbls-kerning} + +\setglyph{longdblsi} + \glyph{s}{1000} + \glyph{s}{1000} + \glyph{i}{1000} +\endsetglyph +\setglyph{longdblsl} + \glyph{s}{1000} + \glyph{s}{1000} + \glyph{l}{1000} +\endsetglyph + +\endmetrics +% \end{macrocode} +%</newlatinaaesc> +% +% The 18th century variant. +% +%<*newlatinaa8> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaa} +\inputmtx{longss-kerning} +\inputmtx{longss-glyph} + +\endmetrics +% \end{macrocode} +%</newlatinaa8> +% +% The 18th century variant for small caps. +% +%<*newlatinaa8sc> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaasc} +\inputmtx{longss-kerning} +\inputmtx{longss-glyph-sc} + +\endmetrics +% \end{macrocode} +%</newlatinaa8sc> +% +% The 18th century variant with extra ligatures. +% +%<*newlatinaa8e> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaae} +\inputmtx{longss-kerning} +\inputmtx{longss-glyph} + +\endmetrics +% \end{macrocode} +%</newlatinaa8e> +% +% The 18th century variant with extra ligatures for small caps. +% +%<*newlatinaa8esc> +% \begin{macrocode} +\relax +\metrics + +\inputmtx{newlatinaaesc} +\inputmtx{longss-kerning} +\inputmtx{longss-glyph-sc} + +\endmetrics +% \end{macrocode} +%</newlatinaa8esc> +% +% A fragment for kerning old-style ligatures. +% +% \begin{macrocode} +%<*oldstyle-kerning> +\setleftkerning{st}{s}{1000} +\setleftkerning{ct}{c}{1000} +\setrightkerning{st}{t}{1000} +\setrightkerning{ct}{t}{1000} +% \end{macrocode} +%</oldstyle-kerning> +% +% A fragment for kerning `long s' ligatures. +% +% \begin{macrocode} +%<*longs-kerning> +\setleftkerning{longsh}{longs}{1000} +\setrightkerning{longsh}{h}{1000} +\setleftkerning{longsi}{longs}{1000} +\setrightkerning{longsi}{i}{1000} +\setleftkerning{longsl}{longs}{1000} +\setrightkerning{longsl}{l}{1000} +\setleftkerning{longst}{longs}{1000} +\setrightkerning{longst}{t}{1000} +\setleftrightkerning{longdbls}{longs}{1000} +% \end{macrocode} +%</longs-kerning> +% +% A fragment for kerning `double long s' ligatures. +% +% \begin{macrocode} +%<*longdbls-kerning> +\setleftkerning{longdblsi}{longs}{1000} +\setrightkerning{longdblsi}{i}{1000} +\setleftkerning{longdblsl}{longs}{1000} +\setrightkerning{longdblsl}{l}{1000} +% \end{macrocode} +%</longdbls-kerning> +% +% A fragment for kerning long `s' followed by `s'. +% +% \begin{macrocode} +%<*longss-kerning> +\setleftkerning{longss}{longs}{1000} +\setrightkerning{longss}{s}{1000} +% \end{macrocode} +%</longss-kerning> +% +% A fragment for a long `s' followed by `s' glyph. +% +% \begin{macrocode} +%<*longss-glyph> +\setglyph{longss} + \glyph{longs}{1000} + \glyph{s}{1000} +\endsetglyph +% \end{macrocode} +%</longss-glyph> +% +% A fragment for a long `s' followed by `s' glyph for small caps. +% +% \begin{macrocode} +%<*longss-glyph-sc> +\setglyph{longss} + \glyph{s}{1000} + \glyph{s}{1000} +\endsetglyph +% \end{macrocode} +%</longss-glyph-sc> +% +%\subsection{Encodings} +% +% The variant for old-style figures: +% +% \begin{macrocode} +%<*t1aj> +\relax +\encoding + +%% Define the parameters to produce a font with old-style figures +\setcommand\digit#1{#1oldstyle} + +\inputetx{t1a} + +\endencoding +%</t1aj> +% \end{macrocode} +% +% The `long s' variant with old-style figures. +% +% \begin{macrocode} +%<*t1aaj> +\relax +\encoding + +%% Define the parameters to produce a font with old-style figures +\setcommand\digit#1{#1oldstyle} + +\inputetx{t1aa} + +\endencoding +%</t1aaj> +% \end{macrocode} +% +% The eighteenth-century variant with old-style figures. +% +% \begin{macrocode} +%<*t1aa8j> +\relax +\encoding + +%% Define the parameters to produce a font with old-style figures +\setcommand\digit#1{#1oldstyle} + +\inputetx{t1aa8} + +\endencoding +%</t1aa8j> +% \end{macrocode} +% +% The `long s' variant with old-style figures and extra ligatures. +% +% \begin{macrocode} +%<*t1aaje> +\relax +\encoding + +%% Define the parameters to produce a font with old-style figures +\setcommand\digit#1{#1oldstyle} + +\inputetx{t1aae} + +\endencoding +%</t1aaje> +% \end{macrocode} +% +% The eighteenth-century variant with old-style figures and extra ligatures. +% +% \begin{macrocode} +%<*t1aa8je> +\relax +\encoding + +%% Define the parameters to produce a font with old-style figures +\setcommand\digit#1{#1oldstyle} + +\inputetx{t1aa8e} + +\endencoding +%</t1aa8je> +% \end{macrocode} +% +%\subsection{Font definitions} +% +% We define the ornament and swash font encodings directly, in files +% from Ulrik Vieth's \textsf{pacaslon} package. +% +%\subsection{Style File} +%\label{sec:style} +% +% +% Declare the package options: +% \begin{macrocode} +%<*style> +\RequirePackage{kvoptions} +\RequirePackage{ifthen} +\def\adobecaslonf@ntsuffix{} +\DeclareVoidOption{expert}{\def\adobecaslonf@ntsuffix{x}} +\DeclareVoidOption{osf}{\def\adobecaslonf@ntsuffix{j}} +\DeclareVoidOption{swashit}{\def\adobecaslonf@ntsuffix{w}} +\DeclareVoidOption{alternate}{\def\adobecaslonf@ntsuffix{a}} +\newif\ifadobecaslon@longs\adobecaslon@longsfalse +\DeclareVoidOption{longs}{\def\adobecaslonf@ntsuffix{aa}\adobecaslon@longstrue} +\newif\ifadobecaslon@eighteenth\adobecaslon@eighteenthfalse +\DeclareVoidOption{c18th}{\def\adobecaslonf@ntsuffix{aa8}\adobecaslon@eighteenthtrue} +\DeclareVoidOption{swashlongs}{\def\adobecaslonf@ntsuffix{aaw}} +\DeclareBoolOption[false]{extraligs} +\DeclareBoolOption[true]{rmdefault} +\DeclareComplementaryOption{normdefault}{rmdefault} +\DeclareStringOption[1.00]{scaled} +\DeclareBoolOption{bold} +\DeclareComplementaryOption{semibold}{bold} +\ProcessKeyvalOptions* +\def\adobecaslonf@ntextraligs{} +\ifadobecaslon@extraligs + \def\adobecaslonf@ntextraligs{e} + \ifthenelse{\(\boolean{adobecaslon@longs}\OR\boolean{adobecaslon@eighteenth}\)}{% + \edef\adobecaslonf@ntsuffix{\adobecaslonf@ntsuffix e}}{} +\fi +\ifadobecaslon@rmdefault + \renewcommand{\rmdefault}{pac\adobecaslonf@ntsuffix} + \ifadobecaslon@bold\else + \def\bfdefault{sb} + \fi +\fi +% \end{macrocode} +% +% +% Some new commands: +% \begin{macrocode} +\DeclareRobustCommand\adobecaslonfamily{\fontfamily{pac}\selectfont} +\DeclareTextFontCommand{\textadobecaslon}{\adobecaslonfamily} +\DeclareRobustCommand\sbseries{\fontseries{sb}\selectfont} +\DeclareTextFontCommand{\textsb}{\sbseries} +\DeclareRobustCommand\adobecaslonexpert{\fontfamily{pacx}\selectfont} +\DeclareRobustCommand\adobecaslonosf{\fontfamily{pacj}\selectfont} +\DeclareRobustCommand\adobecaslonalternate{\fontfamily{paca}\selectfont} +\DeclareRobustCommand\adobecaslonlongs{\fontfamily{pacaa\adobecaslonf@ntextraligs}\selectfont} +\DeclareRobustCommand\adobecasloneighteenth{\fontfamily{pacaa8\adobecaslonf@ntextraligs}\selectfont} +\DeclareRobustCommand\adobecaslonswashit{\usefont{T1}{pacw}{\f@series}{it}} +\DeclareRobustCommand\adobecaslonswashcaps{\usefont{U}{pac}{\f@series}{iw}} +\DeclareRobustCommand\adobecaslonornaments{\usefont{U}{pac}{m}{n}} +%</style> +% \end{macrocode} +% +%\subsection{Example output} +% +% A file with slight variants for core and expert fonts: +% +%<*pac-sample,pac-sample-expert,pac-sample-extraligs> +% \begin{macrocode} +\documentclass{article} + +\usepackage[T1]{fontenc} +\usepackage{ifpdf} +\ifpdf + \pdfmapfile{+pac.map} + \usepackage{microtype} +\fi +%<pac-sample>\usepackage[bold]{adobecaslon} +%<pac-sample-expert>\usepackage[expert,bold]{adobecaslon} +%<pac-sample-extraligs>\usepackage[extraligs,expert,bold]{adobecaslon} +\usepackage{textcomp} +\usepackage{lipsum} +\usepackage{slantsc} + +%<pac-sample>\newcommand{\sampletext}{0123456789. fi, ffi, \textsc{small caps}.} +%<pac-sample-expert,pac-sample-extraligs>\newcommand{\sampletext}{0123456789 {\adobecaslonosf 0123456789}. fi, ffi, \textsc{small caps}, {\adobecaslonalternate ct st}.} + +\begin{document} + +Adobe Caslon Regular: \sampletext + +{\itshape Adobe Caslon Italic: \sampletext} + +{\sbseries Adobe Caslon Semibold: \sampletext + +\itshape Adobe Caslon Semibold Italic: \sampletext} + + +{\bfseries Adobe Caslon Bold: \sampletext + +\itshape Adobe Caslon Bold Italic: \sampletext} + + +Package \textsf{textcomp} allows us to typeset currencies: \texteuro25.00, +\pounds4.5, \textdollar6, \textyen4. + +%</pac-sample,pac-sample-expert,pac-sample-extraligs> +%<*pac-sample-expert,pac-sample-extraligs> +{\adobecaslonlongs Some words with long `s': dress splice slice strife finesse sift shine session tussle stints. + +A long line with splits-seen and a word to be hyphenated and should long: shes\-ellsseashells. + +A long line with splits-seen and a word to be hyphenated and should long: shes\noboundary\-ellsseashells.} + +{\adobecaslonswashit Some swash italics.} + +Swash caps: {\adobecaslonswashcaps SQT}. + +Ornaments: {\adobecaslonornaments 123ABCabc}. + +18th-century mode: {\adobecasloneighteenth dress, kasbah, shake, sforza, fsork, ska}. + +%</pac-sample-expert,pac-sample-extraligs> +%<*pac-sample,pac-sample-expert,pac-sample-extraligs> +\lipsum[1] + +\end{document} +% \end{macrocode} +%</pac-sample,pac-sample-expert,pac-sample-extraligs> +% +%\Finale +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex +% +\endinput |