summaryrefslogtreecommitdiff
path: root/fonts/cmolddig
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cmolddig
Initial commit
Diffstat (limited to 'fonts/cmolddig')
-rw-r--r--fonts/cmolddig/cmolddig.pdfbin0 -> 112298 bytes
-rw-r--r--fonts/cmolddig/cmolddig.tex494
-rw-r--r--fonts/cmolddig/odshrtst.tex46
-rw-r--r--fonts/cmolddig/readme.txt76
-rw-r--r--fonts/cmolddig/source/dostretch.mtx25
-rw-r--r--fonts/cmolddig/source/instcmrj.tex113
-rw-r--r--fonts/cmolddig/source/ot1noflig.etx860
-rw-r--r--fonts/cmolddig/source/ot1nofligcj.etx62
-rw-r--r--fonts/cmolddig/source/ot1nofligj.etx32
-rw-r--r--fonts/cmolddig/texinput/cmolddig.sty171
-rw-r--r--fonts/cmolddig/texinput/omlcmrj.fd39
-rw-r--r--fonts/cmolddig/texinput/omscmrj.fd39
-rw-r--r--fonts/cmolddig/texinput/ot1cmrj.fd81
-rw-r--r--fonts/cmolddig/tfm/cmbj10.tfmbin0 -> 1748 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj10.tfmbin0 -> 1748 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj12.tfmbin0 -> 1744 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj5.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj6.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj7.tfmbin0 -> 1764 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj8.tfmbin0 -> 1748 bytes
-rw-r--r--fonts/cmolddig/tfm/cmbxj9.tfmbin0 -> 1744 bytes
-rw-r--r--fonts/cmolddig/tfm/cmcscj10.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/cmolddig/tfm/cmcscj8.tfmbin0 -> 1768 bytes
-rw-r--r--fonts/cmolddig/tfm/cmcscj9.tfmbin0 -> 1764 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj10.tfmbin0 -> 1708 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj12.tfmbin0 -> 1704 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj17.tfmbin0 -> 1716 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj5.tfmbin0 -> 1648 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj6.tfmbin0 -> 1720 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj7.tfmbin0 -> 1720 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj8.tfmbin0 -> 1712 bytes
-rw-r--r--fonts/cmolddig/tfm/cmrj9.tfmbin0 -> 1712 bytes
-rw-r--r--fonts/cmolddig/vf/cmbj10.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj10.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj12.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj5.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj6.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj7.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj8.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmbxj9.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmcscj10.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmcscj8.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmcscj9.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj10.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj12.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj17.vfbin0 -> 836 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj5.vfbin0 -> 832 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj6.vfbin0 -> 832 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj7.vfbin0 -> 832 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj8.vfbin0 -> 832 bytes
-rw-r--r--fonts/cmolddig/vf/cmrj9.vfbin0 -> 832 bytes
51 files changed, 2038 insertions, 0 deletions
diff --git a/fonts/cmolddig/cmolddig.pdf b/fonts/cmolddig/cmolddig.pdf
new file mode 100644
index 0000000000..d8a5974fad
--- /dev/null
+++ b/fonts/cmolddig/cmolddig.pdf
Binary files differ
diff --git a/fonts/cmolddig/cmolddig.tex b/fonts/cmolddig/cmolddig.tex
new file mode 100644
index 0000000000..9394509ac5
--- /dev/null
+++ b/fonts/cmolddig/cmolddig.tex
@@ -0,0 +1,494 @@
+%&latex
+% File cmolddig.tex
+% Copyright 1999 Rowland McDonnell
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package
+%
+% This file can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage{array,xspace}
+
+\makeatletter
+\newcommand{\ttlb}{{\ttfamily\def\@tempcmda{OT1}%
+\ifx\f@encoding\@tempcmda\char"7B\else\{\fi}}
+
+\newcommand{\ttrb}{{\ttfamily\def\@tempcmda{OT1}%
+\ifx\f@encoding\@tempcmda\char"7D\else\}\fi}}
+
+\newcommand{\ttbs}{{\ttfamily\def\@tempcmda{OT1}%
+\ifx\f@encoding\@tempcmda\char`\\\else\textbackslash\fi}}
+
+\newcommand*{\comname}[2][VF500F2E]{{\ttfamily\ttbs #2%
+\def\@tempcmda{VF500F2E}\def\@tempcmdb{#1}%
+\ifx\@tempcmda\@tempcmdb\else\comarg{#1}\fi}}
+\makeatother
+
+\newcommand*{\comarg}[1]{{\ttfamily\ttlb$\langle$%
+{\rmfamily\itshape#1}\/$\rangle$\ttrb}}
+
+\newcommand*{\comoptarg}[1]{{\ttfamily[$\langle$%
+{\rmfamily\itshape#1}\/$\rangle$]}}
+
+\newcommand*{\filename}[1]{\texttt{#1}}
+\newcommand*{\packname}[1]{\texttt{#1}}
+\newcommand*{\optname}[1]{\texttt{#1}}
+\newcommand*{\newsgroup}[1]{\texttt{news://#1}}
+\newcommand*{\dvidriver}{dvi driver}
+
+\newcommand*{\cmolddig}{\packname{cmolddig}\xspace}
+
+\author{Rowland McDonnell}
+\title{The \cmolddig package}
+\date{23rd August 1999}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\section{Introduction}
+
+The \packname{cmolddig} package sets things up so that numbers are
+printed using old style digits -- $\oldstylenums{1234567890}$ --
+rather than the usual lining digits -- $1234567890$. It only works
+with the original Computer Modern founts. You can choose whether
+numbers are printed as old style or lining digits in text or in maths
+mode.
+
+You can get old style digits without any extra help by using the
+command \comname{oldstylenums} in maths mode, but this package
+arranges things so that all numbers are printed using old style digits
+without you needing to do that.
+
+To cut a very involved tale down to the barest essentials: old style
+digits look better and are easier to read in text and the like; while
+lining digits are more suitable for maths, in tables, and the like.
+Both these assertions are argued over by typographers.
+
+If you have the T1 encoded European Modern founts installed, you might
+be interested in the \packname{eco} package, which is the T1
+equivalent of \cmolddig. It avoids many of the limits of this package.
+The \cmolddig package doesn't contain any new characters: you need to
+have the OT1 encoded Computer Modern Roman founts installed before
+this package is useful. As far as I know, all \TeX\ systems come with
+these founts installed by default. It doesn't matter if you're using
+Metafont, PostScript Type 1, or TrueType versions of the Computer
+Modern founts; but you do need a \TeX\ system able to use virtual
+founts. Almost all modern (1999) \TeX\ systems can use virtual founts;
+the only exception I know of is Y\&Y \TeX's version.
+
+\packname{Cmolddig} works by switching to a set of virtual founts that
+have the normal lining digits replaced with old style digits from the
+corresponding maths italic fount. These digits are conventional
+upright digits despite living in a nominally italic fount.
+
+The original Computer Modern founts have old style digits available
+for the Computer Modern Roman family only, and even then only for the
+upright shapes: Computer Modern Roman upright, bold extended, bold,
+and small caps. Because of this, this package can't give you old style
+digits for Computer Modern Sanserif or Computer Modern Typewriter; nor
+does it give you old style digits if you're using any italic or
+slanted fount.
+
+Options exist to use old style digits in maths or not, independently
+of the style of numbers in normal text. You can also choose to make
+use of the extra small caps sizes included with the AMS fount set if
+you have it installed.
+
+\section{Installation}
+
+You need to put three directories of files in the right places on
+your \TeX\ system's directory tree: with that done, installation is
+complete.
+
+All the files in the \filename{texinputs} directory should go
+into a directory that \TeX\ searches for input files. All the files in
+the \filename{tfm} directory should go into a directory that
+\TeX\ searches for \filename{tfm} (fount) files. All the files in
+the \filename{vf} directory should go into a directory that
+\TeX\ searches for \filename{vf} (virtual fount) files. If you don't
+know where these places are, have a read of your \TeX\ system's
+documentation.
+
+Moving these files to the right places is all you need to do. Once
+you've done this, try running \LaTeX\ on \filename{odshrtst.tex}: you
+should see some old style digits in the output, showing that you've
+installed the package correctly.
+
+You can ignore all the files in the \filename{source} directory
+unless you're interested in how I created the virtual founts at the
+heart of this package. The \filename{source} directory can be thrown
+away if you like.
+
+\section{Using the \cmolddig package}
+
+Make sure you include the \cmolddig package by saying:
+\begin{verbatim}
+ \usepackage{cmolddig}
+\end{verbatim}
+in the preamble of your document. This will switch you to Computer
+Modern Roman with old style digits in normal text only, not in maths
+mode.
+
+\subsection{Controlling the package}
+
+You can switch between Computer Modern Roman with old style digits and
+with normal lining digits inside your document using the new commands:
+\comname{cmoldstyledigits} and \comname{cmliningdigits}.
+\begin{verbatim}
+ \cmoldstyledigits 35,000 cabbages with old style digits,
+ \cmliningdigits or 15 turnips with lining digits.
+\end{verbatim}
+
+By default, the \cmolddig package doesn't affect numbers in maths mode.
+If you want old style digits in maths mode, you can give the package
+the \optname{cmoldstyledigits} option:
+\begin{verbatim}
+ \usepackage[cmoldstyledigits]{cmolddig}
+\end{verbatim}
+the \optname{cmliningmathdigit} option forces lining digits in
+maths mode; this is what \cmolddig usually does, so there's probably
+no need to know about this option.
+
+You can switch between Computer Modern Roman with old style digits in
+maths and with normal lining digits in maths inside your document
+using the commands: \comname{cmoldstyledigits} and
+\comname{cmliningdigits}.
+\begin{verbatim}
+ \cmoldstylemathdigits $35 \pi = x$% old style digits
+ \cmliningmathdigits $17x^{2}-32x+17=y$% lining digits
+\end{verbatim}
+
+You might like to note that it's \emph{very} unusual to use old style
+digits in maths. I have come across one typographer who asserts that,
+despite this, maths is more readable when typeset with old style
+digits. Whatever the truth of the matter, it's probably best to keep
+to lining digits in maths if you are producing work that needs to meet
+any standard of conventionality.
+
+If you have the AMS founts which come with Computer Modern Roman caps
+and small caps in two extra sizes -- 8\,pt and 9\,pt -- you can tell
+\cmolddig about it with the \optname{amsfonts} option:
+\begin{verbatim}
+ \usepackage[amsfonts]{cmolddig}
+\end{verbatim}
+will tell \cmolddig to use these extra sizes if needed. The \cmolddig
+package won't use these two extra founts unless you tell it to. The
+\optname{extracsc} option is identical in effect to the
+\optname{amsfonts} option.
+
+The package also includes the \optname{noamsfonts} and
+\optname{noextracsc}: a pair of options which tell \cmolddig to avoid
+using the extra AMS small caps founts. I can't see any need for
+anyone to use them, because the \cmolddig package avoids using these
+extra founts by default.
+
+\section{How it works and stuff}
+
+There are three separate things that can be considered: the virtual
+fount mechanism in \TeX, which makes this package possible; the
+creation of the particular virtual founts used by \cmolddig; and what
+the package actually does when you use it.
+
+\subsection{Virtual founts}
+
+A warning: the subject of \TeX\ and founts is complicated and
+never-ending. This short section is inevitably inadequate, but I hope
+it sheds a little light.
+
+To begin with, all \TeX\ knows about a fount is the \filename{tfm}
+file. When you select a fount for typesetting, \TeX\ reads the
+appropriate \filename{tfm} file which tells it how much space each
+character takes up (height, depth, and width), how much space to add
+or subtract between certain pairs of letters (kerning information),
+which pairs of characters should be replaced by a different character
+(ligature information; replacing \texttt{ff} with an `ff' ligature,
+for example), and similar things. There is no information about the
+shape of any letters in this file.
+
+Every \filename{tfm} file has up to 256 different characters listed in
+it. Each character lives in a numbered slot: 0--255. There are a
+number of standard \emph{encodings} defined for \LaTeX\ which say which
+character should live in which numbered slot. In OT1 encoding (used
+for the original Computer Modern Roman founts), character number 48 is
+the number `0', character number 49 is the number `1', and so on.
+
+In the normal run of things, \TeX\ places information about the fount
+in the \filename{dvi} file, and when you come to print or preview that
+\filename{dvi} file, the driver program finds a real fount (bitmap, PS
+Type 1, TrueType, or whatever) and displays it. This approach has a
+few problems, particularly when you come to work with founts that (in
+their natural state) don't have the same characters in the same slots
+as the standard \TeX\ encoding. For example, character number 1 in an
+OT1 encoded fount is an upper-case Delta: $\Delta$. This is unique to
+that encoding: character number 1 in a normal PS type 1 fount is
+undefined. If you tried to use a normal PS Type 1 fount with \LaTeX's
+OT1 encoding and took no precautions, things just wouldn't work at all
+right and you'd get the wrong characters printed for lots of things.
+
+The virtual fount mechanism is one method for getting round this (and
+other) problems. The way it works (in brief) is this. You create a
+pair of files: a \filename{tfm} file and a \filename{vf} file. The
+\filename{tfm} file is a perfectly ordinary \filename{tfm} file. The
+\filename{vf} (virtual fount) file is something new: it contains
+information on how to print each character referred to in the
+\filename{tfm} file. The instructions might be to get all the
+characters except the numbers from (say) cmr10, and to get the numbers
+from cmmi10. This is exactly what \filename{cmrj10.vf} does. These
+\filename{vf} files can contain fragments of \filename{dvi} file so
+all sorts of trickery is possible. A more common use for virtual
+founts is re-mapping: re-arranging the characters so that they're in
+the expected slots for the encoding you're using. In other words, you
+might be using (say) a PS Type 1 version of Times using the
+\packname{times} package and OT1 encoding. If you were to use a dot
+accent, you'd be asking for character number 95. In the `natural' PS
+text encoding, character number 95 is an underscore. The magic of
+virtual founts means that character number 95 in the fount
+(\filename{tfm} file) that \TeX\ sees `really' is a dot accent; when
+the \dvidriver comes to display that fount, it sees that
+it's a virtual fount, looks at the appropriate \filename{vf} file, and
+displays character number 199 from the `real' Times fount every time
+the \filename{dvi} file asks for character number 95. (For the sake of
+a comprehensible explanation, I've ignored the widespread use of 8r
+encoding as an intermediate step, and ignored re-encoding done by the
+\dvidriver).
+
+The \filename{vf} (virtual fount) file is a new type of file for
+\TeX\ systems, but it's ignored by \TeX\ itself: \filename{vf} files
+are used only by \filename{dvi} drivers. What happens is this: when
+a modern \filename{dvi} driver looks at a \filename{dvi} file, it
+checks to see if any of the \filename{tfm} files in it have
+corresponding \filename{vf} files. If so, the driver looks in the
+\filename{vf} files and follows the instructions in them on how to
+print the characters referred to. A \filename{vf} file can refer to
+any real fount or any virtual fount, so this business of looking
+things up in virtual founts can get complicated.
+
+You can find out more about virtual founts by running \filename{weave}
+and then \TeX\ on these files from CTAN:
+\begin{center}
+\begin{tabular}{@{}p{\textwidth}@{}}
+\filename{systems/knuth/etc/vftovp.web}\\
+\filename{systems/knuth/etc/vptovf.web}
+\end{tabular}
+\end{center}
+
+\subsection{What the package does}
+
+A brief explanation to begin with: every fount in \LaTeX\ belongs to a
+\emph{family}. Every family has a short internal name by which it is
+referred to inside \LaTeX. The internal name of the Computer Modern
+Roman family is \texttt{cmr}. The \cmolddig package defines a new
+family, which has the internal name \texttt{cmrj}. The `j' is a code
+that means `with old style digits', so \texttt{cmrj} stands for
+`Computer Modern Roman with old style digits'. If you're interested,
+the fontname documentation available from CTAN explains the full
+details of this code.
+
+This package's default behaviour is to define the \comname{rmdefault}
+family to be \texttt{cmrj}. This command defines the fount family used
+for typesetting normal text. What this change means is that when
+\LaTeX\ comes across a request to typeset normal text, it sees that it
+needs to use the \texttt{cmrj} family, it loads the file
+\texttt{ot1cmrj.fd} (this is assuming that you're using OT1 encoding
+-- if you're not, you'll get an error message instead). This file
+tells \LaTeX\ which \filename{tfm} file to load when you ask for any
+given fount. In this case, \LaTeX\ is told to use the new virtual
+founts where they exist. You can learn more about \filename{fd} files
+by reading \filename{fntguide.tex}, which is part of the standard
+\LaTeX\ distribution.
+
+The \cmolddig package makes two new commands:
+\comname{cm\-old\-style\-digits}, which changes \comname{rmdefault} to
+\texttt{cmrj} and switches to \comname{rmfamily}; and
+\comname{cm\-lining\-digits}, which changes \comname{rmdefault} to
+\texttt{cmr} and also switches to \comname{rmfamily}
+
+Maths is a bit more tricky. By default, the \cmolddig package
+doesn't affect maths mode behaviour. The package defines two
+commands for switching between the two sorts of digits in maths mode:
+\comname{cmoldstylemathdigits} and \comname{cmliningmathdigits}.
+These commands are used by the package when you use the
+\optname{cmoldstylemathdigits} and \optname{cmliningmathdigit}
+options. What do they do? They change the mathcode of the numbers
+0--9 to the appropriate values to select either normal lining digits
+from the usual place, or old style digits from the appropriate maths
+italic fount (which is where the normal upright roman old style digits
+are kept, for reasons best known to Donald Knuth). If that makes
+almost no sense to you and you'd like to know more, the best solution
+is to read Knuth's \emph{The \TeX book}, the \LaTeX\ source code, and the
+\cmolddig package file. In case you're wondering, I don't understand
+maths fount selection at all well, and I found out how to perform this
+particular switching by asking on \newsgroup{comp.text.tex}.
+
+The maths digit switching doesn't require the fount files that come
+with this package: it uses the normal `real' Computer Modern founts
+without needing any virtual fount trickery.
+
+\subsection{Creating the \cmolddig virtual founts}
+
+You don't need to do this job: all the useful files that this process
+creates are part of the \cmolddig distribution. I've included this
+section and the corresponding source files to satisfy the curiosity
+of people who want to know how I did the deed.
+
+The contents of the virtual founts used by \cmolddig are pretty
+straightforward: rounding errors aside, they are identical to the
+Computer Modern originals with normal lining digits in the text
+founts replaced with old style digits from the appropriate maths italic
+fount. These old style digits are upright despite living in an italic
+fount; ask Dr Knuth if you want to know why. The job of creating them
+was non-trivial only because of certain eccentricities of
+\packname{fontinst} and the equally eccentric encodings used by Donald
+Knuth in his original Computer Modern family of founts.
+
+I used \packname{fontinst} to help create the virtual founts used by
+this package; \packname{fontinst} is a set of \TeX\ macros available
+from CTAN: it'll run on any computer with a functioning \TeX\ on it.
+
+To create the virtual founts the way I did, you need to install
+\packname{fontinst}, and use the files in \cmolddig's
+\filename{source} directory by following the instructions below. You
+also need \packname{tftopl} and \packname{vptovf} which should be part
+of your \TeX\ system.
+
+Some of the files used to create the virtual founts at the heart of
+this package have names that break the `8+3' filename limit imposed by
+some archaic operating systems. Apologies for this; it's just the way
+they turned out, and I didn't notice until it was far too late.%
+\footnote{The computer I use now has a file system that dates back to
+1984; it has a 31 character filename limit} Since there's no
+\emph{need} to use the source files, I thought it'd be okay not to
+fix this.
+
+You'll need to use \filename{tftopl} to create the following
+\filename{pl} files from the corresponding Computer Modern
+\filename{tfm} files:
+\begin{center}
+\begin{tabular}{@{}>{\raggedright\small}p{\textwidth}@{}}
+\filename{cmb10.pl}\\
+\filename{cmbx10.pl},
+\filename{cmbx12.pl},
+\filename{cmbx5.pl},
+\filename{cmbx6.pl},
+\filename{cmbx7.pl},
+\filename{cmbx8.pl},
+\filename{cmbx9.pl}\\
+\filename{cmcsc10.pl}\\
+\filename{cmmi10.pl},
+\filename{cmmi12.pl},
+\filename{cmmi5.pl},
+\filename{cmmi6.pl},
+\filename{cmmi7.pl},
+\filename{cmmi8.pl},
+\filename{cmmi9.pl}\\
+\filename{cmmib10.pl},
+\filename{cmmib5.pl},
+\filename{cmmib6.pl},
+\filename{cmmib7.pl},
+\filename{cmmib8.pl},
+\filename{cmmib9.pl}\\
+\filename{cmr10.pl},
+\filename{cmr12.pl},
+\filename{cmr17.pl},
+\filename{cmr5.pl},
+\filename{cmr6.pl},
+\filename{cmr7.pl},
+\filename{cmr8.pl},
+\filename{cmr9.pl}\\
+\end{tabular}
+\end{center}
+
+If you have access to the AMS extra founts, you'll also need:
+\begin{center}
+\begin{tabular}{@{}>{\raggedright\small}p{\textwidth}@{}}
+\filename{cmcsc8.pl},
+\filename{cmcsc9.pl}
+\end{tabular}
+\end{center}
+
+The \filename{source} directory contains these five files:
+\begin{center}
+\begin{tabular}{@{}p{\textwidth}@{}}
+\filename{dostretch.mtx}\\
+\filename{instcmrj.tex}\\
+\filename{ot1noflig.etx}, \filename{ot1nofligcj.etx}, \filename{ot1nofligj.etx}
+\end{tabular}
+\end{center}
+
+Put these five source files in a directory with the \filename{pl}
+files listed above. If you don't have the AMS extra founts, edit
+\filename{instcmrj.tex} and comment out the lines referring to cmcscj9
+and cmcscj8.
+
+Then run Plain \TeX\ on \filename{instcmrj.tex}. The result of this
+run will be a huge pile of files: run \packname{vptovf} on the files
+ending in \filename{vpl} (virtual property list; human-readable
+precursors to a machine-readable \filename{tfm}/\filename{vf} pair).
+The resulting \filename{tfm} and \filename{vf} files are the files
+that do the trick. The \filename{fd} file created by
+\packname{fontinst} isn't particularly useful to begin with: compare
+it to the one supplied with \cmolddig to see what modifications I felt
+were needed.
+
+You can throw away the debris now if you like: all the files
+(\filename{mtx}, \filename{pl}, and \filename{fd}) that have been
+worked with except the five files from \cmolddig's \filename{source}
+directory are machine-generated so you don't need to keep them.
+
+\subsubsection{So how does it work?}
+
+You really ought to understand \LaTeX\ founts and \packname{fontinst}
+to an extent before reading this section.
+
+The \packname{fontinst}
+file that does the work contains lines like this:
+{\small
+\begin{verbatim}
+\installfont{cmrj10}{cmr10,kernoff,cmmi10,kernon,dostretch}{OT1j}
+ {OT1}{cmrj}{m}{n}{<10> <10.95>}
+\end{verbatim}
+}
+The last 5 arguments (on the second line) are just the NFSS
+parameters used in the \filename{fd} file that's created by
+\packname{fontinst} for this installation. The interesting bit is
+the first line: cmrj10 is the (virtual) fount about to be created.
+In this case, the glyphs are taken from cmr10 and cmmi10
+(\packname{fontinst} converts the \filename{pl} files to
+\filename{mtx} files before it does anything with them).
+
+The file \filename{kernoff.mtx} tells \packname{fontinst} to ignore
+kerning information from subsequent founts: this ensures that the
+newly created fount has kerning from cmr10 only. This is important,
+since maths fount kerning is entirely unsuitable for text. The file
+\filename{kernon.mtx} tells \packname{fontinst} to take notice of
+kerning again. It's redundant, since no kerning information is held in
+\filename{dostretch.mtx}, but kept there just for the sake of
+neatness. So: kerning information is taken from cmr10, not from
+cmmi10.
+
+The file \filename{dostretch.mtx} tells \packname{fontinst} to take
+the new virtual fount's spacing parameters from those that have been
+set by the first fount read -- in other words, to take spacing from
+cmr10 in this case. The third argument is the encoding file used to
+build the fount: in this case, it's OT1j; that's OT1 encoding with old
+style digits. Rather than using the glyphs called `one', `two',
+`three', and so on, this \filename{mtx} file ensures that the glyphs
+called `oneoldstyle', `twooldstyle', `threeoldstyle' are used instead.
+The `oldstyle' digit glyphs are kept in the cmmi founts.
+
+Some of these installation lines ask for the final encoding
+OT1NOFLIGj. This calls \filename{ot1nofligj.etx}, which in turn calls
+\filename{ot1noflig.etx}; this last file is a new encoding file I
+wrote for use with \packname{fontinst v1.8}. It defines the
+\textsc{tex text without f-ligatures} encoding, used in cmr5 and the
+caps and small caps founts.
+
+
+\end{document}
diff --git a/fonts/cmolddig/odshrtst.tex b/fonts/cmolddig/odshrtst.tex
new file mode 100644
index 0000000000..cc834bde94
--- /dev/null
+++ b/fonts/cmolddig/odshrtst.tex
@@ -0,0 +1,46 @@
+%&latex
+\errorcontextlines=1000
+\documentclass[a4paper]{article}
+
+\usepackage[cmoldstylemathdigits]{cmolddig}
+
+\makeatletter
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\bfseries}}
+\makeatother
+
+\newcommand{\testtext}{Some text numerals: 0123456789. Some maths
+numerals $0123456789$}
+
+\begin{document}
+
+\section{Default}
+\testtext
+
+\section{Both lining}
+{\cmliningdigits\cmliningmathdigits
+\testtext}
+
+\section{Text lining; maths default}
+{\cmliningdigits
+\testtext}
+
+\section{Text lining; maths oldstyle}
+{\cmliningdigits\cmoldstylemathdigits
+\testtext}
+
+\section{Text oldstyle; maths default}
+{\cmoldstyledigits
+\testtext}
+
+\section{Text oldstyle; maths oldstyle}
+{\cmoldstyledigits\cmoldstylemathdigits
+\testtext}
+
+\section{Text oldstyle; maths lining}
+{\cmoldstyledigits\cmliningmathdigits
+\testtext}
+
+\end{document}
diff --git a/fonts/cmolddig/readme.txt b/fonts/cmolddig/readme.txt
new file mode 100644
index 0000000000..39401e2404
--- /dev/null
+++ b/fonts/cmolddig/readme.txt
@@ -0,0 +1,76 @@
+This file is part of the cmolddig package.
+Copyright 1999 Rowland McDonnell
+rowland.mcdonnell@physics.org
+
+This file can redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1 of the License, or (at your option) any later version.
+
+The cmolddig package sets things up so that numbers are printed using old
+style digits rather than the usual lining digits. It only works with the
+original Computer Modern founts. You can choose whether numbers are printed
+as old style or lining digits in text or in maths mode.
+
+To get the documentation for cmolddig, run LaTeX on cmolddig.tex. The
+documentation includes installation instructions. odshttst.tex is a short
+test document to run through LaTeX to check that cmolddig has been
+installed and is working more or less correctly. The source directory can
+be discarded if you're not interested in how I created the vfs.
+
+The full set of files that make up the cmolddig package are:
+
+cmolddig.tex
+odshrtst.tex
+readme.txt
+source
+ dostretch.mtx
+ instcmrj.tex
+ ot1noflig.etx
+ ot1nofligcj.etx
+ ot1nofligj.etx
+texinput
+ cmolddig.sty
+ omlcmrj.fd
+ omscmrj.fd
+ ot1cmrj.fd
+tfm
+ cmbj10.tfm
+ cmbxj10.tfm
+ cmbxj12.tfm
+ cmbxj5.tfm
+ cmbxj6.tfm
+ cmbxj7.tfm
+ cmbxj8.tfm
+ cmbxj9.tfm
+ cmcscj10.tfm
+ cmcscj8.tfm
+ cmcscj9.tfm
+ cmrj10.tfm
+ cmrj12.tfm
+ cmrj17.tfm
+ cmrj5.tfm
+ cmrj6.tfm
+ cmrj7.tfm
+ cmrj8.tfm
+ cmrj9.tfm
+vf
+ cmbj10.vf
+ cmbxj10.vf
+ cmbxj12.vf
+ cmbxj5.vf
+ cmbxj6.vf
+ cmbxj7.vf
+ cmbxj8.vf
+ cmbxj9.vf
+ cmcscj10.vf
+ cmcscj8.vf
+ cmcscj9.vf
+ cmrj10.vf
+ cmrj12.vf
+ cmrj17.vf
+ cmrj5.vf
+ cmrj6.vf
+ cmrj7.vf
+ cmrj8.vf
+ cmrj9.vf
diff --git a/fonts/cmolddig/source/dostretch.mtx b/fonts/cmolddig/source/dostretch.mtx
new file mode 100644
index 0000000000..f66fafa0ad
--- /dev/null
+++ b/fonts/cmolddig/source/dostretch.mtx
@@ -0,0 +1,25 @@
+% File dostretch.mtx
+%
+% Part of the cmolddig package
+%
+% This file can be redistributed and/or modified under the
+% terms of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either version 1 of
+% the License, or (at your option) any later version.
+
+%From ajeffrey@cs.depaul.edu Thu Jun 4 19:29:25 1998
+%Date: Thu, 04 Jun 1998 09:47:17 -0500
+
+\relax
+
+\metrics
+
+\ifisint{italicslant}\then\setint{fontdimen(1)}{\int{italicslant}}\fi
+\ifisint{interword}\then\setint{fontdimen(2)}{\int{interword}}\fi
+\ifisint{stretchword}\then\setint{fontdimen(3)}{\int{stretchword}}\fi
+\ifisint{shrinkword}\then\setint{fontdimen(4)}{\int{shrinkword}}\fi
+\ifisint{xheight}\then\setint{fontdimen(5)}{\int{xheight}}\fi
+\ifisint{quad}\then\setint{fontdimen(6)}{\int{quad}}\fi
+\ifisint{extraspace}\then\setint{fontdimen(7)}{\int{extraspace}}\fi
+
+\endmetrics
diff --git a/fonts/cmolddig/source/instcmrj.tex b/fonts/cmolddig/source/instcmrj.tex
new file mode 100644
index 0000000000..0cccad3e99
--- /dev/null
+++ b/fonts/cmolddig/source/instcmrj.tex
@@ -0,0 +1,113 @@
+%&Plain
+% File instcmrj.tex
+% copyright Rowland McDonnell 1998
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package
+%
+% This file can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+%
+% version history
+% ===============
+%
+% Oh God I don't know. Buggered around with it for ages. Shall I
+% call this version 1?
+
+\input fontinst.sty
+
+%
+% A vital addition to correct a bug in fontinst.sty 1.801
+%
+\declareencoding{TEX TEXT WITHOUT F-LIGATURES}{OT1NOFLIG}
+
+\installfonts
+%
+\installfamily{OT1}{cmrj}{\hyphenchar\font45 }
+ \installfont {cmrj10} {cmr10, kernoff, cmmi10, kernon, dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<10> <10.95>}
+% This doesn't work:
+% \installfont {cmrj5} {cmr5, cmmi5,dostretch} {OT1j}
+% {OT1} {cmrj}{m}{n} {<5>}
+% This does:
+ \installfont {cmrj5} {cmr5, kernoff, cmmi5,kernon,dostretch} {OT1NOFLIGj}
+ {OT1} {cmrj}{m}{n} {<5>}
+ \installfont {cmrj6} {cmr6, kernoff, cmmi6,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<6>}
+ \installfont {cmrj7} {cmr7, kernoff, cmmi7,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<7>}
+ \installfont {cmrj8} {cmr8, kernoff, cmmi8,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<8>}
+ \installfont {cmrj9} {cmr9, kernoff, cmmi9,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<9>}
+ \installfont {cmrj12} {cmr12, kernoff, cmmi12,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<12>}
+ \installfont {cmrj17} {cmr17, kernoff, cmmi12,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{m}{n} {<17.28> <20.74> <24.88>}
+
+ \installfont {cmbj10} {cmb10, kernoff, cmmib10,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{b}{n} {<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88>}
+
+ \installfont {cmbxj10} {cmbx10, kernoff, cmmib10,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<10> <10.95>}
+ \installfont {cmbxj5} {cmbx5, kernoff, cmmib5,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<5>}
+ \installfont {cmbxj6} {cmbx6, kernoff, cmmib6,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<6>}
+ \installfont {cmbxj7} {cmbx7, kernoff, cmmib7,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<7>}
+ \installfont {cmbxj8} {cmbx8, kernoff, cmmib8,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<8>}
+ \installfont {cmbxj9} {cmbx9, kernoff, cmmib9,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<9>}
+ \installfont {cmbxj12} {cmbx12, kernoff, cmmib10,kernon,dostretch} {OT1j}
+ {OT1} {cmrj}{bx}{n} {<12> <17.28> <20.74> <24.88>}
+
+% This doesn't work:
+%
+% \installfont {cmcscj10} {cmcsc10, kernoff, cmmi10,kernon,dostretch} {OT1cj}
+% {OT1} {cmrj}{m}{sc} {<5><6><7><8><9><10><10.95><12>
+% <14.4><17.28><20.74><24.88>}
+
+%% This does...
+
+\installfont {cmcscj10} {cmcsc10, kernoff, cmmi10,kernon,dostretch} {OT1NOFLIGj}
+ {OT1} {cmrj}{m}{sc} {<10><10.95><12><14.4><17.28>
+ <20.74><24.88>}
+% These don't work:
+%
+% \installfont {cmcscj10} {cmcsc10, kernoff, cmmi10,kernon,dostretch} {OT1cj}
+% {OT1} {cmrj}{m}{sc} {<10><10.95><12><14.4><17.28>
+% <20.74><24.88>}
+% \installfont {cmcscj9} {cmcsc9, kernoff, cmmi9,kernon,dostretch} {OT1cj}
+% {OT1} {cmrj}{m}{sc} {<9>}
+% \installfont {cmcscj8} {cmcsc8, kernoff, cmmi8,kernon,dostretch} {OT1cj}
+% {OT1} {cmrj}{m}{sc} {<5><6><7><8>}
+%
+% This works:
+%
+ \installfont {cmcscj9} {cmcsc9, kernoff, cmmi9,kernon,dostretch} {OT1NOFLIGj}
+ {OT1} {cmrj}{m}{sc} {<9>}
+ \installfont {cmcscj8} {cmcsc8, kernoff, cmmi8,kernon,dostretch} {OT1NOFLIGj}
+ {OT1} {cmrj}{m}{sc} {<5><6><7><8>}
+
+% Note: cmcsc8 and cmcsc9 are extra founts that come with the AMS
+% founts. Not everyone has them. If you don't have cmcsc9 and
+% cmcsc8, comment out the lines above.
+
+\substitutenoisy{ui}{it}
+
+\endinstallfonts
+
+\bye
+
+% How do I tell fontinst to write a fd file that does:
+% \DeclareFontShape{OT1}{cmrj}{bx}{it}
+% {<->sub*cmr/bx/it}{}
+
+%
+% \ No newline at end of file
diff --git a/fonts/cmolddig/source/ot1noflig.etx b/fonts/cmolddig/source/ot1noflig.etx
new file mode 100644
index 0000000000..b74a2de1a6
--- /dev/null
+++ b/fonts/cmolddig/source/ot1noflig.etx
@@ -0,0 +1,860 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth",
+%%% version = "1.801",
+%%% date = "29 June 1998",
+%%% time = "23:51:43 CEST",
+%%% filename = "ot1.etx",
+%%% email = "vieth@thphy.uni-duesseldorf.de",
+%%% URL = "http://www.thphy.uni-duesseldorf.de/~vieth/",
+%%% checksum = "58062 838 1659 17776",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the old TeX text encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+%
+% Hacked by Rowland to match TEX TEXT WITHOUT F-LIGATURES
+%
+
+% File ot1noflig.tex
+% (partly) copyright Rowland McDonnell 1998
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package
+%
+% This file can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \TeX\ text without f-ligatures encoding vector}
+\author{Alan Jeffrey, Ulrik Vieth, and RJMM}
+\date{24 September 1998 \\
+Version 0.1}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ text (ot1) encoding. HACKED!
+
+To use this encoding, you should define the following macros:
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `{\tt a}' or `{\tt Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `{\tt A}' or `{\tt Amedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `{\tt fi}' or `{\tt FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `{\tt FI}' or `{\tt FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `{\tt zero}' or `{\tt zerooldstyle}'.
+
+\item \verb|\tty| should be `y' if the encoding is \TeX\ typewriter
+ (cmtt) encoding, and `n' otherwise.
+
+\item \verb|\currency| should be the name of the currency glyph, either
+ `sterling' or `dollar'.
+\end{itemize}
+These should all expand in the mouth, otherwise you may get error
+messages!
+
+For example, to get the standard upper and lower case font, you should
+define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#2}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#2}
+ \setcommand\uclig#1#2{#1}
+ \setcommand\digit#1{#1}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+To get a caps and small caps font with old style digits and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1small}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#2small}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1oldstyle}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+To get an all-caps font with medium-cap composite letters and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#1spaced}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+
+\comment{\section{Default values}}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\ifisint{monowidth}\then
+ \setcommand\tty{y}
+\else
+ \setcommand\tty{n}
+\fi
+\setcommand\currency{dollar}
+
+% \if \tty y
+% \setstr{codingscheme}{TEX TYPEWRITER TEXT}
+% \else
+% \setstr{codingscheme}{TEX TEXT}
+% \fi
+
+\setstr{codingscheme}{TEX TEXT WITHOUT F-LIGATURES}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+
+\comment{\section{The encoding}
+ There are 130 glyphs in this encoding. 128 of these are in Knuth's CM
+ encoding, and the other two are `\l' and `\L', which are composite
+ letters in CM, but are single glyphs in almost every other font.}
+
+\setslot{Gamma}
+ \comment{The greek letter `$\Gamma$'.}
+\endsetslot
+
+\setslot{Delta}
+ \comment{The greek letter `$\Delta$'.}
+\endsetslot
+
+\setslot{Theta}
+ \comment{The greek letter `$\Theta$'.}
+\endsetslot
+
+\setslot{Lambda}
+ \comment{The greek letter `$\Lambda$'.}
+\endsetslot
+
+\setslot{Xi}
+ \comment{The greek letter `$\Xi$'.}
+\endsetslot
+
+\setslot{Pi}
+ \comment{The greek letter `$\Pi$'.}
+\endsetslot
+
+\setslot{Sigma}
+ \comment{The greek letter `$\Sigma$'.}
+\endsetslot
+
+\setslot{Upsilon}
+ \comment{The greek letter `$\Upsilon$' named `Upsilon1' by Adobe.}
+\endsetslot
+
+\setslot{Phi}
+ \comment{The greek letter `$\Phi$'.}
+\endsetslot
+
+\setslot{Psi}
+ \comment{The greek letter `$\Psi$'.}
+\endsetslot
+
+\setslot{Omega}
+ \comment{The greek letter `$\Omega$'.}
+\endsetslot
+
+% \if \tty y
+
+\setslot{arrowup}
+ \comment{An upwards-facing arrow `$\uparrow$'.}
+\endsetslot
+
+\setslot{arrowdown}
+ \comment{A downwards-facing arrow `$\downarrow$'.}
+\endsetslot
+
+\setslot{quotesingle}
+ \comment{The `neutral' single quotation mark `{\tt\char`\'}', for use
+ with monowidth fonts.}
+\endsetslot
+
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+% \else
+
+% \setslot{\lclig{FF}{ff}}
+% \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+% \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+% \comment{The `ff' ligature. It should be two characters wide in a
+% monowidth font.}
+% \endsetslot
+%
+% \setslot{\lclig{FI}{fi}}
+% \comment{The `fi' ligature. It should be two characters wide in a
+% monowidth font.}
+% \endsetslot
+%
+% \setslot{\lclig{FL}{fl}}
+% \comment{The `fl' ligature. It should be two characters wide in a
+% monowidth font.}
+% \endsetslot
+%
+% \setslot{\lclig{FFI}{ffi}}
+% \comment{The `ffi' ligature. It should be three characters wide in a
+% monowidth font.}
+% \endsetslot
+%
+% \setslot{\lclig{FFL}{ffl}}
+% \comment{The `ffl' ligature. It should be three characters wide in a
+% monowidth font.}
+% \endsetslot
+%
+% \fi
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{\lc{dotlessJ}{dotlessj}}
+ \comment{A dotless j `\j', used to produce accented letters such as
+ `\=\j'. Most non-\TeX\ fonts do not have this glyph.}
+\endsetslot
+
+\setslot{grave}
+ \comment{The grave accent `\`a'.}
+\endsetslot
+
+\setslot{acute}
+ \comment{The acute accent `\'a'.}
+\endsetslot
+
+\setslot{caron}
+ \comment{The caron or h\'a\v cek accent `\v a'.}
+\endsetslot
+
+\setslot{breve}
+ \comment{The breve accent `\u a'.}
+\endsetslot
+
+\setslot{macron}
+ \comment{The macron accent `\=a'.}
+\endsetslot
+
+\setslot{ringfitted}
+ \comment{The ring accent `\aa', fitted to be the same width as an
+ upper case `A'.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\c a'.}
+\endsetslot
+
+\setslot{\lc{SS}{germandbls}}
+ \comment{The letter `\ss'.}
+\endsetslot
+
+\setslot{\lc{AE}{ae}}
+ \comment{The letter `\ae'. This is a single letter, and should not be
+ faked with `ae'.}
+\endsetslot
+
+\setslot{\lc{OE}{oe}}
+ \comment{The letter `\oe'. This is a single letter, and should not be
+ faked with `oe'.}
+\endsetslot
+
+\setslot{\lc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+\setslot{\uc{AE}{ae}}
+ \comment{The letter `\AE'. This is a single letter, and should not be
+ faked with `AE'.}
+\endsetslot
+
+\setslot{\uc{OE}{oe}}
+ \comment{The letter `\OE'. This is a single letter, and should not be
+ faked with `OE'.}
+\endsetslot
+
+\setslot{\uc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+% \if \tty y
+%
+% \setslot{visiblespace}
+% \comment{A visible space glyph `{\tt\char`\ }'.}
+% \endsetslot
+%
+% \else
+
+\setslot{lslashslash}
+ \ligature{LIG}{\lc{L}{l}}{\lc{Lslash}{lslash}}
+ \ligature{LIG}{\uc{L}{l}}{\uc{Lslash}{lslash}}
+ \comment{The slash used to make `\l' and `\L'. Since most fonts do
+ not have a separate glyph for this, I've added ligatures to `\l'
+ and `\L'.}
+\endsetslot
+
+% \fi
+
+\setslot{exclam}
+ \ligature{LIG}{quoteleft}{exclamdown}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+% \if \tty y
+%
+% \setslot{quotedbl}
+% \comment{The `neutral' quotation mark `{\tt\char`\"}', included for
+% use in monowidth fonts, or for setting computer programs.}
+% \endsetslot
+%
+% \else
+
+\setslot{quotedblright}
+ \comment{An English double closing quote mark `\,''\,'.}
+\endsetslot
+
+% \fi
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{\currency}
+ \comment{Either the dollar sign `\$' or the pound sign `\pounds',
+ depending on the font.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+% \if \tty y \else
+ \ligature{LIG}{quoteright}{quotedblright}
+% \fi
+ \comment{The English closing quotation mark `\,'\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \if \tty y \else \ligature{LIG}{hyphen}{rangedash} \fi
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The full point `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number zero `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number one `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number two `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number three `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number four `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number five `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number six `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number seven `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number eight `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number nine `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+% \if \tty y
+
+\setslot{less}
+ \comment{The less-than sign `$<$'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \comment{The greater-than sign `$>$'.}
+\endsetslot
+
+% \else
+%
+% \setslot{exclamdown}
+% \comment{The Spanish punctuation mark `!`'.}
+% \endsetslot
+%
+% \setslot{equal}
+% \comment{The equals sign `='.}
+% \endsetslot
+%
+% \setslot{questiondown}
+% \comment{The Spanish punctuation mark `?`'.}
+% \endsetslot
+%
+% \fi
+
+\setslot{question}
+ \ligature{LIG}{quoteleft}{questiondown}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{A}{a}}
+ \comment{The letter `{A}'.}
+\endsetslot
+
+\setslot{\uc{B}{b}}
+ \comment{The letter `{B}'.}
+\endsetslot
+
+\setslot{\uc{C}{c}}
+ \comment{The letter `{C}'.}
+\endsetslot
+
+\setslot{\uc{D}{d}}
+ \comment{The letter `{D}'.}
+\endsetslot
+
+\setslot{\uc{E}{e}}
+ \comment{The letter `{E}'.}
+\endsetslot
+
+\setslot{\uc{F}{f}}
+ \comment{The letter `{F}'.}
+\endsetslot
+
+\setslot{\uc{G}{g}}
+ \comment{The letter `{G}'.}
+\endsetslot
+
+\setslot{\uc{H}{h}}
+ \comment{The letter `{H}'.}
+\endsetslot
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `{I}'.}
+\endsetslot
+
+\setslot{\uc{J}{j}}
+ \comment{The letter `{J}'.}
+\endsetslot
+
+\setslot{\uc{K}{k}}
+ \comment{The letter `{K}'.}
+\endsetslot
+
+\setslot{\uc{L}{l}}
+ \comment{The letter `{L}'.}
+\endsetslot
+
+\setslot{\uc{M}{m}}
+ \comment{The letter `{M}'.}
+\endsetslot
+
+\setslot{\uc{N}{n}}
+ \comment{The letter `{N}'.}
+\endsetslot
+
+\setslot{\uc{O}{o}}
+ \comment{The letter `{O}'.}
+\endsetslot
+
+\setslot{\uc{P}{p}}
+ \comment{The letter `{P}'.}
+\endsetslot
+
+\setslot{\uc{Q}{q}}
+ \comment{The letter `{Q}'.}
+\endsetslot
+
+\setslot{\uc{R}{r}}
+ \comment{The letter `{R}'.}
+\endsetslot
+
+\setslot{\uc{S}{s}}
+ \comment{The letter `{S}'.}
+\endsetslot
+
+\setslot{\uc{T}{t}}
+ \comment{The letter `{T}'.}
+\endsetslot
+
+\setslot{\uc{U}{u}}
+ \comment{The letter `{U}'.}
+\endsetslot
+
+\setslot{\uc{V}{v}}
+ \comment{The letter `{V}'.}
+\endsetslot
+
+\setslot{\uc{W}{w}}
+ \comment{The letter `{W}'.}
+\endsetslot
+
+\setslot{\uc{X}{x}}
+ \comment{The letter `{X}'.}
+\endsetslot
+
+\setslot{\uc{Y}{y}}
+ \comment{The letter `{Y}'.}
+\endsetslot
+
+\setslot{\uc{Z}{z}}
+ \comment{The letter `{Z}'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+% \if \tty y
+%
+% \setslot{backslash}
+% \comment{The backwards oblique `$\backslash$'.}
+% \endsetslot
+%
+% \else
+
+\setslot{quotedblleft}
+ \comment{An English double opening quote mark `\,``\,'.}
+\endsetslot
+
+% \fi
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{circumflex}
+ \comment{The circumflex accent `\^ a'.}
+\endsetslot
+
+% \if \tty y
+%
+% \setslot{underscore}
+% \comment{The ASCII underline character `{\tt\char`\_}', usually set on
+% the baseline.}
+% \endsetslot
+%
+% \else
+
+\setslot{dotaccent}
+ \comment{The dot accent `\.a'.}
+\endsetslot
+
+% \fi
+
+\setslot{quoteleft}
+ \if \tty y \else \ligature{LIG}{quoteleft}{quotedblleft} \fi
+ \comment{The English opening single quotation mark `\,`\,'.}
+\endsetslot
+
+\setslot{\lc{A}{a}}
+ \comment{The letter `{a}'.}
+\endsetslot
+
+% \typeout{\lc{A}{a}}
+
+\setslot{\lc{B}{b}}
+ \comment{The letter `{b}'.}
+\endsetslot
+
+\setslot{\lc{C}{c}}
+ \comment{The letter `{c}'.}
+\endsetslot
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `{d}'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `{e}'.}
+\endsetslot
+
+\setslot{\lc{F}{f}}
+% \if \tty y\else
+% \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}}
+% \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}}
+% \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}}
+% \fi
+ \comment{The letter `{f}'.}
+\endsetslot
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `{g}'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `{h}'.}
+\endsetslot
+
+\setslot{\lc{I}{i}}
+ \comment{The letter `{i}'.}
+\endsetslot
+
+\setslot{\lc{J}{j}}
+ \comment{The letter `{j}'.}
+\endsetslot
+
+\setslot{\lc{K}{k}}
+ \comment{The letter `{k}'.}
+\endsetslot
+
+\setslot{\lc{L}{l}}
+ \comment{The letter `{l}'.}
+\endsetslot
+
+\setslot{\lc{M}{m}}
+ \comment{The letter `{m}'.}
+\endsetslot
+
+\setslot{\lc{N}{n}}
+ \comment{The letter `{n}'.}
+\endsetslot
+
+\setslot{\lc{O}{o}}
+ \comment{The letter `{o}'.}
+\endsetslot
+
+\setslot{\lc{P}{p}}
+ \comment{The letter `{p}'.}
+\endsetslot
+
+\setslot{\lc{Q}{q}}
+ \comment{The letter `{q}'.}
+\endsetslot
+
+\setslot{\lc{R}{r}}
+ \comment{The letter `{r}'.}
+\endsetslot
+
+\setslot{\lc{S}{s}}
+ \comment{The letter `{s}'.}
+\endsetslot
+
+\setslot{\lc{T}{t}}
+ \comment{The letter `{t}'.}
+\endsetslot
+
+\setslot{\lc{U}{u}}
+ \comment{The letter `{u}'.}
+\endsetslot
+
+\setslot{\lc{V}{v}}
+ \comment{The letter `{v}'.}
+\endsetslot
+
+\setslot{\lc{W}{w}}
+ \comment{The letter `{w}'.}
+\endsetslot
+
+\setslot{\lc{X}{x}}
+ \comment{The letter `{x}'.}
+\endsetslot
+
+\setslot{\lc{Y}{y}}
+ \comment{The letter `{y}'.}
+\endsetslot
+
+\setslot{\lc{Z}{z}}
+ \comment{The letter `{z}'.}
+\endsetslot
+
+% \if \tty y
+%
+% \setslot{braceleft}
+% \comment{The opening curly brace `\{'.}
+% \endsetslot
+%
+% \setslot{bar}
+% \comment{The ASCII vertical bar `$|$'. This is
+% included for compatibility with typewriter fonts used for computer
+% listings.}
+% \endsetslot
+%
+% \setslot{braceright}
+% \comment{The closing curly brace `\}'.}
+% \endsetslot
+%
+% \else
+
+\setslot{rangedash}
+ \if \tty y \else \ligature{LIG}{hyphen}{punctdash} \fi
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{punctdash}
+ \comment{The punctuation dash `Oh---boy.' In a monowidth font, this
+ might be set as `{\tt Oh{-}{-}boy.}'}
+\endsetslot
+
+\setslot{hungarumlaut}
+ \comment{The long Hungarian umlaut `\H a'.}
+\endsetslot
+
+% \fi
+
+\setslot{tilde}
+ \comment{The tilde accent `\~a'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"a'.}
+\endsetslot
+
+\comment{
+ \section{Non-standard ligatures}
+ The `\l' and `\L' glyphs are not usually in the ot1 encoding, but
+ they're needed for fonts which don't have a special `lslashslash'
+ glyph.
+}
+
+\nextslot{"8A}
+
+\setslot{\uc{Lslash}{lslash}}
+ \comment{The letter `\L'.}
+\endsetslot
+
+\nextslot{"AA}
+
+\setslot{\lc{Lslash}{lslash}}
+ \comment{The letter `\l'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/fonts/cmolddig/source/ot1nofligcj.etx b/fonts/cmolddig/source/ot1nofligcj.etx
new file mode 100644
index 0000000000..e8fc77247f
--- /dev/null
+++ b/fonts/cmolddig/source/ot1nofligcj.etx
@@ -0,0 +1,62 @@
+\relax
+
+% OT1cj.etx -- install an OT1-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T1.etx.
+
+% File ot1nofligcj.tex
+% copyright Rowland McDonnell 1998
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package
+%
+% This file can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+
+\encoding
+
+% We define the parameters for OT1.etx to produce a c&sc font.
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{dollar}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monoweight}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+% Then we call OT1.etx.
+
+\inputetx{OT1NOFLIG}
+
+\endencoding
diff --git a/fonts/cmolddig/source/ot1nofligj.etx b/fonts/cmolddig/source/ot1nofligj.etx
new file mode 100644
index 0000000000..d558daf669
--- /dev/null
+++ b/fonts/cmolddig/source/ot1nofligj.etx
@@ -0,0 +1,32 @@
+\relax
+
+% File ot1nofligj.tex
+% copyright Rowland McDonnell 1998
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package
+%
+% This file can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+
+
+% OT1j.etx -- install an OT1-encoded roman font with oldstyle digits
+%
+% We _do_ need to distinguish between roman and italic in OT1,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{dollar}
+
+\inputetx{OT1NOFLIG}
+
+\endencoding
+
diff --git a/fonts/cmolddig/texinput/cmolddig.sty b/fonts/cmolddig/texinput/cmolddig.sty
new file mode 100644
index 0000000000..1fe649090a
--- /dev/null
+++ b/fonts/cmolddig/texinput/cmolddig.sty
@@ -0,0 +1,171 @@
+% cmolddig.sty -- a LaTeX package file to use CM oldstyle digits.
+%
+% Copyright 1998 Rowland McDonnell
+% rowland.mcdonnell@physics.org
+%
+% This program can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% Partly stolen from Allin Cottrell (cottrell@wfu.edu)
+% http://www.wfu.edu/~cottrell
+%
+% In conjuction with the files listed below, this package file gives
+% you old style figures in cmr by default.
+%
+% The cm founts do not have any italic or slanted old style figures,
+% so you only get them with:
+% cmr/m/n, cmr/m/sc, cmr/bx/n, and cmr/b/n.
+%
+% ot1cmrod.fd
+% cmbj10.vf cmbj10.tfm
+% cmbxj10.vf cmbxj10.tfm
+% cmbxj12.vf cmbxj12.tfm
+% cmbxj5.vf cmbxj5.tfm
+% cmbxj6.vf cmbxj6.tfm
+% cmbxj7.vf cmbxj7.tfm
+% cmbxj8.vf cmbxj8.tfm
+% cmbxj9.vf cmbxj9.tfm
+% cmcscj10.vf cmcscj10.tfm
+% cmcscj9.vf cmcscj9.tfm - optional extra for those with the AMS founts
+% cmcscj8.vf cmcscj8.tfm - optional extra for those with the AMS founts
+% cmrj10.vf cmrj10.tfm
+% cmrj12.vf cmrj12.tfm
+% cmrj17.vf cmrj17.tfm
+% cmrj5.vf cmrj5.tfm
+% cmrj6.vf cmrj6.tfm
+% cmrj7.vf cmrj7.tfm
+% cmrj8.vf cmrj8.tfm
+% cmrj9.vf cmrj9.tfm
+% cmbj10.vf cmbj10.tfm
+%
+% 1999/06/23 v1.6 Added noams options
+% 1999/06/20 v1.5 Fixed maths default and option switching
+% 1999/05/31 v1.4 Added maths switching; fiddled with option names
+% and stuff
+% 1999/04/14 v1.3 Dealt with AMS extra csc founts
+% 1998/09/25 v1.2 Added \cmoldstyledigits and \cmliningdigits
+% 1998/09/25 v1.1 Possibly got cmcsc and cmr5 sorted out
+% 1998/05/25 v1.0 In the beginning...
+%
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesPackage{cmolddig}[1999/06/23 v1.6 Use old style digits in cmr]
+
+\renewcommand{\rmdefault}{cmrj}
+% Well, that takes care of 'Roman'. Italic is 'left as an
+% exercise' (said Allin)
+%
+% Isn't it just? Personally, I have no intention of doing the
+% necessary Metafont hacking. (said Rowland)
+
+% A couple of options to use (or not) old style digits by default in
+% maths mode
+
+\newif\ifCMO@oldstylemaths\CMO@oldstylemathsfalse
+
+%
+% Bleedin' Yanks
+%
+\DeclareOption{cmoldstylemathdigits}{\CMO@oldstylemathstrue}
+\DeclareOption{cmliningmathdigits}{\CMO@oldstylemathsfalse}
+%
+% Speak English or die
+%
+\DeclareOption{cmoldstylemathsdigits}{\CMO@oldstylemathstrue}
+\DeclareOption{cmliningmathsdigits}{\CMO@oldstylemathsfalse}
+
+\newif\ifCMO@extracmsc\CMO@extracmscfalse
+
+\DeclareOption{extracmcsc}{\CMO@extracmsctrue}%\ equivalent; for those
+\DeclareOption{amsfonts}{\CMO@extracmsctrue}% / with the AMS founts
+
+\DeclareOption{noextracmcsc}{\CMO@extracmscfalse}%\ equivalent; for those
+\DeclareOption{noamsfonts}{\CMO@extracmscfalse}% / without the AMS founts
+
+\ExecuteOptions{cmliningmathdigits,noamsfonts}
+
+\ProcessOptions
+
+% Set up maths digits\ldots
+% (with a little help from Allin Cottrell and the nameless Canadian
+% guru)
+
+\DeclareMathSymbol{0}{\mathalpha}{operators}{`0}
+\DeclareMathSymbol{1}{\mathalpha}{operators}{`1}
+\DeclareMathSymbol{2}{\mathalpha}{operators}{`2}
+\DeclareMathSymbol{3}{\mathalpha}{operators}{`3}
+\DeclareMathSymbol{4}{\mathalpha}{operators}{`4}
+\DeclareMathSymbol{5}{\mathalpha}{operators}{`5}
+\DeclareMathSymbol{6}{\mathalpha}{operators}{`6}
+\DeclareMathSymbol{7}{\mathalpha}{operators}{`7}
+\DeclareMathSymbol{8}{\mathalpha}{operators}{`8}
+\DeclareMathSymbol{9}{\mathalpha}{operators}{`9}
+
+\edef\cmliningmathdigits{%
+\mathcode`0=\the\mathcode`0
+\mathcode`1=\the\mathcode`1
+\mathcode`2=\the\mathcode`2
+\mathcode`3=\the\mathcode`3
+\mathcode`4=\the\mathcode`4
+\mathcode`5=\the\mathcode`5
+\mathcode`6=\the\mathcode`6
+\mathcode`7=\the\mathcode`7
+\mathcode`8=\the\mathcode`8
+\mathcode`9=\the\mathcode`9
+}
+
+\DeclareMathSymbol{0}{0}{letters}{'060}
+\DeclareMathSymbol{1}{0}{letters}{'061}
+\DeclareMathSymbol{2}{0}{letters}{'062}
+\DeclareMathSymbol{3}{0}{letters}{'063}
+\DeclareMathSymbol{4}{0}{letters}{'064}
+\DeclareMathSymbol{5}{0}{letters}{'065}
+\DeclareMathSymbol{6}{0}{letters}{'066}
+\DeclareMathSymbol{7}{0}{letters}{'067}
+\DeclareMathSymbol{8}{0}{letters}{'070}
+\DeclareMathSymbol{9}{0}{letters}{'071}
+
+\edef\cmoldstylemathdigits{%
+\mathcode`0=\the\mathcode`0
+\mathcode`1=\the\mathcode`1
+\mathcode`2=\the\mathcode`2
+\mathcode`3=\the\mathcode`3
+\mathcode`4=\the\mathcode`4
+\mathcode`5=\the\mathcode`5
+\mathcode`6=\the\mathcode`6
+\mathcode`7=\the\mathcode`7
+\mathcode`8=\the\mathcode`8
+\mathcode`9=\the\mathcode`9
+}
+
+\ifCMO@oldstylemaths
+ \cmoldstylemathdigits
+ \else
+ \cmliningmathdigits
+ \fi
+
+\InputIfFileExists{ot1cmrj.fd}{}{%
+ \PackageError{cmolddig}
+ {Can't find file ot1cmrj.fd}
+ {The file ot1cmrj.fd seems to be missing. I can't
+ switch to oldstyle digits without it.}}
+
+%
+% If you've got the AMS founts:
+%
+\ifCMO@extracmsc
+ \DeclareFontShape{OT1}{cmrj}{m}{sc}{
+ <10><10.95><12> <14.4><17.28><20.74><24.88> cmcscj10
+ <9> cmcscj9
+ <5><6><7><8> cmcscj8}{}
+ \fi
+
+\newcommand{\cmoldstyledigits}{%
+ \renewcommand{\rmdefault}{cmrj}\rmfamily}
+
+\newcommand{\cmliningdigits}{%
+ \renewcommand{\rmdefault}{cmr}\rmfamily}
+
+\endinput
+%% end of cmolddig.sty \ No newline at end of file
diff --git a/fonts/cmolddig/texinput/omlcmrj.fd b/fonts/cmolddig/texinput/omlcmrj.fd
new file mode 100644
index 0000000000..8a13138368
--- /dev/null
+++ b/fonts/cmolddig/texinput/omlcmrj.fd
@@ -0,0 +1,39 @@
+% File omlcmrj.fd
+% Copyright 1998 Rowland McDonnell
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package.
+%
+% This file is mainly stolen from the standard LaTeX2e file omscmr.fd:
+%
+% Copyright 1993 1994 1995 1996 1997
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This program can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+\ProvidesFile{omlcmrj.fd}
+ [1998/06/07 cmolddig font definitions]
+\DeclareFontFamily{OML}{cmrj}{\skewchar\font127 }
+\DeclareFontShape{OML}{cmrj}{m}{n}%
+ {<->ssub*cmm/m/it}{}
+\DeclareFontShape{OML}{cmrj}{m}{it}%
+ {<->ssub*cmm/m/it}{}
+\DeclareFontShape{OML}{cmrj}{m}{sl}%
+ {<->ssub*cmm/m/it}{}
+\DeclareFontShape{OML}{cmrj}{m}{sc}%
+ {<->ssub*cmm/m/it}{}
+\DeclareFontShape{OML}{cmrj}{bx}{n}%
+ {<->ssub*cmm/b/it}{}
+\DeclareFontShape{OML}{cmrj}{bx}{it}%
+ {<->ssub*cmm/b/it}{}
+\DeclareFontShape{OML}{cmrj}{bx}{sl}%
+ {<->ssub*cmm/b/it}{}
+\DeclareFontShape{OML}{cmrj}{bx}{sc}%
+ {<->ssub*cmm/b/it}{}
+\endinput
+%%
+%% End of file `omlcmrj.fd'.
diff --git a/fonts/cmolddig/texinput/omscmrj.fd b/fonts/cmolddig/texinput/omscmrj.fd
new file mode 100644
index 0000000000..680edfd320
--- /dev/null
+++ b/fonts/cmolddig/texinput/omscmrj.fd
@@ -0,0 +1,39 @@
+% File omscmrj.fd
+% Copyright 1998 Rowland McDonnell
+% rowland.mcdonnell@physics.org
+%
+% Part of the cmolddig package.
+%
+% This file is mainly stolen from the standard LaTeX2e file omscmr.fd:
+%
+% Copyright 1993 1994 1995 1996 1997
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This program can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+\ProvidesFile{omscmrj.fd}
+ [1998/06/07 cmolddig font definitions]
+\DeclareFontFamily{OMS}{cmrj}{\skewchar\font48 }
+\DeclareFontShape{OMS}{cmrj}{m}{n}%
+ {<->ssub*cmsy/m/n}{}
+\DeclareFontShape{OMS}{cmrj}{m}{it}%
+ {<->ssub*cmsy/m/n}{}
+\DeclareFontShape{OMS}{cmrj}{m}{sl}%
+ {<->ssub*cmsy/m/n}{}
+\DeclareFontShape{OMS}{cmrj}{m}{sc}%
+ {<->ssub*cmsy/m/n}{}
+\DeclareFontShape{OMS}{cmrj}{bx}{n}%
+ {<->ssub*cmsy/b/n}{}
+\DeclareFontShape{OMS}{cmrj}{bx}{it}%
+ {<->ssub*cmsy/b/n}{}
+\DeclareFontShape{OMS}{cmrj}{bx}{sl}%
+ {<->ssub*cmsy/b/n}{}
+\DeclareFontShape{OMS}{cmrj}{bx}{sc}%
+ {<->ssub*cmsy/b/n}{}
+\endinput
+%%
+%% End of file `omscmrj.fd'.
diff --git a/fonts/cmolddig/texinput/ot1cmrj.fd b/fonts/cmolddig/texinput/ot1cmrj.fd
new file mode 100644
index 0000000000..fcfbfbd019
--- /dev/null
+++ b/fonts/cmolddig/texinput/ot1cmrj.fd
@@ -0,0 +1,81 @@
+%Filename: ot1cmrj.fd
+% Copyright 1999 Rowland McDonnell
+% rebecca@astrid.u-net.com
+% rowland.mcdonnell@physics.org
+%
+%Created by: tex instFntsCmrOSDigits
+%Created using fontinst v1.801 and then hacked rather a lot
+%
+% Part of the cmolddig package
+%
+% This program can redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or (at your option) any later version.
+%
+% Manual hacks for 14.4pt and ui added by Rowland; also added stuff
+% to give italic and sans serif mapping: no old style
+% digits, but at least you get the expected shape
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{ot1cmrj.fd}
+ [1998/09/25 cmolddig package font definitions for OT1/cmrj.]
+
+\DeclareFontFamily{OT1}{cmrj}{\hyphenchar \font 45 }
+
+\DeclareFontShape{OT1}{cmrj}{m}{n}{
+ <10> <10.95> cmrj10
+ <5> cmrj5
+ <6> cmrj6
+ <7> cmrj7
+ <8> cmrj8
+ <9> cmrj9
+ <12> cmrj12
+ <14.4> cmrj12
+ <17.28> <20.74> <24.88> cmrj17
+}{}
+
+\DeclareFontShape{OT1}{cmrj}{b}{n}{
+ <5><6><7><8><9><10><10.95><12> <14.4><17.28><20.74><24.88> cmbj10
+}{}
+
+\DeclareFontShape{OT1}{cmrj}{bx}{n}{
+ <10> <10.95> cmbxj10
+ <5> cmbxj5
+ <6> cmbxj6
+ <7> cmbxj7
+ <8> cmbxj8
+ <9> cmbxj9
+ <12> <14.4> <17.28> <20.74> <24.88> cmbxj12
+}{}
+
+\DeclareFontShape{OT1}{cmrj}{m}{sc}{
+ <5><6><7><8><9><10><10.95><12> <14.4><17.28><20.74><24.88> cmcscj10
+}{}
+
+%
+% Added by hand
+%
+\DeclareFontShape{OT1}{cmrj}{m}{ui}{<->ssub*cmr/m/ui}{}
+% {
+% <5><6><7><8><9><10><10.95><12>%
+% <14.4><17.28><20.74><24.88>cmu10%
+% }{}
+
+\DeclareFontShape{OT1}{cmrj}{bx}{ui}
+ {<->ssub*cmr/bx/ui}{}
+
+\DeclareFontShape{OT1}{cmrj}{b}{ui}
+ {<->ssub*cmr/b/ui}{}
+
+%
+% The lines below lifted from ot1cmr.fd; this means you get italic and
+% slanted founts, although they have no oldstyle digits
+%
+\DeclareFontShape{OT1}{cmrj}{m}{sl}{<->ssub*cmr/m/sl }{}
+\DeclareFontShape{OT1}{cmrj}{m}{it}{<->ssub*cmr/m/it}{}
+\DeclareFontShape{OT1}{cmrj}{bx}{sl}{<->ssub*cmr/bx/sl}{}
+\DeclareFontShape{OT1}{cmrj}{bx}{it}{<->ssub*cmr/bx/it}{}
+
+\endinput
diff --git a/fonts/cmolddig/tfm/cmbj10.tfm b/fonts/cmolddig/tfm/cmbj10.tfm
new file mode 100644
index 0000000000..a9c8eb3cdd
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbj10.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj10.tfm b/fonts/cmolddig/tfm/cmbxj10.tfm
new file mode 100644
index 0000000000..73ac298962
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj10.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj12.tfm b/fonts/cmolddig/tfm/cmbxj12.tfm
new file mode 100644
index 0000000000..041c21f3db
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj12.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj5.tfm b/fonts/cmolddig/tfm/cmbxj5.tfm
new file mode 100644
index 0000000000..e72242cf30
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj5.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj6.tfm b/fonts/cmolddig/tfm/cmbxj6.tfm
new file mode 100644
index 0000000000..359044040a
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj6.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj7.tfm b/fonts/cmolddig/tfm/cmbxj7.tfm
new file mode 100644
index 0000000000..4d8ec373f9
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj7.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj8.tfm b/fonts/cmolddig/tfm/cmbxj8.tfm
new file mode 100644
index 0000000000..8bc9383059
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj8.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmbxj9.tfm b/fonts/cmolddig/tfm/cmbxj9.tfm
new file mode 100644
index 0000000000..478f889a7c
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmbxj9.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmcscj10.tfm b/fonts/cmolddig/tfm/cmcscj10.tfm
new file mode 100644
index 0000000000..30ed7f7ff8
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmcscj10.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmcscj8.tfm b/fonts/cmolddig/tfm/cmcscj8.tfm
new file mode 100644
index 0000000000..6fab700a40
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmcscj8.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmcscj9.tfm b/fonts/cmolddig/tfm/cmcscj9.tfm
new file mode 100644
index 0000000000..f8f8c1e49f
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmcscj9.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj10.tfm b/fonts/cmolddig/tfm/cmrj10.tfm
new file mode 100644
index 0000000000..b0b95cde5c
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj10.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj12.tfm b/fonts/cmolddig/tfm/cmrj12.tfm
new file mode 100644
index 0000000000..e021f9b490
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj12.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj17.tfm b/fonts/cmolddig/tfm/cmrj17.tfm
new file mode 100644
index 0000000000..ec31114392
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj17.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj5.tfm b/fonts/cmolddig/tfm/cmrj5.tfm
new file mode 100644
index 0000000000..f023717ec0
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj5.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj6.tfm b/fonts/cmolddig/tfm/cmrj6.tfm
new file mode 100644
index 0000000000..72e8843747
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj6.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj7.tfm b/fonts/cmolddig/tfm/cmrj7.tfm
new file mode 100644
index 0000000000..7bf1bccd1b
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj7.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj8.tfm b/fonts/cmolddig/tfm/cmrj8.tfm
new file mode 100644
index 0000000000..8d0b62cfde
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj8.tfm
Binary files differ
diff --git a/fonts/cmolddig/tfm/cmrj9.tfm b/fonts/cmolddig/tfm/cmrj9.tfm
new file mode 100644
index 0000000000..e0b26b26c8
--- /dev/null
+++ b/fonts/cmolddig/tfm/cmrj9.tfm
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbj10.vf b/fonts/cmolddig/vf/cmbj10.vf
new file mode 100644
index 0000000000..99694ab980
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbj10.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj10.vf b/fonts/cmolddig/vf/cmbxj10.vf
new file mode 100644
index 0000000000..ff6b0c9207
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj10.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj12.vf b/fonts/cmolddig/vf/cmbxj12.vf
new file mode 100644
index 0000000000..9ceae7cd01
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj12.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj5.vf b/fonts/cmolddig/vf/cmbxj5.vf
new file mode 100644
index 0000000000..de0ef8fdc1
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj5.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj6.vf b/fonts/cmolddig/vf/cmbxj6.vf
new file mode 100644
index 0000000000..5bc371e508
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj6.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj7.vf b/fonts/cmolddig/vf/cmbxj7.vf
new file mode 100644
index 0000000000..b51184d62f
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj7.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj8.vf b/fonts/cmolddig/vf/cmbxj8.vf
new file mode 100644
index 0000000000..cca9535834
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj8.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmbxj9.vf b/fonts/cmolddig/vf/cmbxj9.vf
new file mode 100644
index 0000000000..e8df8b4d0a
--- /dev/null
+++ b/fonts/cmolddig/vf/cmbxj9.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmcscj10.vf b/fonts/cmolddig/vf/cmcscj10.vf
new file mode 100644
index 0000000000..626e26a6ba
--- /dev/null
+++ b/fonts/cmolddig/vf/cmcscj10.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmcscj8.vf b/fonts/cmolddig/vf/cmcscj8.vf
new file mode 100644
index 0000000000..7c744d3001
--- /dev/null
+++ b/fonts/cmolddig/vf/cmcscj8.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmcscj9.vf b/fonts/cmolddig/vf/cmcscj9.vf
new file mode 100644
index 0000000000..5c957a8aeb
--- /dev/null
+++ b/fonts/cmolddig/vf/cmcscj9.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj10.vf b/fonts/cmolddig/vf/cmrj10.vf
new file mode 100644
index 0000000000..4ab4e0a4e2
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj10.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj12.vf b/fonts/cmolddig/vf/cmrj12.vf
new file mode 100644
index 0000000000..6a541c42f4
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj12.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj17.vf b/fonts/cmolddig/vf/cmrj17.vf
new file mode 100644
index 0000000000..933f22ecc8
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj17.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj5.vf b/fonts/cmolddig/vf/cmrj5.vf
new file mode 100644
index 0000000000..8b81296ec1
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj5.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj6.vf b/fonts/cmolddig/vf/cmrj6.vf
new file mode 100644
index 0000000000..8de5d25c2b
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj6.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj7.vf b/fonts/cmolddig/vf/cmrj7.vf
new file mode 100644
index 0000000000..b86b4762fa
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj7.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj8.vf b/fonts/cmolddig/vf/cmrj8.vf
new file mode 100644
index 0000000000..86c2390456
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj8.vf
Binary files differ
diff --git a/fonts/cmolddig/vf/cmrj9.vf b/fonts/cmolddig/vf/cmrj9.vf
new file mode 100644
index 0000000000..7473840df4
--- /dev/null
+++ b/fonts/cmolddig/vf/cmrj9.vf
Binary files differ