summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/libertinus-otf/libertinus-otf.sty
blob: 913f14fb5c818a8a40889cd047d46b119e66f7dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
%% $Id: libertinus-otf.sty 777 2018-07-07 09:08:07Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory  macros/latex/base/lppl.txt.
%% Either version 1.3 or, at your option, any later version.
%%
%
% Copyright 2018 Herbert Voss hvoss@tug.org
%
\ProvidesPackage{libertinus-otf}[%
  2018/07/07 v. 0.09 (Herbert Voss) Supports libertinus fonts for all luatex/xetex .] 

\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
\RequirePackage{unicode-math}

\newif\iflibertinus@lining \libertinus@liningtrue
\newif\iflibertinus@tabular \libertinus@tabulartrue
\newif\iflibertinus@semibold \libertinus@semiboldfalse

\DeclareOptionX{lining}[true]{\@nameuse{libertinus@lining#1}}
\DeclareOptionX{nf}[true]{\@nameuse{libertinus@lining#1}}
\DeclareOptionX{lf}[true]{\@nameuse{libertinus@lining#1}}
\DeclareOptionX{oldstyle}[true]{\@nameuse{if#1}\libertinus@liningfalse\else\libertinus@liningtrue\fi}
\DeclareOptionX{osf}[true]{\@nameuse{if#1}\libertinus@liningfalse\else\libertinus@liningtrue\fi}

\DeclareOptionX{tabular}[true]{\@nameuse{libertinus@tabular#1}}
\DeclareOptionX{t}[true]{\@nameuse{libertinus@tabular#1}}
\DeclareOptionX{proportional}[true]{\@nameuse{if#1}\libertinus@tabularfalse\else\libertinus@tabulartrue\fi}
\DeclareOptionX{p}[true]{\@nameuse{if#1}\libertinus@tabularfalse\else\libertinus@tabulartrue\fi}

\DeclareOptionX{semibold}[true]{\@nameuse{libertinus@semibold#1}}
\DeclareOptionX{sb}[true]{\@nameuse{libertinus@semibold#1}}
\DeclareOptionX{bold}[true]{\@nameuse{if#1}\libertinus@semiboldfalse\else\libertinus@semiboldtrue\fi}

\newcommand*\libertinusRM@scale{1}  
\newcommand*\libertinusDisplayT@scale{1} 
\newcommand*\libertinusSF@scale{1}
\newcommand*\libertinusTT@scale{MatchLowercase}  
\newcommand*\libertinusInitialsT@scale{1}  
\DeclareOptionX{ScaleRM}{\renewcommand*{\libertinusRM@scale}{#1}}
\DeclareOptionX{ScaleSF}{\renewcommand*{\libertinusSF@scale}{#1}}
\DeclareOptionX{ScaleTT}{\renewcommand*{\libertinusTT@scale}{#1}}

\def\libertinus@defaultfeatures{}
\DeclareOptionX{defaultfeatures}{\def\libertinus@defaultfeatures{#1}}

\ProcessOptionsX\relax

\iflibertinus@lining
    \def\libertinus@figurestyle{Lining}
\else
    \def\libertinus@figurestyle{OldStyle}
\fi

\iflibertinus@tabular
    \def\libertinus@figurealign{Monospaced} 
\else
    \def\libertinus@figurealign{Proportional} 
\fi

\iflibertinus@semibold
     \def\libertinus@boldstyle{semibold} 
\else
    \def\libertinus@boldstyle{bold} 
\fi


\ifxetex\XeTeXtracingfonts=1\fi
\defaultfontfeatures{
     Ligatures = TeX ,
     SmallCapsFeatures={Letters=SmallCaps\ifluatex,Renderer=Basic\fi} , 
     \libertinus@defaultfeatures
}
\setmainfont{libertinusserif}[ 
  Numbers        = {\libertinus@figurealign,\libertinus@figurestyle},
  Scale          = \libertinusRM@scale ,
  UprightFont    = *-regular,
  ItalicFont     = *-italic,
  BoldFont       = *-\libertinus@boldstyle, 
  BoldItalicFont = *-\libertinus@boldstyle italic,
  SmallCapsFeatures={Letters=SmallCaps}, 
  Extension      = .otf  
]
\setsansfont{libertinussans}[ 
  Numbers   = {\libertinus@figurealign, \libertinus@figurestyle} ,
  Scale     = \libertinusSF@scale ,
  UprightFont    = *-regular,
  ItalicFont     = *-italic,
  BoldFont       = *-bold, 
  BoldItalicFont = *-bolditalic, 
  SmallCapsFeatures={Letters=SmallCaps},
  Extension      = .otf  
]
\setmonofont{libertinusmono}[ 
%  Numbers   = {\libertinus@figurealign, \libertinus@figurestyle},
  Scale     = \libertinusTT@scale,
  FakeStretch    = 0.8,
  UprightFont    = *-regular,
  ItalicFont     = *-oblique,
  BoldFont       = *-bold,
  BoldItalicFont = *-boldoblique,
% AutoFakeBold   = 1.5,
  Extension      = .otf, 
]

%\setmathfont{libertinusmath-regular.otf}[BoldFont=libertinusmath-bold.otf]
\setmathfont{libertinusmath-regular.otf}
\setmathfont[version=bold]{libertinusmath-bold.otf}

\newfontfamily\LibertinusKeyboard{libertinuskeyboard-regular.otf}
\newfontfamily\LibertinusDisplay{libertinusserifdisplay-regular.otf}
\newfontfamily\Libertinusinitials{libertinusserifinitials-regular.otf}

\def\biolinumKeyGlyph#1{{\LibertinusKeyboard\symbol{#1}}}
\def\BiolinumKeyGlyph#1{{\LibertinusKeyboard#1}}
\DeclareRobustCommand*\LKey[1]{\BiolinumKeyGlyph{#1}}

\DeclareRobustCommand*\LKeyStrg{\biolinumKeyGlyph{"E170}}
\DeclareRobustCommand*\LKeyAlt{\biolinumKeyGlyph{"E171}}
\DeclareRobustCommand*\LKeyAltGr{\biolinumKeyGlyph{"E172}}
\DeclareRobustCommand*\LKeyShift{\biolinumKeyGlyph{"E174}}
\DeclareRobustCommand*\LKeyTab{\biolinumKeyGlyph{"E175}}
\DeclareRobustCommand*\LKeyEnter{\biolinumKeyGlyph{"E176}}
\DeclareRobustCommand*\LKeyCapsLock{\biolinumKeyGlyph{"E177}}
\DeclareRobustCommand*\LKeyPos{\biolinumKeyGlyph{"E191}}
\DeclareRobustCommand*\LKeyEntf{\biolinumKeyGlyph{"E18A}}
\DeclareRobustCommand*\LKeyEinf{\biolinumKeyGlyph{"E18B}}
\DeclareRobustCommand*\LKeyLeer{\biolinumKeyGlyph{"E18C}}
\let\LKeySpace\LKeyLeer
\DeclareRobustCommand*\LKeyEsc{\biolinumKeyGlyph{"E195}}
\DeclareRobustCommand*\LKeyEnde{\biolinumKeyGlyph{"E196}}
\DeclareRobustCommand*\LKeyTux{\biolinumKeyGlyph{"E000}}
\DeclareRobustCommand*\LKeyWin{\biolinumKeyGlyph{"E168}}
\DeclareRobustCommand*\LKeyMenu{\biolinumKeyGlyph{"E104}}
\DeclareRobustCommand*\LKeyCommand{\biolinumKeyGlyph{"2318}}
\DeclareRobustCommand*\LKeyOptionKey{\biolinumKeyGlyph{"2325}}
\DeclareRobustCommand*\LKeyBack{\biolinumKeyGlyph{"E16E}}
\DeclareRobustCommand*\LKeyUp{\biolinumKeyGlyph{"2191}}
\DeclareRobustCommand*\LKeyDown{\biolinumKeyGlyph{"2193}}
\DeclareRobustCommand*\LKeyLeft{\biolinumKeyGlyph{"2190}}
\DeclareRobustCommand*\LKeyRight{\biolinumKeyGlyph{"2192}}
\DeclareRobustCommand*\LKeyPgUp{\biolinumKeyGlyph{"E198}}
\DeclareRobustCommand*\LKeyPgDown{\biolinumKeyGlyph{"E199}}
\DeclareRobustCommand*\LKeyAt{\biolinumKeyGlyph{"0040}}
\DeclareRobustCommand*\LKeyFn{\biolinumKeyGlyph{"E188}}
\DeclareRobustCommand*\LKeyHome{\biolinumKeyGlyph{"E189}}
\DeclareRobustCommand*\LKeyDel{\biolinumKeyGlyph{"E18A}}
\DeclareRobustCommand*\LKeyIns{\biolinumKeyGlyph{"E18B}}
\DeclareRobustCommand*\LKeyEnd{\biolinumKeyGlyph{"E18E}}
\DeclareRobustCommand*\LKeyGNU{\biolinumKeyGlyph{"E190}}
\DeclareRobustCommand*\LKeyPageUp{\biolinumKeyGlyph{"E19A}}
\DeclareRobustCommand*\LKeyPageDown{\biolinumKeyGlyph{"E19B}}

\@namedef{libertine@key@F@1}{\biolinumKeyGlyph{"E178}}
\@namedef{libertine@key@F@2}{\biolinumKeyGlyph{"E179}}
\@namedef{libertine@key@F@3}{\biolinumKeyGlyph{"E17A}}
\@namedef{libertine@key@F@4}{\biolinumKeyGlyph{"E17B}}
\@namedef{libertine@key@F@5}{\biolinumKeyGlyph{"E17C}}
\@namedef{libertine@key@F@6}{\biolinumKeyGlyph{"E17D}}
\@namedef{libertine@key@F@7}{\biolinumKeyGlyph{"E17E}}
\@namedef{libertine@key@F@8}{\biolinumKeyGlyph{"E17F}}
\@namedef{libertine@key@F@9}{\biolinumKeyGlyph{"E180}}
\@namedef{libertine@key@F@10}{\biolinumKeyGlyph{"E181}}
\@namedef{libertine@key@F@11}{\biolinumKeyGlyph{"E182}}
\@namedef{libertine@key@F@12}{\biolinumKeyGlyph{"E183}}
\@namedef{libertine@key@F@13}{\biolinumKeyGlyph{"E184}}
\@namedef{libertine@key@F@14}{\biolinumKeyGlyph{"E185}}
\@namedef{libertine@key@F@15}{\biolinumKeyGlyph{"E186}}
\@namedef{libertine@key@F@16}{\biolinumKeyGlyph{"E187}}
\DeclareRobustCommand*\LKeyF[1]{\@nameuse{libertine@key@F@#1}}
%
\DeclareRobustCommand*\LKeyAltF[1]{\LKeyAlt+\@nameuse{libertine@key@F@#1}}
\DeclareRobustCommand*\LKeyStrgAltF[1]{\LKeyStrg+\LKeyAlt+\@nameuse{libertine@key@F@#1}}
\DeclareRobustCommand*\LKeyStrgX[1]{\LKeyStrg+\LKey{#1}}
\DeclareRobustCommand*\LKeyShiftX[1]{\LKeyShift+\LKey{#1}}
\DeclareRobustCommand*\LKeyAltX[1]{\LKeyAlt+\LKey{#1}}
\DeclareRobustCommand*\LKeyAltGrX[1]{\LKeyAltGr+\LKey{#1}}
\DeclareRobustCommand*\LKeyShiftStrgX[1]{\LKeyShift+\LKeyStrg+\LKey{#1}}
\DeclareRobustCommand*\LKeyShiftAltX[1]{\LKeyShift+\LKeyAlt+\LKey{#1}}
\DeclareRobustCommand*\LKeyShiftAltGrX[1]{\LKeyShift+\LKeyAltGr+\LKey{#1}}
\DeclareRobustCommand*\LKeyStrgAltX[1]{\LKeyStrg+\LKeyAlt+\LKey{#1}}
\DeclareRobustCommand*\LKeyStrgAltEnt{\LKeyStrg+\LKeyAlt+\LKeyEntf}
\let\LKeyReset\LKeyStrgAltEnt
%
\@namedef{libertine@key@Pad@0}{\biolinumKeyGlyph{"E1A0}}
\@namedef{libertine@key@Pad@1}{\biolinumKeyGlyph{"E1A1}}
\@namedef{libertine@key@Pad@2}{\biolinumKeyGlyph{"E1A2}}
\@namedef{libertine@key@Pad@3}{\biolinumKeyGlyph{"E1A3}}
\@namedef{libertine@key@Pad@4}{\biolinumKeyGlyph{"E1A4}}
\@namedef{libertine@key@Pad@5}{\biolinumKeyGlyph{"E1A5}}
\@namedef{libertine@key@Pad@6}{\biolinumKeyGlyph{"E1A6}}
\@namedef{libertine@key@Pad@7}{\biolinumKeyGlyph{"E1A7}}
\@namedef{libertine@key@Pad@8}{\biolinumKeyGlyph{"E1A8}}
\@namedef{libertine@key@Pad@9}{\biolinumKeyGlyph{"E1A9}}
\@namedef{libertine@key@Pad@10}{\biolinumKeyGlyph{"E1AA}}
\@namedef{libertine@key@Pad@11}{\biolinumKeyGlyph{"E1AB}}
\@namedef{libertine@key@Pad@12}{\biolinumKeyGlyph{"E1AC}}
\@namedef{libertine@key@Pad@13}{\biolinumKeyGlyph{"E1AD}}
\@namedef{libertine@key@Pad@14}{\biolinumKeyGlyph{"E1AE}}
\DeclareRobustCommand*\LKeyPad[1]{\@nameuse{libertine@key@Pad@#1}}
%
% Maus
%
\DeclareRobustCommand*\LMouseEmpty{\biolinumKeyGlyph{"E130}}
\DeclareRobustCommand*\LMouseN{\biolinumKeyGlyph{"E131}}
\DeclareRobustCommand*\LMouseL{\biolinumKeyGlyph{"E132}}
\DeclareRobustCommand*\LMouseM{\biolinumKeyGlyph{"E133}}
\DeclareRobustCommand*\LMouseR{\biolinumKeyGlyph{"E134}}
\DeclareRobustCommand*\LMouseLR{\biolinumKeyGlyph{"E135}}
\DeclareRobustCommand*\LMouseIIEmpty{\biolinumKeyGlyph{"E138}}
\DeclareRobustCommand*\LMouseIIN{\biolinumKeyGlyph{"E139}}
\DeclareRobustCommand*\LMouseIIL{\biolinumKeyGlyph{"E13A}}
\DeclareRobustCommand*\LMouseIIR{\biolinumKeyGlyph{"E13C}}
\DeclareRobustCommand*\LMouseIILR{\biolinumKeyGlyph{"E13D}}
%