% LaTeX-Package for libertine
%
% $Id: libertine.sty,v 1.27 2008/01/10 08:43:56 mgn Exp $
%
% Michael Niedermair m.g.n@gmx.de
%
\ProvidesPackage{libertine}%
	[2008/01/10 v2.7.3 beta (Nm)]
\RequirePackage{keyval,calc,ifthen,xcolor}

\def\fxl@scale{1}%        scale factor
\def\fxl@default{nf}%     nf, osf, ss
\def\fxl@debug{false}%    debug
\def\fxl@test{false}%      test

\define@key{fxl}{scaled}[1]{\def\fxl@scale{#1}}
\define@key{fxl}{default}[nf]{\def\fxl@default{#1}}
\define@key{fxl}{debug}[true]{\def\fxl@debug{#1}}
\define@key{fxl}{test}[true]{\def\fxl@test{#1}}
\define@key{fxl}{osf}[true]{\def\fxl@default{osf}}
\define@key{fxl}{ss}[true]{\def\fxl@default{ss}}
\define@key{fxl}{nf}[true]{\def\fxl@default{nf}}
\def\ProcessOptionsWithKV#1{%
  \let\@tempc\relax
  \let\fxl@tempa\@empty
  \@for\CurrentOption:=\@classoptionslist\do{%
    \@ifundefined{KV@#1@\CurrentOption}%
    {}%
    {%
      \edef\fxl@tempa{\fxl@tempa,\CurrentOption,}%
      \@expandtwoargs\@removeelement\CurrentOption
        \@unusedoptionlist\@unusedoptionlist
    }%
  }%
  \edef\fxl@tempa{%
    \noexpand\setkeys{#1}{%
      \fxl@tempa\@ptionlist{\@currname.\@currext}%
    }%
  }%
  \fxl@tempa
  \let\CurrentOption\@empty
}
\ProcessOptionsWithKV{fxl}
\AtEndOfPackage{%
  \let\@unprocessedoptions\relax
}
% ------------------------------------------------

% default
\ifthenelse{\equal{\fxl@default}{nf}}{\renewcommand\rmdefault{fxl}}{}
\ifthenelse{\equal{\fxl@default}{osf}}{\renewcommand\rmdefault{fxlj}}{}
\ifthenelse{\equal{\fxl@default}{ss}}{\renewcommand\rmdefault{fxlo}}{}

% debug
\ifthenelse{\equal{\fxl@debug}{true}}{
  \typeout{------ libertine: DEBUG ---------------------------}
  \typeout{scaled          = \fxl@scale}
  \typeout{default         = \fxl@default}
  \typeout{---------- DEBUG ----------------------------------}
}{}%
% ------------------------------------------------------
\newcommand{\FontLibertine}{\fontfamily{fxl}\fontencoding{T1}\selectfont}
\newcommand{\FontLibertineOF}{\fontfamily{fxlj}\fontencoding{T1}\selectfont}
\newcommand{\FontLibertineFF}{\fontfamily{fxlf}\fontencoding{T1}\selectfont}
\newcommand{\fxlSI}[1]{{\usefont{T1}{fxl}{m}{si}\selectfont #1}}
\newcommand{\fxlBSI}[1]{{\usefont{T1}{fxl}{b}{si}\selectfont #1}}

% circle
\newcommand{\FontLibertineCircle}{%
   \fontfamily{fxlc}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont}
\newcommand{\fxlcsymbol}[1]{{\FontLibertineCircle\char#1}}
\newcommand{\fxlcnumber}[1]{\fxlcsymbol{\arabic{#1}}}
\newenvironment{xlenumerate}[1][1]{%
   \ifnum \@enumdepth >3 \@toodeep\else
      \advance\@enumdepth \@ne
      \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
      \expandafter\def\csname p@enum\romannumeral\the\@enumdepth\endcsname{}%
      \expandafter\def\csname labelenum\romannumeral\the\@enumdepth\endcsname{%
      \csname theenum\romannumeral\the\@enumdepth\endcsname}%
      \expandafter\def\csname theenum\romannumeral\the\@enumdepth\endcsname{%
         \fxlcnumber{enum\romannumeral\the\@enumdepth}}%
      \list{\csname label\@enumctr\endcsname}{%
        \@nmbrlisttrue
        \def\@listctr{\@enumctr}%
        \setcounter{\@enumctr}{#1}%
        \addtocounter{\@enumctr}{-1}%
        \def\makelabel##1{\hss\llap{##1}}}
   \fi
}{\endlist}

% ---------------------------------------------------------
\newcommand*\DeclareTextGlyphX[5]{%
	% \DeclareTextGlyphX{fxl}{U}{fxla7}{uniA7F1}{241}
	% #1=basefont #2=encoding #3=fontfamily #4=glyphname, #5=position
   \@namedef{#1@#4}{\fontfamily{#3}\fontencoding{#2}\selectfont\char#5}}
\newcommand*\useTextGlyph[2]{%
  {\@nameuse{#1@#2}}}
\newcommand*\ifGylphExists[2]{%
  \begingroup
    \setbox0=\hbox{\@nameuse{#1@#2}}%
    %\typeout{\string\wd0=\the\wd0}%
    \edef\x{\endgroup
      \ifdim\wd0>\z@
        \noexpand\@firstoftwo
      \else
        \noexpand\@secondoftwo
      \fi}%
  \x
}
\input{fxl.inc}
%
% ------------------------------------------------
% Brüche

\newcommand*\xl@frac@font{%
  \fontfamily{fxlinfsup}\fontencoding{U}\selectfont%
}

\newcommand*\xl@numerator@offs{48}
\newcommand*\xl@denominator@offs{148}

\newcommand*\xl@split@corr[2]{%
  \expandafter\@tfor\expandafter\@tempa\expandafter
    :\expandafter=#1\do{%
    \@tempcnta=\@tempa \advance\@tempcnta #2\relax
    \symbol{\@tempcnta}%
  }%
}

\newcommand*\@xlfrac[2]{%
  \mbox{%
    \begingroup
      \xl@frac@font
      \xl@split@corr{#1}{\xl@numerator@offs}%
    \endgroup
    /%
    \begingroup
      \xl@frac@font
      \xl@split@corr{#2}{\xl@denominator@offs}%
    \endgroup}%
}

\newcommand*\@xlfracs[2]{%
  \ensuremath{%
    \frac{\mbox{\xl@frac@font\xl@split@corr{#1}{\xl@numerator@offs}}}%
         {\mbox{\xl@frac@font\xl@split@corr{#2}{\xl@denominator@offs}}}}%
}

\newcommand*\xlfrac{%
  \@ifstar\@xlfracs\@xlfrac
}
% ------------------------------------------------
\newcommand*\xllogo{%
	\mbox{%
	\useTextGlyph{fxl}{uniE041}%
	\textcolor[HTML]{00710A}{\useTextGlyph{fxl}{uniE042}}%
	}}
% ------------------------------------------------
%
% test
\ifthenelse{\equal{\fxl@test}{true}}{
  \typeout{---------- TEST ----------------------------------}
}{}%

\@ifundefined{uc@dclc}{%JA-Zweig
}{%NEIN-Zweig
  \typeout{---------- define unicode chars  ---------------------}
  \uc@dclc{976}{default}{\useTextGlyph{fxl}{uni03D0}}%
  \uc@dclc{977}{default}{\useTextGlyph{fxl}{theta1}}%
  \uc@dclc{981}{default}{\useTextGlyph{fxl}{phi1}}%
  \uc@dclc{982}{default}{\useTextGlyph{fxl}{omega1}}%
  \uc@dclc{984}{default}{\useTextGlyph{fxl}{uni03D8}}%
  \uc@dclc{985}{default}{\useTextGlyph{fxl}{uni03D9}}%
  \uc@dclc{986}{default}{\useTextGlyph{fxl}{uni03DA}}%
  \uc@dclc{990}{default}{\useTextGlyph{fxl}{uni03DE}}%
  \uc@dclc{992}{default}{\useTextGlyph{fxl}{uni03E0}}%
  \uc@dclc{1008}{default}{\useTextGlyph{fxl}{uni03F0}}%
  \uc@dclc{1009}{default}{\useTextGlyph{fxl}{uni03F1}}%
  \uc@dclc{1010}{default}{\useTextGlyph{fxl}{uni03F2}}%
  \uc@dclc{1013}{default}{\useTextGlyph{fxl}{uni03F5}}%
  \uc@dclc{1017}{default}{\useTextGlyph{fxl}{uni03F9}}%
  \uc@dclc{1021}{default}{\useTextGlyph{fxl}{uni03FD}}%
  \uc@dclc{1022}{default}{\useTextGlyph{fxl}{uni03FE}}%
  \uc@dclc{1023}{default}{\useTextGlyph{fxl}{uni03FF}}%
  \uc@dclc{8034}{default}{\useTextGlyph{fxl}{uni1F62}}%
  \uc@dclc{8164}{default}{\useTextGlyph{fxl}{uni1FE4}}%
  \uc@dclc{8165}{default}{\useTextGlyph{fxl}{uni1FE5}}%
  %
  \def\stigma{\useTextGlyph{fxl}{uni03DB}}
  \def\Stigma{\useTextGlyph{fxl}{uni03DA}}
  \def\qoppa{\useTextGlyph{fxl}{uni03DF}}
  \def\Qoppa{\useTextGlyph{fxl}{uni03DE}}
  \def\varqoppa{\useTextGlyph{fxl}{uni03D9}}
  \def\Varqoppa{\useTextGlyph{fxl}{uni03D8}}
  \def\sampi{\useTextGlyph{fxl}{uni03E1}}
  \def\Sampi{\useTextGlyph{fxl}{uni03E0}}
  \def\varbeta{\useTextGlyph{fxl}{uni03D0}}
  \def\varepsilon{\useTextGlyph{fxl}{uni03F5}}
  \def\vartheta{\useTextGlyph{fxl}{theta1}}
  \def\varkappa{\useTextGlyph{fxl}{uni03F0}}
  \def\varpi{\useTextGlyph{fxl}{omega1}}
  \def\varrho{\useTextGlyph{fxl}{uni03F1}}
  \def\varphi{\useTextGlyph{fxl}{phi1}}
  \def\antisigma{\useTextGlyph{fxl}{uni03FD}}
  \def\dsigma{\useTextGlyph{fxl}{uni03FE}}
  \def\dantisigma{\useTextGlyph{fxl}{uni03FF}}
}
%
\endinput
