summaryrefslogtreecommitdiff
path: root/fonts/eurosym/sty/eurosym.sty
blob: 45f34d8f73f9d88e3daa5060fe5b8ccb40adc736 (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
% Style to enable the euro currency symbol for LaTeX.
% by Henrik Theiling  (c) 7/98
%
% The specifications for the symbol are taken from the German
% c't magazine, edition 11/98, p. 211.
%
% The package provides the macro \euro{} which creates a euro
% currency symbol.
%

\ProvidesPackage{eurosym}
    [1998/08/06 v1.1 European currency symbol ``Euro'']

\DeclareFontFamily{U}{eurosym}{}

\DeclareFontShape{U}{eurosym}{m}{n}{   <-> feymr10 }{}
 % Note than only this very shape is officially allowed.  All others
 % that follow are extensions by the author of this package to make
 % the package more suitable.
\DeclareFontShape{U}{eurosym}{m}{sc}{  <-> ssub*eurosym/m/n }{}
   % no Small Caps, only normal
\DeclareFontShape{U}{eurosym}{m}{sl}{  <-> feymo10 }{}
\DeclareFontShape{U}{eurosym}{m}{it}{  <-> ssub*eurosym/m/sl }{}
   % No italic, only slanted.
\DeclareFontShape{U}{eurosym}{m}{ol}{  <-> feyml10 }{}

\DeclareFontShape{U}{eurosym}{bx}{n}{   <-> feybr10 }{}
\DeclareFontShape{U}{eurosym}{bx}{sc}{  <-> ssub*eurosym/bx/n }{}
\DeclareFontShape{U}{eurosym}{bx}{sl}{  <-> feybo10 }{}
\DeclareFontShape{U}{eurosym}{bx}{it}{  <-> ssub*eurosym/bx/sl }{}
\DeclareFontShape{U}{eurosym}{bx}{ol}{  <-> feybl10 }{}

% The b series is only kept anyway.  Perhaps it changes again sometime
% and bx then looks different from b:
\DeclareFontShape{U}{eurosym}{b}{n}{   <-> ssub*eurosym/bx/n }{}
\DeclareFontShape{U}{eurosym}{b}{sl}{  <-> ssub*eurosym/bx/sl }{}
\DeclareFontShape{U}{eurosym}{b}{it}{  <-> ssub*eurosym/bx/sl }{}
\DeclareFontShape{U}{eurosym}{b}{sc}{  <-> ssub*eurosym/bx/n }{}
\DeclareFontShape{U}{eurosym}{b}{ol}{  <-> ssub*eurosym/bx/ol }{}

\DeclareRobustCommand\officialeuro{{\fontencoding{U}\fontfamily{eurosym}\selectfont{}e}}

% The following is for hacking fonts that don't have an own Euro symbol yet
% Only use this when really necessary.
\DeclareRobustCommand\eurobars{{\fontencoding{U}\fontfamily{eurosym}\selectfont{}A}}
\DeclareRobustCommand\eurobarsnarrow{{\fontencoding{U}\fontfamily{eurosym}\selectfont{}B}}
\DeclareRobustCommand\eurobarswide{{\fontencoding{U}\fontfamily{eurosym}\selectfont{}C}}

\newbox\@eurobox
\DeclareRobustCommand\geneuro{\setbox\@eurobox\hbox\eurobars%
   \mbox{\copy\@eurobox\hskip-\wd\@eurobox{}\hskip.5pt{}C}}
\DeclareRobustCommand\geneuronarrow{\setbox\@eurobox\hbox\eurobarsnarrow%
   \mbox{\copy\@eurobox\hskip-\wd\@eurobox{}\hskip.5pt{}C}}
\DeclareRobustCommand\geneurowide{\setbox\@eurobox\hbox\eurobarswide%
   \mbox{\copy\@eurobox\hskip-\wd\@eurobox{}\hskip.5pt{}C}}

\newif\if@EURleft

\def\EUR#1{\if@EURleft\euro\,\fi#1\if@EURleft\else\,\euro\fi}

\DeclareOption{left}{\@EURlefttrue}
\DeclareOption{right}{\@EURleftfalse}
\DeclareOption{official}{\let\euro\officialeuro}
\DeclareOption{gen}{\let\euro\geneuro}
\DeclareOption{gennarrow}{\let\euro\geneuronarrow}
\DeclareOption{genwide}{\let\euro\geneurowide}

\expandafter\ifx\csname umlauthigh\endcsname\relax
  \ExecuteOptions{left,official}
\else
  \ExecuteOptions{right,official}
\fi
\ProcessOptions

\endinput