summaryrefslogtreecommitdiff
path: root/fonts/zlmtt
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/zlmtt
Initial commit
Diffstat (limited to 'fonts/zlmtt')
-rw-r--r--fonts/zlmtt/README17
-rw-r--r--fonts/zlmtt/doc/zlmtt-doc.pdfbin0 -> 51756 bytes
-rw-r--r--fonts/zlmtt/doc/zlmtt-doc.tex83
-rw-r--r--fonts/zlmtt/tex/il2zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/il2zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/l7xzlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/l7xzlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/ly1zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/ly1zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/ot1zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/ot1zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/ot4zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/ot4zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/qxzlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/qxzlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/t1zlmtt.fd51
-rw-r--r--fonts/zlmtt/tex/t1zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/t5zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/t5zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/ts1zlmtt.fd52
-rw-r--r--fonts/zlmtt/tex/ts1zlmvtt.fd38
-rw-r--r--fonts/zlmtt/tex/zlmtt.sty34
22 files changed, 943 insertions, 0 deletions
diff --git a/fonts/zlmtt/README b/fonts/zlmtt/README
new file mode 100644
index 0000000000..31904eb9ef
--- /dev/null
+++ b/fonts/zlmtt/README
@@ -0,0 +1,17 @@
+This small package provides a means of accessing all features (plus scaling) of Latin Modern Typewriter (lmtt) as Typewriter font family to accompany any other chosen font packages. For weight selection, it requires that the mweights package be installed. (It has been on CTAN since July 2013.)
+
+This material is subject to the LaTeX Project Public License. See
+http://www.ctan.org/license/lppl1.3
+for the details of that license.
+
+Current version: 1.02
+
+Changes in version 1.02
+Modified the definitions of \proptt and \monott to take into account the font weight specified in the preamble. (Thanks, Frank Mittelbach.)
+
+Changes in version 1.01
+Added macro \lctt to access light-condensed weight.
+
+Please send comments and bug reports or suggestions for improvement to
+
+msharpe at ucsd dot edu \ No newline at end of file
diff --git a/fonts/zlmtt/doc/zlmtt-doc.pdf b/fonts/zlmtt/doc/zlmtt-doc.pdf
new file mode 100644
index 0000000000..4c03483c48
--- /dev/null
+++ b/fonts/zlmtt/doc/zlmtt-doc.pdf
Binary files differ
diff --git a/fonts/zlmtt/doc/zlmtt-doc.tex b/fonts/zlmtt/doc/zlmtt-doc.tex
new file mode 100644
index 0000000000..42b367c686
--- /dev/null
+++ b/fonts/zlmtt/doc/zlmtt-doc.tex
@@ -0,0 +1,83 @@
+\documentclass[11pt]{article}
+\usepackage[margin=1in]{geometry}
+\usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent
+\usepackage{graphicx}
+\usepackage{amssymb}% do not use with mtpro2 except lite version
+%SetFonts
+% fbb+newtxmath
+\usepackage[lining]{fbb}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage[scaled=1.07]{zlmtt} % lmodern typewriter
+\usepackage{amsmath,amsthm}
+\usepackage[libertine,bigdelims]{newtxmath}
+\useosf
+\linespread{1.05}
+%\usepackage[supstfm=libertinesups,%
+% supscaled=1.2,%
+% raised=-.13em]{superiors}
+%SetFonts
+\title{Using {\tt zlmtt} to Access the Latin Modern Typewriter Fonts}
+\author{Michael Sharpe}
+\date{\today} % Activate to display a given date or no date
+
+\begin{document}
+\maketitle
+Two serifed typewriter fonts are in common use in \LaTeX---{\tt courier} and (extensions of) {\tt cmtt}. (Many now prefer the sans serif monowidth fonts BeraSansMono or Inconsolata, though their appearance is less reminiscent of typewritten output.) The recently released STIX fonts have a typewriter alphabet that seems to be a slight variant of {\tt cmtt}, with height to match Times and thinner vertical stems, in only medium series. In my opinion, {\tt cmtt} and its enhancements are a much better choice than {\tt courier} in almost every circumstance, as the latter is so light and so wide that it looks poor on screen and causes endless problems with overfull boxes. (The ratio of their glyph widths is $723/525\approx1.38$.) The GUST extension of Computer Modern contains a very substantial enhancement of {\tt cmtt} called {\tt lmtt} (Latin Modern Typewriter). This small package, loaded with
+\begin{verbatim}
+\usepackage{zlmtt} % options can be added
+\end{verbatim}
+provides access to all its features, no matter what other text fonts you might be using. It should be placed after all your other text font loading packages that might contain instructions to change \verb|\ttdefault|, and before loading math packages so that the math packages can make a suitable definition of \verb|\mathtt|. With no options specified, as above, you'll get full functionality as a monospaced typewriter font family, with typewriter text rendered using {\tt lmtt}, and with italic and bold versions, plus small caps in regular (medium) weight only.
+
+First, here's a quick review of what the Latin Modern Typewriter fonts offer. (The typewriter letters in parentheses, like ({\tt m}), denote the abbreviations for the font series used in the {\tt.fd} files.)
+\begin{itemize}
+\item
+Three weights---light ({\tt l}), medium ({\tt m}) and bold ({\tt b}). (Bold is only slightly so, with stems less than $20$\% thicker than in medium weight, so that glyph widths can be the same as in medium weight.)
+\item Light weight has a {\tt \fontseries{lc}\selectfont condensed variant} ({\tt lc}).
+\item Medium weight has a {\tt \textsc{Small Caps}} variant ({\tt sc}) in upright shape only.
+\item Each weight has a \proptt{proportionally spaced variant} (i.e., not monospaced) with fewer features.
+\item Each weight has an {\tt \fontshape{it}\selectfont italic style} in addition to the default upright style. This style is not simply a slanted version of the upright style except in the proportionally spaced variant.
+\item Support is provided for the following encodings: T$1$, TS$1$, LY$1$, OT$1$, IL$2$, L$7$x, OT$4$, QX, T$5$.
+\end{itemize}
+\newpage
+The options you may use in loading this package are:
+\begin{itemize}
+\item {\tt scaled=1.05} (or {\tt scale=1.05}) will load the fonts scaled to $1.05$ times natural size. This is useful with Roman fonts having an x-height greater than Computer Modern.
+\item
+{\tt proportional} (or just {\tt p}) loads the proportionally spaced version of the fonts. (By default, typewriter text is {\tt monospaced}.)
+\item The defaults for \verb|\mdseries| and \verb|\bfseries|, which determine the series used to render medium and bold, are ({\tt m}) and ({\tt b}). You may change these defaults without affecting the settings for Roman and Sans Serif fonts as follows:
+\begin{itemize}
+\item
+{\tt light} (or just {\tt l}) makes \verb|\mdseries| render using ({\tt l}).
+\item
+{\tt lightcondensed} (or just {\tt lc}) makes \verb|\mdseries| render using ({\tt lc}).
+\item
+{\tt med} (or just {\tt m}) makes \verb|\bfseries| render using ({\tt m}).
+\end{itemize}
+\end{itemize}
+Note that the weight options depend on the {\tt mweights} package which was introduced in July $2013$.
+
+The package defines two macros, \verb|\proptt| and \verb|\monott| that allow you to use proportional typewriter mode or monospace typewriter mode whether or not you selected the {\tt proportional} option. This document uses {\tt monospace} mode, but I can write \verb|\proptt{proportional spacing}| and get \proptt{proportional spacing}, or \verb|\textit{\proptt{proportionally spaced slanted}}| to get \textit{\proptt{proportionally spaced slanted}}. The macro \verb|\lctt| prints its argument in light-condensed weight, monospaced mode, and uses a slanted font if italic shape is in force. E.g., \verb|\lctt{light condensed}| produces \lctt{light condensed}, and \verb|\textit{\lctt{light condensed italic}}| produces \textit{\lctt{light condensed italic}}.
+
+As of version {\tt 1.02}, \verb|\proptt| and \verb|\monott| do not switch to medium weight if in your preamble you specified that regular means light.
+
+This package supports all the encodings supported by the {\tt lmodern} package.
+
+{\bf Examples}
+\begin{verbatim}
+\usepackage[scaled=1.1,lc]{zlmtt} % scale up 10\%, medium->light condensed
+\usepackage[scaled=1.1,p]{zlmtt} % scale up 10\%, proportional tt mode
+\end{verbatim}
+This document used the following font settings:
+\begin{verbatim}
+\usepackage[lining]{fbb} % free Bembo, lining figures in math mode
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage[scaled=1.07]{zlmtt} % lmodern typewriter
+\usepackage{amsmath,amsthm}
+\usepackage[libertine,bigdelims]{newtxmath}
+\useosf % oldstyle figures in text mode
+\linespread{1.05} % fbb has tall ascenders
+\end{verbatim}
+
+\end{document} \ No newline at end of file
diff --git a/fonts/zlmtt/tex/il2zlmtt.fd b/fonts/zlmtt/tex/il2zlmtt.fd
new file mode 100644
index 0000000000..b1bb67ec9b
--- /dev/null
+++ b/fonts/zlmtt/tex/il2zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{il2zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{IL2}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{IL2}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale cs-lmtt8
+ <8.5-9.5> \zlmtt@@scale cs-lmtt9
+ <9.5-11> \zlmtt@@scale cs-lmtt10
+ <11-> \zlmtt@@scale cs-lmtt12
+ }{}
+\DeclareFontShape{IL2}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale cs-lmtti10}{}
+\DeclareFontShape{IL2}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale cs-lmtto10}{}
+\DeclareFontShape{IL2}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale cs-lmtcsc10}{}
+\DeclareFontShape{IL2}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale cs-lmtcso10}{}
+%
+\DeclareFontShape{IL2}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale cs-lmtl10}{}
+\DeclareFontShape{IL2}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{IL2}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale cs-lmtlo10}{}
+\DeclareFontShape{IL2}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale cs-lmtlc10}{}
+\DeclareFontShape{IL2}{zlmtt}{lc}{it}
+ {<->sub*zlmtt/lc/sl}{}
+\DeclareFontShape{IL2}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale cs-lmtlco10}{}
+%
+\DeclareFontShape{IL2}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale cs-lmtk10}{}
+\DeclareFontShape{IL2}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{IL2}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale cs-lmtko10}{}
+\DeclareFontShape{IL2}{zlmtt}{bx}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{IL2}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{IL2}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `il2zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/il2zlmvtt.fd b/fonts/zlmtt/tex/il2zlmvtt.fd
new file mode 100644
index 0000000000..70e78b5830
--- /dev/null
+++ b/fonts/zlmtt/tex/il2zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{il2zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{IL2}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{IL2}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale cs-lmvtt10}{}
+\DeclareFontShape{IL2}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale cs-lmvtto10}{}
+\DeclareFontShape{IL2}{zlmvtt}{m}{it}
+ {<->sub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{IL2}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale cs-lmvtl10}{}
+\DeclareFontShape{IL2}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale cs-lmvtlo10}{}
+\DeclareFontShape{IL2}{zlmvtt}{l}{it}
+ {<->sub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{IL2}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale cs-lmvtk10}{}
+\DeclareFontShape{IL2}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale cs-lmvtko10}{}
+\DeclareFontShape{IL2}{zlmvtt}{b}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\DeclareFontShape{IL2}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{IL2}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{IL2}{zlmvtt}{bx}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `il2zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/l7xzlmtt.fd b/fonts/zlmtt/tex/l7xzlmtt.fd
new file mode 100644
index 0000000000..7562c113b3
--- /dev/null
+++ b/fonts/zlmtt/tex/l7xzlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{l7xzlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{L7x}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{L7x}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale l7x-lmtt8
+ <8.5-9.5> \zlmtt@@scale l7x-lmtt9
+ <9.5-11> \zlmtt@@scale l7x-lmtt10
+ <11-> \zlmtt@@scale l7x-lmtt12
+ }{}
+\DeclareFontShape{L7x}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale l7x-lmtti10}{}
+\DeclareFontShape{L7x}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale l7x-lmtto10}{}
+\DeclareFontShape{L7x}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale l7x-lmtcsc10}{}
+\DeclareFontShape{L7x}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale l7x-lmtcso10}{}
+%
+\DeclareFontShape{L7x}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale l7x-lmtl10}{}
+\DeclareFontShape{L7x}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{L7x}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale l7x-lmtlo10}{}
+\DeclareFontShape{L7x}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale l7x-lmtlc10}{}
+\DeclareFontShape{L7x}{zlmtt}{lc}{it}
+ {<->sub*zlmtt/lc/sl}{}
+\DeclareFontShape{L7x}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale l7x-lmtlco10}{}
+%
+\DeclareFontShape{L7x}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale l7x-lmtk10}{}
+\DeclareFontShape{L7x}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{L7x}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale l7x-lmtko10}{}
+\DeclareFontShape{L7x}{zlmtt}{bx}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{L7x}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{L7x}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `l7xzlmtt.fd'.
diff --git a/fonts/zlmtt/tex/l7xzlmvtt.fd b/fonts/zlmtt/tex/l7xzlmvtt.fd
new file mode 100644
index 0000000000..082e7b1b65
--- /dev/null
+++ b/fonts/zlmtt/tex/l7xzlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{l7xzlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{L7x}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{L7x}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale l7x-lmvtt10}{}
+\DeclareFontShape{L7x}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale l7x-lmvtto10}{}
+\DeclareFontShape{L7x}{zlmvtt}{m}{it}
+ {<->sub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{L7x}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale l7x-lmvtl10}{}
+\DeclareFontShape{L7x}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale l7x-lmvtlo10}{}
+\DeclareFontShape{L7x}{zlmvtt}{l}{it}
+ {<->sub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{L7x}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale l7x-lmvtk10}{}
+\DeclareFontShape{L7x}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale l7x-lmvtko10}{}
+\DeclareFontShape{L7x}{zlmvtt}{b}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\DeclareFontShape{L7x}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{L7x}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{L7x}{zlmvtt}{bx}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `l7xzlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/ly1zlmtt.fd b/fonts/zlmtt/tex/ly1zlmtt.fd
new file mode 100644
index 0000000000..7df6aa0844
--- /dev/null
+++ b/fonts/zlmtt/tex/ly1zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{ly1zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{LY1}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{LY1}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale texnansi-lmtt8
+ <8.5-9.5> \zlmtt@@scale texnansi-lmtt9
+ <9.5-11> \zlmtt@@scale texnansi-lmtt10
+ <11-> \zlmtt@@scale texnansi-lmtt12
+ }{}
+\DeclareFontShape{LY1}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale texnansi-lmtti10}{}
+\DeclareFontShape{LY1}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale texnansi-lmtto10}{}
+\DeclareFontShape{LY1}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale texnansi-lmtcsc10}{}
+\DeclareFontShape{LY1}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale texnansi-lmtcso10}{}
+%
+\DeclareFontShape{LY1}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale texnansi-lmtl10}{}
+\DeclareFontShape{LY1}{zlmtt}{l}{it}
+ {<->ssub*zlmtt/l/sl}{}
+\DeclareFontShape{LY1}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale texnansi-lmtlo10}{}
+\DeclareFontShape{LY1}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale texnansi-lmtlc10}{}
+\DeclareFontShape{LY1}{zlmtt}{lc}{it}
+ {<->ssub*zlmtt/lc/sl}{}
+\DeclareFontShape{LY1}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale texnansi-lmtlco10}{}
+%
+\DeclareFontShape{LY1}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale texnansi-lmtk10}{}
+\DeclareFontShape{LY1}{zlmtt}{b}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{LY1}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale texnansi-lmtko10}{}
+\DeclareFontShape{LY1}{zlmtt}{bx}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{LY1}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{LY1}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `ly1zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/ly1zlmvtt.fd b/fonts/zlmtt/tex/ly1zlmvtt.fd
new file mode 100644
index 0000000000..e2cbc444ab
--- /dev/null
+++ b/fonts/zlmtt/tex/ly1zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{ly1zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{LY1}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{LY1}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale texnansi-lmvtt10}{}
+\DeclareFontShape{LY1}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale texnansi-lmvtto10}{}
+\DeclareFontShape{LY1}{zlmvtt}{m}{it}
+ {<->ssub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{LY1}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale texnansi-lmvtl10}{}
+\DeclareFontShape{LY1}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale texnansi-lmvtlo10}{}
+\DeclareFontShape{LY1}{zlmvtt}{l}{it}
+ {<->ssub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{LY1}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale texnansi-lmvtk10}{}
+\DeclareFontShape{LY1}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale texnansi-lmvtko10}{}
+\DeclareFontShape{LY1}{zlmvtt}{b}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{LY1}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{LY1}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{LY1}{zlmvtt}{bx}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `ly1zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/ot1zlmtt.fd b/fonts/zlmtt/tex/ot1zlmtt.fd
new file mode 100644
index 0000000000..5eb9628490
--- /dev/null
+++ b/fonts/zlmtt/tex/ot1zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{ot1zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{OT1}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{OT1}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale rm-lmtt8
+ <8.5-9.5> \zlmtt@@scale rm-lmtt9
+ <9.5-11> \zlmtt@@scale rm-lmtt10
+ <11-> \zlmtt@@scale rm-lmtt12
+ }{}
+\DeclareFontShape{OT1}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale rm-lmtti10}{}
+\DeclareFontShape{OT1}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale rm-lmtto10}{}
+\DeclareFontShape{OT1}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale rm-lmtcsc10}{}
+\DeclareFontShape{OT1}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale rm-lmtcso10}{}
+%
+\DeclareFontShape{OT1}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale rm-lmtl10}{}
+\DeclareFontShape{OT1}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{OT1}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale rm-lmtlo10}{}
+\DeclareFontShape{OT1}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale rm-lmtlc10}{}
+\DeclareFontShape{OT1}{zlmtt}{lc}{it}
+ {<->ssub*zlmtt/lc/sl}{}
+\DeclareFontShape{OT1}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale rm-lmtlco10}{}
+%
+\DeclareFontShape{OT1}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale rm-lmtk10}{}
+\DeclareFontShape{OT1}{zlmtt}{b}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{OT1}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale rm-lmtko10}{}
+\DeclareFontShape{OT1}{zlmtt}{bx}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{OT1}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{OT1}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `ot1zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/ot1zlmvtt.fd b/fonts/zlmtt/tex/ot1zlmvtt.fd
new file mode 100644
index 0000000000..d5c38e591c
--- /dev/null
+++ b/fonts/zlmtt/tex/ot1zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{ot1zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{OT1}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{OT1}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale rm-lmvtt10}{}
+\DeclareFontShape{OT1}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale rm-lmvtto10}{}
+\DeclareFontShape{OT1}{zlmvtt}{m}{it}
+ {<->ssub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{OT1}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale rm-lmvtl10}{}
+\DeclareFontShape{OT1}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale rm-lmvtlo10}{}
+\DeclareFontShape{OT1}{zlmvtt}{l}{it}
+ {<->ssub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{OT1}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale rm-lmvtk10}{}
+\DeclareFontShape{OT1}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale rm-lmvtko10}{}
+\DeclareFontShape{OT1}{zlmvtt}{b}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{OT1}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{OT1}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{OT1}{zlmvtt}{bx}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `ot1zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/ot4zlmtt.fd b/fonts/zlmtt/tex/ot4zlmtt.fd
new file mode 100644
index 0000000000..2325101580
--- /dev/null
+++ b/fonts/zlmtt/tex/ot4zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{ot4zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{OT4}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{OT4}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale rm-lmtt8
+ <8.5-9.5> \zlmtt@@scale rm-lmtt9
+ <9.5-11> \zlmtt@@scale rm-lmtt10
+ <11-> \zlmtt@@scale rm-lmtt12
+ }{}
+\DeclareFontShape{OT4}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale rm-lmtti10}{}
+\DeclareFontShape{OT4}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale rm-lmtto10}{}
+\DeclareFontShape{OT4}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale rm-lmtcsc10}{}
+\DeclareFontShape{OT4}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale rm-lmtcso10}{}
+%
+\DeclareFontShape{OT4}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale rm-lmtl10}{}
+\DeclareFontShape{OT4}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{OT4}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale rm-lmtlo10}{}
+\DeclareFontShape{OT4}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale rm-lmtlc10}{}
+\DeclareFontShape{OT4}{zlmtt}{lc}{it}
+ {<->sub*zlmtt/lc/sl}{}
+\DeclareFontShape{OT4}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale rm-lmtlco10}{}
+%
+\DeclareFontShape{OT4}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale rm-lmtk10}{}
+\DeclareFontShape{OT4}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{OT4}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale rm-lmtko10}{}
+\DeclareFontShape{OT4}{zlmtt}{bx}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{OT4}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{OT4}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `ot4zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/ot4zlmvtt.fd b/fonts/zlmtt/tex/ot4zlmvtt.fd
new file mode 100644
index 0000000000..5b4ee00462
--- /dev/null
+++ b/fonts/zlmtt/tex/ot4zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{ot4zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{OT4}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{OT4}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale rm-lmvtt10}{}
+\DeclareFontShape{OT4}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale rm-lmvtto10}{}
+\DeclareFontShape{OT4}{zlmvtt}{m}{it}
+ {<->sub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{OT4}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale rm-lmvtl10}{}
+\DeclareFontShape{OT4}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale rm-lmvtlo10}{}
+\DeclareFontShape{OT4}{zlmvtt}{l}{it}
+ {<->sub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{OT4}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale rm-lmvtk10}{}
+\DeclareFontShape{OT4}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale rm-lmvtko10}{}
+\DeclareFontShape{OT4}{zlmvtt}{b}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\DeclareFontShape{OT4}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{OT4}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{OT4}{zlmvtt}{bx}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `ot4zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/qxzlmtt.fd b/fonts/zlmtt/tex/qxzlmtt.fd
new file mode 100644
index 0000000000..6e824c87e0
--- /dev/null
+++ b/fonts/zlmtt/tex/qxzlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{qxzlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{QX}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{QX}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale qx-lmtt8
+ <8.5-9.5> \zlmtt@@scale qx-lmtt9
+ <9.5-11> \zlmtt@@scale qx-lmtt10
+ <11-> \zlmtt@@scale qx-lmtt12
+ }{}
+\DeclareFontShape{QX}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale qx-lmtti10}{}
+\DeclareFontShape{QX}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale qx-lmtto10}{}
+\DeclareFontShape{QX}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale qx-lmtcsc10}{}
+\DeclareFontShape{QX}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale qx-lmtcso10}{}
+%
+\DeclareFontShape{QX}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale qx-lmtl10}{}
+\DeclareFontShape{QX}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{QX}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale qx-lmtlo10}{}
+\DeclareFontShape{QX}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale qx-lmtlc10}{}
+\DeclareFontShape{QX}{zlmtt}{lc}{it}
+ {<->sub*zlmtt/lc/sl}{}
+\DeclareFontShape{QX}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale qx-lmtlco10}{}
+%
+\DeclareFontShape{QX}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale qx-lmtk10}{}
+\DeclareFontShape{QX}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{QX}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale qx-lmtko10}{}
+\DeclareFontShape{QX}{zlmtt}{bx}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{QX}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{QX}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `qxzlmtt.fd'.
diff --git a/fonts/zlmtt/tex/qxzlmvtt.fd b/fonts/zlmtt/tex/qxzlmvtt.fd
new file mode 100644
index 0000000000..40888afe9d
--- /dev/null
+++ b/fonts/zlmtt/tex/qxzlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{qxzlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{QX}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{QX}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale qx-lmvtt10}{}
+\DeclareFontShape{QX}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale qx-lmvtto10}{}
+\DeclareFontShape{QX}{zlmvtt}{m}{it}
+ {<->sub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{QX}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale qx-lmvtl10}{}
+\DeclareFontShape{QX}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale qx-lmvtlo10}{}
+\DeclareFontShape{QX}{zlmvtt}{l}{it}
+ {<->sub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{QX}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale qx-lmvtk10}{}
+\DeclareFontShape{QX}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale qx-lmvtko10}{}
+\DeclareFontShape{QX}{zlmvtt}{b}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\DeclareFontShape{QX}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{QX}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{QX}{zlmvtt}{bx}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `qxzlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/t1zlmtt.fd b/fonts/zlmtt/tex/t1zlmtt.fd
new file mode 100644
index 0000000000..39758234b7
--- /dev/null
+++ b/fonts/zlmtt/tex/t1zlmtt.fd
@@ -0,0 +1,51 @@
+\ProvidesFile{t1zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{T1}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{T1}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale ec-lmtt8
+ <8.5-9.5> \zlmtt@@scale ec-lmtt9
+ <9.5-11> \zlmtt@@scale ec-lmtt10
+ <11-> \zlmtt@@scale ec-lmtt12
+ }{}
+\DeclareFontShape{T1}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale ec-lmtti10}{}
+\DeclareFontShape{T1}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale ec-lmtto10}{}
+\DeclareFontShape{T1}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale ec-lmtcsc10}{}
+\DeclareFontShape{T1}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale ec-lmtcso10}{}
+\DeclareFontShape{T1}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale ec-lmtl10}{}
+\DeclareFontShape{T1}{zlmtt}{l}{it}
+ {<->ssub*zlmtt/l/sl}{}
+\DeclareFontShape{T1}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale ec-lmtlo10}{}
+\DeclareFontShape{T1}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale ec-lmtlc10}{}
+\DeclareFontShape{T1}{zlmtt}{lc}{it}
+ {<->ssub*zlmtt/lc/sl}{}
+\DeclareFontShape{T1}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale ec-lmtlco10}{}
+%
+\DeclareFontShape{T1}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale ec-lmtk10}{}
+\DeclareFontShape{T1}{zlmtt}{b}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{T1}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale ec-lmtko10}{}
+\DeclareFontShape{T1}{zlmtt}{bx}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{T1}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{T1}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `t1zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/t1zlmvtt.fd b/fonts/zlmtt/tex/t1zlmvtt.fd
new file mode 100644
index 0000000000..c38b29ecd9
--- /dev/null
+++ b/fonts/zlmtt/tex/t1zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{t1zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{T1}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{T1}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale ec-lmvtt10}{}
+\DeclareFontShape{T1}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale ec-lmvtto10}{}
+\DeclareFontShape{T1}{zlmvtt}{m}{it}
+ {<->ssub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{T1}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale ec-lmvtl10}{}
+\DeclareFontShape{T1}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale ec-lmvtlo10}{}
+\DeclareFontShape{T1}{zlmvtt}{l}{it}
+ {<->ssub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{T1}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale ec-lmvtk10}{}
+\DeclareFontShape{T1}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale ec-lmvtko10}{}
+\DeclareFontShape{T1}{zlmvtt}{b}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{T1}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{T1}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{T1}{zlmvtt}{bx}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `t1zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/t5zlmtt.fd b/fonts/zlmtt/tex/t5zlmtt.fd
new file mode 100644
index 0000000000..dfd9409137
--- /dev/null
+++ b/fonts/zlmtt/tex/t5zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{t5zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{T5}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{T5}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale t5-lmtt8
+ <8.5-9.5> \zlmtt@@scale t5-lmtt9
+ <9.5-11> \zlmtt@@scale t5-lmtt10
+ <11-> \zlmtt@@scale t5-lmtt12
+ }{}
+\DeclareFontShape{T5}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale t5-lmtti10}{}
+\DeclareFontShape{T5}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale t5-lmtto10}{}
+\DeclareFontShape{T5}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale t5-lmtcsc10}{}
+\DeclareFontShape{T5}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale t5-lmtcso10}{}
+%
+\DeclareFontShape{T5}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale t5-lmtl10}{}
+\DeclareFontShape{T5}{zlmtt}{l}{it}
+ {<->sub*zlmtt/l/sl}{}
+\DeclareFontShape{T5}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale t5-lmtlo10}{}
+\DeclareFontShape{T5}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale t5-lmtlc10}{}
+\DeclareFontShape{T5}{zlmtt}{lc}{it}
+ {<->sub*zlmtt/lc/sl}{}
+\DeclareFontShape{T5}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale t5-lmtlco10}{}
+%
+\DeclareFontShape{T5}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale t5-lmtk10}{}
+\DeclareFontShape{T5}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{T5}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale t5-lmtko10}{}
+\DeclareFontShape{T5}{zlmtt}{bx}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{T5}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{T5}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `t5zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/t5zlmvtt.fd b/fonts/zlmtt/tex/t5zlmvtt.fd
new file mode 100644
index 0000000000..3bec771299
--- /dev/null
+++ b/fonts/zlmtt/tex/t5zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{t5zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{T5}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{T5}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale t5-lmvtt10}{}
+\DeclareFontShape{T5}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale t5-lmvtto10}{}
+\DeclareFontShape{T5}{zlmvtt}{m}{it}
+ {<->sub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{T5}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale t5-lmvtl10}{}
+\DeclareFontShape{T5}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale t5-lmvtlo10}{}
+\DeclareFontShape{T5}{zlmvtt}{l}{it}
+ {<->sub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{T5}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale t5-lmvtk10}{}
+\DeclareFontShape{T5}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale t5-lmvtko10}{}
+\DeclareFontShape{T5}{zlmvtt}{b}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\DeclareFontShape{T5}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{T5}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{T5}{zlmvtt}{bx}{it}
+ {<->sub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `t5zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/ts1zlmtt.fd b/fonts/zlmtt/tex/ts1zlmtt.fd
new file mode 100644
index 0000000000..e0ecc1031b
--- /dev/null
+++ b/fonts/zlmtt/tex/ts1zlmtt.fd
@@ -0,0 +1,52 @@
+\ProvidesFile{ts1zlmtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{TS1}{zlmtt}{\hyphenchar \font\m@ne}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{TS1}{zlmtt}{m}{n}
+ {<-8.5> \zlmtt@@scale ts1-lmtt8
+ <8.5-9.5> \zlmtt@@scale ts1-lmtt9
+ <9.5-11> \zlmtt@@scale ts1-lmtt10
+ <11-> \zlmtt@@scale ts1-lmtt12
+ }{}
+\DeclareFontShape{TS1}{zlmtt}{m}{it}
+ {<-> \zlmtt@@scale ts1-lmtti10}{}
+\DeclareFontShape{TS1}{zlmtt}{m}{sl}
+ {<-> \zlmtt@@scale ts1-lmtto10}{}
+\DeclareFontShape{TS1}{zlmtt}{m}{sc}
+ {<-> \zlmtt@@scale ts1-lmtcsc10}{}
+\DeclareFontShape{TS1}{zlmtt}{m}{scsl}
+ {<-> \zlmtt@@scale ts1-lmtcso10}{}
+%
+\DeclareFontShape{TS1}{zlmtt}{l}{n}
+ {<-> \zlmtt@@scale ts1-lmtl10}{}
+\DeclareFontShape{TS1}{zlmtt}{l}{it}
+ {<->ssub*zlmtt/l/sl}{}
+\DeclareFontShape{TS1}{zlmtt}{l}{sl}
+ {<-> \zlmtt@@scale ts1-lmtlo10}{}
+\DeclareFontShape{TS1}{zlmtt}{lc}{n}
+ {<-> \zlmtt@@scale ts1-lmtlc10}{}
+\DeclareFontShape{TS1}{zlmtt}{lc}{it}
+ {<->ssub*zlmtt/lc/sl}{}
+\DeclareFontShape{TS1}{zlmtt}{lc}{sl}
+ {<-> \zlmtt@@scale ts1-lmtlco10}{}
+%
+\DeclareFontShape{TS1}{zlmtt}{b}{n}
+ {<-> \zlmtt@@scale ts1-lmtk10}{}
+\DeclareFontShape{TS1}{zlmtt}{b}{it}
+ {<->sub*zlmtt/b/sl}{}
+\DeclareFontShape{TS1}{zlmtt}{b}{sl}
+{<-> \zlmtt@@scale ts1-lmtko10}{}
+\DeclareFontShape{TS1}{zlmtt}{bx}{it}
+ {<->ssub*zlmtt/b/sl}{}
+\DeclareFontShape{TS1}{zlmtt}{bx}{n}
+ {<->ssub*zlmtt/b/n}{}
+\DeclareFontShape{TS1}{zlmtt}{bx}{sl}
+ {<->ssub*zlmtt/b/sl}{}
+\endinput
+%%
+%% End of file `ts1zlmtt.fd'.
diff --git a/fonts/zlmtt/tex/ts1zlmvtt.fd b/fonts/zlmtt/tex/ts1zlmvtt.fd
new file mode 100644
index 0000000000..6cf4530d1d
--- /dev/null
+++ b/fonts/zlmtt/tex/ts1zlmvtt.fd
@@ -0,0 +1,38 @@
+\ProvidesFile{ts1zlmvtt.fd}[2014/02/07 v1.0 Alternate font definitions for Latin Modern Typewriter, Michael Sharpe]
+\DeclareFontFamily{TS1}{zlmvtt}{}
+
+\expandafter\ifx\csname zlmtt@scale\endcsname\relax
+ \let\zlmtt@@scale\@empty
+\else
+ \edef\zlmtt@@scale{s*[\zlmtt@scale]}%
+\fi
+
+\DeclareFontShape{TS1}{zlmvtt}{m}{n}
+ {<-> \zlmtt@@scale ts1-lmvtt10}{}
+\DeclareFontShape{TS1}{zlmvtt}{m}{sl}
+ {<-> \zlmtt@@scale ts1-lmvtto10}{}
+\DeclareFontShape{TS1}{zlmvtt}{m}{it}
+ {<->ssub*zlmvtt/m/sl}{}
+%
+\DeclareFontShape{TS1}{zlmvtt}{l}{n}
+ {<-> \zlmtt@@scale ts1-lmvtl10}{}
+\DeclareFontShape{TS1}{zlmvtt}{l}{sl}
+ {<-> \zlmtt@@scale ts1-lmvtlo10}{}
+\DeclareFontShape{TS1}{zlmvtt}{l}{it}
+ {<->ssub*zlmvtt/l/sl}{}
+%
+\DeclareFontShape{TS1}{zlmvtt}{b}{n}
+ {<-> \zlmtt@@scale ts1-lmvtk10}{}
+\DeclareFontShape{TS1}{zlmvtt}{b}{sl}
+ {<-> \zlmtt@@scale ts1-lmvtko10}{}
+\DeclareFontShape{TS1}{zlmvtt}{b}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{TS1}{zlmvtt}{bx}{n}
+ {<->ssub*zlmvtt/b/n}{}
+\DeclareFontShape{TS1}{zlmvtt}{bx}{sl}
+ {<->ssub*zlmvtt/b/sl}{}
+\DeclareFontShape{TS1}{zlmvtt}{bx}{it}
+ {<->ssub*zlmvtt/b/sl}{}
+\endinput
+%%
+%% End of file `ts1zlmvtt.fd'.
diff --git a/fonts/zlmtt/tex/zlmtt.sty b/fonts/zlmtt/tex/zlmtt.sty
new file mode 100644
index 0000000000..af0569393b
--- /dev/null
+++ b/fonts/zlmtt/tex/zlmtt.sty
@@ -0,0 +1,34 @@
+\ProvidesPackage{zlmtt}[2019/06/11 v1.02 Alternate support package for Latin Modern TypeWriter]
+% Load after every package that (re)defines \ttdefault.
+\renewcommand{\ttdefault}{zlmtt}
+\newif\if@zlmtt@mw
+\IfFileExists{mweights.sty}{\RequirePackage{mweights}\@zlmtt@mwtrue%
+}{}% allows choice of how to render medium, bold
+\RequirePackage{xkeyval}
+\if@zlmtt@mw
+ \edef\mdseries@tt{m} % default mdseries is medium
+ \edef\bfseries@tt{b} % default bfseries is bold
+ \DeclareOptionX{light}{\edef\mdseries@tt{l}}
+ \DeclareOptionX{l}{\edef\mdseries@tt{l}} % make mdseries mean l
+ \DeclareOptionX{lightcondensed}{\edef\mdseries@tt{lc}}
+ \DeclareOptionX{lc}{\edef\mdseries@tt{lc}}
+ \DeclareOptionX{med}{\edef\bfseries@tt{m}} % make bfseries mean m
+ \DeclareOptionX{m}{\edef\bfseries@tt{m}}
+\fi
+\DeclareOptionX{proportional}{%
+ \renewcommand{\ttdefault}{zlmvtt}
+}
+\DeclareOptionX{p}{%
+ \renewcommand{\ttdefault}{zlmvtt}
+}
+\def\zlmtt@scale{1}
+\DeclareOptionX{scaled}{\def\zlmtt@scale{#1}}
+\DeclareOptionX{scale}{\def\zlmtt@scale{#1}}
+\ProcessOptionsX\relax
+%\newcommand{\proptt}[1]{{\fontfamily{zlmvtt}\selectfont #1}}
+%\newcommand{\monott}[1]{{\fontfamily{zlmtt}\selectfont #1}}
+\newcommand{\monott}[1]{{\def\ttdefault{zlmtt}\texttt{#1}}} % 2019-06-11
+\newcommand{\proptt}[1]{{\def\ttdefault{zlmvtt}\texttt{#1}}} % ditto
+\newcommand{\lctt}[1]{{\fontfamily{zlmtt}\fontseries{lc}\selectfont #1}}
+
+\endinput