diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cantarell/cantarell.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/cantarell/cantarell.sty | 183 |
1 files changed, 152 insertions, 31 deletions
diff --git a/Master/texmf-dist/tex/latex/cantarell/cantarell.sty b/Master/texmf-dist/tex/latex/cantarell/cantarell.sty index eaec95d6634..22913552918 100644 --- a/Master/texmf-dist/tex/latex/cantarell/cantarell.sty +++ b/Master/texmf-dist/tex/latex/cantarell/cantarell.sty @@ -1,5 +1,5 @@ %% cantarell.sty -%% Copyright 2011, 2012 Mohamed El Morabity +%% Copyright 2019 Mohamed El Morabity % % This work may be distributed and/or modified under the conditions of the LaTeX % Project Public License, either version 1.3 of this license or (at your option) @@ -8,40 +8,161 @@ % distributions of LaTeX version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is Mohamed El Morabity % % This work consists of all files listed in manifest.txt. + \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{cantarell}[2012/01/03 Cantarell] - -\RequirePackage{keyval} -\RequirePackage{slantsc} - -% Taken from inconsolata.sty -\define@key{cantarell}{scale}[1.0]{\def\cantarell@scale{s*[#1]}} -\DeclareOption*{% - \begingroup% - \edef\x{\endgroup% - \noexpand\setkeys{cantarell}{\CurrentOption}}% - \x% -} - -\DeclareOption{defaultsans}{% - \renewcommand*{\sfdefault}{fca}% -} - -\DeclareOption{default}{% - \renewcommand*{\familydefault}{fca}% - \renewcommand*{\sfdefault}{fca}% -} - -\ProcessOptions* - -\newcommand{\fcafamily}{% - \fontfamily{fca}% - \selectfont% -} +\ProvidesPackage{cantarell}[2019/06/15 Style file for Cantarell.] + +\RequirePackage{fontaxes} +\RequirePackage{ifluatex} +\RequirePackage{ifxetex} +\RequirePackage{xkeyval} + +\newif\ifcantarell@otf +\ifxetex +\cantarell@otftrue +\else +\ifluatex +\cantarell@otftrue +\else +\cantarell@otffalse +\fi +\fi + +\newif\ifcantarell@lining +\newif\ifcantarell@oldstyle + +\newif\ifcantarell@tabular +\newif\ifcantarell@proportional + +\newif\ifcantarell@default +\cantarell@defaultfalse + +\newif\ifcantarell@defaultsans +\cantarell@defaultsansfalse + +\newcommand*{\cantarell@scale}{1} +\DeclareOptionX{scale}{\renewcommand*{\cantarell@scale}{#1}} +\DeclareOptionX{scaled}{\renewcommand*{\cantarell@scale}{#1}} + +\DeclareOptionX{default}{\cantarell@defaulttrue} +\DeclareOptionX{defaultsans}{\cantarell@defaultsanstrue} +\DeclareOptionX{lining}{\cantarell@liningtrue} +\DeclareOptionX{oldstyle}{\cantarell@liningfalse} +\DeclareOptionX{tabular}{\cantarell@tabulartrue} +\DeclareOptionX{proportional}{\cantarell@tabularfalse} +\DeclareOptionX{type1}{\cantarell@otffalse} + +\ExecuteOptionsX{tabular,lining} +\ProcessOptionsX +\relax + +\ifcantarell@tabular + \newcommand*{\cantarell@figurewidth@otf}{Monospaced} + \newcommand*{\cantarell@figurewidth@pfb}{T} +\else + \newcommand*{\cantarell@figurewidth@otf}{Proportional} + \newcommand*{\cantarell@figurewidth@pfb}{} +\fi +\ifcantarell@lining + \newcommand*{\cantarell@figurestyle@otf}{Lining} + \newcommand*{\cantarell@figurestyle@pfb}{LF} +\else + \newcommand*{\cantarell@figurestyle@otf}{OldStyle} + \newcommand*{\cantarell@figurestyle@pfb}{OsF} +\fi + +\newcommand*{\cantarell@familyprefix}{cantarell} +\newcommand*{\cantarell@family}[1]{\cantarell@familyprefix-#1} +\newcommand*{\cantarellfamily}{\cantarell@family{\cantarell@figurewidth@pfb\cantarell@figurestyle@pfb}} + +\ifcantarell@otf + \RequirePackage{fontspec} + + \ifxetex + \XeTeXtracingfonts=1 + \fi + + \newcommand*{\cantarell@otf@slant}{0.141} + \newcommand*{\cantarell@otf@features}{% + Extension=.otf,% + Ligatures=Common,% + Scale=\cantarell@scale,% + FontFace={el}{n}{*-Thin},% + FontFace={el}{it}{Font=*-Thin,FakeSlant=\cantarell@otf@slant},% + FontFace={l}{n}{*-Light},% + FontFace={l}{it}{Font=*-Light,FakeSlant=\cantarell@otf@slant},% + UprightFont={*-Regular},% + ItalicFont={*-Regular},% + ItalicFeatures={FakeSlant=\cantarell@otf@slant}, + FontFace={b}{n}{*-Bold},% + FontFace={b}{it}{Font=*-Bold,FakeSlant=\cantarell@otf@slant},% + BoldFont={*-Bold},% + BoldItalicFont={*-Bold},% + BoldItalicFeatures={FakeSlant=\cantarell@otf@slant},% + FontFace={eb}{n}{*-ExtraBold},% + FontFace={eb}{it}{Font=*-ExtraBold,FakeSlant=\cantarell@otf@slant}% + } + + % Define family for each figure style/width, with corresponding + % NFSS family, for fontaxes support + \newfontfamily{\cantarell@otf@TLF}[% + \cantarell@otf@features,% + Numbers={Monospaced,Lining},% + NFSSFamily=\cantarell@family{TLF}% + ]{Cantarell} + \newfontfamily{\cantarell@otf@LF}[% + \cantarell@otf@features,% + Numbers={Proportional,Lining},% + NFSSFamily=\cantarell@family{LF}% + ]{Cantarell} + \newfontfamily{\cantarell@otf@TOsF}[% + \cantarell@otf@features,% + Numbers={Monospaced,OldStyle},% + NFSSFamily=\cantarell@family{TOsF}% + ]{Cantarell} + \newfontfamily{\cantarell@otf@OsF}[% + \cantarell@otf@features,% + Numbers={Proportional,OldStyle},% + NFSSFamily=\cantarell@family{OsF}% + ]{Cantarell} + + \expandafter\let\expandafter\cantarell\csname cantarell@otf@\cantarell@figurewidth@pfb\cantarell@figurestyle@pfb\endcsname + + % Legacy compatibility + \newfontfamily{\fcafamily}[% + \cantarell@otf@features,% + Numbers={Monospaced,Lining},% + NFSSFamily=fca% + ]{Cantarell} + + \ifcantarell@defaultsans + \setsansfont[% + \cantarell@otf@features,% + Numbers={\cantarell@figurewidth@otf,\cantarell@figurestyle@otf},% + ]{Cantarell} + \fi + \ifcantarell@default + \setmainfont[% + \cantarell@otf@features,% + Numbers={\cantarell@figurewidth@otf,\cantarell@figurestyle@otf},% + ]{Cantarell} + \fi +\else + \newcommand*{\cantarell}{\fontfamily{\cantarellfamily}\selectfont} + % Legacy compatibility + \newcommand*{\fcafamily}{\fontfamily{cantarell-TLF}\selectfont} + + \ifcantarell@defaultsans + \renewcommand*{\sfdefault}{\cantarellfamily} + \fi + \ifcantarell@default + \renewcommand*{\familydefault}{\cantarellfamily} + \fi +\fi \endinput |