Here is an attempt at answering item 2, assuming you are using a traditional TeX or pdfTeX format with TFM-based fonts (not XeLaTeX or LuaLaTeX):
For plain TeX, there is testfont.tex
.
For LaTeX, the fonttable
package does something similar. For context, there is the \showfont
command.
PS: I have no idea how to answer anything else; 1 and 3 are much too general for an answer that is shorter than a medium-sized book, and I know nothing of 4.
I'm afraid such a method doesn't exist.
In the Eighties, Karl Berry proposed a font naming scheme for TeX/LaTeX that ensured, as much as possible, that metric file names consisted of at most eight characters, which was a constraint forced basically by an operating system I don't want to mention; the same constraint was forced for file names on CD-ROM.
A “Berry name” consists of various parts:
S TT W [V...] [N] [E] [DD]
(the square brackets represent optional parts), where S
is one letter denoting the supplier (p
is Adobe, b
is Bitstream, u
is URW, and so on). What you're interested in is TT
, two alphanumeric characters representing the family name.
The document “Fontname – Filenames for TeX fonts” by Karl Berry is available in the major TeX distributions with texdoc fontname
or at texdoc.net (or on CTAN). There you find a long list of two letter family names with the correspondence with the “real” font name.
Thus phv
is “Adobe Helvetica”, while bhv
can be “Bitstream Swiss 721” and uhv
is “URW Nimbus Sans”.
Metafont based fonts don't follow the convention, so the family name for the Computer Modern Roman fonts is cmr
. There is a family pair mr
(Madrone) and the supplier c
is Compugraphic; but cmr10
does not conform to the Berry naming scheme, so it can't misunderstood for a (probably inexistent) “Compugraphic Madrone”. If this font did exist problems would arise, though.
This is the past, however. Nowadays operating systems have lifted the eight character restriction on file names (at least at user level). Suppliers of LaTeX fonts have started using freely file names and no convention is followed.
For instance, the Quattrocento font uses Quattrocento-TLF
as family name, while Iwona uses iwona
and Linux Libertine has LinuxLibertineT-xxx
(xxx
stands for a two or three letter addition. The newpxtext
package uses family names such as ntxr
or ntxss
.
The shell command
locate /t1 | grep 'texlive/2012' | grep '\.fd$'
which should find all .fd
files relative to the T1 encoding finds 286 files; another 59 are found with /T1
(not all packages follow the recommendation that font description file names start with the encoding in lower case).
Basically, an instruction such as
\fontfamily{<string>}\selectfont
loads the font description file <encoding><string>.fd
. Say we're using T1 as output encoding; then \fontfamily{xyz}
would load either t1xyz.fd
or T1xyz.fd
(if existent on your system).
Choosing from these font description file names is the only reliable way to find out what fonts you have.
Instead of the locate
command one can exploit the ls-R
file name cache of TeX Live, on Unix systems:
grep -i '^t1.*\.fd$' $(kpsewhich --all ls-R)
Note. The --all
option seems to be replaceable by -a
, which is what I've always used, but the short option is not documented.
Best Answer
Spivak's Calculus is typeset in Baskerville font, as the author states here, in the beginning paragraph remembering how the original MathTıme fonts were born: