1 % The UCW Macro Collection: Interface to OFS (Olsak's Font System)
2 % Written by Martin Mares <mj@ucw.cz> in 2010 and placed into public domain
3 % -------------------------------------------------------------------------
5 \ifx\OFSversion\undefined
11 % Finish if either this or ucw-luaofs.tex is loaded
12 \ifx\setbaselines\undefined\else\endinput\fi
14 % We extend OFS's default CM family by several fonts: cmb, cmcsc
16 \ofsputfamlist{^^JUCW:}
18 \ofsdeclarefamily [CMRomanUCW] {% ------------ Computer Modern Roman (UCW extended version)
19 \loadtextfam cmr\fotenc;%
22 cmbxti\fotenc;\defaultextraenc;%
23 \newvariant8 \sl (Slanted) cmsl\fotenc;\defaultextraenc;%
24 \newvariant9 \bxsl (BoldSlanted) cmbxsl\fotenc;\defaultextraenc;%
25 \newvariant a \bo (BoldNormal) cmb\fotenc;\defaultextraenc;%
26 \newvariant b \csc (CapsAndSmallCaps) cmcsc\fotenc;\defaultextraenc;%
27 \modifyenc 8z:csfont;%
31 \registertfm cmb8z - csb10
32 \registertfm cmb8z 0pt-6pt csb5
33 \registertfm cmb8z 6pt-7pt csb6
34 \registertfm cmb8z 7pt-8pt csb7
35 \registertfm cmb8z 8pt-9pt csb8
36 \registertfm cmb8z 9pt-10pt csb9
37 \registertfm cmb8z 10pt-12pt csb10
38 \registertfm cmb8z 12pt-17pt csb12
39 \registertfm cmb8z 17pt-* csb17
41 \registertfm cmcsc8z - cscsc10
42 \registertfm cmcsc8z 0pt-6pt cscsc5
43 \registertfm cmcsc8z 6pt-7pt cscsc6
44 \registertfm cmcsc8z 7pt-8pt cscsc7
45 \registertfm cmcsc8z 8pt-9pt cscsc8
46 \registertfm cmcsc8z 9pt-10pt cscsc9
47 \registertfm cmcsc8z 10pt-12pt cscsc10
48 \registertfm cmcsc8z 12pt-17pt cscsc12
49 \registertfm cmcsc8z 17pt-* cscsc17
51 \ofsdeclarefamily [BlackboardBold] {%
58 \registertfm bbm - bbm10
59 \registertfm bbm 0pt-6pt bbm5
60 \registertfm bbm 6pt-7pt bbm6
61 \registertfm bbm 7pt-8pt bbm7
62 \registertfm bbm 8pt-9pt bbm8
63 \registertfm bbm 9pt-10pt bbm9
64 \registertfm bbm 10pt-12pt bbm10
65 \registertfm bbm 12pt-17pt bbm12
66 \registertfm bbm 17pt-* bbm17
68 \setfonts[CMRomanUCW/]
70 % \bb - blackboard bold math font
76 \loadmathfam\bbfam[/bbm]%
80 % Recalculate line spacing for a given point size of the font (assuming CM-like metrics).
81 % Also sets \strut and \topskip.
85 \normalbaselineskip=1.2\dimen0
86 \normallineskip=0.1\dimen0
87 \setbox\strutbox=\hbox{\vrule height 0.85\dimen0 depth 0.35\dimen0 width 0pt}%
92 % Switch to a specified font size (including math, line spacing etc.)
100 \def\twelvepoint{\settextsize{12}}
102 % Re-define \tt, so that it works in both text and math mode
103 \loadmathfam\ttfam[/cmtt\fotenc]
104 \def\tt{\ifmmode\fam\ttfam\else\setfonts[CMTypewriter/]\fi}