% \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