%<*gobble>
%\iffalse
% $Id: adobecaslon.dtx,v 1.7 2014-12-18 01:44:06 boris Exp $
%
% Copyright (c) 2012, Boris Veytsman
% Copyright (c) 2013-2014, Reuben Thomas
% Copyright (c) 1996, Ulrik Vieth
%
% 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.
%
% \CheckSum{908}
%
%\fi
%%\iffalse
%% \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 \~}
%%\fi
%
% \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.
%
% The initial work on this package was done by Boris Veytsman; Reuben
% Thomas added support for expert fonts using Ulrik Vieth's code.
%
%\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.
%
%\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'.
% \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}
%
% 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.
%
%
% \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:
%
% \begin{macrocode}
%<*pac-sample,pac-sample-expert,pac-sample-extraligs>
\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