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
|
% Source Code Pro for LaTeX
%
% Silke Hofstra, silke@slxh.nl
%
% OpenType version of Source Code Pro for XeTeX and LuaTeX users.
%
% Licenced under the LPPL
%
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{sourcecodepro-otf}[2012/11/04 v1.02 Adobe's Source Code Pro typeface]
% Check if engine is XeTeX or LuaTeX
\RequirePackage{expl3}[2011/09/05]
\ExplSyntaxOn
\msg_new:nnn {sourcecodepro-otf} {cannot-use-pdftex}
{
The~ sourcecodepro-otf~ package~ requires~ either~ XeTeX~ or~ LuaTeX~ to~ function.
\\\\
You~ must~ change~ your~ typesetting~ engine~ to,~
e.g.,~ "xelatex"~ or~ "lualatex"\\
instead~ of~ plain~ "latex"~ or~ "pdflatex".
}
\xetex_if_engine:F {
\luatex_if_engine:TF {
\RequirePackage{luaotfload}
\RequireLuaModule{fontspec}
}{
\msg_fatal:nn {sourcecodepro-otf} {cannot-use-pdftex}
}
}
\RequirePackage{fontspec}
\IfFileExists{xkeyval.sty}{
\newcommand*{\sourcecodepro@scale}{1}
\RequirePackage{xkeyval}
\DeclareOptionX{scaled}{\renewcommand*{\sourcecodepro@scale}{##1}}
}{
\let\DeclareOptionX\DeclareOption
\let\ExecuteOptionsX\ExecuteOptions
\let\ProcessOptionsX\ProcessOptions
}
\DeclareOptionX{lining}{\edef\sourcecodepro@figurestyle{}}
\DeclareOptionX{nf}{\edef\sourcecodepro@figurestyle{}}
\DeclareOptionX{oldstyle}{\edef\sourcecodepro@figurestyle{OldStyle}}
\DeclareOptionX{osf}{\edef\sourcecodepro@figurestyle{OldStyle}}
\DeclareOptionX{black}{\edef\sourcecodepro@boldstyle{Black}}
\DeclareOptionX{semibold}{\edef\sourcecodepro@boldstyle{Semibold}}
\DeclareOptionX{bold}{\edef\sourcecodepro@boldstyle{Bold}}
\DeclareOptionX{light}{\edef\sourcecodepro@regstyle{Light}}
\DeclareOptionX{extralight}{\edef\sourcecodepro@regstyle{ExtraLight}}
\DeclareOptionX{regular}{\edef\sourcecodepro@regstyle{Regular}}
\DeclareOptionX{default}{\renewcommand*{\familydefault}{\ttdefault}}
\ExecuteOptionsX{lining,bold,regular}
\ProcessOptionsX\relax
% Shared features
\defaultfontfeatures{
Ligatures = TeX ,
Numbers = \sourcecodepro@figurestyle,
Scale = \sourcecodepro@scale ,
Extension = .otf }
% Default font
\setmonofont
[ UprightFont = *-\sourcecodepro@regstyle ,
ItalicFont = *-\sourcecodepro@regstyle ,
BoldFont = *-\sourcecodepro@boldstyle ,
BoldItalicFont = *-\sourcecodepro@boldstyle ]
{SourceCodePro}
% Font commands
\newfontfamily\sourcecodepro
[ UprightFont = *-Regular ,
ItalicFont = *-Regular ,
BoldFont = *-Bold ,
BoldItalicFont = *-Bold ]
{SourceCodePro}
\newfontfamily\sourcecodeprolight
[ UprightFont = *-Light ,
ItalicFont = *-Light ,
BoldFont = *-Semibold ,
BoldItalicFont = *-Semibold ]
{SourceCodePro}
\newfontfamily\sourcecodeproextreme
[ UprightFont = *-ExtraLight ,
ItalicFont = *-ExtraLight ,
BoldFont = *-Black ,
BoldItalicFont = *-Black ]
{SourceCodePro}
% Old Style numbers
\renewcommand*\oldstylenums[1]{\addfontfeature{Numbers=OldStyle}#1}
\endinput
|