\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{noto} [2019/05/23 (Bob Tennent) Supports Noto fonts for all LaTeX engines.] \RequirePackage{ifxetex,ifluatex,xkeyval,textcomp} \newif\ifnoto@otf \ifxetex \noto@otftrue \else\ifluatex \noto@otftrue \else % [pdf]LaTeX \noto@otffalse \fi\fi \newif\ifnoto@sfdefault \noto@sfdefaultfalse \newif\ifnoto@sf \noto@sftrue \newif\ifnoto@rm \noto@rmtrue \newif\ifnoto@tt \noto@tttrue \newcommand*{\NotoSans@scale}{1} \newcommand*{\NotoSansMono@scale}{1} \DeclareOptionX{scaled}{\renewcommand*{\NotoSans@scale}{#1}\renewcommand*{\NotoSansMono@scale}{#1}} \DeclareOptionX{scale}{\renewcommand*{\NotoSans@scale}{#1}\renewcommand*{\NotoSansMono@scale}{#1}} \DeclareOptionX{sf}{\noto@sftrue\noto@rmfalse} \DeclareOptionX{rm}{\noto@rmtrue\noto@sffalse} \DeclareOptionX{nott}{\noto@ttfalse} \DeclareOptionX{sfdefault}{\noto@sfdefaulttrue} \DeclareOptionX{type1}{\noto@otffalse} \newif\ifnoto@oldstyle \noto@oldstylefalse \newif\ifnoto@proportional \noto@proportionalfalse \DeclareOptionX{lining}{\noto@oldstylefalse} \DeclareOptionX{lf}{\noto@oldstylefalse} \DeclareOptionX{tabular}{\noto@proportionalfalse} \DeclareOptionX{tf}{\noto@proportionalfalse} \DeclareOptionX{proportional}{\noto@proportionaltrue} \DeclareOptionX{pf}{\noto@proportionaltrue} \DeclareOptionX{oldstyle}{\noto@oldstyletrue} \DeclareOptionX{osf}{\noto@oldstyletrue} \newif\ifnoto@thin \noto@thinfalse \newif\ifnoto@extralight \noto@extralightfalse \newif\ifnoto@light \noto@lightfalse \newif\ifnoto@medium \noto@mediumfalse \newif\ifnoto@semibold \noto@semiboldfalse \newif\ifnoto@extrabold \noto@extraboldfalse \newif\ifnoto@black \noto@blackfalse \newif\ifnoto@condensed \noto@condensedfalse \newif\ifnoto@semicondensed \noto@semicondensedfalse \newif\ifnoto@extracondensed \noto@extracondensedfalse \DeclareOptionX{thin}{\noto@thintrue} \DeclareOptionX{extralight}{\noto@extralighttrue} \DeclareOptionX{light}{\noto@lighttrue} \DeclareOptionX{regular}{\noto@lightfalse\noto@thinfalse\noto@extralightfalse\noto@mediumfalse} \DeclareOptionX{medium}{\noto@mediumtrue} \DeclareOptionX{semibold}{\noto@semiboldtrue} \DeclareOptionX{extrabold}{\noto@extraboldtrue} \DeclareOptionX{black}{\noto@blacktrue} \DeclareOptionX{bold}{\noto@blackfalse\noto@semiboldfalse\noto@extraboldfalse} \DeclareOptionX{condensed}{\noto@condensedtrue} \DeclareOptionX{semicondensed}{\noto@semicondensedtrue} \DeclareOptionX{extracondensed}{\noto@extracondensedtrue} \ProcessOptionsX\relax \ifnoto@otf \def\noto@boldstyle{Bold} \ifnoto@semibold\def\noto@boldstyle{SemiBold}\fi \ifnoto@extrabold\def\noto@boldstyle{ExtraBold}\fi \ifnoto@black\def\noto@boldstyle{Black}\fi \def\noto@regstyle{Regular} \ifnoto@thin\def\noto@regstyle{Thin}\fi \ifnoto@extralight\def\noto@regstyle{ExtraLight}\fi \ifnoto@light\def\noto@regstyle{Light}\fi \ifnoto@medium\def\noto@regstyle{Medium}\fi \else % type1 \def\seriesdefault{\mdseries@rm} \ifnoto@rm\def\bfseries@rm{bold}\def\mdseries@rm{regular}\fi \ifnoto@sf\def\bfseries@sf{bold}\def\mdseries@sf{regular}\fi \ifnoto@tt\def\bfseries@tt{bold}\def\mdseries@tt{regular}\fi \ifnoto@semibold \ifnoto@rm\def\bfseries@sf{semibold}\fi \ifnoto@sf\def\bfseries@sf{semibold}\fi \ifnoto@tt\def\bfseries@tt{semibold}\fi \fi \ifnoto@extrabold \ifnoto@sf\def\bfseries@sf{extrabold}\fi \ifnoto@rm\def\bfseries@rm{extrabold}\fi \ifnoto@tt\def\bfseries@tt{extrabold}\fi \fi \ifnoto@black \ifnoto@sf\def\bfseries@sf{black}\fi \ifnoto@rm\def\bfseries@rm{black}\fi \ifnoto@tt\def\bfseries@tt{black}\fi \fi \ifnoto@tt\def\mdseries@tt{regular}\fi \ifnoto@sf\def\mdseries@sf{regular}\fi \ifnoto@rm\def\mdseries@rm{regular}\fi \ifnoto@thin \ifnoto@sf\def\mdseries@sf{thin}\fi \ifnoto@rm\def\mdseries@rm{thin}\fi \ifnoto@tt\def\mdseries@tt{thin}\fi \fi \ifnoto@extralight \ifnoto@sf\def\mdseries@sf{extralight}\fi \ifnoto@rm\def\mdseries@rm{extralight}\fi \ifnoto@tt\def\mdseries@tt{extralight}\fi \fi \ifnoto@light \ifnoto@sf\def\mdseries@sf{light}\fi \ifnoto@rm\def\mdseries@rm{light}\fi \ifnoto@tt\def\mdseries@tt{light}\fi \fi \ifnoto@medium \ifnoto@sf\def\mdseries@sf{medium}\fi \ifnoto@rm\def\mdseries@rm{medium}\fi \ifnoto@tt\def\mdseries@tt{medium}\fi \fi \ifnoto@condensed \ifnoto@sf\def\bfseries@sf{boldcondensed}\def\mdseries@sf{condensed}\fi \ifnoto@tt\def\bfseries@tt{boldcondensed}\def\mdseries@tt{condensed}\fi \ifnoto@semibold \ifnoto@sf\def\bfseries@sf{semiboldcondensed}\fi \ifnoto@tt\def\bfseries@tt{semiboldcondensed}\fi \fi \ifnoto@extrabold \ifnoto@sf\def\bfseries@sf{extraboldcondensed}\fi \ifnoto@tt\def\bfseries@tt{extraboldcondensed}\fi \fi \ifnoto@black \ifnoto@sf\def\bfseries@sf{blackcondensed}\fi \ifnoto@tt\def\bfseries@tt{blackcondensed}\fi \fi \ifnoto@thin \ifnoto@sf\def\mdseries@sf{thincondensed}\fi \ifnoto@tt\def\mdseries@tt{thincondensed}\fi \fi \ifnoto@extralight \ifnoto@sf\def\mdseries@sf{extralightcondensed}\fi \ifnoto@tt\def\mdseries@tt{extralightcondensed}\fi \fi \ifnoto@light \ifnoto@sf\def\mdseries@sf{lightcondensed}\fi \ifnoto@tt\def\mdseries@tt{lightcondensed}\fi \fi \ifnoto@medium \ifnoto@sf\def\mdseries@sf{mediumcondensed}\fi \ifnoto@tt\def\mdseries@tt{mediumcondensed}\fi \fi \else\ifnoto@semicondensed \ifnoto@sf\def\bfseries@sf{boldsemicondensed}\def\mdseries@sf{semicondensed}\fi \ifnoto@tt\def\bfseries@tt{boldsemicondensed}\def\mdseries@tt{semicondensed}\fi \ifnoto@semibold \ifnoto@sf\def\bfseries@sf{semiboldsemicondensed}\fi \ifnoto@tt\def\bfseries@tt{semiboldsemicondensed}\fi \fi \ifnoto@extrabold \ifnoto@sf\def\bfseries@sf{extraboldsemicondensed}\fi \ifnoto@tt\def\bfseries@tt{extraboldsemicondensed}\fi \fi \ifnoto@black \ifnoto@sf\def\bfseries@sf{blacksemicondensed}\fi \ifnoto@tt\def\bfseries@tt{blacksemicondensed}\fi \fi \ifnoto@thin \ifnoto@sf\def\mdseries@sf{thinsemicondensed}\fi \ifnoto@tt\def\mdseries@tt{thinsemicondensed}\fi \fi \ifnoto@extralight \ifnoto@sf\def\mdseries@sf{extralightsemicondensed}\fi \ifnoto@tt\def\mdseries@tt{extralightsemicondensed}\fi \fi \ifnoto@light \ifnoto@sf\def\mdseries@sf{lightsemicondensed}\fi \ifnoto@tt\def\mdseries@tt{lightsemicondensed}\fi \fi \ifnoto@medium \ifnoto@sf\def\mdseries@sf{mediumsemicondensed}\fi \ifnoto@tt\def\mdseries@rm{mediumsemicondensed}\fi \fi \else\ifnoto@extracondensed \ifnoto@sf\def\bfseries@sf{boldextracondensed}\def\mdseries@sf{extracondensed}\fi \ifnoto@tt\def\bfseries@tt{boldextracondensed}\def\mdseries@tt{extracondensed}\fi \ifnoto@semibold \ifnoto@sf\def\bfseries@sf{semiboldextracondensed}\fi \ifnoto@tt\def\bfseries@tt{semiboldextracondensed}\fi \fi \ifnoto@extrabold \ifnoto@sf\def\bfseries@sf{extraboldextracondensed}\fi \ifnoto@tt\def\bfseries@tt{extraboldextracondensed}\fi \fi \ifnoto@black \ifnoto@sf\def\bfseries@sf{blackextracondensed}\fi \ifnoto@tt\def\bfseries@tt{blackextracondensed}\fi \fi \ifnoto@thin \ifnoto@sf\def\mdseries@sf{thinextracondensed}\fi \ifnoto@tt\def\mdseries@tt{thinextracondensed}\fi \fi \ifnoto@extralight \ifnoto@sf\def\mdseries@sf{extralightextracondensed}\fi \ifnoto@tt\def\mdseries@tt{extralightextracondensed}\fi \fi \ifnoto@light \ifnoto@sf\def\mdseries@sf{lightextracondensed}\fi \ifnoto@tt\def\mdseries@tt{lightextracondensed}\fi \fi \ifnoto@medium \ifnoto@sf\def\mdseries@sf{mediumextracondensed}\fi \ifnoto@tt\def\mdseries@rm{mediumextracondensed}\fi \fi \fi\fi\fi \fi \ifnoto@otf \def\noto@figurestyle{Lining} \ifnoto@oldstyle\def\noto@figurestyle{OldStyle}\fi \def\noto@figurealign{Monospaced} \ifnoto@proportional\def\noto@figurealign{Proportional}\fi \fi % type1 \def\noto@tonefigurestyle{LF} \ifnoto@oldstyle\def\noto@tonefigurestyle{OsF}\fi \def\noto@tonefigurealign{T} \ifnoto@proportional\def\noto@tonefigurealign{}\fi \ifnoto@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 \ifnoto@otf \def\noto@regular{Regular} \ifxetex\XeTeXtracingfonts=1\fi \defaultfontfeatures{ Ligatures = TeX , Extension = .ttf } \ifnoto@sf \ifnoto@condensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , BoldFont = *\noto@boldstyle , ] {NotoSans-Condensed} \else\ifnoto@semicondensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , BoldFont = *\noto@boldstyle , ] {NotoSans-SemiCondensed} \else\ifnoto@extracondensed \setsansfont [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , BoldFont = *\noto@boldstyle , ] {NotoSans-ExtraCondensed} \else \setsansfont [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\noto@regstyle , BoldFont = *-\noto@boldstyle , ] {NotoSans} \fi\fi\fi \let\notosansfamily\sfdefault \fi \ifnoto@rm \setmainfont [ Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\noto@regstyle , ItalicFont = *-\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *-\noto@boldstyle , BoldItalicFont = *-\noto@boldstyle Italic , ] {NotoSerif} \fi \def\noto@Lining{Lining} \ifnoto@tt \ifnoto@condensed \setmonofont [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , Ligatures = CommonOff, HyphenChar=None, UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-Condensed} \else\ifnoto@semicondensed \setmonofont [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , Ligatures = CommonOff, HyphenChar=None, UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-SemiCondensed} \else\ifnoto@extracondensed \setmonofont [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , Ligatures = CommonOff, HyphenChar=None, UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-ExtraCondensed} \else \setmonofont [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , Ligatures = CommonOff, HyphenChar=None, UprightFont = *-\noto@regstyle , BoldFont = *-\noto@boldstyle , ] {NotoSansMono} \fi\fi\fi \let\notomonofamily\ttdefault \fi \ifnoto@sfdefault\renewcommand*\familydefault{\notosansfamily}\fi \newfontfamily\notosans [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\noto@regstyle , ItalicFont = *-\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *-\noto@boldstyle , BoldItalicFont = *-\noto@boldstyle Italic , ] {NotoSans} \newfontfamily\notosanscondensed [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , ItalicFont = *\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *\noto@boldstyle , BoldItalicFont = *\noto@boldstyle Italic , ] {NotoSans-Condensed} \newfontfamily\notosanssemicondensed [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , ItalicFont = *\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *\noto@boldstyle , BoldItalicFont = *\noto@boldstyle Italic , ] {NotoSans-SemiCondensed} \newfontfamily\notosansextracondensed [ Scale = \NotoSans@scale , Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi , ItalicFont = *\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *\noto@boldstyle , BoldItalicFont = *\noto@boldstyle Italic , ] {NotoSans-ExtraCondensed} \newfontfamily\notoserif [ Numbers = {\noto@figurealign, \noto@figurestyle} , SmallCapsFeatures={Letters=SmallCaps} , UprightFont = *-\noto@regstyle , ItalicFont = *-\ifx\noto@regstyle\noto@regular Italic\else\noto@regstyle Italic\fi , BoldFont = *-\noto@boldstyle , BoldItalicFont = *-\noto@boldstyle Italic ] {NotoSerif} \defaultfontfeatures{Extension=.ttf, Ligatures = CommonOff, HyphenChar=None} \newfontfamily\notomono [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , UprightFont = *-\noto@regstyle , BoldFont = *-\noto@boldstyle , ] {NotoSansMono} \newfontfamily\notomonocondensed [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-Condensed} \newfontfamily\notomonosemicondensed [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-SemiCondensed} \newfontfamily\notomonoextracondensed [ Numbers = {\ifx\noto@figurestyle\noto@Lining\else\noto@figurestyle\fi} , Scale = \NotoSansMono@scale , UprightFont = *\ifx\noto@regstyle\noto@regular\else\noto@regstyle\fi, BoldFont = *\noto@boldstyle , ] {NotoSansMono-ExtraCondensed} \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} \else % type1 \def\notosansfamily{NotoSans-\noto@tonefigurealign\noto@tonefigurestyle} \def\notoseriffamily{NotoSerif-\noto@tonefigurealign\noto@tonefigurestyle} \def\notomonofamily{NotoSansMono-T\noto@tonefigurestyle} \newcommand*\notoserif{\fontfamily{\notoseriffamily}\selectfont} \newcommand*\notosans{\fontfamily{\notosansfamily}\selectfont} \newcommand*\notosanscondensed{\fontfamily{\notosansfamily}\fontseries{condensed}\selectfont} \newcommand*\notosanssemicondensed{\fontfamily{\notosansfamily}\fontseries{semicondensed}\selectfont} \newcommand*\notosansextracondensed{\fontfamily{\notosansfamily}\fontseries{extracondensed}\selectfont} \newcommand*\notomono{\fontfamily{\notomonofamily}\selectfont} \newcommand*\notomonocondensed{\fontfamily{\notomonofamily}\fontseries{condensed}\selectfont} \newcommand*\notomonosemicondensed{\fontfamily{\notomonofamily}\fontseries{semicondensed}\selectfont} \newcommand*\notomonoextracondensed{\fontfamily{\notomonofamily}\fontseries{extracondensed}\selectfont} \ifnoto@rm \def\rmdefault{\notoseriffamily} \fi \ifnoto@sf \def\sfdefault{\notosansfamily} \fi \ifnoto@tt \def\ttdefault{\notomonofamily} \fi \ifnoto@sfdefault\edef\familydefault{\sfdefault}\fi \fi \DeclareTextFontCommand{\textsu}{\sufigures} \newcommand*\notoseriflgr{\fontencoding{LGR}\fontfamily{NotoSerif-\noto@tonefigurealign\noto@tonefigurestyle}\selectfont} \newcommand*\notosanslgr{\fontencoding{LGR}\fontfamily{NotoSans-\noto@tonefigurealign\noto@tonefigurestyle}\selectfont} \newcommand*\notomonolgr{\fontencoding{LGR}\fontfamily{NotoSansMono-T\noto@tonefigurestyle}\selectfont} \ifnoto@otf % turn off defaults in case other fonts are selected: \defaultfontfeatures{} \fi \endinput