You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tex-compiler/texmf-dist/tex/latex/beamer/beamerbasefont.sty

335 lines
13 KiB

% Copyright 2003--2007 by Till Tantau
% Copyright 2010 by Vedran Mileti\'c
% Copyright 2012--2015 by Vedran Mileti\'c, Joseph Wright
% Copyright 2016 by Joseph Wright
% Copyright 2017,2018 by Louis Stuart, Joseph Wright
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/licenses/LICENSE for more details.
% For \blacktriangleright; not explicitly required by article, but can cause
% weird situations if users find that symbols works in presentation, but not
% in article mode.
% However, some classes or font packages clash with amssymb, so allow to
% disable auto-loading optionally.
\ifbeamer@amssymb
\RequirePackage{amssymb}
\fi
\mode
<presentation>
%
% Font theme stuff
%
\define@key{beamerthm}{size}
{\expandafter\def\csname beamer@thmfsize@\beamer@temp\endcsname{#1}}
\define@key{beamerthm}{size*}
{\expandafter\def\csname beamer@thmfsize@\beamer@temp\endcsname{\fontsize#1}}
\define@key{beamerthm}{shape}
{\expandafter\def\csname beamer@thmfshape@\beamer@temp\endcsname{#1}}
\define@key{beamerthm}{shape*}
{\expandafter\def\csname beamer@thmfshape@\beamer@temp\endcsname{\fontshape{#1}}}
\define@key{beamerthm}{series}
{\expandafter\def\csname beamer@thmfseries@\beamer@temp\endcsname{#1}}
\define@key{beamerthm}{series*}
{\expandafter\def\csname beamer@thmfseries@\beamer@temp\endcsname{\fontseries{#1}}}
\define@key{beamerthm}{family}
{\expandafter\def\csname beamer@thmffamily@\beamer@temp\endcsname{#1}}
\define@key{beamerthm}{family*}
{\expandafter\def\csname beamer@thmffamily@\beamer@temp\endcsname{\fontfamily{#1}}}
\define@key{beamerthm}{parent}
{\expandafter\def\csname beamer@thmfinherits@\beamer@temp\endcsname{%
\@for\@temp:={#1}\do{\expandafter\usebeamerfont\expandafter{\@temp}}}}
\newrobustcmd*\setbeamerfont{%
\@ifstar{\beamer@clearbeamerfont}{\beamer@setbeamerfont}}
\newcommand\beamer@clearbeamerfont[2]{%
\def\beamer@temp{#1}%
\setkeys{beamerthm}{size={},shape={},series={},family={},parent={}}%
\setkeys{beamerthm}{#2}%
}
\newcommand\beamer@setbeamerfont[2]{%
\def\beamer@temp{#1}%
\setkeys{beamerthm}{#2}%
}
\newrobustcmd*\usebeamerfont{%
\@ifstar{\reset@font\beamer@usebeamerfont}{\beamer@usebeamerfont}}
\newcommand\beamer@usebeamerfont[1]{%
\csname beamer@thmfinherits@#1\endcsname
\csname beamer@thmfsize@#1\endcsname
\csname beamer@thmfshape@#1\endcsname
\csname beamer@thmfseries@#1\endcsname
\csname beamer@thmffamily@#1\endcsname
\selectfont}
%
% computer modern font size stuff - redefinition for oversized fonts.
% Not used if other packages like lmodern kick in.
%
\def\EC@family#1#2#3#4#5{%
\DeclareFontShape{#1}{#2}{#3}{#4}%
{<3><4>#50500<5><6><7><8><9><10><10.95><12><14.4>%
<17.28><20.74><24.88><29.86><35.83>genb*#5<42.99><51.59>#53583}{}}
\EC@family{T1}{cmr}{m}{n}{ecrm}
\EC@family{T1}{cmr}{m}{sl}{ecsl}
\EC@family{T1}{cmr}{m}{it}{ecti}
\EC@family{T1}{cmr}{m}{sc}{eccc}
\EC@family{T1}{cmr}{bx}{n}{ecbx}
\EC@family{T1}{cmr}{b}{n}{ecrb}
\EC@family{T1}{cmr}{bx}{it}{ecbi}
\EC@family{T1}{cmr}{bx}{sl}{ecbl}
\EC@family{T1}{cmr}{bx}{sc}{ecxc}
\EC@family{T1}{cmr}{m}{ui}{ecui}
\DeclareFontShape{OT1}{cmr}{m}{n}%
{<3><4>cmr5<5><6><7><8><9><10><12>gen*cmr%
<10.95>cmr10%
<14.4>cmr12%
<17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmr17}{}
\DeclareFontShape{OT1}{cmr}{m}{sl}%
{<3><4><5><6><7>cmsl8%
<8><9>gen*cmsl%
<10><10.95>cmsl10%
<12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmsl12%
}{}
\DeclareFontShape{OT1}{cmr}{m}{it}%
{<3><4><5><6><7>cmti7%
<8>cmti8%
<9>cmti9%
<10><10.95>cmti10%
<12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmti12%
}{}
\DeclareFontShape{OT1}{cmr}{m}{sc}%
{<3><4><5><6><7><8><9><10><10.95><12>%
<14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmcsc10%
}{}
\DeclareFontShape{OT1}{cmr}{m}{ui}
{<3><4><5><6><7><8><9><10><10.95><12>%
<14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmu10%
}{}
\DeclareFontShape{OT1}{cmr}{b}{n}
{<3><4><5><6><7><8><9><10><10.95><12>%
<14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmb10%
}{}
\DeclareFontShape{OT1}{cmr}{bx}{n}
{<3><4>cmbx5<5><6><7><8><9>gen*cmbx%
<10><10.95>cmbx10%
<12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbx12%
}{}
\DeclareFontShape{OT1}{cmr}{bx}{sl}
{<3><4><5><6><7><8><9>%
<10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxsl10%
}{}
\DeclareFontShape{OT1}{cmr}{bx}{it}
{<3><4><5><6><7><8><9>%
<10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmbxti10%
}{}
\DeclareFontFamily{T1}{cmss}{}
\EC@family{T1}{cmss}{m}{n}{ecss}
\EC@family{T1}{cmss}{m}{sl}{ecsi}
\EC@family{T1}{cmss}{m}{it}{ecsi}
\EC@family{T1}{cmss}{bx}{n}{ecsx}
\EC@family{T1}{cmss}{bx}{it}{ecso}
\EC@family{T1}{cmss}{bx}{sl}{ecso}
\DeclareFontShape{T1}{cmss}{sbc}{n}{%
<3><4><5><6><7><8><9><10><10.95><12><14.4><17.28>%
<20.74><24.88><29.86><35.83><42.99><51.59>%
ecssdc10
}{}
\DeclareFontShape{OT1}{cmss}{m}{n}
{%
<3><4><5><6><7><8>cmss8%
<9>cmss9%
<10><10.95>cmss10%
<12><14.4>cmss12%
<17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmss17%
}{}
\DeclareFontShape{OT1}{cmss}{m}{sl}
{%
<3><4><5><6><7><8>cmssi8<9>cmssi9%
<10><10.95>cmssi10%
<12><14.4>cmssi12%
<17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssi17%
}{}
\DeclareFontShape{OT1}{cmss}{m}{it}
{%
<3><4><5><6><7><8>cmssi8<9>cmssi9%
<10><10.95>cmssi10%
<12><14.4>cmssi12%
<17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssi17%
}{}
\DeclareFontShape{OT1}{cmss}{sbc}{n}
{%
<3><4><5><6><7><8><9>cmssdc10%
<10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssdc10%
}{}
\DeclareFontShape{OT1}{cmss}{bx}{n}
{%
<3><4><5><6><7><8><9>cmssbx10%
<10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83><42.99><51.59>cmssbx10%
}{}
\newcommand*{\beamer@font@check}{%
\def\beamer@cmr{cmr}%
\edef\beamer@fmdef{\mathfamilydefault}%
% supress for standard cm
\ifx\beamer@fmdef\beamer@cmr\beamer@suppressreplacementstrue\fi
% supress for unicode math fonts
\@ifpackageloaded{unicode-math}{\beamer@suppressreplacementstrue}{}
% supress for mathtime serif and math minion serif
\@ifpackageloaded{arevmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{hvmath}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{kpfonts}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{lucidabr}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{lmodern}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{lucimatx}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mathastext}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mathpmnt}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mathpple}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mathtime}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mtpro}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
\@ifpackageloaded{mtpro2}{\ifbeamer@sansmath\else\beamer@suppressreplacementstrue\fi}{}%
}
\AtBeginDocument{%
\beamer@font@check
\ifbeamer@suppressreplacements\else
\ifbeamer@sansmath
\SetSymbolFont{operators}{normal}{OT1}{cmss}{\mddefault}{n}%
\ifx\mv@bold\@undefined
\else
\SetSymbolFont{operators}{bold}{OT1}{cmss}{\bfdefault}{n}%
\fi
\@ifpackageloaded{lmodern}
{%
\SetSymbolFont{operators}{normal}{OT1}{\sfdefault}{\mddefault}{n}%
\ifx\mv@bold\@undefined
\else
\SetSymbolFont{operators}{bold}{OT1}{\sfdefault}{\bfdefault}{n}%
\fi
}%
{}%
\fi
\DeclareSymbolFont{numbers}{\encodingdefault}{\mathfamilydefault}{\mddefault}{n}%
\DeclareSymbolFont{pureletters}{\encodingdefault}{\mathfamilydefault}{\mddefault}{it}%
\SetMathAlphabet{\mathrm}{normal}{\encodingdefault}{\rmdefault}{\mddefault}{n}%
\DeclareMathAlphabet{\mathbf}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}%
\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{\mddefault}{n}%
\DeclareMathAlphabet{\mathit}{\encodingdefault}{\mathfamilydefault}{\mddefault}{it}%
\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{\mddefault}{n}%
\ifx\mv@bold\@undefined\else
\SetSymbolFont{numbers}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}%
\SetSymbolFont{pureletters}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{it}%
\SetMathAlphabet{\mathrm}{bold}{\encodingdefault}{\rmdefault}{\bfdefault}{n}%
\SetMathAlphabet{\mathbf}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{n}%
\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}%
\SetMathAlphabet{\mathit}{bold}{\encodingdefault}{\mathfamilydefault}{\bfdefault}{it}%
\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{\bfdefault}{n}%
\fi
%
\DeclareMathSymbol{0}\mathalpha{numbers}{"30}%
\DeclareMathSymbol{1}\mathalpha{numbers}{"31}%
\DeclareMathSymbol{2}\mathalpha{numbers}{"32}%
\DeclareMathSymbol{3}\mathalpha{numbers}{"33}%
\DeclareMathSymbol{4}\mathalpha{numbers}{"34}%
\DeclareMathSymbol{5}\mathalpha{numbers}{"35}%
\DeclareMathSymbol{6}\mathalpha{numbers}{"36}%
\DeclareMathSymbol{7}\mathalpha{numbers}{"37}%
\DeclareMathSymbol{8}\mathalpha{numbers}{"38}%
\DeclareMathSymbol{9}\mathalpha{numbers}{"39}%
%
\DeclareMathSymbol{A}\mathalpha{pureletters}{"41}%
\DeclareMathSymbol{B}\mathalpha{pureletters}{"42}%
\DeclareMathSymbol{C}\mathalpha{pureletters}{"43}%
\DeclareMathSymbol{D}\mathalpha{pureletters}{"44}%
\DeclareMathSymbol{E}\mathalpha{pureletters}{"45}%
\DeclareMathSymbol{F}\mathalpha{pureletters}{"46}%
\DeclareMathSymbol{G}\mathalpha{pureletters}{"47}%
\DeclareMathSymbol{H}\mathalpha{pureletters}{"48}%
\DeclareMathSymbol{I}\mathalpha{pureletters}{"49}%
\DeclareMathSymbol{J}\mathalpha{pureletters}{"4A}%
\DeclareMathSymbol{K}\mathalpha{pureletters}{"4B}%
\DeclareMathSymbol{L}\mathalpha{pureletters}{"4C}%
\DeclareMathSymbol{M}\mathalpha{pureletters}{"4D}%
\DeclareMathSymbol{N}\mathalpha{pureletters}{"4E}%
\DeclareMathSymbol{O}\mathalpha{pureletters}{"4F}%
\DeclareMathSymbol{P}\mathalpha{pureletters}{"50}%
\DeclareMathSymbol{Q}\mathalpha{pureletters}{"51}%
\DeclareMathSymbol{R}\mathalpha{pureletters}{"52}%
\DeclareMathSymbol{S}\mathalpha{pureletters}{"53}%
\DeclareMathSymbol{T}\mathalpha{pureletters}{"54}%
\DeclareMathSymbol{U}\mathalpha{pureletters}{"55}%
\DeclareMathSymbol{V}\mathalpha{pureletters}{"56}%
\DeclareMathSymbol{W}\mathalpha{pureletters}{"57}%
\DeclareMathSymbol{X}\mathalpha{pureletters}{"58}%
\DeclareMathSymbol{Y}\mathalpha{pureletters}{"59}%
\DeclareMathSymbol{Z}\mathalpha{pureletters}{"5A}%
%
\DeclareMathSymbol{a}\mathalpha{pureletters}{"61}%
\DeclareMathSymbol{b}\mathalpha{pureletters}{"62}%
\DeclareMathSymbol{c}\mathalpha{pureletters}{"63}%
\DeclareMathSymbol{d}\mathalpha{pureletters}{"64}%
\DeclareMathSymbol{e}\mathalpha{pureletters}{"65}%
\DeclareMathSymbol{f}\mathalpha{pureletters}{"66}%
\DeclareMathSymbol{g}\mathalpha{pureletters}{"67}%
\DeclareMathSymbol{h}\mathalpha{pureletters}{"68}%
\DeclareMathSymbol{i}\mathalpha{pureletters}{"69}%
\DeclareMathSymbol{j}\mathalpha{pureletters}{"6A}%
\DeclareMathSymbol{k}\mathalpha{pureletters}{"6B}%
\DeclareMathSymbol{l}\mathalpha{pureletters}{"6C}%
\DeclareMathSymbol{m}\mathalpha{pureletters}{"6D}%
\DeclareMathSymbol{n}\mathalpha{pureletters}{"6E}%
\DeclareMathSymbol{o}\mathalpha{pureletters}{"6F}%
\DeclareMathSymbol{p}\mathalpha{pureletters}{"70}%
\DeclareMathSymbol{q}\mathalpha{pureletters}{"71}%
\DeclareMathSymbol{r}\mathalpha{pureletters}{"72}%
\DeclareMathSymbol{s}\mathalpha{pureletters}{"73}%
\DeclareMathSymbol{t}\mathalpha{pureletters}{"74}%
\DeclareMathSymbol{u}\mathalpha{pureletters}{"75}%
\DeclareMathSymbol{v}\mathalpha{pureletters}{"76}%
\DeclareMathSymbol{w}\mathalpha{pureletters}{"77}%
\DeclareMathSymbol{x}\mathalpha{pureletters}{"78}%
\DeclareMathSymbol{y}\mathalpha{pureletters}{"79}%
\DeclareMathSymbol{z}\mathalpha{pureletters}{"7A}%
\fi
}
\ifbeamer@sansmath
\IfFileExists{sansmathaccent.sty}
{\RequirePackage{sansmathaccent}}
{}
\fi
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\newrobustcmd*\Tiny{\@setfontsize\Tiny{4}{5}}
\newrobustcmd*\TINY{\@setfontsize\Tiny{3}{4}}
\mode
<article>
{
\let\Tiny=\tiny
\let\TINY=\tiny
\newrobustcmd*\setbeamerfont{\@ifstar{\@gobbletwo}{\@gobbletwo}}
\newrobustcmd*\usebeamerfont{\@ifstar{\beamer@optgog}{\beamer@optgog}}
}
\mode
<all>