diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/sourceserifpro/sourceserifpro.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/sourceserifpro/sourceserifpro.sty | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/sourceserifpro/sourceserifpro.sty b/Master/texmf-dist/tex/latex/sourceserifpro/sourceserifpro.sty new file mode 100644 index 00000000000..f0519ba3edd --- /dev/null +++ b/Master/texmf-dist/tex/latex/sourceserifpro/sourceserifpro.sty @@ -0,0 +1,204 @@ +% Source Serif Pro for LaTeX +% +% Silke Hofstra, tex@slxh.nl +% +% This file selects either the OTF or the TYPE1 fonts based on +% the LaTeX engine used. +% +% Licenced under the LPPL v1.3 or higher. +% +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{sourceserifpro}[2015/01/11 v1.1 Adobe's Source Serif Pro typeface] + +\RequirePackage{ifxetex,ifluatex,xkeyval} + +% Switches +\newif\ifsourceserifpro@otf +\newif\ifsourceserifpro@default +\newif\ifsourceserifpro@rmdefault +\newif\ifsourceserifpro@oldstyle +\newif\ifsourceserifpro@tabular +\newif\ifsourceserifpro@black +\newif\ifsourceserifpro@semibold +\newif\ifsourceserifpro@light +\newif\ifsourceserifpro@extralight + +% Scaling command +\newcommand*{\SourceSerifPro@scale}{1} + +% Use OpenType fonts for XeTeX and LuaTeX. +\ifxetex + \sourceserifpro@otftrue +\else + \ifluatex + \sourceserifpro@otftrue + \fi +\fi + +\DeclareOptionX{lining} {\sourceserifpro@oldstylefalse} +\DeclareOptionX{nf} {\sourceserifpro@oldstylefalse} +\DeclareOptionX{lf} {\sourceserifpro@oldstylefalse} +\DeclareOptionX{oldstyle} {\sourceserifpro@oldstyletrue} +\DeclareOptionX{osf} {\sourceserifpro@oldstyletrue} +\DeclareOptionX{tabular} {\sourceserifpro@tabulartrue} +\DeclareOptionX{proportional}{\sourceserifpro@tabularfalse} +\DeclareOptionX{black} {\sourceserifpro@blacktrue \sourceserifpro@semiboldfalse} +\DeclareOptionX{semibold} {\sourceserifpro@blackfalse\sourceserifpro@semiboldtrue} +\DeclareOptionX{bold} {\sourceserifpro@blackfalse\sourceserifpro@semiboldfalse} +\DeclareOptionX{light} {\sourceserifpro@lighttrue \sourceserifpro@extralightfalse} +\DeclareOptionX{extralight} {\sourceserifpro@lightfalse\sourceserifpro@extralighttrue} +\DeclareOptionX{regular} {\sourceserifpro@lightfalse\sourceserifpro@extralightfalse} +\DeclareOptionX{scale} {\renewcommand*{\SourceSerifPro@scale}{#1}} +\DeclareOptionX{scaled} {\renewcommand*{\SourceSerifPro@scale}{#1}} +\DeclareOptionX{default} {\sourceserifpro@defaulttrue} +\DeclareOptionX{rmdefault} {\sourceserifpro@rmdefaulttrue} +\DeclareOptionX{normdefault} {\sourceserifpro@rmdefaultfalse} +\DeclareOptionX{type1} {\sourceserifpro@otffalse} +\DeclareOptionX{t1} {\sourceserifpro@otffalse} +\DeclareOptionX{opentype} {\sourceserifpro@otftrue} +\DeclareOptionX{otf} {\sourceserifpro@otftrue} + +% Default options +\ExecuteOptionsX{rmdefault,lining,proportional,bold,regular} +\ProcessOptionsX\relax + +% Load OpenType files +\ifsourceserifpro@otf + \RequirePackage{fontspec} + + % Oldstyle/Lining + \ifsourceserifpro@oldstyle + \def\sourceserifpro@figurestyle{OldStyle} + \else + \def\sourceserifpro@figurestyle{} + \fi + + % Tabular/Proportional + \ifsourceserifpro@tabular + \def\sourceserifpro@figurealign{Monospaced} + \else + \def\sourceserifpro@figurealign{Proportional} + \fi + + % Black/Semibold/Bold + \ifsourceserifpro@black + \def\sourceserifpro@boldstyle{Black} + \else + \ifsourceserifpro@semibold + \def\sourceserifpro@boldstyle{Semibold} + \else + \def\sourceserifpro@boldstyle{Bold} + \fi + \fi + + % Light/ExtraLight/Regular + \ifsourceserifpro@light + \def\sourceserifpro@regstyle{Light} + \else + \ifsourceserifpro@extralight + \def\sourceserifpro@regstyle{ExtraLight} + \else + \def\sourceserifpro@regstyle{Regular} + \fi + \fi + + % Shared features + \defaultfontfeatures{ + Ligatures = TeX , + Numbers = {\sourceserifpro@figurealign , \sourceserifpro@figurestyle } , + Scale = \SourceSerifPro@scale , + Extension = .otf } + + % Serif font + \ifsourceserifpro@rmdefault + \setmainfont + [ UprightFont = *-\sourceserifpro@regstyle , + BoldFont = *-\sourceserifpro@boldstyle ] + {SourceSerifPro} + \fi + + % Font families + % Regular/Bold + \newfontfamily\sourceserifpro + [ UprightFont = *-Regular , + BoldFont = *-Bold ] + {SourceSerifPro} + + % Light/Semibold + \newfontfamily\sourceserifprolight + [ UprightFont = *-Light , + BoldFont = *-Semibold ] + {SourceSerifPro} + + % ExtraLight/Black + \newfontfamily\sourceserifproextreme + [ UprightFont = *-ExtraLight , + BoldFont = *-Black ] + {SourceSerifPro} + + % Lining figures + \newfontfamily\sourceserifprolf + [ Numbers = \sourceserifpro@figurealign , + UprightFont = *-\sourceserifpro@regstyle , + BoldFont = *-\sourceserifpro@boldstyle ] + {SourceSerifPro} + + % Dont keep all default font features + \defaultfontfeatures{} + +% Load type1 font. +\else + \RequirePackage[OT1,LY1,T1]{fontenc} + \RequirePackage{mweights} + + % Oldstyle/Lining + \ifsourceserifpro@oldstyle + \def\sourceserifpro@figurestyle{OsF} + \else + \def\sourceserifpro@figurestyle{LF} + \fi + + % Tabular/Proportional + \ifsourceserifpro@tabular + \def\sourceserifpro@figurealign{T} + \else + \def\sourceserifpro@figurealign{} + \fi + + % Semibold/Bold + \ifsourceserifpro@semibold + \def\bfseries@rm{sb} + \else + \def\bfseries@rm{b} + \fi + + % Regular + \def\mdseries@rm{m} + + % Sans serif font + \ifsourceserifpro@rmdefault + \edef\rmdefault{SourceSerifPro-\sourceserifpro@figurealign\sourceserifpro@figurestyle} + \fi + + % If Source Serif Pro is the default font \oldstylenums needs a new definition. + \let\nativeoldstylenums\oldstylenums + \ifsourceserifpro@rmdefault + \renewcommand*\oldstylenums[1]{% + \begingroup + \ifmmode + \mathgroup\symletters #1% + \else + \fontfamily{SourceSerifPro-\sourceserifpro@figurealign OsF}\selectfont #1% + \fi + \endgroup + } + \edef\seriesdefault{\mdseries@rm} + \fi +\fi + +% Set default font family +\ifsourceserifpro@default + \edef\familydefault{\rmdefault} +\fi + +\endinput
\ No newline at end of file |