]> mj.ucw.cz Git - ucwmac.git/blob - ucw-luaofs.tex
Separate modules for links and references
[ucwmac.git] / ucw-luaofs.tex
1 \input luaotfload.sty
2 \input ofs.tex
3 \nofontmessages
4
5 \ofsputfamlist{^^JLatinModern:}
6
7 \def\LMfeat#1{:mode=base;script=latn;+tlig}
8
9 %%% LMRoman %%%
10
11 \ofsdeclarefamily [LMRoman] {%
12    \loadtextfam lmr;%
13                 lmbx;%
14                 lmti;%
15                 lmbxti;;%
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;;%
21 }
22
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{}
32
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{}
41
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{}
48
49 \registertfm lmbxti     -      LMRoman10-BoldItalic\LMfeat{}
50
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{}
57
58 \registertfm lmbxsl     -      LMRomanSlant10-Bold\LMfeat{}
59
60 \registertfm lmb        -      LMRomanDemi10-Regular\LMfeat{}
61
62 \registertfm lmbsl      -      LMRomanDemi10-Oblique\LMfeat{}
63
64 \registertfm lmcsc      -      LMRomanCaps10-Regular\LMfeat{}
65
66 \setfonts[LMRoman/]
67
68 %%% LMSans %%%
69
70 \ofsdeclarefamily [LMSans] {%
71    \loadtextfam lmss;%
72                 lmssbx;%
73                 lmsso;%
74                 lmssbo;;%
75 }
76
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{}
83
84 \registertfm lmssbx     -      LMSans10-Bold\LMfeat{}
85
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{}
92
93 \registertfm lmssbo     -      LMSans10-BoldOblique\LMfeat{}
94
95 %%% LMSansDC %%%
96
97 \ofsdeclarefamily [LMSansDC] {%
98    \loadtextfam lmssdc;%
99                 ;%
100                 lmssdo;%
101                 ;;%
102 }
103
104 \registertfm lmssdc     -      LMSansDemiCond10-Regular\LMfeat{}
105
106 \registertfm lmssdo     -      LMSansDemiCond10-Oblique\LMfeat{}
107
108 %%% LMMono %%%
109
110 \ofsdeclarefamily [LMMono] {%
111    \loadtextfam lmtt;%
112                 lmtk;%
113                 lmtti;%
114                 ;;%
115    \newvariant 8 \sl   (Slanted)     lmtto;;%
116    \newvariant 9 \bxsl (BoldSlanted) lmtko;;%
117    \newvariant c \csc  (CapsAndSmallCaps)   lmtcsc;;%
118 }
119
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{}
125
126 \registertfm lmtk       -      LMMonoLt10-Bold\LMfeat{}
127
128 \registertfm lmtti      -      LMMono10-Italic\LMfeat{}
129
130 \registertfm lmtto      -      LMMonoSlant10-Regular\LMfeat{}
131
132 \registertfm lmtko      -      LMMonoLt10-BoldOblique\LMfeat{}
133
134 \registertfm lmtcsc     -      LMMonoCaps10-Regular\LMfeat{}
135
136 \newfam\ttfam
137 \loadmathfam\ttfam[/LMMono10-Regular\LMfeat{}]
138
139 %%% LMMonoCondensed %%%
140
141 \ofsdeclarefamily [LMMonoCondensed] {%
142    \loadtextfam lmtlc;%
143                 ;%
144                 lmtlco;%
145                 ;;%
146 }
147
148 \registertfm lmtlc      -      LMMonoLtCond10-Regular\LMfeat{}
149
150 \registertfm lmtlco     -      LMMonoLtCond10-Oblique\LMfeat{}
151
152 %%% UCW extensions %%%
153
154 \ofsputfamlist{^^JUCW:}
155
156 \ofsdeclarefamily [BlackboardBold] {%
157    \loadtextfam bbm;%
158                 ;%
159                 ;%
160                 ;\defaultextraenc;%
161 }
162
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
172
173 % \bb - blackboard bold math font
174
175 \newfam\bbfam
176 \def\bb{\fam\bbfam}
177
178 \def\loadbbm{%
179         \loadmathfam\bbfam[/bbm]%
180 }
181 \loadbbm
182
183 %%% Font size switches %%%
184
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{%
188         \dimen0=1pt
189         \dimen0=#1\dimen0
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}%
193         \topskip=1\dimen0
194         \normalbaselines
195 }
196
197 % Switch to a specified font size (including math, line spacing etc.)
198 \def\settextsize#1{%
199         \def\fomenc{CM}%
200         \setfonts[/#1]%
201         \setmath[//]%
202         \setbaselines{#1}%
203         \loadbbm
204 }
205 \def\twelvepoint{\settextsize{12}}
206
207 %%% Various hacks %%%
208
209 % Re-define \tt, so that it works in both text and math mode
210 \def\tt{\ifmmode\fam\ttfam\else\setfonts[LMMono/]\fi}