summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty')
-rw-r--r--Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty142
1 files changed, 142 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty b/Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty
new file mode 100644
index 00000000000..316143a6e00
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/librecaslon/librecaslon.sty
@@ -0,0 +1,142 @@
+\ProvidesPackage{librecaslon}[%
+ 2013/06/25 (Bob Tennent) Supports LibreCaslon fonts for all LaTeX engines. ]
+
+\RequirePackage{ifxetex,ifluatex,textcomp}
+
+\newif\iflibrecaslon@otf
+\ifxetex
+ \librecaslon@otftrue
+\else\ifluatex
+ \librecaslon@otftrue
+\else % [pdf]LaTeX
+ \librecaslon@otffalse
+\fi\fi
+
+\newif\iflibrecaslon@lining \librecaslon@liningtrue
+
+\newcommand*{\LibreCaslonText@scale}{1}
+\RequirePackage{xkeyval}
+\DeclareOptionX{scaled}{\renewcommand*{\LibreCaslonText@scale}{#1}}
+\DeclareOptionX{scale}{\renewcommand*{\LibreCaslonText@scale}{#1}}
+
+\DeclareOptionX{type1}{\librecaslon@otffalse}
+
+\DeclareOptionX{lining}[true]{%
+\@nameuse{if#1}%
+ \librecaslon@liningtrue
+\else
+ librecaslon@liningfalse
+\fi
+}
+\DeclareOptionX{lf}[true]{%
+\@nameuse{if#1}%
+ \librecaslon@liningtrue
+\else
+ librecaslon@liningfalse
+\fi
+}
+\DeclareOptionX{oldstyle}[true]{%
+\@nameuse{if#1}%
+ \librecaslon@liningfalse
+\else
+ \librecaslon@liningtrue
+\fi
+}
+
+\DeclareOptionX{osf}[true]{%
+\@nameuse{if#1}%
+ \librecaslon@liningfalse
+\else
+ \librecaslon@liningtrue
+\fi
+}
+
+\ProcessOptionsX\relax
+
+\iflibrecaslon@otf
+ \iflibrecaslon@lining
+ \def\librecaslon@figurestyle{Monospaced}
+ \else
+ \def\librecaslon@figurestyle{OldStyle}
+ \fi
+
+\else % type1
+
+ \iflibrecaslon@lining
+ \def\librecaslon@figurealign{T}
+ \def\librecaslon@figurestyle{LF}
+ \else
+ \def\librecaslon@figurealign{}
+ \def\librecaslon@figurestyle{OsF}
+ \fi
+\fi
+
+
+\iflibrecaslon@otf
+ \RequirePackage{fontspec}
+\else
+ \RequirePackage{fontenc,fontaxes}
+\fi
+
+\iflibrecaslon@otf
+ \ifxetex\XeTeXtracingfonts=1\fi
+ \defaultfontfeatures{
+ Ligatures = TeX ,
+ Extension = .otf ,
+ Scale = \LibreCaslonText@scale ,
+ }
+ \setmainfont
+ [ Numbers = {\librecaslon@figurestyle},
+ UprightFont = *-Regular ,
+ ItalicFont = *-Italic ,
+ BoldFont = *-Bold ,
+ BoldItalicFont = *-BoldItalic ]
+ {LibreCaslonText}
+ \newfontfamily\librecaslon
+ [ Numbers = {\librecaslon@figurestyle},
+ UprightFont = *-Regular ,
+ ItalicFont = *-Italic ,
+ BoldFont = *-Bold ,
+ BoldItalicFont = *-BoldItalic ]
+ {LibreCaslonText}
+ \newfontfamily\librecaslonOsF
+ [ Numbers = {OldStyle},
+ UprightFont = *-Regular ,
+ ItalicFont = *-Italic ,
+ BoldFont = *-Bold ,
+ BoldItalicFont = *-BoldItalic ]
+ {LibreCaslonText}
+ \newfontfamily\librecaslonLF
+ [ Numbers = {Monospaced},
+ UprightFont = *-Regular ,
+ ItalicFont = *-Italic ,
+ BoldFont = *-Bold ,
+ BoldItalicFont = *-BoldItalic ]
+ {LibreCaslonText}
+
+ \providecommand\sufigures{\librecaslonOsF\addfontfeatures{VerticalPosition=Superior}}
+% !!!!!!!!!!!!!!!
+
+
+\else % type1
+
+ \def\librecaslonfamily{LibreCaslonText-\librecaslon@figurealign\librecaslon@figurestyle}
+ \providecommand*\librecaslon{\fontfamily{\librecaslonfamily}\selectfont}
+ \providecommand*\librecaslonLF{\fontfamily{LibreCaslonText-TLF}\selectfont}
+ \providecommand*\librecaslonOsF{\fontfamily{LibreCaslonText-OsF}\selectfont}
+
+ \fa@naming@exception{figures}{{superior}{proportional}}{Sup}
+ \fa@naming@exception{figures}{{superior}{tabular}}{Sup}
+ \providecommand\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont}
+ \renewcommand*\rmdefault{\librecaslonfamily}
+
+\fi
+\DeclareTextFontCommand{\textsu}{\sufigures}
+
+% turn off defaults in case other fonts are selected:
+\iflibrecaslon@otf
+ \defaultfontfeatures{}
+\fi
+
+\endinput
+