summaryrefslogtreecommitdiff
path: root/fonts/lxfonts/source/lxfonts.dtx
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/lxfonts/source/lxfonts.dtx
Initial commit
Diffstat (limited to 'fonts/lxfonts/source/lxfonts.dtx')
-rw-r--r--fonts/lxfonts/source/lxfonts.dtx699
1 files changed, 699 insertions, 0 deletions
diff --git a/fonts/lxfonts/source/lxfonts.dtx b/fonts/lxfonts/source/lxfonts.dtx
new file mode 100644
index 0000000000..4868bb1676
--- /dev/null
+++ b/fonts/lxfonts/source/lxfonts.dtx
@@ -0,0 +1,699 @@
+% \iffalse meta-comment
+%<*internal>
+\begingroup
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+ ______________________________________________________
+ The LXfonts package
+ Copyright (C) 2008-2013 Claudio Beccari
+ All rights reserved
+
+ Distributable under the LaTeX Project Public License,
+ version 1.3c or higher (your choice). The latest version of
+ this license is at: http://www.latex-project.org/lppl.txt
+\endpreamble
+\postamble
+Read the README test file for further details about installation
+\endpostamble
+
+
+\generate{\file{lxfonts.sty}{\from{lxfonts.dtx}{lxsty}}}
+\generate{\file{ot1llcmss.fd}{\from{lxfonts.dtx}{lxot1ssfd}}}
+\generate{\file{ot1llcmtt.fd}{\from{lxfonts.dtx}{lxot1ttfd}}}
+\generate{\file{t1llcmss.fd}{\from{lxfonts.dtx}{lxt1ssfd}}}
+\generate{\file{t1llcmtt.fd}{\from{lxfonts.dtx}{lxt1ttfd}}}
+\generate{\file{ts1llcmss.fd}{\from{lxfonts.dtx}{lxts1ssfd}}}
+\generate{\file{omlllcmm.fd}{\from{lxfonts.dtx}{lxomlmmfd}}}
+\generate{\file{omsllcmsy.fd}{\from{lxfonts.dtx}{lxomssyfd}}}
+\generate{\file{omxllcmex.fd}{\from{lxfonts.dtx}{lxomxexfd}}}
+\generate{\file{ulmsa.fd}{\from{lxfonts.dtx}{lxumsafd}}}
+\generate{\file{ulmsb.fd}{\from{lxfonts.dtx}{lxumsbfd}}}
+\generate{\file{ulllasy.fd}{\from{lxfonts.dtx}{lxultxfd}}}
+\generate{\file{lxfonts.map}{\from{lxfonts.dtx}{lxmap}}}
+\generate{\file{lgrllcmss.fd}{\from{lxfonts.dtx}{lxlgrfd}}}
+\generate{\file{lgrllcmtt.fd}{\from{lxfonts.dtx}{lxlgrttfd}}}
+
+\def\tmpa{plain}
+\ifx\tmpa\fmtname\endgroup\expandafter\bye\fi
+\endgroup
+%</internal>
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+\ProvidesFile{lxfonts.dtx}[2013/12/07 v.2.0b Documented TeX file for
+the LXfonts bundle]
+\GetFileInfo{lxfonts.dtx}
+\title{The LXfonts bundle}
+\date{\fileversion\space--- \filedate}
+ \author{Claudio Beccari\thanks{\texttt{claudio dot beccari at gmail dot com}}}
+
+\usepackage{mflogo}
+\usepackage{textcomp}
+\usepackage[LGR,OT1]{fontenc}
+
+\def\prog#1{\textsf{#1}}
+\def\pack#1{\textsf{\slshape#1}}
+\DeclareRobustCommand\AMS{\ensuremath{\mathcal{A\!_{\textstyle M}\mkern-2mu S}}}
+
+\begin{document}\errorcontextlines=9
+\maketitle
+ \setlength\hfuzz{20pt}
+ \DocInput{lxfonts.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% This self extracting documented file |lxfonts.dtx|, besides the |lxfonts.sty|
+% file, produces the font description files necessary to use the LX fonts
+% in any document, specifically presentations, but not only. It documents
+% why they were made and the choices made in selecting which fonts to convert
+% to this style.
+%
+% These fonts should be useful for typesetting documents with T1 encoding (OT1
+% is also supported) and blends text and math fonts in the proper way; AMS fonts
+% are supported. For legacy reasons the \LaTeX\ special symbol set is also
+% accordingly restyled.
+%
+% \section{The LX fonts}
+% In the first eighties, when \LaTeX\ was conceived, Leslie Lamport created
+% a stand alone program, or better, a mark-up \SliTeX\ format that
+% could be used in place of \LaTeX\ when it was necessary to create transparencies
+% for conferences, lectures, and presentations; when \LaTeXe\ was made available
+% in the early nineties, that set of mark-up macros and format did not exist
+% any more, and in its place there was the new class \pack{slides}.
+%
+% The processing of the source files was almost identical, although the new
+% class \pack{slides} had more typesetting power thanks to the \LaTeXe\ more
+% powerful macros.
+%
+% Both processes produced printed documents that could be photocopied onto
+% methacrylate transparencies and used with overhead projectors.
+%
+% Since the advent of beamer projectors, that can operate directly from a
+% computer, and the availability of the \prog{pdfLaTeX} typesetting program,
+% a set of packages was made available to the \TeX\ community so as to
+% produce wonderful presentations, possibly together with their
+% printed handouts, that quickly replaced the old and honorable \SliTeX\
+% format and the \pack{slides} class.
+%
+% The fonts that Leslie Lamport had devised to use with \SliTeX\ and
+% \pack{slides} had a great advantage over the default \TeX\ system fonts,
+% namely the traditional Computer Modern ones, and, after the introduction
+% of the new encoding T1, of the European Computer fonts and, later on,
+% of the Latin Modern vector fonts.
+%
+% It was \emph{legibility}.
+%
+% This advantage was obtained from the sans serif quotation fonts designed
+% by D.E.~Knuth himself; he used them to typeset the witty quotations at each
+% chapter end of both his \TeX\ and \MF\ books.
+%
+% But these Knuthian fonts had a disadvantage: the capital `I' and the lower
+% case `l' were hardly distinguishable from one another and from the absolute
+% value vertical bar. Leslie Lamport solved in part this problem by changing
+% the sans serif `I' with a serifed one; this was fine most of the time, but
+% did not solve the similarity of the sans serif lower case `l' with the math
+% absolute value bar.
+%
+% Moreover when typesetting math in those old fashioned slides, only the
+% |operators| font was changed to a sans serif one, while the |letters| math
+% italics font, together with the other |symbols| normal and |largesymbols| large
+% symbol fonts remained the same; the result was that some math glyphs
+% obtained by juxtaposition of symbols coming from the operator font and
+% some other math font, resulted clearly inadequate.
+%
+% The solution of such problems consisted in redesigning the shape of the lower
+% case `l', so as to be more similar to an upright italic one, with a curved
+% bottom, and to restyle all the math fonts with the same graphic font settings
+% of the Lamport fonts, both in OT1 and T1 encoding, and in the math encodings
+% OML, OMS OMX, plus the Text Companion TS1 encoded fonts, the \AMS\ fonts and
+% the \LaTeX\ symbol fonts.
+%
+% This is all what concerns these extended slide LX fonts; while doing this
+% extensions I had to change the metadescription of several glyphs, but the
+% overall work was not that complicated; it was just heavy because the large
+% number of fonts involved, and therefore the overall glyph number.
+%
+% This package redefines both the text and math font families; checks if
+% the \AMS\ fonts have been called for, avoids to redefine the nice glyphs of
+% the \AMS\ collection with the \LaTeX\ symbol fonts, although it will
+% redefine the latter ones in case the user wants to use them, but did not
+% load the \AMS\ font collections.
+%
+% These settings are deferred at begin document time, so that the necessary
+% checks may be used after other fonts are possibly loaded.
+%
+% As a bonus the typewriter fonts are loaded in a scaled up version so that
+% their x-height matches the larger LX fonts. Such fonts are scaled 25\%
+% up so that the 8pt design size typewriter font x-height matches
+% the corresponding height of the LX fonts.
+%
+% These LX fonts are available in both vector and bitmapped form; I made the
+% whole work by working on the \MF\ source files; when I was satisfied with
+% the bitmapped fonts produced with \MF, I traced them by means of the
+% \prog{mftrace} program, by Han-Wen Nien­huys, and produced the .pfb files
+% containing the vector description of the glyphs. In order to use them
+% with \prog{pdfLaTeX} it is necessary to have available the .map file,
+% that I provided as part of this package. As a consequence of the method
+% I followed, this bundle contains also the .tfm metric information
+%
+% \section{Usage}
+% The only action needed to use these LX fonts is to call
+%\begin{verbatim}
+%\usepackage{lxfonts}
+%\end{verbatim}
+% in the preamble; there are no options to set.
+%
+% If you use \pack{beamer} to create your presentation you might need to specify
+%\begin{verbatim}
+%\usefonttheme{professionalfonts}
+%\end{verbatim}
+% in order to avoid that beamer resets some math fonts the way it defaults to;
+% for the rest you don't need to follow a particular loading order, although it
+% might be clearer if you loaded your fonts after specifying the input and
+% font encoding(s).
+%
+% \section{Standalone usage of the LX fonts}\label{sec:standalone}
+%
+% The style file \texttt{lxfonts.sty} changes all the default font settings
+% so that you cannot use any other font together with the LX ones.
+%
+% You can circumvent this rigidity by using the explicit declaration of the
+% font family you want to use; for example, if you called this package and at a
+% certain point you want to typeset something with a serifed font, say, the
+% T1 encoded Latin Modern roman font, you can define a macro declaration or
+% explicitly specify:
+%\begin{verbatim}
+%{\usefont{T1}{lmr}{m}{n} Words\ldots words}
+%\end{verbatim}
+% By so doing the ``Words\ldots words'' will be typeset in roman medium Latin
+% Modern T1 encoded font at the current size
+%
+% On the opposite if you want to show a sample text written with the LX fonts while
+% you are typesetting with other fonts, you don't use the above .sty file package,
+% but use a macro declaration or the explicit command:
+%\begin{verbatim}
+%{\usefont{T1}{llcmss}{m}{n} Words\ldots words}
+%\end{verbatim}
+% and you get {\usefont{T1}{llcmss}{m}{n} Words\dots words} at the current type
+% size; notice though, how larger the script appears thanks to the larger x-height,
+% but uppercase letters are the same size as the serifed ones.
+%
+% With version 1.0 of this package, this functionality was not possible.
+%
+% \section{Integration of the Latin and the Greek scripts}
+% The Greek CB fonts contain also the families and shapes for slides;
+% the style is the same as these LX fonts, but the different script does
+% not require any restyling of any glyph; so they can be used directly;
+% but the script changing mechanism simply implies the change of the
+% encoding; therefore in order to use the above Greek CB fonts, it is
+% simply necessary to have available new font description files whose
+% name is the agglutination of the Greek encoding name (in lower case)
+% with the family name (identical to that of the Latin script); the contents
+% of such files, of course, retrieves the glyphs from the Greek fonts files.
+%
+% Therefore it should not be difficult in a presentation to specify the Greek
+% language in the preamble of the source file, and use the \pack{babel} language
+% switching commands to as to write something like this:
+% {\usefont{LGR}{llcmss}{m}{n} Kal'' hm'era!} means \emph{Good day!}.
+%
+% \section{ The LX fonts demo presentation}
+% This bundle, besides this documentation, is shipped with a demo presentation
+% where most features of the LX fonts are shown; the slides clearly show the
+% features of these fonts, both the positive and negative ones. The
+% \emph{legibility}, in my opinion, is excellent; if it was not for this
+% point I would not have undertaken the work of restyling all these fonts.
+% But there ale also some little glitches that are partly inherent to the
+% chosen one-size continuously scalable font. Moreover the Greek fonts,
+% which are not part in themselves of my LX project, requires some
+% adjustments in several kerning values, but at the moment it is acceptable,
+% even if its kerning is not perfect.
+%
+% While typesetting math it is clearly noticeable the lack of optical sizes:
+% the super and subscripts appear definitely of the right size, but their
+% scaling makes them appear lighter than they should be; this is common with
+% all fonts that come in one size only, and this happens with the majority
+% of the Type~1 fonts distributed with the \TeX\ system.
+%
+% The Greek font kerning adjustment is on my TODO list.
+%
+% \section{Acknowledgemts}
+% I would like to thank all the users who appreciated these fonts and
+% gave me some feedback remarking some glitches; in particular I would
+% like to acknowledge the interaction with G\"unter Milde, who gave me
+% precious suggestions, among which that of detaching the font description
+% files form the |lxfonts.sty| file.
+%
+% \StopEventually{}^^A This macro argument can be a bibliography, for example.
+%
+% \section{Documented code}
+% \subsection{The package code}
+% The settings relative to the LX fonts are deferred to the |\AtEndPreamble|
+% hook (defined by package |etoolbox|) so that any previous font setting is
+% replaced by the ones relative to the LX fonts; this is particularly useful
+% when preparing source files for a presentation; in this way all the fonts
+% connected to the the slide show will be homogeneously styled the same way.
+
+% Of course this is not a serious drawback in other situations, since I have
+% shown in section~\ref{sec:standalone} what to do in order to overcome this
+% apparent limitation.
+%
+% First I test if certain packages have been loaded, specifically packages
+% \pack{latexsym} and \pack{amsfonts}; if so, certain switches are set |true|.
+% At the proper point these switches will be used in order to load or to avoid
+% to load certain font description files that will supersede the ones called
+% by such named packages.
+%
+% At the same time the text and math defaults are set or reset so as to use only
+% the LX fonts.
+% \iffalse
+%<*lxsty>
+% \fi
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+\ProvidesPackage{lxfonts}[2013/09/03 v,2.0 Macros for using LX fonts]
+\newif\if@lasy \@lasyfalse
+\newif\if@AMSfonts \@AMSfontsfalse
+\RequirePackage{etoolbox}
+\AtEndPreamble{%
+ \@ifpackageloaded{latexsym}{\@lasytrue}{}
+ \@ifpackageloaded{amsfonts}{\@AMSfontstrue}{}
+ \def\rmdefault{llcmss} % no roman
+ \def\sfdefault{llcmss}
+ \def\ttdefault{llcmtt}
+ \def\itdefault{sl}
+ \def\sldefault{sl}
+ \def\bfdefault{bx}
+ \SetSymbolFont{operators}{normal}{OT1}{llcmss}{m}{n}
+ \SetSymbolFont{letters}{normal}{OML}{llcmm}{m}{it}
+ \SetSymbolFont{symbols}{normal}{OMS}{llcmsy}{m}{n}
+ \SetSymbolFont{largesymbols}{normal}{OMX}{llcmex}{m}{n}
+
+ \SetSymbolFont{operators}{bold}{OT1}{llcmss} {bx}{n}
+ \SetSymbolFont{letters} {bold}{OML}{llcmm} {bx}{it}
+ \SetSymbolFont{symbols} {bold}{OMS}{llcmsy}{bx}{n}
+ \SetSymbolFont{largesymbols}{bold}{OMX}{llcmex}{m}{n} % no bold!
+
+ \DeclareSymbolFontAlphabet{\mathrm} {operators}
+ \DeclareSymbolFontAlphabet{\mathnormal}{letters}
+ \DeclareSymbolFontAlphabet{\mathcal} {symbols}
+
+ \DeclareMathAlphabet {\mathbf}{OT1}{llcmss}{bx}{n}
+ \DeclareMathAlphabet {\mathsf}{OT1}{llcmss}{m}{n}
+ \DeclareMathAlphabet {\mathit}{OT1}{llcmss}{m}{sl}
+ \DeclareMathAlphabet {\mathtt}{OT1}{llcmtt}{m}{n}
+
+ \SetMathAlphabet\mathsf{bold}{OT1}{llcmss}{bx}{n}
+ \SetMathAlphabet\mathit{bold}{OT1}{llcmss}{bx}{sl}
+% \end{macrocode}
+% The following tests are needed to load the \AMS\ and the \LaTeX\ symbols
+% fonts; in order to use them it is necessary to input the relevant font
+% description files subject to the switches status; and then it is necessary
+% to redeclare the math fonts accordingly.
+%
+% The |\Join| and |\leadsto| characters had to be redefined or declared
+% to be aliases of some particular symbol command; the |\Join| macro had
+% to be redefined because the dimensions of the new font don't agree with
+% the kerning fixed in the |amssymb| package; of course, while I was at it,
+% I might have designed a real glyph for |\Join|, but I thought that it
+% was better to avoid conflicts with the existing \AMS\ symbol definitions.
+% The |\leadsto| character has been let to |\rightsquigarrow| in order
+% to name the same glyph also with the \LaTeX\ symbols font command.
+% In this way it is possible to avoid loading the \LaTeX\ symbols font
+% if the \AMS\ fonts have been already loaded.
+% \begin{macrocode}
+\if@AMSfonts
+ \input{ulmsa.fd}
+ \input{ulmsb.fd}
+ \SetSymbolFont{AMSa}{normal}{U}{lmsa}{m}{n}
+ \SetSymbolFont{AMSb}{normal}{U}{lmsb}{m}{n}
+ \xdef\Join{\mathrel{\mathchar"0\hexnumber@\symAMSb 6F%
+ \mkern-14.2mu\mathchar"0\hexnumber@\symAMSb 6E}}
+ \global\let\leadsto\rightsquigarrow
+\fi
+\if@lasy
+ \if@AMSfonts%
+ \PackageWarning{lxfonts}{%
+ I did not load the LaTeX symbol fonts\MessageBreak
+ because its glyphs are already provided by the AMS fonts\MessageBreak}
+ \else
+ \input{ulllasy.fd}
+ \SetSymbolFont{lasy}{normal}{U}{lllasy}{m}{n}
+ \SetSymbolFont{lasy}{bold}{U}{lllasy}{b}{n}
+ \fi
+\fi
+% \end{macrocode}
+%
+% The following commands are defined so as to implement part of the
+% functionality of the old \LaTeX\,209 ones, with some significant modification:
+% their effects are cumulative as they are in \LaTeXe; at the same time they
+% can be used also in mathematics. These commands pamper those users who think
+% that the \LaTeXe\ commands are too lengthy to write, but such users forgot
+% that the old commands did not cumulate their effects, therefore they are
+% not as flexible as the \LaTeXe\ font commands. On the opposite these
+% definitions produce the same cumulative effects as the \LaTeXe\ commands;
+% I do not think the habit of using the old commands is correct, but it does
+% not harm anybody who has correct habits: it's not compulsory to use them
+% even if they are available.
+% \begin{macrocode}
+\DeclareOldFontCommand{\rm}{\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\slshape}{\relax}
+\DeclareOldFontCommand{\sc}{\scshape}{\relax}
+}
+% \end{macrocode}
+% \iffalse
+%</lxsty>
+% \fi
+%
+% \subsection{Fonts in OT1 encoding}
+% As long as the maths fonts are arranged the way they are, it is necessary
+% to have the OT1 encoded text fonts even if the user specifies the T1
+% option to the \pack{fontenc} package; this is due to the fact that the
+% |operators| font in math mode is always defined as the the OT1 encoded set.
+
+% At the same time those who don't need to use the many diacritics taken
+% care of by the T1 encoded fonts, can simply avoid to call the \pack{fontenc}
+% package, and get along without any problem.
+% \iffalse
+%<*lxot1ssfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{llcmss}{\hyphenchar\font45}
+\DeclareFontShape{OT1}{llcmss}{m}{n}{<-> llcmss8}{}
+\DeclareFontShape{OT1}{llcmss}{m}{sl}{<-> llcmssi8}{}
+\DeclareFontShape{OT1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{n}{<-> llcmssb8}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{sl}{<-> llcmsso8}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{it}{<->ssub* llcmss/bx/sl}{}
+%
+\DeclareFontShape{OT1}{llcmss}{m}{ui}{<-> ssub* llcmss/m/n}{}
+\DeclareFontShape{OT1}{llcmss}{bx}{ui}{<->ssub* llcmss/bx/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxot1ssfd>
+% \fi
+%
+% The typewriter fonts are loaded as the usual OT1 encoded Computer Modern
+% ones just scaled up by 25\% so as to have them with the same x-height as
+% the LX fonts. Substitutions are provided for the missing shapes and series.
+% \iffalse
+%<*lxot1ttfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{OT1}{llcmtt}{\hyphenchar\font\m@ne}
+\DeclareFontShape{OT1}{llcmtt}{m}{n}{<-> [1.25]cmtt8}{}
+\DeclareFontShape{OT1}{llcmtt}{m}{it}{<-> [1.25]cmti8}{}
+\DeclareFontShape{OT1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{n}{<-> ssub* llcmtt/m/n}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{it}{<-> ssub* llcmtt/m/it}{}
+\DeclareFontShape{OT1}{llcmtt}{bx}{sl}{<-> ssub* llcmtt/m/it}{}
+% \end{macrocode}
+% \iffalse
+%</lxot1ttfd>
+% \fi
+%
+% \subsection{Fonts in T1 encoding}
+% The T1 encoded fonts are now described by the suitable font description
+% files; such fonts are essential for typesetting most languages that use
+% the Latin script. Actually I know that there exist some languages that
+% usually don't use diacritics; but even in such languages sometimes it is
+% necessary to typeset a foreign name or to typeset some phrases or paragraphs
+% in an ancient version of the same language and diacritics pop up again.
+% Personally I believe that T1 encoded fonts should be the only ones to be
+% used, unless the user has access to suitable UNICODE encoded OpenType
+% fonts, but this is out of topic since these LX fonts can be used only
+% by \prog{pdfLaTeX}, that cannot directly handle OpenType fonts.
+% \iffalse
+%<*lxt1ssfd>
+% \fi
+% \begin{macrocode}
+ \DeclareFontFamily{T1}{llcmss}{\hyphenchar\font45}
+ \DeclareFontShape{T1}{llcmss}{m}{n}{<-> leclq8}{}
+ \DeclareFontShape{T1}{llcmss}{m}{sl}{<-> lecli8}{}
+ \DeclareFontShape{T1}{llcmss}{m}{it}{<->ssub* llcmss/m/sl}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{n}{<-> leclb8}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{sl}{<-> leclo8}{}
+ \DeclareFontShape{T1}{llcmss}{bx}{it}{<->ssub*llcmss/bx/sl}{}
+%
+\DeclareFontShape{T1}{llcmss}{m}{ui}{<->ssub*llcmss/m/n}{}
+\DeclareFontShape{T1}{llcmss}{bx}{ui}{<->ssub*llcmss/bx/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxt1ssfd>
+% \fi
+%
+% In this case of T1 encoded typewriter fonts I don't use any magnification,
+% as it was done for the OT1 encoded ones, because the upright font exists
+% at the design size of 8pt, but the italic one does not; therefore for
+% homogeneity I thought it was better to use them at a design size of 10pt
+% without any scaling. The differences are so tiny, that are invisible at
+% naked eye.
+% But since the |lcmtt| family is already defined as a standard family, we
+% need a different family name in order to avoid confusion; this is because
+% we use a single size to be enlarged or shrunk as it is done with the main
+% text font.
+% \iffalse
+%<*lxt1ttfd>
+% \fi
+% \begin{macrocode}
+ \DeclareFontFamily{T1}{llcmtt}{\hyphenchar\font\m@ne}
+ \DeclareFontShape{T1}{llcmtt}{m}{n}{<-> ec-lmtt10}{}
+ \DeclareFontShape{T1}{llcmtt}{m}{it}{<-> ec-lmtti10}{}
+ \DeclareFontShape{T1}{llcmtt}{m}{sl}{<-> ssub* llcmtt/m/it}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{n}{<-> ssub* llcmtt/m/n}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{it}{<-> ssub* llcmtt/m/it}{}
+ \DeclareFontShape{T1}{llcmtt}{bx}{sl}{<-> ssub* llcmtt/m/it}{}
+% \end{macrocode}
+% \iffalse
+%</lxt1ttfd>
+% \fi
+%
+% \subsection{Fonts in TS1 encoding}
+% The Text Companion fonts are also restyled so that these font must be
+% redeclared in case the user wants to use them.
+% \iffalse
+%<*lxts1ssfd>
+% \fi
+% \begin{macrocode}
+ \DeclareFontFamily{TS1}{llcmss}{\hyphenchar\font45}
+ \DeclareFontShape{TS1}{llcmss}{m}{n}{<-> ltclq8}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{sl}{<-> ltcli8}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{it}{<-> ssub*llcmss/m/sl}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{n}{<-> ltclb8}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{sl}{<-> ltclo8}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{it}{<-> ssub*llcmss/bx/sl}{}
+ \DeclareFontShape{TS1}{llcmss}{m}{ui}{<-> ssub*llcmss/m/n}{}
+ \DeclareFontShape{TS1}{llcmss}{bx}{ui}{<-> ssub*llcmss/bx/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxts1ssfd>
+% \fi
+% \section {Math fonts and special fonts}
+% \subsection{Math fonts in OML encoding}
+% The math italic letters font has been restyled as the text fonts.
+% \iffalse
+%<*lxomlmmfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
+\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
+\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
+
+\DeclareFontFamily{OML}{llcmss}{}
+\DeclareFontShape{OML}{llcmss}{m}{n}{<-> ssub*llcmm/m/it}{}
+% \end{macrocode}
+% \iffalse
+%</lxomlmmfd>
+% \fi
+%
+% \subsection{Math fonts in OMS encoding}
+% The math symbol font was restyled as the text fonts.
+% \iffalse
+%<*lxomssyfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{OMS}{llcmsy}{\skewchar\font'60}
+\DeclareFontShape{OMS}{llcmsy}{m}{n}{<-> lcmsy8}{}
+\DeclareFontShape{OMS}{llcmsy}{bx}{n}{<-> lcmbsy8}{}
+
+\DeclareFontFamily{OMS}{llcmss}{\skewchar\font'60}
+\DeclareFontShape{OMS}{llcmss}{m}{n}{<->ssub*llcmsy/m/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxomssyfd>
+% \fi
+%
+% \subsection{Math fonts in OMX encoding}
+% The large operators and delimiters font was restyled as the text fonts.
+% \iffalse
+%<*lxomxexfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{OMX}{llcmex}{}
+\DeclareFontShape{OMX}{llcmex}{m}{n}{<-> sfixed* lcmex8}{}
+% \end{macrocode}
+% \iffalse
+%</lxomxexfd>
+% \fi
+% \subsection {The \AMS\ fonts}
+% Since the \AMS\ fonts are used so often, either directly or through
+% the \pack{amssymb} package, I restyled both families |msam| and |msbm|.
+% In the .sty file I kept the math group names the same so that the symbol
+% definitions keep making reference to the same encoding and slot positions,
+% but they take the glyphs from different files.
+%
+% In both cases the |\DeclareFontFamily| statement appears to be unnecessary
+% because these font description files are loaded only if the \pack{amsfonts}
+% package has been called. But we have seen above that these font description
+% files are reloaded at the |\AtEndPreamble| hook; moreover if these fonts are
+% used as standalone ones, the declaration is absolutely necessary.
+% \iffalse
+%<*lxumsafd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{U}{lmsa}{}
+\DeclareFontShape{U}{lmsa}{m}{n}{<-> lmsam8}{}
+\DeclareFontShape{U}{lmsa}{bx}{n}{<-> ssub* lmsa/m/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxumsafd>
+% \fi
+%
+% \iffalse
+%<*lxumsbfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{U}{lmsb}{}
+\DeclareFontShape{U}{lmsb}{m}{n}{<-> lmsbm8}{}
+\DeclareFontShape{U}{lmsb}{bx}{n}{<-> ssub* lmsb/m/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxumsbfd>
+% \fi
+%
+% \subsection{The \LaTeX\ symbol fonts}
+% The same treatment is used for the \LaTeX\ symbol fonts as it was done with
+% the teletype text font: a different family name, but one font to be enlarged
+% or shrunk as the main text font..
+% \iffalse
+%<*lxultxfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{U}{lllasy}{}
+\DeclareFontShape{U}{lllasy}{m}{n}{<-> llasy8}{}
+\DeclareFontShape{U}{lllasy}{b}{n}{<-> llasyb8}{}
+% \end{macrocode}
+% \iffalse
+%</lxultxfd>
+% \fi
+%
+% \subsection{The Greek font for slides}
+% The CB Greek font collection contains also the family and shape of the slides
+% fonts; of course with the Greek script there is no problem with possible
+% confusions of capital `I' and lower case `l', therefore they did not need
+% any restyling. The only question related to Greek fonts is that the same
+% font family names for the Latin Script must be associated with the Greek
+% script with the Greek encoding LGR, instead of the Latin encoding T1. The
+% Greek font description files, therefore, have a different prefix (LGR),
+% the same family name (llcmss for proportional sans serif fonts, or lcmtt
+% for monospaced ones), but the glyphs are taken from the relevant Greek fonts.
+% \iffalse
+%<*lxlgrfd>
+% \fi
+% \begin{macrocode}
+\DeclareFontFamily{LGR}{llcmss}{\hyphenchar\font45}
+\DeclareFontShape{LGR}{llcmss}{m}{n}{<-> glmn0800}{}
+\DeclareFontShape{LGR}{llcmss}{m}{sl}{<-> glmo0800}{}
+\DeclareFontShape{LGR}{llcmss}{m}{it}{<-> ssub* llcmss/m/sl}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{n}{<-> glxn0800}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{sl}{<-> glxo0800}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{it}{<-> ssub* llcmss/bx/sl}{}
+\DeclareFontShape{LGR}{llcmss}{m}{ui}{<-> ssub* llcmss/m/n}{}
+\DeclareFontShape{LGR}{llcmss}{bx}{ui}{<-> ssub* llcmss/bx/n}{}
+% \end{macrocode}
+% \iffalse
+%</lxlgrfd>
+% \fi
+% The same action is taken for the teletype fonts, even if it is less probable
+% that such fonts are used in a presentations, since the teletype font is
+% normally used for typesetting programming code texts, very seldom written
+% in Greek.
+% \iffalse
+%<*lxlgrttfd>
+% \fi
+% \begin{macrocode}
+ \DeclareFontFamily{LGR}{llcmtt}{\hyphenchar\font\m@ne}
+ \DeclareFontShape{LGR}{llcmtt}{m}{n}{<-> gltn1000}{}
+ \DeclareFontShape{LGR}{llcmtt}{m}{it}{<-> glto1000}{}
+ \DeclareFontShape{LGR}{llcmtt}{m}{sl}{<-> ssub* lcmtt/m/it}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{n}{<-> ssub* lcmtt/m/n}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{it}{<-> ssub* lcmtt/m/it}{}
+ \DeclareFontShape{LGR}{llcmtt}{bx}{sl}{<-> ssub* lcmtt/m/it}{}
+% \end{macrocode}
+% \iffalse
+%</lxlgrttfd>
+% \fi
+%
+%\subsection{The map file}
+% The map file is necessary in order to reconfigure the |updmap.cfg|
+% so as to let \prog{pdftex} access these fonts. Notice that this
+% reconfiguration is done by the system installation macros and the
+% user should not play around with such delicate questions; it must be
+% remarked also that the methods for reconfiguring that file
+% are being updated in a significant way in certain distribution
+% of the \TeX\ system, and it would be very dangerous to describe the
+% 2013 procedure, when it possible that in 2014 it is a different one.
+% In any case the user who really needs to install these fonts ``by hand''
+% is advised to read the documentation of his/her current distribution
+% of the \TeX\ system so as to perform the update map correct configuration
+% procedure.
+% \iffalse
+%<*lxmap>
+% \fi
+% \begin{macrocode}
+lcmbsy8 lcmbsy8 <lcmbsy8.pfb
+lcmex8 lcmex8 <lcmex8.pfb
+lcmmi8 lcmmi8 <lcmmi8.pfb
+lcmmib8 lcmmib8 <lcmmib8.pfb
+lcmsy8 lcmsy8 <lcmsy8.pfb
+leclb8 leclb8 <leclb8.pfb
+lecli8 lecli8 <lecli8.pfb
+leclo8 leclo8 <leclo8.pfb
+leclq8 leclq8 <leclq8.pfb
+llasy8 llasy8 <llasy8.pfb
+llasyb8 llasyb8 <llasyb8.pfb
+llcmss8 llcmss8 <llcmss8.pfb
+llcmssb8 llcmssb8 <llcmssb8.pfb
+llcmssi8 llcmssi8 <llcmssi8.pfb
+llcmsso8 llcmsso8 <llcmsso8.pfb
+lmsam8 lmsam8 <lmsam8.pfb
+lmsbm8 lmsbm8 <lmsbm8.pfb
+ltclb8 ltclb8 <ltclb8.pfb
+ltcli8 ltcli8 <ltcli8.pfb
+ltclo8 ltclo8 <ltclo8.pfb
+ltclq8 ltclq8 <ltclq8.pfb
+% \end{macrocode}
+% \iffalse
+%<*lxmap>
+% \fi
+% The Greek CB fonts need not to be listed in this map file, because they
+% are already listed in the CB font map file that is being already used in
+% the installation of that Greek font collection.
+% \Finale
+% \endinput
+
+
+
+
+