\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{noto-sans} [2021/09/06 (Bob Tennent) Supports NotoSans fonts for all LaTeX engines.] \RequirePackage{ifxetex,ifluatex,xkeyval,textcomp} \newif\ifnotosans@ttf \ifxetex \notosans@ttftrue \else\ifluatex \notosans@ttftrue \else % [pdf]LaTeX \notosans@ttffalse \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@ttffalse} \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 \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} \ProcessOptionsX\relax \ifnotosans@ttf \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 \fi \ifnotosans@ttf \def\notosans@figurestyle{Lining} \ifnotosans@oldstyle\def\notosans@figurestyle{OldStyle}\fi \def\notosans@figurealign{Monospaced} \ifnotosans@proportional\def\notosans@figurealign{Proportional}\fi \else % type1 \def\notosans@figurestyle{LF} \ifnotosans@oldstyle\def\notosans@figurestyle{OsF}\fi \def\notosans@figurealign{T} \ifnotosans@proportional\def\notosans@figurealign{}\fi \fi \ifnotosans@ttf \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@ttf \def\notosans@regular{Regular} \ifxetex\XeTeXtracingfonts=1\fi \defaultfontfeatures{ Ligatures = TeX , Extension = .ttf } \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} \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} \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} \else % type1 \def\notosansfamily{NotoSans-\notosans@figurealign\notosans@figurestyle} \newcommand*\notosans{\fontfamily{\notosansfamily}\selectfont} \def\sfdefault{\notosansfamily} \ifnotosans@sfdefault\edef\familydefault{\sfdefault}\fi \fi \DeclareTextFontCommand{\textsu}{\sufigures} % LGR \def\notosans@figurestyle{LF} \ifnotosans@oldstyle\def\notosans@figurestyle{OsF}\fi \def\notosans@figurealign{T} \ifnotosans@proportional\def\notosans@figurealign{}\fi \newcommand*\notosanslgr{\fontencoding{LGR}\fontfamily{NotoSans-\notosans@figurealign\notosans@figurestyle}\selectfont} \ifnotosans@ttf % turn off defaults in case other fonts are selected: \defaultfontfeatures{} \fi \endinput