summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/roboto/roboto-mono.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-05-03 16:44:46 +0000
committerKarl Berry <karl@freefriends.org>2018-05-03 16:44:46 +0000
commitbd75320fbbde734c89a9ce8bae7117b45107bf9a (patch)
tree95f1673304114906a1802206e806567171643f9d /Master/texmf-dist/tex/latex/roboto/roboto-mono.sty
parent3f0b0d931a7b4f7e05fce8897a0f9500c4f15500 (diff)
roboto (11apr18)
git-svn-id: svn://tug.org/texlive/trunk@47586 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/roboto/roboto-mono.sty')
-rw-r--r--Master/texmf-dist/tex/latex/roboto/roboto-mono.sty96
1 files changed, 96 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/roboto/roboto-mono.sty b/Master/texmf-dist/tex/latex/roboto/roboto-mono.sty
new file mode 100644
index 00000000000..41a30ada84d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/roboto/roboto-mono.sty
@@ -0,0 +1,96 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{roboto-mono}
+ [2018/04/10 (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{mb}\fi
+ \ifrobotomono@black\def\bfseries@tt{k}\fi
+ \def\mdseries@tt{m}
+ \ifrobotomono@thin\def\mdseries@tt{t}\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{
+ Ligatures = TeX ,
+ Scale = \RobotoMono@scale ,
+ Extension = .ttf }
+ \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}
+\else % type1
+ \def\robotomonofamily{RobotoMono-TLF}
+ \newcommand*\robotomono{\fontfamily{\robotomonofamily}\selectfont}
+ \def\ttdefault{\robotomonofamily}
+\fi
+
+\ifrobotomono@otf
+ % turn off defaults in case other fonts are selected:
+ \defaultfontfeatures{}
+\fi
+
+\endinput