summaryrefslogtreecommitdiff
path: root/fonts/archivo/latex/Archivo.sty
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/archivo/latex/Archivo.sty')
-rw-r--r--fonts/archivo/latex/Archivo.sty63
1 files changed, 63 insertions, 0 deletions
diff --git a/fonts/archivo/latex/Archivo.sty b/fonts/archivo/latex/Archivo.sty
new file mode 100644
index 0000000000..0337072397
--- /dev/null
+++ b/fonts/archivo/latex/Archivo.sty
@@ -0,0 +1,63 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{Archivo}
+ [2020/12/30 (Carl-Clemens Ebinger autoinst) Style file for ArchivZero fonts.]
+
+\RequirePackage{xkeyval}
+\newcommand*{\ArchivZero@scale}{1}
+\DeclareOptionX{scale}{\renewcommand*{\ArchivZero@scale}{#1}}
+\DeclareOptionX{scaled}{\renewcommand*{\ArchivZero@scale}{#1}}
+
+\DeclareOptionX{lining}{\edef\ArchivZero@figurestyle{LF}}
+\DeclareOptionX{oldstyle}{\edef\ArchivZero@figurestyle{OsF}}
+\DeclareOptionX{tabular}{\edef\ArchivZero@figurealign{T}}
+\DeclareOptionX{proportional}{\edef\ArchivZero@figurealign{}}
+\DeclareOptionX{mainfont}{
+ \renewcommand{\familydefault}{\rmdefault}
+}
+\DeclareOptionX{semibold}{\edef\bfseries@rm{semibold}}
+\DeclareOptionX{bold}{\edef\bfseries@rm{bold}}
+\DeclareOptionX{medium}{\edef\mdseries@rm{medium}}
+\DeclareOptionX{regular}{\edef\mdseries@rm{regular}}
+\ExecuteOptionsX{oldstyle,proportional}
+\ProcessOptionsX\relax
+
+\RequirePackage{fontenc,textcomp}
+\RequirePackage{ifthen}
+\RequirePackage{mweights}
+
+\IfFileExists{fontaxes.sty}{
+ \RequirePackage{fontaxes}
+ \fa@naming@exception{figures}{{superior}{proportional}}{Sup}
+ \fa@naming@exception{figures}{{superior}{tabular}}{Sup}
+ \def\supfigures{\@nomath\supfigures
+ \fontfigurestyle{superior}\selectfont}
+ \let\sufigures\supfigures
+ \DeclareTextFontCommand{\textsup}{\supfigures}
+ \let\textsu\textsup
+ \let\textsuperior\textsup
+
+}{}
+
+% Here we implement the scale=MatchLowercase option.
+% If this is given, we must compute the correct value of
+% the "\ArchivZero@scale" parameter before loading the .fd files;
+% but to determine that value we of course need the font's x-height.
+% To avoid triggering the loading of .fd files,
+% we use plain TeX's \font primitive to load the testfont.
+% We then compute the ratio of the current x-height to our font's x-height;
+% this is the "\ArchivZero@scale" we will pass to the .fd files.
+\ifthenelse{\equal{\ArchivZero@scale}{MatchLowercase}}
+ { \newlength{\ArchivZero@currentx}
+ \settoheight{\ArchivZero@currentx}{x}
+ \newlength{\ArchivZero@xheight}
+ \settoheight{\ArchivZero@xheight}
+ {{\font\testfont=Archiv0-Regular-osf-ot1 at \f@size pt\testfont x}}
+ \renewcommand*{\ArchivZero@scale}
+ {\strip@pt\dimexpr\number\numexpr\number\dimexpr\ArchivZero@currentx\relax*65536/\number\dimexpr\ArchivZero@xheight\relax\relax sp\relax}}
+ {}
+
+\renewcommand*
+ {\rmdefault}
+ {ArchivZero-\ArchivZero@figurealign\ArchivZero@figurestyle}
+
+\endinput