diff options
author | Karl Berry <karl@freefriends.org> | 2013-07-23 22:26:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-07-23 22:26:44 +0000 |
commit | c053ff39827357f7a2b7c78400192d49274a1a7a (patch) | |
tree | 3d81a8aa4bc416c1c4c0824e76e2cab5a4e911ab /Master/texmf-dist/tex/latex/libertine/biolinum.sty | |
parent | 92d4baa14f458c225ecfdc514e33ee0a87d23020 (diff) |
libertine (23jul13)
git-svn-id: svn://tug.org/texlive/trunk@31272 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/libertine/biolinum.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/libertine/biolinum.sty | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/libertine/biolinum.sty b/Master/texmf-dist/tex/latex/libertine/biolinum.sty new file mode 100644 index 00000000000..5deb286d7ed --- /dev/null +++ b/Master/texmf-dist/tex/latex/libertine/biolinum.sty @@ -0,0 +1,305 @@ +\ProvidesPackage{biolinum}[% + 2013/07/20 (Bob Tennent) Supports Biolinum fonts for all LaTeX engines.] + +\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp} + +\newif\iflibertine@otf +\ifxetex + \libertine@otftrue +\else\ifluatex + \libertine@otftrue +\else % [pdf]LaTeX + \libertine@otffalse +\fi\fi + +\newif\iflibertine@sfdefault \libertine@sfdefaultfalse +\newif\ifbiolinum@lining \biolinum@liningtrue % NEW +\newif\ifbiolinum@tabular \biolinum@tabulartrue % NEW + +\def\libertine@newfigdefaults{% +\PackageWarningNoLine{libertine}{% + ****************************************\MessageBreak + Figure defaults are now: lining, tabular; \MessageBreak + for options, see the documentation. \MessageBreak + ****************************************} +} +\DeclareOptionX{sfdefault}[true]{% +\@nameuse{if#1}\libertine@sfdefaulttrue\fi +} +\DeclareOptionX{type1}[true]{% +\@nameuse{if#1}\libertine@otffalse\fi +} +\DeclareOptionX{nofontspec}[true]{% +\@nameuse{if#1}\libertine@otffalse\fi +} +\DeclareOptionX{lining}[true]{% +\@nameuse{biolinum@lining#1} +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{nf}[true]{% +\@nameuse{biolinum@lining#1} +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{lf}[true]{% +\@nameuse{biolinum@lining#1} +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{oldstyle}[true]{% +\@nameuse{if#1}% + \biolinum@liningfalse +\else + \biolinum@liningtrue +\fi +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{osf}[true]{% +\@nameuse{if#1}% + \biolinum@liningfalse +\else + \biolinum@liningtrue +\ifbiolinum@lining\libertine@newfigdefaults\fi +\fi +} +\DeclareOptionX{sflining}[true]{% +\@nameuse{biolinum@lining#1} +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{sflf}[true]{% +\@nameuse{biolinum@lining#1} +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{sfoldstyle}[true]{% +\@nameuse{if#1}\biolinum@liningfalse\else\biolinum@liningtrue\fi +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{sfosf}[true]{% +\@nameuse{if#1}\biolinum@liningfalse\else\biolinum@liningtrue\fi +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{osfss}[true]{% +\@nameuse{if#1}\biolinum@liningfalse\else\biolinum@liningtrue\fi +\ifbiolinum@lining\libertine@newfigdefaults\fi +} +\DeclareOptionX{tabular}[true]{% +\@nameuse{biolinum@tabular#1} +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{t}[true]{% +\@nameuse{biolinum@tabular#1} +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{proportional}[true]{% +\@nameuse{if#1}% + \biolinum@tabularfalse +\else + \biolinum@tabulartrue +\fi +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{p}[true]{% +\@nameuse{if#1}% + \biolinum@tabularfalse +\else + \biolinum@tabulartrue +\fi +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{sftabular}[true]{% +\@nameuse{biolinum@tabular#1} +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{sft}[true]{% +\@nameuse{biolinum@tabular#1} +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{sfproportional}[true]{% +\@nameuse{if#1}% + \biolinum@tabularfalse +\else + \biolinum@tabulartrue +\fi +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} +\DeclareOptionX{sfp}[true]{% +\@nameuse{if#1}% + \biolinum@tabularfalse +\else + \biolinum@tabulartrue +\fi +\ifbiolinum@tabular\libertine@newfigdefaults\fi +} + +\newcommand*{\LinuxBiolinumT@scale}{1} +\DeclareOptionX{scaled}{\renewcommand*{\LinuxBiolinumT@scale}{#1}} +\DeclareOptionX{scale}{\renewcommand*{\LinuxBiolinumT@scale}{#1}} + +\ProcessOptionsX\relax + +\iflibertine@otf + \ifbiolinum@lining + \def\biolinum@figurestyle{} % lnum feature missing in RB (and hence RBO) + \else + \def\biolinum@figurestyle{OldStyle} + \fi + \ifbiolinum@tabular + \def\biolinum@figurealign{Monospaced} + \else + \def\biolinum@figurealign{Proportional} + \fi + +\else % type1 + + \ifbiolinum@lining + \def\biolinum@figurestyle{LF} + \else + \def\biolinum@figurestyle{OsF} + \fi + \ifbiolinum@tabular + \def\biolinum@figurealign{T} + \else + \def\biolinum@figurealign{} + \fi +\fi + + +\iflibertine@otf + \RequirePackage{fontspec} +\else + \RequirePackage{fontenc,fontaxes} +\fi + +% Set sans fonts: + +\iflibertine@otf + + \def\biolinum@base{LinBiolinum} + \ifxetex\XeTeXtracingfonts=1\fi + \defaultfontfeatures{ + Ligatures = TeX , + Extension = .otf , + SmallCapsFeatures={Letters=SmallCaps} + } + \setsansfont + [ Numbers = {\biolinum@figurealign, \biolinum@figurestyle} , + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R , + ItalicFont = *_RI , + BoldFont = *_RB , + BoldItalicFont = *_RBO , % oblique to fake italic + ] {\biolinum@base} + % grab the \sfdefault in case it changes subsequently: + \let\biolinum@family\sfdefault + \iflibertine@sfdefault\renewcommand*\familydefault{\biolinum@family}\fi + \newfontfamily\biolinum + [ Numbers = {\biolinum@figurealign, \biolinum@figurestyle} , + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R , + ItalicFont = *_RI , + BoldFont = *_RB , + BoldItalicFont = *_RBO, % oblique to fake italic + ] {\biolinum@base} + \newfontfamily\biolinumOsF + [ Numbers = {\biolinum@figurealign, OldStyle} , + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R , + ItalicFont = *_RI , + BoldFont = *_RB , + BoldItalicFont = *_RBO , % oblique to fake italic + ] {\biolinum@base} + \newfontfamily\biolinumLF + [ Numbers = {\biolinum@figurealign} , % lnum feature missing + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R , + ItalicFont = *_RI , + BoldFont = *_RB , + BoldItalicFont = *_RBO , % oblique to fake italic + ] {\biolinum@base} + \defaultfontfeatures{ Extension = .otf } % Don't want ligatures for keyboard + \newfontface\biolinumkey{\biolinum@base _K} + + \providecommand\sufigures{\addfontfeatures{VerticalPosition=Superior}} + +\else % type1 + + \def\biolinum@family{LinuxBiolinumT-\biolinum@figurealign\biolinum@figurestyle} + \def\sfdefault{\biolinum@family} + \iflibertine@sfdefault\edef\familydefault{\sfdefault}\fi + + \providecommand*\biolinum{\fontfamily{\biolinum@family}\selectfont} + \providecommand*\biolinumOsF{\fontfamily{LinuxBiolinumT-\biolinum@figurealign OsF}\selectfont} + \providecommand*\biolinumLF{\fontfamily{LinuxBiolinumT-\biolinum@figurealign LF}\selectfont} + + \fa@naming@exception{figures}{{superior}{proportional}}{Sup} + \fa@naming@exception{figures}{{superior}{tabular}}{Sup} + \def\sufigures{\@nomath\sufigures\fontfigurestyle{superior}\selectfont} + +\fi +\DeclareTextFontCommand{\textsu}{\sufigures} +\let\textsuperior\textsu + +% Define \oldstylenums[f] and \liningnums[f] + +\iflibertine@otf +\else % type1 + % \oldstylenums defined by \textcomp? + \DeclareTextFontCommand{\liningnums}{} + \DeclareTextFontCommand{\oldstylenumsf}{\biolinumOsF} + \DeclareTextFontCommand{\liningnumsf}{\biolinumLF} +\fi + +% Define \tabularnums[f] and \proportionalnums[f] + +\iflibertine@otf + \newfontfamily\biolinumtabular + [ Numbers = {Monospaced,\biolinum@figurestyle}, + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R, + ItalicFont = *_RI, + BoldFont = *_RB, + BoldItalicFont = *_RBO , % oblique to fake italic + ] {\biolinum@base} + \newfontfamily\biolinumproportional + [ Numbers = {Proportional,\biolinum@figurestyle}, + Scale = \LinuxBiolinumT@scale , + UprightFont = *_R, + ItalicFont = *_RI, + BoldFont = *_RB, + BoldItalicFont = *_RBO , % oblique to fake italic + ] {\biolinum@base} + \DeclareTextFontCommand{\tabularnumsf}{\biolinumtabular} + \DeclareTextFontCommand{\proportionalnumsf}{\biolinumproportional} +\else % type1 + \DeclareTextFontCommand{\tabularnumsf}{\fontfamily{LinuxBiolinumT-T\biolinum@figurestyle}\selectfont} + \DeclareTextFontCommand{\proportionalnumsf}{\fontfamily{LinuxBiolinumT-\biolinum@figurestyle}\selectfont} +\fi + +\iflibertine@otf + \def\lib@fxb{LinBiolinum_R} + \def\lib@fxk{LinBiolinum_K} + + \providecommand*\DeclareTextGlyphY[3]{% + % \DeclareTextGlyphY{fxl}{s_t}{64262} + % #1=basefont #2=glyphname, #3=position + \def\lib@temp{#1}% + \ifx\lib@temp\lib@fxb \@namedef{#1@#2}{{\biolinum\char#3\relax}}\else% + \ifx\lib@temp\lib@fxk \@namedef{#1@#2}{{\biolinumkey\char#3\relax}}\else% + \fi\fi} + % + \input{LinBiolinum_R} + \input{LinBiolinum_K} + % + \DeclareRobustCommand*\biolinumGlyph[1]{\@nameuse{LinBiolinum_R@#1}} + \DeclareRobustCommand*\biolinumKeyGlyph[1]{\@nameuse{LinBiolinum_K@#1}} + \input{LKey} + +\else %type1 + +\fi + + +\iflibertine@otf +% turn off defaults in case other fonts are selected: + \defaultfontfeatures{} +\fi + +\endinput |