summaryrefslogtreecommitdiff
path: root/fonts/variablelm/tex/variablelm.sty
blob: a74fb6125063274be9464b95dc0d26bb46f46c21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
\ProvidesPackage{variablelm}[2021/05/16 v1.2 to control the scaling for Latin Modern Fonts by Yuwsuke KIEDA]

\RequirePackage{xkeyval}
\@ifpackageloaded{lmodern}{}{\@latexerr{You must be load "lmodern" package}\@ehb}
\@ifpackageloaded{amsmath}{}{%
  \@latex@warning@no@line{\noexpand\usepackage{amsmath} is effective for correct functioning of \noexpand\big, \noexpand\Big, \noexpand\bigg, etc}}

\DeclareOptionX{scale}[1.0]{\def\alphabet@scale{#1}}
\DeclareOptionX{ttscale}[1.0]{\def\alphabet@scale@tt{#1}}
\DeclareOptionX{sfscale}[1.0]{\def\alphabet@scale@sf{#1}}
\DeclareOptionX{encoding}[T1]{\def\alphabet@scale@encoding{#1}}

\@ifundefined{alphabet@scale}{\def\alphabet@scale{1.0}}{}
\@ifundefined{alphabet@scale@tt}{\def\alphabet@scale@tt{\alphabet@scale}}{}
\@ifundefined{alphabet@scale@sf}{\def\alphabet@scale@sf{\alphabet@scale}}{}
\@ifundefined{alphabet@scale@encoding}{\def\alphabet@scale@encoding{T1}}{}

\renewcommand{\rmdefault}{vlmr}
\renewcommand{\sfdefault}{vlmss}
\renewcommand{\ttdefault}{vlmtt}

\renewcommand{\bfdefault}{bx}

\DeclareOptionX{variablett}{\renewcommand{\ttdefault}{vlmvtt}}
\DeclareOptionX{lighttt}{\let\vlmtt@use@light@as@normal\@empty}

%\ProcessOptions\relax

\ProcessOptionsX

\@ifpackageloaded{fontenc}{}{\RequirePackage[\alphabet@scale@encoding]{fontenc}}

\SetSymbolFont{operators}{normal}{OT1}{vlmr}{m}{n}
\SetSymbolFont{letters}{normal}{OML}{vlmm}{m}{it}
\SetSymbolFont{symbols}{normal}{OMS}{vlmsy}{m}{n}
\SetSymbolFont{largesymbols}{normal}{OMX}{vlmex}{m}{n}
\SetSymbolFont{operators}{bold}{OT1}{vlmr}{bx}{n}
\SetSymbolFont{letters}{bold}{OML}{vlmm}{b}{it}
\SetSymbolFont{symbols}{bold}{OMS}{vlmsy}{b}{n}
\SetSymbolFont{largesymbols}{bold}{OMX}{vlmex}{m}{n}

\SetMathAlphabet{\mathbf}{normal}{\alphabet@scale@encoding}{vlmr}{bx}{n}
\SetMathAlphabet{\mathsf}{normal}{\alphabet@scale@encoding}{vlmss}{m}{n}
\SetMathAlphabet{\mathit}{normal}{\alphabet@scale@encoding}{vlmr}{m}{it}
\SetMathAlphabet{\mathtt}{normal}{\alphabet@scale@encoding}{vlmtt}{m}{n}
\SetMathAlphabet{\mathbf}{bold}{\alphabet@scale@encoding}{vlmr}{bx}{n}
\SetMathAlphabet{\mathsf}{bold}{\alphabet@scale@encoding}{vlmss}{bx}{n}
\SetMathAlphabet{\mathit}{bold}{\alphabet@scale@encoding}{vlmr}{bx}{it}
\SetMathAlphabet{\mathtt}{bold}{\alphabet@scale@encoding}{vlmtt}{m}{n}
\endinput