% OFS: TX fonts, declaration
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Apr. 2004                                  Petr Olsak

%% see end of this file for more informations

\protectreading txfn.tex % This is part of OFS package

\ofsputfamlist {^^Jtxfn.tex:}

\ofsdeclarefamily [TXRoman] {% ---------- TX fonts: Times Roman
   \loadtextfam (Upright) txr\fotenc;%
                          txb\fotenc;%
                          txi\fotenc;%
                          txbi\fotenc;8c;%
   \newvariant6 \sl   (Slanted)          txsl\fotenc;8c;%
   \newvariant7 \bsl  (BoldSlanted)      txbsl\fotenc;8c;%
   \newvariant8 \csc  (Cap+SmallCap)     txsc\fotenc;8c;%
   \newvariant9 \bcsc (BoldCap+SmallCap) txbsc\fotenc;8c;%
   \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}%
}
\registerenc: 8t

\ofsdeclarefamily [TXSans] {% ---------- TX fonts: Helvetica
   \loadtextfam (Upright)     txss\fotenc;%
                              txbss\fotenc;%
                (Slanted)     txsssl\fotenc;%
                (BoldSlanted) txbsssl\fotenc;8c;%
   \newvariant8 \csc  (Cap+SmallCap)     txsssc\fotenc;8c;%
   \newvariant9 \bcsc (BoldCap+SmallCap) txbsssc\fotenc;8c;%
   \def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}%
}
\registerenc: 8t

\ofsdeclarefamily [TXTypewriter] {% ------ TX fonts: Typewriter
   \loadtextfam (Upright)     txtt\fotenc;%
                              txbtt\fotenc;%
                (Slanted)     txttsl\fotenc;%
                (BoldSlanted) txbttsl\fotenc;8c;%
   \newvariant8 \csc  (Cap+SmallCap)     txttsc\fotenc;8c;%
   \newvariant9 \bcsc (BoldCap+SmallCap) txbttsc\fotenc;8c;%
   \let\TeX=\origTeX
}
\registerenc: 8t

\registertfm txr8t    - t1xr   %
\registertfm txb8t    - t1xb   %
\registertfm txi8t    - t1xi   %
\registertfm txbi8t   - t1xbi  %
\registertfm txsl8t   - t1xsl  %
\registertfm txbsl8t  - t1xbsl %
\registertfm txsc8t   - t1xsc  %
\registertfm txbsc8t  - t1xbsc %

\registertfm txss8t     - t1xss    %
\registertfm txbss8t    - t1xbss   %
\registertfm txsssl8t   - t1xsssl  %
\registertfm txbsssl8t  - t1xbsssl %
\registertfm txsssc8t   - t1xsssc  %
\registertfm txbsssc8t  - t1xbsssc %

\registertfm txtt8t     - t1xtt    %
\registertfm txbtt8t    - t1xbtt   %
\registertfm txttsl8t   - t1xttsl  %
\registertfm txbttsl8t  - t1xbttsl %
\registertfm txttsc8t   - t1xttsc  %
\registertfm txbttsc8t  - t1xbttsc %

\registertfm txr8c    - tcxr   %
\registertfm txb8c    - tcxb   %
\registertfm txi8c    - tcxi   %
\registertfm txbi8c   - tcxbi  %
\registertfm txsl8c   - tcxsl  %
\registertfm txbsl8c  - tcxbsl %
\registertfm txsc8c   - tcxr   %
\registertfm txbsc8c  - tcxb   %

\registertfm txss8c    - tcxss    %
\registertfm txbss8c   - tcxbss   %
\registertfm txsssl8c  - tcxsssl  %
\registertfm txbsssl8c - tcxbsssl %
\registertfm txsssc8c  - tcxss    %
\registertfm txbsssc8c - tcxbss   %

\registertfm txtt8c    - tcxtt    %
\registertfm txbtt8c   - tcxbtt   %
\registertfm txttsl8c  - tcxttsl  %
\registertfm txbttsl8c - tcxbttsl %
\registertfm txttsc8c  - tcxtt    %
\registertfm txbttsc8c - tcxbtt   %

\def\loadTXnormalmath{%
  \loadmathfam 0[/txr]%                    Roman font
  \defaultskewchar=128
  \loadmathfam 1[/txmi]%                   Math Italic font
  \defaultskewchar=48
  \loadmathfam 2[/txsy]%                   Standard symbols
  \defaultskewchar=-1
  \noindexsize\loadmathfam 3[/txex]%       Standard extra symbols
  \chardef\itfam    4 
  \loadmathfam \itfam [/txi]%              Text Italic
  \chardef\bffam    5
  \loadmathfam \bffam [/txb]%              Bold font
  \chardef\bifam   6 
  \loadmathfam \bifam    [/txbi]%          Bold Italic
  \chardef\msamfam  7
  \loadmathfam \msamfam  [/txsya]%         MSAM, symbols from ASMTeX
  \chardef\msbmfam  8
  \loadmathfam \msbmfam  [/txsyb]%         MSBM, symbols from AMSTeX
  \chardef\txsycfam 9
  \loadmathfam \txsycfam [/txsyc]%         New symbols from TX fonts
  \chardef\txmiafam 10
  \loadmathfam \txmiafam [/txmia]%         Upright math italic
  \chardef\txexafam 11
  \loadmathfam \txexafam [/txexa]%         Extra extra symbols
  \let\slfam\undefined  \let\ttfam\undefined
  \lastfam =11 % four families for user
}
\def\loadTXboldmath{%
  \loadmathfam 0[/txb]%                     Roman font
  \defaultskewchar=127
  \loadmathfam 1[/txbmi]%                   Math Italic font
  \defaultskewchar=48
  \loadmathfam 2[/txbsy]%                   Standard symbols
  \defaultskewchar=-1
  \noindexsize\loadmathfam 3[/txbex]%       Standard extra symbols
  \chardef\itfam    4 
  \loadmathfam \itfam [/txbi]%              Text Italic
  \chardef\msamfam  7
  \loadmathfam \msamfam  [/txbsya]%         MSAM, symbols from ASMTeX
  \chardef\msbmfam  8
  \loadmathfam \msbmfam  [/txbsyb]%         MSBM, symbols from AMSTeX
  \chardef\txsycfam 9
  \loadmathfam \txsycfam [/txbsyc]%         New symbols from TX fonts
  \chardef\txmiafam 10
  \loadmathfam \txmiafam [/txbmia]%         Upright math italic
  \chardef\txexafam 11
  \loadmathfam \txexafam [/txbexa]%         Extra extra symbols
  \chardef\bffam=0 \let\bifam=\itfam
  \let\slfam\undefined  \let\ttfam\undefined
  \lastfam =11 % needs to be the same as in normalmath
}
\def\loadPXnormalmath{%
  \loadmathfam 0[-rm/]%                    Roman font
  \loadmathfam 1[-it/]%                    Math Italic font
  \defaultskewchar=48
  \loadmathfam 2[/txsy]%                   Standard symbols
  \defaultskewchar=-1
  \noindexsize\loadmathfam 3[/txex]%       Standard extra symbols
  \chardef\mifam    4 
  \loadmathfam \mifam [/txmi]%             Math Italic (greek symbols)
  \chardef\bffam    5
  \loadmathfam \bffam [-bf/]%              Bold font
  \chardef\bifam    6 
  \loadmathfam \bifam    [-bi/]%           Bold Italic
  \chardef\msamfam  7
  \loadmathfam \msamfam  [/txsya]%         MSAM, symbols from ASMTeX
  \chardef\msbmfam  8
  \loadmathfam \msbmfam  [/txsyb]%         MSBM, symbols from AMSTeX
  \chardef\txsycfam 9
  \loadmathfam \txsycfam [/txsyc]%         New symbols from TX fonts
  \chardef\txmiafam 10
  \loadmathfam \txmiafam [/txmia]%         Upright math italic
  \chardef\txexafam 11
  \loadmathfam \txexafam [/txexa]%         Extra extra symbols
  \chardef\rmsyfam  12
  \loadmathfam \rmsyfam  [/txr]%           TX Roman font (for uppercase greek)
  \let\slfam\undefined  \let\ttfam\undefined
  \lastfam =12 % three families for user
}
\def\loadPXboldmath{%
  \loadmathfam 0[-bf/]%                     Roman font
  \loadmathfam 1[-bi/]%                     Math Italic font
  \defaultskewchar=48
  \loadmathfam 2[/txbsy]%                   Standard symbols
  \defaultskewchar=-1
  \noindexsize\loadmathfam 3[/txbex]%       Standard extra symbols
  \chardef\mifam    4 
  \loadmathfam \mifam [/txbmi]%             Math Italic (greek symbols)
  \chardef\msamfam  7
  \loadmathfam \msamfam  [/txbsya]%         MSAM, symbols from ASMTeX
  \chardef\msbmfam  8
  \loadmathfam \msbmfam  [/txbsyb]%         MSBM, symbols from AMSTeX
  \chardef\txsycfam 9
  \loadmathfam \txsycfam [/txbsyc]%         New symbols from TX fonts
  \chardef\txmiafam 10
  \loadmathfam \txmiafam [/txbmia]%         Upright math italic
  \chardef\txexafam 11
  \loadmathfam \txexafam [/txbexa]%         Extra extra symbols
  \chardef\rmsyfam  12
  \loadmathfam \rmsyfam  [/txb]%            TX Roman font (for uppercase greek)
  \chardef\bffam=0 \chardef\bifam=1
  \let\slfam\undefined  \let\ttfam\undefined
  \lastfam =12 % needs to be the same as in normalmath
}
\def\setTXmathchars{%
  \mathencread ofs-ams;%
  \mathencread ofs-tx;%
}
\def\setPXmathchars{%
  \mathencread ofs-px;%
  \mathencread ofs-ams;%
  \mathencread ofs-tx;%
  \addcmd \mathcharsback {\mathencread ofs-cm;}%
}
\endinput

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

After:

\input txfn

the new text families TXRoman, TXSans and TXTypewriter
are declared and new math encodings TX and PX are declared.

TXRoman: the same as Times, but more variants \sl, \bsl, \csc and 
         \bcsc are defined and extension font is used from TXfonts 
         (all text-companion symbols are available).
TXSans:  the same as Helvetica, but more variants \csc and \bcsc
         are defined and extension font is used from TXfonts.
TXTypewriter: Special typewriter-like family from TXfonts.

TX: TXfonts will be used in all families of math fonts.
PX: fam0 (roman) will be the same as current text roman variant,
    fam1 (math-italic) will be the same as current text italic,
    other math symbols will be used from TXfonts.

Control sequences of all TX symbols (many hunderds) are available 
in math mode after \setmath[//] if \def\fomenc{TX} or
\def\fomenc{PX} is used. See TX documentation for more information
about names of these sequences and symbols shapes.

Not all possible math alphabets are allocated. For example, typewriter
and slanted variants are not allocated by default in order to keep the
space of math families. You can add math alphabets by hand:

* Sans serif bold slanted variant for math (usable for vectors):

\addcmd\mathfonts {\newmathfam\vecfam \loadmathfam\vecfam [/txbsssl]}
\addcmd\mathchars {\def\vec##1{{\fam\vecfam##1}}}

* \sl variant for math (I don't know how it is usable):

\addcmd\mathfonts {\def\tmpa{bold}%
   \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{}\fi
   \newmathfam\slfam \loadmathfam\slfam [/tx\tmpa sl]}

* \tt variant for math (I don't know how it is usable):

\addcmd\mathfonts {\def\tmpa{bold}%
   \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{}\fi
   \newmathfam\ttfam \loadmathfam\ttfam [/tx\tmpa tt]}

See end of amsfn.tex file for more examples of math alphabets 
(Euler Fraktur, Euler Script etc.).






