\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{noto-sans} [2019/10/22 (Bob Tennent) Supports NotoSans fonts for all LaTeX engines.] \RequirePackage{ifxetex,ifluatex,xkeyval,textcomp} \newif\ifnotosans@otf \ifxetex \notosans@otftrue \else\ifluatex \notosans@otftrue \else % [pdf]LaTeX \notosans@otffalse \fi\fi \newif\ifnotosans@sfdefault \notosans@sfdefaultfalse \newcommand*{\NotoSans@scale}{1} \DeclareOptionX{scaled}{\renewcommand*{\NotoSans@scale}{#1}} \DeclareOptionX{scale}{\renewcommand*{\NotoSans@scale}{#1}} \DeclareOptionX{sfdefault}{\notosans@sfdefaulttrue} \DeclareOptionX{type1}{\notosans@otffalse} \newif\ifnotosans@oldstyle \notosans@oldstylefalse \newif\ifnotosans@proportional \notosans@proportionalfalse \DeclareOptionX{lining}{\notosans@oldstylefalse} \DeclareOptionX{lf}{\notosans@oldstylefalse} \DeclareOptionX{tabular}{\notosans@proportionalfalse} \DeclareOptionX{tf}{\notosans@proportionalfalse} \DeclareOptionX{proportional}{\notosans@proportionaltrue} \DeclareOptionX{pf}{\notosans@proportionaltrue} \DeclareOptionX{oldstyle}{\notosans@oldstyletrue} \DeclareOptionX{osf}{\notosans@oldstyletrue} \newif\ifnotosans@thin \notosans@thinfalse \newif\ifnotosans@extralight \notosans@extralightfalse \newif\ifnotosans@light \notosans@lightfalse \newif\ifnotosans@medium \notosans@mediumfalse \newif\ifnotosans@semibold \notosans@semiboldfalse \newif\ifnotosans@extrabold \notosans@extraboldfalse \newif\ifnotosans@black \notosans@blackfalse \newif\ifnotosans@condensed \notosans@condensedfalse \newif\ifnotosans@semicondensed \notosans@semicondensedfalse \newif\ifnotosans@extracondensed \notosans@extracondensedfalse \DeclareOptionX{thin}{\notosans@thintrue} \DeclareOptionX{extralight}{\notosans@extralighttrue} \DeclareOptionX{light}{\notosans@lighttrue} \DeclareOptionX{regular}{\notosans@lightfalse\notosans@thinfalse\notosans@extralightfalse\notosans@mediumfalse} \DeclareOptionX{medium}{\notosans@mediumtrue} \DeclareOptionX{semibold}{\notosans@semiboldtrue} \DeclareOptionX{extrabold}{\notosans@extraboldtrue} \DeclareOptionX{black}{\notosans@blacktrue} \DeclareOptionX{bold}{\notosans@blackfalse\notosans@semiboldfalse\notosans@extraboldfalse} \DeclareOptionX{condensed}{\notosans@condensedtrue} \DeclareOptionX{semicondensed}{\notosans@semicondensedtrue} \DeclareOptionX{extracondensed}{\notosans@extracondensedtrue} \ProcessOptionsX\relax \ifnotosans@otf \def\notosans@boldstyle{Bold} \ifnotosans@semibold\def\notosans@boldstyle{SemiBold}\fi \ifnotosans@extrabold\def\notosans@boldstyle{ExtraBold}\fi \ifnotosans@black\def\notosans@boldstyle{Black}\fi \def\notosans@regstyle{Regular} \ifnotosans@thin\def\notosans@regstyle{Thin}\fi \ifnotosans@extralight\def\notosans@regstyle{ExtraLight}\fi \ifnotosans@light\def\notosans@regstyle{Light}\fi \ifnotosans@medium\def\notosans@regstyle{Medium}\fi \else % type1 \def\seriesdefault{\mdseries@sf} \def\bfseries@sf{b}\def\mdseries@sf{m} \ifnotosans@semibold\def\bfseries@sf{sb}\fi \ifnotosans@extrabold\def\bfseries@sf{eb}\fi \ifnotosans@black\def\bfseries@sf{ub}\fi \ifnotosans@thin\def\mdseries@sf{ul}\fi \ifnotosans@extralight\def\mdseries@sf{el}\fi \ifnotosans@light\def\mdseries@sf{l}\fi \ifnotosans@medium\def\mdseries@sf{medium}\fi \ifnotosans@condensed \def\bfseries@sf{bc}\def\mdseries@sf{c} \ifnotosans@semibold\def\bfseries@sf{sbc}\fi \ifnotosans@extrabold\def\bfseries@sf{ebc}\fi \ifnotosans@black\def\bfseries@sf{ubc}\fi \ifnotosans@thin\def\mdseries@sf{ulc}\fi \ifnotosans@extralight\def\mdseries@sf{elc}\fi \ifnotosans@light\def\mdseries@sf{lc}\fi \ifnotosans@medium\def\mdseries@sf{mediumcondensed}\fi \else\ifnotosans@semicondensed \def\bfseries@sf{bsc}\def\mdseries@sf{sc} \ifnotosans@semibold\def\bfseries@sf{sbsc}\fi \ifnotosans@extrabold\def\bfseries@sf{ebsc}\fi \ifnotosans@black\def\bfseries@sf{ubsc}\fi \ifnotosans@thin\def\mdseries@sf{ulsc}\fi \ifnotosans@extralight\def\mdseries@sf{elsc}\fi \ifnotosans@light\def\mdseries@sf{lsc}\fi \ifnotosans@medium\def\mdseries@sf{mediumsemicondensed}\fi \else\ifnotosans@extracondensed \def\bfseries@sf{bec}\def\mdseries@sf{ec} \ifnotosans@semibold\def\bfseries@sf{sbec}\fi \ifnotosans@extrabold\def\bfseries@sf{ebec}\fi \ifnotosans@black\def\bfseries@sf{ubec}\fi \ifnotosans@thin\def\mdseries@sf{ulec}\fi \ifnotosans@extralight\def\mdseries@sf{elec}\fi \ifnotosans@light\def\mdseries@sf{lec}\fi \ifnotosans@medium\def\mdseries@sf{mediumsemicondensed}\fi \fi\fi\fi \fi \ifnotosans@otf \def\notosans@figurestyle{Lining} \ifnotosans@oldstyle\def\notosans@figurestyle{OldStyle}\fi \def\notosans@figurealign{Monospaced} \ifnotosans@proportional\def\notosans@figurealign{Proportional}\fi \fi % type1 \def\notosans@tonefigurestyle{LF} \ifnotosans@oldstyle\def\notosans@tonefigurestyle{OsF}\fi \def\notosans@tonefigurealign{T} \ifnotosans@proportional\def\notosans@tonefigurealign{}\fi \ifnotosans@otf \RequirePackage{fontspec} \else \RequirePackage{fontenc,fontaxes,mweights} \fa@naming@exception{figures}{{superior}{proportional}}{Sup} \fa@naming@exception{figures}{{superior}{tabular}}{Sup} \def\sufigures{\@nomath\sufigures \fontfigurestyle{superior}\selectfont} \fi \ifnotosans@otf \def\notosans@regular{Regular} \ifxetex\XeTeXtracingfonts=1\fi \defaultfontfeatures{ Ligatures = TeX , Extension = .ttf } \ifnotosans@condensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-Condensed} \else\ifnotosans@semicondensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-SemiCondensed} \else\ifnotosans@extracondensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-ExtraCondensed} \else \setsansfont [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\notosans@regstyle , ItalicFont = *-\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *-\notosans@boldstyle , BoldItalicFont = *-\notosans@boldstyle Italic , ] {NotoSans} \fi\fi\fi \let\notosansfamily\sfdefault \ifnotosans@sfdefault\renewcommand*\familydefault{\notosansfamily}\fi \newfontfamily\notosans [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\notosans@regstyle , ItalicFont = *-\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *-\notosans@boldstyle , BoldItalicFont = *-\notosans@boldstyle Italic , ] {NotoSans} \newfontfamily\notosanscondensed [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-Condensed} \newfontfamily\notosanssemicondensed [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-SemiCondensed} \newfontfamily\notosansextracondensed [ Scale = \NotoSans@scale , Numbers = {\notosans@figurealign, \notosans@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\notosans@regstyle\notosans@regular\else\notosans@regstyle\fi , ItalicFont = *\ifx\notosans@regstyle\notosans@regular Italic\else\notosans@regstyle Italic\fi , BoldFont = *\notosans@boldstyle , BoldItalicFont = *\notosans@boldstyle Italic , ] {NotoSans-ExtraCondensed} \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} \else % type1 \def\notosansfamily{NotoSans-\notosans@tonefigurealign\notosans@tonefigurestyle} \newcommand*\notosans{\fontfamily{\notosansfamily}\selectfont} \newcommand*\notosanscondensed{\fontfamily{\notosansfamily}\fontseries{c}\selectfont} \newcommand*\notosanssemicondensed{\fontfamily{\notosansfamily}\fontseries{sc}\selectfont} \newcommand*\notosansextracondensed{\fontfamily{\notosansfamily}\fontseries{ec}\selectfont} \def\sfdefault{\notosansfamily} \ifnotosans@sfdefault\edef\familydefault{\sfdefault}\fi \fi \DeclareTextFontCommand{\textsu}{\sufigures} \newcommand*\notosanslgr{\fontencoding{LGR}\fontfamily{NotoSans-\notosans@tonefigurealign\notosans@tonefigurestyle}\selectfont} \ifnotosans@otf % turn off defaults in case other fonts are selected: \defaultfontfeatures{} \fi \endinput