]> mj.ucw.cz Git - ucwmac.git/blob - ucw-luaofs.tex
ucw-ref: Fixed bug in \pageid
[ucwmac.git] / ucw-luaofs.tex
1 \ucwdefmodule{luaofs}
2 \ucwdefmodule{ofs}
3
4 \input luaotfload.sty
5 \input ofs.tex
6 \nofontmessages
7
8 \ofsputfamlist{^^JLatinModern:}
9
10 \def\LMfeat#1{:mode=base;script=latn;+tlig}
11 \def\LMMonofeat#1{:mode=base;script=latn}
12
13 %%% LMRoman %%%
14
15 \ofsdeclarefamily [LMRoman] {%
16    \loadtextfam lmr;%
17                 lmbx;%
18                 lmti;%
19                 lmbxti;;%
20    \newvariant 8 \sl   (Slanted)     lmsl;;%
21    \newvariant 9 \bxsl (BoldSlanted) lmbxsl;;%
22    \newvariant a \bo   (BoldNormal)  lmb;;%
23    \newvariant b \bosl (BoldNormalSlanted)  lmbsl;;%
24    \newvariant c \csc  (CapsAndSmallCaps)   lmcsc;;%
25 }
26
27 \registertfm lmr        -      LMRoman10-Regular\LMfeat{}
28 \registertfm lmr     0pt-6pt   LMRoman5-Regular\LMfeat{}
29 \registertfm lmr     6pt-7pt   LMRoman6-Regular\LMfeat{}
30 \registertfm lmr     7pt-8pt   LMRoman7-Regular\LMfeat{}
31 \registertfm lmr     8pt-9pt   LMRoman8-Regular\LMfeat{}
32 \registertfm lmr     9pt-10pt  LMRoman9-Regular\LMfeat{}
33 \registertfm lmr    10pt-12pt  LMRoman10-Regular\LMfeat{}
34 \registertfm lmr    12pt-17pt  LMRoman12-Regular\LMfeat{}
35 \registertfm lmr    17pt-*     LMRoman17-Regular\LMfeat{}
36
37 \registertfm lmbx       -      LMRoman10-Bold\LMfeat{}
38 \registertfm lmbx    0pt-6pt   LMRoman5-Bold\LMfeat{}
39 \registertfm lmbx    6pt-7pt   LMRoman6-Bold\LMfeat{}
40 \registertfm lmbx    7pt-8pt   LMRoman7-Bold\LMfeat{}
41 \registertfm lmbx    8pt-9pt   LMRoman8-Bold\LMfeat{}
42 \registertfm lmbx    9pt-10pt  LMRoman9-Bold\LMfeat{}
43 \registertfm lmbx   10pt-12pt  LMRoman10-Bold\LMfeat{}
44 \registertfm lmbx   12pt-*     LMRoman12-Bold\LMfeat{}
45
46 \registertfm lmti       -      LMRoman10-Italic\LMfeat{}
47 \registertfm lmti    0pt-8pt   LMRoman7-Italic\LMfeat{}
48 \registertfm lmti    8pt-9pt   LMRoman8-Italic\LMfeat{}
49 \registertfm lmti    9pt-10pt  LMRoman9-Italic\LMfeat{}
50 \registertfm lmti   10pt-12pt  LMRoman10-Italic\LMfeat{}
51 \registertfm lmti   12pt-*     LMRoman12-Italic\LMfeat{}
52
53 \registertfm lmbxti     -      LMRoman10-BoldItalic\LMfeat{}
54
55 \registertfm lmsl       -      LMRomanSlant10-Regular\LMfeat{}
56 \registertfm lmsl    0pt-9pt   LMRomanSlant8-Regular\LMfeat{}
57 \registertfm lmsl    9pt-10pt  LMRomanSlant9-Regular\LMfeat{}
58 \registertfm lmsl   10pt-12pt  LMRomanSlant10-Regular\LMfeat{}
59 \registertfm lmsl   12pt-17pt  LMRomanSlant12-Regular\LMfeat{}
60 \registertfm lmsl   17pt-*     LMRomanSlant17-Regular\LMfeat{}
61
62 \registertfm lmbxsl     -      LMRomanSlant10-Bold\LMfeat{}
63
64 \registertfm lmb        -      LMRomanDemi10-Regular\LMfeat{}
65
66 \registertfm lmbsl      -      LMRomanDemi10-Oblique\LMfeat{}
67
68 \registertfm lmcsc      -      LMRomanCaps10-Regular\LMfeat{}
69
70 \setfonts[LMRoman/]
71
72 %%% LMSans %%%
73
74 \ofsdeclarefamily [LMSans] {%
75    \loadtextfam lmss;%
76                 lmssbx;%
77                 lmsso;%
78                 lmssbo;;%
79 }
80
81 \registertfm lmss       -      LMSans10-Regular\LMfeat{}
82 \registertfm lmss    0pt-9pt   LMSans8-Regular\LMfeat{}
83 \registertfm lmss    9pt-10pt  LMSans9-Regular\LMfeat{}
84 \registertfm lmss   10pt-12pt  LMSans10-Regular\LMfeat{}
85 \registertfm lmss   12pt-17pt  LMSans12-Regular\LMfeat{}
86 \registertfm lmss   17pt-*     LMSans17-Regular\LMfeat{}
87
88 \registertfm lmssbx     -      LMSans10-Bold\LMfeat{}
89
90 \registertfm lmsso      -      LMSans10-Oblique\LMfeat{}
91 \registertfm lmsso   0pt-9pt   LMSans8-Oblique\LMfeat{}
92 \registertfm lmsso   9pt-10pt  LMSans9-Oblique\LMfeat{}
93 \registertfm lmsso  10pt-12pt  LMSans10-Oblique\LMfeat{}
94 \registertfm lmsso  12pt-17pt  LMSans12-Oblique\LMfeat{}
95 \registertfm lmsso  17pt-*     LMSans17-Oblique\LMfeat{}
96
97 \registertfm lmssbo     -      LMSans10-BoldOblique\LMfeat{}
98
99 %%% LMSansDC %%%
100
101 \ofsdeclarefamily [LMSansDC] {%
102    \loadtextfam lmssdc;%
103                 ;%
104                 lmssdo;%
105                 ;;%
106 }
107
108 \registertfm lmssdc     -      LMSansDemiCond10-Regular\LMfeat{}
109
110 \registertfm lmssdo     -      LMSansDemiCond10-Oblique\LMfeat{}
111
112 %%% LMMono %%%
113
114 \ofsdeclarefamily [LMMono] {%
115    \loadtextfam lmtt;%
116                 lmtk;%
117                 lmtti;%
118                 ;;%
119    \newvariant 8 \sl   (Slanted)     lmtto;;%
120    \newvariant 9 \bxsl (BoldSlanted) lmtko;;%
121    \newvariant c \csc  (CapsAndSmallCaps)   lmtcsc;;%
122 }
123
124 \registertfm lmtt       -      LMMono10-Regular\LMMonofeat{}
125 \registertfm lmtt    0pt-9pt   LMMono8-Regular\LMMonofeat{}
126 \registertfm lmtt    9pt-10pt  LMMono9-Regular\LMMonofeat{}
127 \registertfm lmtt   10pt-12pt  LMMono10-Regular\LMMonofeat{}
128 \registertfm lmtt   12pt-*     LMMono12-Regular\LMMonofeat{}
129
130 \registertfm lmtk       -      LMMonoLt10-Bold\LMMonofeat{}
131
132 \registertfm lmtti      -      LMMono10-Italic\LMMonofeat{}
133
134 \registertfm lmtto      -      LMMonoSlant10-Regular\LMMonofeat{}
135
136 \registertfm lmtko      -      LMMonoLt10-BoldOblique\LMMonofeat{}
137
138 \registertfm lmtcsc     -      LMMonoCaps10-Regular\LMMonofeat{}
139
140 \newfam\ttfam
141 \loadmathfam\ttfam[/LMMono10-Regular\LMMonofeat{}]
142
143 %%% LMMonoCondensed %%%
144
145 \ofsdeclarefamily [LMMonoCondensed] {%
146    \loadtextfam lmtlc;%
147                 ;%
148                 lmtlco;%
149                 ;;%
150 }
151
152 \registertfm lmtlc      -      LMMonoLtCond10-Regular\LMMonofeat{}
153
154 \registertfm lmtlco     -      LMMonoLtCond10-Oblique\LMMonofeat{}
155
156 %%% UCW extensions %%%
157
158 \ofsputfamlist{^^JUCW:}
159
160 \ofsdeclarefamily [BlackboardBold] {%
161    \loadtextfam bbm;%
162                 ;%
163                 ;%
164                 ;\defaultextraenc;%
165 }
166
167 \registertfm bbm     -      bbm10
168 \registertfm bbm  0pt-6pt   bbm5
169 \registertfm bbm  6pt-7pt   bbm6
170 \registertfm bbm  7pt-8pt   bbm7
171 \registertfm bbm  8pt-9pt   bbm8
172 \registertfm bbm  9pt-10pt  bbm9
173 \registertfm bbm  10pt-12pt bbm10
174 \registertfm bbm  12pt-17pt bbm12
175 \registertfm bbm  17pt-*    bbm17
176
177 % \bb - blackboard bold math font
178
179 \newfam\bbfam
180 \def\bb{\fam\bbfam}
181
182 \def\loadbbm{%
183         \loadmathfam\bbfam[/bbm]%
184 }
185 \loadbbm
186
187 %%% Font size switches %%%
188
189 % Recalculate line spacing for a given point size of the font (assuming CM-like metrics).
190 % Also sets \strut and \topskip.
191 \def\setbaselines#1{%
192         \dimen0=1pt
193         \dimen0=#1\dimen0
194         \normalbaselineskip=1.2\dimen0
195         \normallineskip=0.1\dimen0
196         \setbox\strutbox=\hbox{\vrule height 0.85\dimen0 depth 0.35\dimen0 width 0pt}%
197         \topskip=1\dimen0
198         \normalbaselines
199 }
200
201 % Switch to a specified font size (including math, line spacing etc.)
202 \def\settextsize#1{%
203         \def\fomenc{CM}%
204         \setfonts[/#1]%
205         \setmath[//]%
206         \setbaselines{#1}%
207         \loadbbm
208 }
209 \def\twelvepoint{\settextsize{12}}
210
211 %%% Various hacks %%%
212
213 % Re-define \tt, so that it works in both text and math mode
214 \def\tt{\ifmmode\fam\ttfam\else\setfonts[LMMono/]\fi}
215
216 % Re-define ucwmac's \footfont
217 \let\footfont=\tenrm