summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/josefin/josefin.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/josefin/josefin.sty')
-rw-r--r--Master/texmf-dist/tex/latex/josefin/josefin.sty148
1 files changed, 148 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/josefin/josefin.sty b/Master/texmf-dist/tex/latex/josefin/josefin.sty
new file mode 100644
index 00000000000..fbc35b1709f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/josefin/josefin.sty
@@ -0,0 +1,148 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{josefin}
+ [2020/09/10 (Bob Tennent and autoinst) Style file for Josefin Sans fonts.]
+
+\RequirePackage{iftex,xkeyval}
+
+\newif\ifjosefin@ttf
+\ifxetex
+ \josefin@ttftrue
+\else\ifluatex
+ \josefin@ttftrue
+\else % [pdf]LaTeX
+ \josefin@ttffalse
+\fi\fi
+
+\newif\ifjosefin@medium \josefin@mediumfalse
+\newif\ifjosefin@semibold \josefin@semiboldfalse
+\newif\ifjosefin@light \josefin@lightfalse
+\newif\ifjosefin@extralight \josefin@extralightfalse
+\newif\ifjosefin@thin \josefin@thinfalse
+\newif\ifjosefin@default \josefin@defaultfalse
+
+\newcommand*{\JosefinSans@scale}{1}
+\RequirePackage{xkeyval}
+\DeclareOptionX{scaled}{\renewcommand*{\JosefinSans@scale}{#1}}
+\DeclareOptionX{scale}{\renewcommand*{\JosefinSans@scale}{#1}}
+\DeclareOptionX{type1}{\josefin@ttffalse}
+
+\DeclareOptionX{medium}{\josefin@mediumtrue}
+\DeclareOptionX{mb}{\josefin@mediumtrue}
+\DeclareOptionX{semibold}{\josefin@semiboldtrue}
+\DeclareOptionX{sb}{\josefin@semiboldtrue}
+\DeclareOptionX{light}{\josefin@lighttrue}
+\DeclareOptionX{l}{\josefin@lighttrue}
+\DeclareOptionX{extralight}{\josefin@extralighttrue}
+\DeclareOptionX{thin}{\josefin@thintrue}
+\DeclareOptionX{default}{\josefin@defaulttrue}
+\DeclareOptionX{sfdefault}{\josefin@defaulttrue}
+
+
+\ProcessOptionsX
+
+\ifjosefin@ttf
+ \def\josefin@boldstyle{Bold}
+ \ifjosefin@medium\def\josefin@boldstyle{Medium}\fi
+ \ifjosefin@semibold\def\josefin@boldstyle{SemiBold}\fi
+
+ \def\josefin@regstyle{Regular}
+ \ifjosefin@light\def\josefin@regstyle{Light}\fi
+ \ifjosefin@extralight\def\josefin@regstyle{ExtraLight}\fi
+ \ifjosefin@thin\def\josefin@regstyle{Thin}\fi
+
+\else % type1
+
+ \def\bfseries@sf{b}
+ \ifjosefin@medium\def\bfseries@sf{medium}\fi
+ \ifjosefin@semibold\def\bfseries@sf{sb}\fi
+
+ \def\mdseries@sf{m}
+ \ifjosefin@light\def\mdseries@sf{l}\fi
+ \ifjosefin@extralight\def\mdseries@sf{el}\fi
+ \ifjosefin@thin\def\mdseries@sf{thin}\fi
+\fi
+
+
+\ifjosefin@ttf
+ \RequirePackage{fontspec}
+\else
+ \RequirePackage{fontaxes}
+\fi
+
+\ifjosefin@ttf
+ \def\josefin@regular{Regular}
+ \ifxetex\XeTeXtracingfonts=1\fi
+ \defaultfontfeatures{
+ Ligatures = TeX ,
+ Scale = \JosefinSans@scale ,
+ Extension = .ttf }
+ \setsansfont
+ [ UprightFont = *-\josefin@regstyle ,
+ ItalicFont = *-\ifx\josefin@regstyle\josefin@regular\else\josefin@regstyle\fi Italic,
+ BoldFont = *-\josefin@boldstyle ,
+ BoldItalicFont = *-\josefin@boldstyle Italic ,
+ ]
+ {JosefinSans}
+ % grab current family in case of subsequent change:
+ \let\josefinfamily\sfdefault
+ \ifjosefin@default\renewcommand*\familydefault{\josefinfamily}\fi
+
+ \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}}
+ \newfontfamily\josefinthin
+ [
+ UprightFont = *-Thin ,
+ ItalicFont = *-ThinItalic ,
+ BoldFont = *-\josefin@boldstyle ,
+ BoldItalicFont = *-\josefin@boldstyle Italic ,
+ ]
+ {JosefinSans}
+ \newfontfamily\josefinlight
+ [
+ UprightFont = *-Light ,
+ ItalicFont = *-LightItalic ,
+ BoldFont = *-\josefin@boldstyle ,
+ BoldItalicFont = *-\josefin@boldstyle Italic ,
+ ]
+ {JosefinSans}
+ \newfontfamily\josefinextralight
+ [
+ UprightFont = *-ExtraLight ,
+ ItalicFont = *-ExtraLightItalic ,
+ BoldFont = *-\josefin@boldstyle ,
+ BoldItalicFont = *-\josefin@boldstyle Italic ,
+ ]
+ {JosefinSans}
+ \newfontfamily\josefinmedium
+ [
+ UprightFont = *-Medium ,
+ ItalicFont = *-MediumItalic ,
+ BoldFont = *-\josefin@boldstyle ,
+ BoldItalicFont = *-\josefin@boldstyle Italic ,
+ ]
+ {JosefinSans}
+ \newfontfamily\josefinsemibold
+ [
+ UprightFont = *-SemiBold ,
+ ItalicFont = *-SemiBoldItalic ,
+ ]
+ {JosefinSans}
+\else % type1
+
+
+ \def\josefin@family{JosefinSans-LF}
+ \renewcommand*\sfdefault{\josefin@family}
+ \ifjosefin@default\edef\familydefault{\sfdefault}\edef\seriesdefault{\mdseries@sf}\fi
+
+ \def\josefinthin{\fontfamily{\josefin@family}\fontseries{thin}\selectfont}
+ \def\josefinlight{\fontfamily{\josefin@family}\fontseries{l}\selectfont}
+ \def\josefinextralight{\fontfamily{\josefin@family}\fontseries{el}\selectfont}
+ \def\josefinmedium{\fontfamily{\josefin@family}\fontseries{medium}\selectfont}
+ \def\josefinsemibold{\fontfamily{\josefin@family}\fontseries{sb}\selectfont}
+
+\fi
+
+\ifjosefin@ttf
+ \defaultfontfeatures{}
+\fi
+
+\endinput