% \iffalse meta-comment %<*internal> \begingroup \input docstrip.tex \keepsilent \askforoverwritefalse \preamble ____________________________________________________ The LXfonts package Copyright (C) 2008-2025 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.txt test file for further details \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 % % \fi % % \iffalse %<*driver> \documentclass{ltxdoc} \ProvidesFile{lxfonts.dtx}[2025-02-03 v.3.0 Documented TeX file for the LXfonts bundle] \GetFileInfo{lxfonts.dtx} \title{The LXfonts bundle} \date{\fileversion\space--- \filedate} \author{Claudio Beccari \\[1ex] \texttt{claudio.beccari(at)gmail.com}} \usepackage{mflogo} %\usepackage{textcomp} \usepackage[LGR,T1]{fontenc} \def\prog#1{\textsf{#1}} \def\pack#1{\textsf{\slshape#1}} \def\file#1{\texttt{\itshape#1}} \DeclareRobustCommand\AMS{\ensuremath{\mathcal{A\!_{\textstyle M}\mkern-2mu S}}} \begin{document}\errorcontextlines=9 \maketitle \setlength\hfuzz{20pt} \DocInput{lxfonts.dtx} \end{document} % % \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, preferably % 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 (the old OT1 encoding % 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, but users are suggested % to avoid their usage; they should prefer the AMS % fonts. % % \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 ones. % % 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 transparencies, 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\footnote{Recently the \TeX\ Companion fonts were split in several subsets and the realtive macros are included in the \LaTeX\ kernel, therefore it is not necessary to load the \pack{texcomp} package.}, the \AMS\ fonts and % the vintage \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 x-height. 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 % \file{.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 outout % font encoding(s). % % \section{Standalone usage of the LX fonts}\label{sec:standalone} % % The style file \pack{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 \file{.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 the previous version 1.0 of this package, % this functionality was not available. % % \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 that % of 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!}. % % More comfortably, while typesetting with % \prog{pdflatex}, load package \pack{begingreek} % that provides an environment the contents of % which is assumed to be in Greek. % % \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 are 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, require 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 and OpenType 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ünter % Milde, who gave me precious suggestions, among % which that of detaching the font description % files form the \file{lxfonts.sty} file. % I would like to express my thanks to \@miticollo, % a very attentive and expert frequenter of the % Italian TUG forum, for suggesting smart solutions % to correct some glitches that were determinant % when typesetting with \\prog{LuaLaTeX} and % \pack{polyglossia}. % % \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 package \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}[2023/01/01] \ProvidesPackage{lxfonts}[2025/02/03 v.3.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 next few commands were suggested by % \@miticollo, who suggested these macros to be % applied to the ordinary teletype CM fonts by a % factor that enlarges their x-height by a 25\% % percentage, so that the x-height equals that of % the LX roman and italic fonts. % \begin{macrocode} \newfont{\cit}{cmssqi8 scaled 1250} \newfont{\lit}{lcmssi8 scaled 1250} \newfont{\cir}{cmssq8 scaled 1250} \newfont{\lir}{lcmss8 scaled 1250} \DeclareFixedFont{\cmsyx}{OMS}{cmsy}{m}{n}{12.5} \DeclareFixedFont{\cmssx}{OT1}{cmss}{m}{n}{12.5} \makeatletter \input{t1llcmtt.fd} % loads T1/llcmtt \input{omxllcmex.fd} % loads OMX/llcmex \DeclareFontShape{T1}{llcmtt}{m}{n}{<-> [1.25]ecltt8}{} \DeclareFontShape{T1}{llcmtt}{m}{it}{<-> [1.25]ecit0800}{} \DeclareFontShape{OMX}{llcmex}{m}{n}{<-> lcmex8}{} \DeclareEncodingSubset{TS1}{llcmss}{0} % \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 were 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 % % \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 % % \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-1} \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 % % \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 % % \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-1} \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 % % \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 % % \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 % % \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 % % \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 % % \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 % % \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 % % \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 % % \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 % % \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-1} \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 % % \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 actual procedure, % when it possible that in 2014 it is a different % one. In any case users who really need to install % these fonts “by hand” is advised to read the % documentation of their current distribution of the % \TeX\ system so as to upgrade the update map % correct configuration procedure. % \iffalse %<*lxmap> % \fi % \begin{macrocode} lcmbsy8 lcmbsy8 % \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