79 lines
2.2 KiB
TeX
79 lines
2.2 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{PrimeTeX/packages/Fonts}[2025-06-24]
|
|
|
|
\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}}
|
|
|
|
% Line-breaking zero-width space.
|
|
\NewDocumentCommand{\zws}{}{\hspace{0pt}}
|
|
% Line-breaking dot.
|
|
\NewDocumentCommand{\bdot}{}{.\zws}
|
|
|
|
% MenuKeys configuration.
|
|
\renewmenumacro{\directory}[/]{hyphenatepaths}
|
|
\renewmenumacro{\keys}[+]{shadowedangularkeys}
|
|
\renewmenumacro{\menu}[>]{angularmenus}
|
|
|
|
\RenewDocumentCommand{\ctrlname}{}{$\wedge$}
|
|
|
|
\NewDocumentCommand{\ControlString}{}{Ctrl\,\ctrl}
|
|
\NewDocumentCommand{\EnterString}{}{Enter\,\return}
|
|
\NewDocumentCommand{\ShiftString}{}{Shift\,\shift}
|
|
\NewDocumentCommand{\AltString}{}{Alt\,\altmac} |