summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/libertine/libertine.sty
blob: 05c876694c5bf2b94a584ae986bac4c1ca11cbbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
% LaTeX-Package for libertine
%
% $Id: libertine.sty,v 1.16 2007/06/08 15:29:19 mgn Exp $
%
% Michael Niedermair m.g.n@gmx.de
%
\ProvidesPackage{libertine}%
	[2007/06/08 v0.8.7 alpha (Nm)]
\RequirePackage{keyval,calc,ifthen}

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

\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}}
\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{\FontLibertineNR}{\fontfamily{fxln}\fontencoding{T1}\selectfont}
\newcommand{\fxlUnderline}[1]{{\usefont{T1}{fxl}{m}{u}\selectfont #1}}
\newcommand{\fxlBUnderline}[1]{{\usefont{T1}{fxl}{b}{u}\selectfont #1}}
\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}
%
% ------------------------------------------------
%
\endinput