5 \ofsputfamlist{^^JLatinModern:}
7 \def\LMfeat#1{:mode=base;script=latn;+tlig}
11 \ofsdeclarefamily [LMRoman] {%
16 \newvariant 8 \sl (Slanted) lmsl;;%
17 \newvariant 9 \bxsl (BoldSlanted) lmbxsl;;%
18 \newvariant a \bo (BoldNormal) lmb;;%
19 \newvariant b \bosl (BoldNormalSlanted) lmbsl;;%
20 \newvariant c \csc (CapsAndSmallCaps) lmcsc;;%
23 \registertfm lmr - LMRoman10-Regular\LMfeat{}
24 \registertfm lmr 0pt-6pt LMRoman5-Regular\LMfeat{}
25 \registertfm lmr 6pt-7pt LMRoman6-Regular\LMfeat{}
26 \registertfm lmr 7pt-8pt LMRoman7-Regular\LMfeat{}
27 \registertfm lmr 8pt-9pt LMRoman8-Regular\LMfeat{}
28 \registertfm lmr 9pt-10pt LMRoman9-Regular\LMfeat{}
29 \registertfm lmr 10pt-12pt LMRoman10-Regular\LMfeat{}
30 \registertfm lmr 12pt-17pt LMRoman12-Regular\LMfeat{}
31 \registertfm lmr 17pt-* LMRoman17-Regular\LMfeat{}
33 \registertfm lmbx - LMRoman10-Bold\LMfeat{}
34 \registertfm lmbx 0pt-6pt LMRoman5-Bold\LMfeat{}
35 \registertfm lmbx 6pt-7pt LMRoman6-Bold\LMfeat{}
36 \registertfm lmbx 7pt-8pt LMRoman7-Bold\LMfeat{}
37 \registertfm lmbx 8pt-9pt LMRoman8-Bold\LMfeat{}
38 \registertfm lmbx 9pt-10pt LMRoman9-Bold\LMfeat{}
39 \registertfm lmbx 10pt-12pt LMRoman10-Bold\LMfeat{}
40 \registertfm lmbx 12pt-* LMRoman12-Bold\LMfeat{}
42 \registertfm lmti - LMRoman10-Italic\LMfeat{}
43 \registertfm lmti 0pt-8pt LMRoman7-Italic\LMfeat{}
44 \registertfm lmti 8pt-9pt LMRoman8-Italic\LMfeat{}
45 \registertfm lmti 9pt-10pt LMRoman9-Italic\LMfeat{}
46 \registertfm lmti 10pt-12pt LMRoman10-Italic\LMfeat{}
47 \registertfm lmti 12pt-* LMRoman12-Italic\LMfeat{}
49 \registertfm lmbxti - LMRoman10-BoldItalic\LMfeat{}
51 \registertfm lmsl - LMRomanSlant10-Regular\LMfeat{}
52 \registertfm lmsl 0pt-9pt LMRomanSlant8-Regular\LMfeat{}
53 \registertfm lmsl 9pt-10pt LMRomanSlant9-Regular\LMfeat{}
54 \registertfm lmsl 10pt-12pt LMRomanSlant10-Regular\LMfeat{}
55 \registertfm lmsl 12pt-17pt LMRomanSlant12-Regular\LMfeat{}
56 \registertfm lmsl 17pt-* LMRomanSlant17-Regular\LMfeat{}
58 \registertfm lmbxsl - LMRomanSlant10-Bold\LMfeat{}
60 \registertfm lmb - LMRomanDemi10-Regular\LMfeat{}
62 \registertfm lmbsl - LMRomanDemi10-Oblique\LMfeat{}
64 \registertfm lmcsc - LMRomanCaps10-Regular\LMfeat{}
70 \ofsdeclarefamily [LMSans] {%
77 \registertfm lmss - LMSans10-Regular\LMfeat{}
78 \registertfm lmss 0pt-9pt LMSans8-Regular\LMfeat{}
79 \registertfm lmss 9pt-10pt LMSans9-Regular\LMfeat{}
80 \registertfm lmss 10pt-12pt LMSans10-Regular\LMfeat{}
81 \registertfm lmss 12pt-17pt LMSans12-Regular\LMfeat{}
82 \registertfm lmss 17pt-* LMSans17-Regular\LMfeat{}
84 \registertfm lmssbx - LMSans10-Bold\LMfeat{}
86 \registertfm lmsso - LMSans10-Oblique\LMfeat{}
87 \registertfm lmsso 0pt-9pt LMSans8-Oblique\LMfeat{}
88 \registertfm lmsso 9pt-10pt LMSans9-Oblique\LMfeat{}
89 \registertfm lmsso 10pt-12pt LMSans10-Oblique\LMfeat{}
90 \registertfm lmsso 12pt-17pt LMSans12-Oblique\LMfeat{}
91 \registertfm lmsso 17pt-* LMSans17-Oblique\LMfeat{}
93 \registertfm lmssbo - LMSans10-BoldOblique\LMfeat{}
97 \ofsdeclarefamily [LMSansDC] {%
104 \registertfm lmssdc - LMSansDemiCond10-Regular\LMfeat{}
106 \registertfm lmssdo - LMSansDemiCond10-Oblique\LMfeat{}
110 \ofsdeclarefamily [LMMono] {%
115 \newvariant 8 \sl (Slanted) lmtto;;%
116 \newvariant 9 \bxsl (BoldSlanted) lmtko;;%
117 \newvariant c \csc (CapsAndSmallCaps) lmtcsc;;%
120 \registertfm lmtt - LMMono10-Regular\LMfeat{}
121 \registertfm lmtt 0pt-9pt LMMono8-Regular\LMfeat{}
122 \registertfm lmtt 9pt-10pt LMMono9-Regular\LMfeat{}
123 \registertfm lmtt 10pt-12pt LMMono10-Regular\LMfeat{}
124 \registertfm lmtt 12pt-* LMMono12-Regular\LMfeat{}
126 \registertfm lmtk - LMMonoLt10-Bold\LMfeat{}
128 \registertfm lmtti - LMMono10-Italic\LMfeat{}
130 \registertfm lmtto - LMMonoSlant10-Regular\LMfeat{}
132 \registertfm lmtko - LMMonoLt10-BoldOblique\LMfeat{}
134 \registertfm lmtcsc - LMMonoCaps10-Regular\LMfeat{}
137 \loadmathfam\ttfam[/LMMono10-Regular\LMfeat{}]
139 %%% LMMonoCondensed %%%
141 \ofsdeclarefamily [LMMonoCondensed] {%
148 \registertfm lmtlc - LMMonoLtCond10-Regular\LMfeat{}
150 \registertfm lmtlco - LMMonoLtCond10-Oblique\LMfeat{}
152 %%% UCW extensions %%%
154 \ofsputfamlist{^^JUCW:}
156 \ofsdeclarefamily [BlackboardBold] {%
163 \registertfm bbm - bbm10
164 \registertfm bbm 0pt-6pt bbm5
165 \registertfm bbm 6pt-7pt bbm6
166 \registertfm bbm 7pt-8pt bbm7
167 \registertfm bbm 8pt-9pt bbm8
168 \registertfm bbm 9pt-10pt bbm9
169 \registertfm bbm 10pt-12pt bbm10
170 \registertfm bbm 12pt-17pt bbm12
171 \registertfm bbm 17pt-* bbm17
173 % \bb - blackboard bold math font
179 \loadmathfam\bbfam[/bbm]%
183 %%% Font size switches %%%
185 % Recalculate line spacing for a given point size of the font (assuming CM-like metrics).
186 % Also sets \strut and \topskip.
187 \def\setbaselines#1{%
190 \normalbaselineskip=1.2\dimen0
191 \normallineskip=0.1\dimen0
192 \setbox\strutbox=\hbox{\vrule height 0.85\dimen0 depth 0.35\dimen0 width 0pt}%
197 % Switch to a specified font size (including math, line spacing etc.)
205 \def\twelvepoint{\settextsize{12}}
207 %%% Various hacks %%%
209 % Re-define \tt, so that it works in both text and math mode
210 \def\tt{\ifmmode\fam\ttfam\else\setfonts[LMMono/]\fi}