% LaTeX-Package for libertine
%
% $Id: libertine.sty 62 2009-05-17 14:10:04Z mgn $
%
% Michael Niedermair m.g.n@gmx.de
%
\def\libertineVersion{4.5.1a}
\def\libertineVersionDate{2009/05/22a}
%
\ProvidesPackage{libertine}[%
   \libertineVersionDate\space-\space\libertineVersion\space-LaTeX:
   Font libertine - (License GPL)
   Michael Niedermair]
\RequirePackage{keyval,calc,ifthen,xcolor,xspace}

\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}%
   \renewcommand\sfdefault{fxb}%
}{}
\ifthenelse{\equal{\fxl@default}{osf}}{%
   \renewcommand\rmdefault{fxlj}%
   \renewcommand\sfdefault{fxbj}%
}{}
\ifthenelse{\equal{\fxl@default}{ss}}{%
   \renewcommand\rmdefault{fxlo}%
   \renewcommand\sfdefault{fxbo}%
}{}

% debug
\ifthenelse{\equal{\fxl@debug}{true}}{
  \typeout{------ libertine: DEBUG ---------------------------}
  \typeout{scaled          = \fxl@scale}
  \typeout{default         = \fxl@default}
  \typeout{test            = \fxl@test}
  \typeout{---------- DEBUG ----------------------------------}
}{}%
% ------------------------------------------------------
\newcommand{\FontLibertine}{\fontfamily{fxl}\fontencoding{T1}\selectfont}
\newcommand{\FontLibertineOF}{\fontfamily{fxlj}\fontencoding{T1}\selectfont}
\newcommand{\FontLibertineFF}{\fontfamily{fxlf}\fontencoding{T1}\selectfont}
\newcommand{\FontBiolinum}{\fontfamily{fxl}\fontencoding{T1}\selectfont}
\newcommand{\FontBiolinumOF}{\fontfamily{fxlj}\fontencoding{T1}\selectfont}
\newcommand{\FontBiolinumFF}{\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}
\input{fxb.inc}
%
% ------------------------------------------------

% ------------------------------------------------
\newcommand*\xllogo{%
	\mbox{%
	\useTextGlyph{fxl}{uniE041}%
	\textcolor{green}{\useTextGlyph{fxl}{uniE042}}%
	}}
% ------------------------------------------------
%
% test
\ifthenelse{\equal{\fxl@test}{true}}{
   % ...
}{}%
%
\endinput
