]> mj.ucw.cz Git - ucwmac.git/blob - ucw-ofs.tex
ucw-pdfmeta: bugfix
[ucwmac.git] / ucw-ofs.tex
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 % -------------------------------------------------------------------------
4
5 \ifx\OFSversion\undefined
6 \input ofs.tex
7 % \detailfontmessages
8 \nofontmessages
9 \fi
10
11 % Finish if either this or ucw-luaofs.tex is loaded
12 \ifx\setbaselines\undefined\else\endinput\fi
13
14 % We extend OFS's default CM family by several fonts: cmb, cmcsc
15
16 \ofsputfamlist{^^JUCW:}
17
18 \ofsdeclarefamily [CMRomanUCW] {% ------------ Computer Modern Roman (UCW extended version)
19    \loadtextfam cmr\fotenc;%
20                 cmbx\fotenc;%
21                 cmti\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;%
28 }
29 \registerenc: 8z
30
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
40
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
50
51 \ofsdeclarefamily [BlackboardBold] {%
52    \loadtextfam bbm;%
53                 ;%
54                 ;%
55                 ;\defaultextraenc;%
56 }
57
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
67
68 \setfonts[CMRomanUCW/]
69
70 % \bb - blackboard bold math font
71
72 \newfam\bbfam
73 \def\bb{\fam\bbfam}
74
75 \def\loadbbm{%
76         \loadmathfam\bbfam[/bbm]%
77 }
78 \loadbbm
79
80 % Recalculate line spacing for a given point size of the font (assuming CM-like metrics).
81 % Also sets \strut and \topskip.
82 \def\setbaselines#1{%
83         \dimen0=1pt
84         \dimen0=#1\dimen0
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}%
88         \topskip=1\dimen0
89         \normalbaselines
90 }
91
92 % Switch to a specified font size (including math, line spacing etc.)
93 \def\settextsize#1{%
94         \def\fomenc{CM}%
95         \setfonts[/#1]%
96         \setmath[//]%
97         \setbaselines{#1}%
98         \loadbbm
99 }
100 \def\twelvepoint{\settextsize{12}}
101
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}