summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cabin/cabin.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-25 23:21:05 +0000
committerKarl Berry <karl@freefriends.org>2012-11-25 23:21:05 +0000
commit2dffbf93287b0c6bc59f27a94a4157d45a444fab (patch)
tree07b460f120d82a0fc192f583908b08e66eca4cb4 /Master/texmf-dist/tex/latex/cabin/cabin.sty
parentbc5931a3697f65ac76c60561614e32a9fc18b6e4 (diff)
cabin (25nov12)
git-svn-id: svn://tug.org/texlive/trunk@28359 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cabin/cabin.sty')
-rw-r--r--Master/texmf-dist/tex/latex/cabin/cabin.sty115
1 files changed, 86 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/cabin/cabin.sty b/Master/texmf-dist/tex/latex/cabin/cabin.sty
index d410355e915..da09666df22 100644
--- a/Master/texmf-dist/tex/latex/cabin/cabin.sty
+++ b/Master/texmf-dist/tex/latex/cabin/cabin.sty
@@ -1,42 +1,72 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{cabin}
- [2012/11/09 (Bob Tennent and autoinst) Style file for Cabin.]
+ [2012/11/13 (Bob Tennent) Supports Cabin fonts for all LaTeX engines.]
-\RequirePackage{ifxetex,ifluatex,textcomp}
+\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp}
\newif\ifcabin@otf
\ifxetex
- \RequirePackage{fontspec}
\cabin@otftrue
\else\ifluatex
- \RequirePackage{fontspec}
\cabin@otftrue
\else % [pdf]LaTeX
- \RequirePackage{fontenc,fontaxes}
\cabin@otffalse
\fi\fi
+\newif\ifcabin@default \cabin@defaultfalse
+\newif\ifcabin@lining \cabin@liningfalse
+\newif\ifcabin@tabular \cabin@tabularfalse
+\newif\ifcabin@semibold \cabin@semiboldfalse
+\newif\ifcabin@medium \cabin@mediumfalse
+\newif\ifcabin@condensed \cabin@condensedfalse
+
\newcommand*{\Cabin@scale}{1}
-\RequirePackage{xkeyval}
\DeclareOptionX{scaled}{\renewcommand*{\Cabin@scale}{#1}}
\DeclareOptionX{scale}{\renewcommand*{\Cabin@scale}{#1}}
-\newif\ifcabin@default \cabin@defaultfalse
+\DeclareOptionX{default}{\cabin@defaulttrue}
\DeclareOptionX{sfdefault}{\cabin@defaulttrue}
+\DeclareOptionX{type1}{\cabin@otffalse}
+\DeclareOptionX{semibold}{\cabin@semiboldtrue}
+\DeclareOptionX{bold}{\cabin@semiboldfalse}
+\DeclareOptionX{medium}{\cabin@mediumtrue}
+\DeclareOptionX{regular}{\cabin@mediumfalse}
+\DeclareOptionX{condensed}{\cabin@condensedtrue}
+
+\ExecuteOptionsX{bold,regular}
+\ProcessOptionsX\relax
\ifcabin@otf
- \DeclareOptionX{semibold}{\edef\cabin@boldstyle{SemiBold}}
- \DeclareOptionX{bold}{\edef\cabin@boldstyle{Bold}}
- \DeclareOptionX{medium}{\edef\cabin@regstyle{Medium}}
- \DeclareOptionX{regular}{\edef\cabin@regstyle{Regular}}
+ \ifcabin@semibold
+ \edef\cabin@boldstyle{SemiBold}
+ \else
+ \edef\cabin@boldstyle{Bold}
+ \fi
+ \ifcabin@medium
+ \edef\cabin@regstyle{Medium}
+ \else
+ \edef\cabin@regstyle{Regular}
+ \fi
+
\else % type1
- \DeclareOptionX{semibold}{\renewcommand*{\bfdefault}{sb}}
- \DeclareOptionX{bold}{\renewcommand*{\bfdefault}{b}}
- \DeclareOptionX{medium}{\renewcommand*{\mddefault}{mb}}
- \DeclareOptionX{regular}{\renewcommand*{\mddefault}{m}}
+
+ \ifcabin@semibold
+ \renewcommand*{\bfdefault}{sb}
+ \else
+ \renewcommand*{\bfdefault}{b}
+ \fi
+ \ifcabin@medium
+ \renewcommand*{\mddefault}{mb}
+ \else
+ \renewcommand*{\mddefault}{m}
+ \fi
+\fi
+
+\ifcabin@otf
+ \RequirePackage{fontspec}
+\else
+ \RequirePackage{fontenc,fontaxes}
\fi
-\ExecuteOptionsX{bold,regular}
-\ProcessOptionsX\relax
\ifcabin@otf
\ifxetex\XeTeXtracingfonts=1\fi
@@ -44,26 +74,53 @@
Ligatures = TeX ,
Scale = \Cabin@scale ,
Extension = .otf }
- \setsansfont
- [ UprightFont = *-\cabin@regstyle ,
- ItalicFont = *-\cabin@regstyle Italic ,
- BoldFont = *-\cabin@boldstyle ,
- BoldItalicFont = *-\cabin@boldstyle Italic ]
- {Cabin}
- \ifcabin@default
- \setmainfont
+ \ifcabin@condensed
+ \setsansfont
+ [ UprightFont = *-\cabin@regstyle ,
+ ItalicFont = *-\cabin@regstyle Italic ,
+ BoldFont = *-\cabin@boldstyle ,
+ BoldItalicFont = *-\cabin@boldstyle Italic ]
+ {CabinCondensed}
+ \else
+ \setsansfont
[ UprightFont = *-\cabin@regstyle ,
ItalicFont = *-\cabin@regstyle Italic ,
BoldFont = *-\cabin@boldstyle ,
BoldItalicFont = *-\cabin@boldstyle Italic ]
{Cabin}
\fi
+ % grab current family in case of subsequent change:
+ \let\cabinfamily\sfdefault
+ \ifcabin@default\renewcommand*\familydefault{\cabinfamily}\fi
+ \newfontfamily\cabin
+ [ UprightFont = *-\cabin@regstyle ,
+ ItalicFont = *-\cabin@regstyle Italic ,
+ BoldFont = *-\cabin@boldstyle ,
+ BoldItalicFont = *-\cabin@boldstyle Italic ]
+ {Cabin}
+ \newfontfamily\cabincondensed
+ [ UprightFont = *-\cabin@regstyle ,
+ ItalicFont = *-\cabin@regstyle Italic ,
+ BoldFont = *-\cabin@boldstyle ,
+ BoldItalicFont = *-\cabin@boldstyle Italic ]
+ {CabinCondensed}
\else % type1
- \renewcommand*\sfdefault{Cabin-TLF}
- \ifcabin@default
- \renewcommand*\familydefault{Cabin-TLF}
- \fi
+ \def\cabinfamily{Cabin-TLF}
+ \def\cabincondensedfamily{CabinCondensed-TLF}
+ \ifcabin@condensed
+ \renewcommand*\sfdefault{\cabincondensedfamily}
+ \ifcabin@default\renewcommand*\familydefault{\cabincondensedfamily}\fi
+ \else
+ \renewcommand*\sfdefault{\cabinfamily}
+ \ifcabin@default\renewcommand*\familydefault{\cabinfamily}\fi
+ \fi
+ \newcommand*\cabin{\fontfamily{\cabinfamily}\selectfont}
+ \newcommand*\cabincondensed{\fontfamily{\cabincondensedfamily}\selectfont}
\fi
+% turn off defaults in case other fonts are selected:
+\ifcabin@otf
+ \defaultfontfeatures{}
+\fi
\endinput