Files
PrimeTeX/packages/Fonts.sty
2025-08-28 22:56:57 -05:00

75 lines
2.0 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{PrimeTeX/packages/Fonts}[2025-06-24]
% Specify Fonts
\RequirePackage{fontspec}
\NewDocumentCommand{\fontpath}{}{PrimeTeX/fonts}
% Main font: Roboto Serif
\setmainfont{RobotoSerif}[
Path = {\fontpath/RobotoSerif/},
Extension = .ttf,
UprightFont = *-Light,
BoldFont = *-SemiBold,
ItalicFont = *-LightItalic,
BoldItalicFont = *-SemiBoldItalic,
]
% Sans serif font: Roboto
\setsansfont{Roboto}[
Path = {\fontpath/Roboto/},
Extension = .ttf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic,
]
% Monospace font: Roboto Mono
\setmonofont{RobotoMono}[
Path = {\fontpath/RobotoMono/},
Extension = .ttf,
UprightFont = *-Regular,
BoldFont = *-Bold,
ItalicFont = *-Italic,
BoldItalicFont = *-BoldItalic,
]
% Headings & Titles font: Roboto Slab
\newfontfamily{\sbfamily}{RobotoSlab}[
Path = {\fontpath/},
Extension = .ttf,
UprightFont = RobotoSlab/RobotoSlab-SemiBold,
BoldFont = RobotoSlab/RobotoSlab-Black,
% Roboto Slab doesn't have any italic form, so use
% the Roboto Serif version.
ItalicFont = RobotoSerif/RobotoSerif-SemiBoldItalic,
BoldItalicFont = RobotoSerif/RobotoSerif-ExtraBoldItalic,
]
% Emoji font: Noto Emoji
\newfontfamily{\emfamily}{NotoEmoji}[
Path = {\fontpath/},
Extension = .ttf,
UprightFont = NotoEmoji/NotoEmoji-Regular,
BoldFont = NotoEmoji/NotoEmoji-Bold,
ItalicFont = NotoEmoji/NotoEmoji-Light,
]
\NewDocumentCommand{\serif}{m}{\textrm{#1}}
\NewDocumentCommand{\sans}{m}{\textsf{#1}}
\NewDocumentCommand{\mono}{m}{\texttt{#1}}
\NewDocumentCommand{\slab}{m}{{\sbfamily{}#1}}
\NewDocumentCommand{\code}{m}{\mono{\small{}#1}}
\NewDocumentCommand{\emoji}{m}{{\emfamily{}#1}}
\RequirePackage{amssymb}
\RequirePackage[os=win]{menukeys}
\renewmenumacro{\directory}[/]{hyphenatepaths}
\renewmenumacro{\keys}[+]{shadowedangularkeys}
\renewmenumacro{\menu}[>]{angularmenus}
\RenewDocumentCommand{\ctrlname}{}{$\wedge$}