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
|
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{roboto-mono}
[2019/10/14 (Bob Tennent) Supports RobotoMono fonts for all LaTeX engines.]
\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
\newif\ifrobotomono@otf
\ifxetex
\robotomono@otftrue
\else\ifluatex
\robotomono@otftrue
\else % [pdf]LaTeX
\robotomono@otffalse
\fi\fi
\newcommand*{\RobotoMono@scale}{1}
\DeclareOptionX{scaled}{\renewcommand*{\RobotoMono@scale}{#1}}
\DeclareOptionX{scale}{\renewcommand*{\RobotoMono@scale}{#1}}
\newif\ifrobotomono@light \robotomono@lightfalse
\newif\ifrobotomono@thin \robotomono@thinfalse
\newif\ifrobotomono@medium \robotomono@mediumfalse
\newif\ifrobotomono@black \robotomono@blackfalse
\DeclareOptionX{type1}{\robotomono@otffalse}
\DeclareOptionX{medium}{\robotomono@mediumtrue\robotomono@blackfalse}
\DeclareOptionX{bold}{\robotomono@blackfalse\robotomono@mediumfalse}
\DeclareOptionX{black}{\robotomono@blacktrue\robotomono@mediumfalse}
\DeclareOptionX{thin}{\robotomono@thintrue\robotomono@lightfalse}
\DeclareOptionX{light}{\robotomono@lighttrue\robotomono@thinfalse}
\DeclareOptionX{regular}{\robotomono@lightfalse\robotomono@thinfalse}
\ExecuteOptionsX{bold,regular}
\ProcessOptionsX\relax
\ifrobotomono@otf
\def\robotomono@boldstyle{Bold}
\ifrobotomono@medium\def\robotomono@boldstyle{Medium}\fi
\ifrobotomono@black\def\robotomono@boldstyle{Black}\fi
\def\robotomono@regstyle{Regular}
\ifrobotomono@light\def\robotomono@regstyle{Light}\fi
\ifrobotomono@thin\def\robotomono@regstyle{Thin}\fi
\else % type1
\def\bfseries@tt{b}
\ifrobotomono@medium\def\bfseries@tt{sb}\fi
\ifrobotomono@black\def\bfseries@tt{eb}\fi
\def\mdseries@tt{m}
\ifrobotomono@thin\def\mdseries@tt{el}\fi
\ifrobotomono@light\def\mdseries@tt{l}\fi
\fi
\ifrobotomono@otf
\RequirePackage{fontspec}
\else
\RequirePackage{fontenc,fontaxes,mweights}
\fi
\ifrobotomono@otf
\def\robotomono@regular{Regular}
\ifxetex\XeTeXtracingfonts=1\fi
\defaultfontfeatures{
HyphenChar=None,
Scale = \RobotoMono@scale ,
Extension = .otf }
\setmonofont
[
UprightFont = *-\robotomono@regstyle ,
ItalicFont = *-\ifx\robotomono@regstyle\robotomono@regular Italic\else\robotomono@regstyle Italic\fi ,
BoldFont = *-\robotomono@boldstyle ,
BoldItalicFont = *-\robotomono@boldstyle Italic ,
]
{RobotoMono}
% grab current family in case of subsequent change:
\let\robotomonofamily\ttdefault
\newfontfamily\robotomono
[
UprightFont = *-\robotomono@regstyle ,
ItalicFont = *-\ifx\robotomono@regstyle\robotomono@regular Italic\else\robotomono@regstyle Italic\fi ,
BoldFont = *-\robotomono@boldstyle ,
BoldItalicFont = *-\robotomono@boldstyle Italic ,
]
{RobotoMono}
\newfontfamily\robotomonoregular
[
UprightFont = *-Regular ,
ItalicFont = *-Italic,
]
{RobotoMono}
\newfontfamily\robotomonomedium
[
UprightFont = *-Medium ,
ItalicFont = *-MediumItalic,
]
{RobotoMono}
\newfontfamily\robotomonothin
[
UprightFont = *-Thin ,
ItalicFont = *-ThinItalic,
]
{RobotoMono}
\newfontfamily\robotomonolight
[
UprightFont = *-Light ,
ItalicFont = *-LightItalic,
]
{RobotoMono}
\newfontfamily\robotomonobold
[
UprightFont = *-Bold ,
ItalicFont = *-BoldItalic,
]
{RobotoMono}
\else % type1
\def\robotomonofamily{RobotoMono-TLF}
\newcommand*\robotomono{\fontfamily{\robotomonofamily}\selectfont}
\def\ttdefault{\robotomonofamily}
\def\robotomonoregular{\fontfamily{\ttdefault}\fontseries{m}\selectfont}
\def\robotomonomedium{\fontfamily{\ttdefault}\fontseries{sb}\selectfont}
\def\robotomonothin{\fontfamily{\ttdefault}\fontseries{el}\selectfont}
\def\robotomonoklight{\fontfamily{\ttdefault}\fontseries{l}\selectfont}
\def\robotomonobold{\fontfamily{\ttdefault}\fontseries{b}\selectfont}
\fi
\DeclareTextFontCommand{\robotomonoRegular}{\robotomonoregular}
\DeclareTextFontCommand{\robotomonoMedium}{\robotomonomedium}
\DeclareTextFontCommand{\robotomonoThin}{\robotomonothin}
\DeclareTextFontCommand{\robotomonoLight}{\robotomonolight}
\DeclareTextFontCommand{\robotomonoBold}{\robotomonobold}
\def\robotomonolgr{\fontencoding{LGR}\fontfamily{RobotoMono-TLF}\selectfont} % RobotoMono-TLF even for otf
\ifrobotomono@otf
% turn off defaults in case other fonts are selected:
\defaultfontfeatures{}
\fi
\endinput
|