% \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} % % \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 %\usepackage[bold]{adobecaslon} %\usepackage[expert,bold]{adobecaslon} %\usepackage[extraligs,expert,bold]{adobecaslon} \usepackage{textcomp} \usepackage{lipsum} \usepackage{slantsc} %\newcommand{\sampletext}{0123456789. fi, ffi, \textsc{small caps}.} %\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-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,pac-sample-expert,pac-sample-extraligs> \lipsum[1] \end{document} % \end{macrocode} % % %\Finale %\clearpage % %\PrintChanges %\clearpage %\PrintIndex % \endinput