summaryrefslogtreecommitdiff
path: root/fonts/eurosym
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/eurosym
Initial commit
Diffstat (limited to 'fonts/eurosym')
-rw-r--r--fonts/eurosym/COPYING32
-rw-r--r--fonts/eurosym/Changes45
-rw-r--r--fonts/eurosym/README69
-rw-r--r--fonts/eurosym/c/Makefile7
-rw-r--r--fonts/eurosym/c/eurosym.cpp60
-rw-r--r--fonts/eurosym/contrib/type1/README16
-rw-r--r--fonts/eurosym/contrib/type1/dvips/config/eurosym.map15
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybl10.pfbbin0 -> 22855 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfbbin0 -> 16228 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfbbin0 -> 15995 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfbbin0 -> 17742 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfbbin0 -> 16144 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfbbin0 -> 20847 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfbbin0 -> 17155 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfbbin0 -> 15704 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfbbin0 -> 15329 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfbbin0 -> 17168 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfbbin0 -> 15623 bytes
-rw-r--r--fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfbbin0 -> 15391 bytes
-rw-r--r--fonts/eurosym/doc/Makefile14
-rw-r--r--fonts/eurosym/doc/rundvips11
-rw-r--r--fonts/eurosym/doc/runlatex11
-rw-r--r--fonts/eurosym/doc/testeuro.pdfbin0 -> 286223 bytes
-rw-r--r--fonts/eurosym/doc/testeuro.tex278
-rw-r--r--fonts/eurosym/src/Makefile91
-rw-r--r--fonts/eurosym/src/fey.mf289
-rw-r--r--fonts/eurosym/src/feybl10.mf17
-rw-r--r--fonts/eurosym/src/feybo10.mf17
-rw-r--r--fonts/eurosym/src/feybr10.mf17
-rw-r--r--fonts/eurosym/src/feyml10.mf17
-rw-r--r--fonts/eurosym/src/feymo10.mf17
-rw-r--r--fonts/eurosym/src/feymr10.mf17
-rw-r--r--fonts/eurosym/src/makemfs64
-rw-r--r--fonts/eurosym/sty/eurosym.sty75
-rw-r--r--fonts/eurosym/tfm/feybl10.tfmbin0 -> 564 bytes
-rw-r--r--fonts/eurosym/tfm/feybo10.tfmbin0 -> 564 bytes
-rw-r--r--fonts/eurosym/tfm/feybr10.tfmbin0 -> 564 bytes
-rw-r--r--fonts/eurosym/tfm/feyml10.tfmbin0 -> 564 bytes
-rw-r--r--fonts/eurosym/tfm/feymo10.tfmbin0 -> 564 bytes
-rw-r--r--fonts/eurosym/tfm/feymr10.tfmbin0 -> 564 bytes
40 files changed, 1179 insertions, 0 deletions
diff --git a/fonts/eurosym/COPYING b/fonts/eurosym/COPYING
new file mode 100644
index 0000000000..8662d31457
--- /dev/null
+++ b/fonts/eurosym/COPYING
@@ -0,0 +1,32 @@
+Copyright (c) 1999-2002 Henrik Theiling
+Licence Version 2
+
+This software is provided 'as-is', without warranty of any kind,
+express or implied. In no event will the authors or copyright holders
+be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated.
+
+2. Altered source versions must be plainly marked as such, and must
+not be misrepresented as being the original software.
+
+3. You must not use any of the names of the authors or copyright
+holders of the original software for advertising or publicity
+pertaining to distribution without specific, written prior permission.
+
+4. If you change this software and redistribute parts or all of it in
+any form, you must make the source code of the altered version of this
+software available.
+
+5. This notice may not be removed or altered from any source
+distribution.
+
+This licence is governed by the Laws of Germany. Disputes shall be
+settled by Saarbruecken City Court.
diff --git a/fonts/eurosym/Changes b/fonts/eurosym/Changes
new file mode 100644
index 0000000000..7a6035d016
--- /dev/null
+++ b/fonts/eurosym/Changes
@@ -0,0 +1,45 @@
+This is the change log of the Euro currency symbol for TeX/LaTeX.
+(if you want to complain about anything: theiling@coli.uni-sb.de)
+
+30-Apr-2002:
+ - Added licence
+
+6-Aug-1998:
+ - added fixes to the mf file to make the symbol look nice in
+ many different resolutions and sizes
+
+ - added a lot of text to the testeuro.tex documentation file
+
+ - added commands \EUR, \geneuro etc.
+
+ - moved the documentation to doc subdirectory and changed the
+ Makefiles.
+
+ - added a text example with two different shapes of the symbol
+
+ - changed the symbol \char0 in the font to include thin lines
+ showing the construction of the symbol and added it to the
+ docu.
+
+28-Jul-1998:
+ - fixed the amount the bars came out of the symbol on the left.
+ The fix is a hack but a good one. :-)
+
+ - added new characters for only the bars for construction of
+ Euro currency symbols from other fonts' C characters. There
+ are two widths: 100% and 80%. This is due to the fact that
+ most C's are less wide than the Euro glyph
+
+ - fixed the overunder-amount to match the cmr-C in most of the
+ usual sizes
+
+ - changed the bold glyph to look nicer. simply re-drawing the
+ border is ugly
+
+ - threw out the b series and replaced it with bx in the style
+ file because it isn't different anymore. However, for
+ compatibility reasons, the b series should be defined.
+
+27-Jul-1998: version 1.0 completed
+
+26-Jul-1998: initial version
diff --git a/fonts/eurosym/README b/fonts/eurosym/README
new file mode 100644
index 0000000000..a78c856e13
--- /dev/null
+++ b/fonts/eurosym/README
@@ -0,0 +1,69 @@
++------------------------------------------------------+
+| The Euro Symbol Package for LaTeX by Henrik Theiling |
+| Version 1.4 |
+| <henrik@theiling.de>, http://www.theiling.de/ |
++------------------------------------------------------+
+
+Hi!
+
+This is the Euro symbol package I created. It provides a new symbol
+to be used for the new European currency symbol, the Euro. The
+specifications were taken from the c't magazine 11/98 p.211 from from
+Encyclopaedia Britannica, Book of the Year 2002.
+
+There is a style file (sty/eurosym.sty), some Metafont source files
+(src/*.mf) and a LaTeX file (doc/testeuro.tex). For installation, put
+this somewere where LaTeX can find it.
+
+Further documentation can be found in doc/testeuro.dvi. You can only
+see the Euro symbols in the text if you have installed the package
+successfully, though.
+
+System Wide Installation Done by the Superuser
+----------------------------------------------
+An example follows. Substitute $TEXMF with something that
+matches your installation (search for texmf on your system
+if you don't know where it is).
+
+If you are the superuser, move the eurosym/src directory to
+$TEXMF/fonts/source/eurosym, the eurosym/tfm directory to
+$TEXMF/fonts/tfm/eurosym and the eurosym/sty directory to
+$TEXMF/tex/latex/eurosym.
+
+Use Installation
+----------------
+Choose a directory for this installation, say $HOME/lib/tex/eurosym
+and make sure that the programmes `latex', `dvips', `xdvi', and
+possible other TeX related programmes find the files by ensuring
+that the environment variables TEXINPUTS, MFINPUT and TFMFONTS
+point to $HOME/lib/tex// (double slash at the end to ensure
+sub-directory recursion) as well. See the file doc/runlatex for
+an example.
+
+Testing
+-------
+Go to the doc subdirectory, compile testeuro.tex with latex and read
+it with xdvi. Ignore some warnings about underfull hboxes which
+occur because there is a three column part of text which TeX can't
+typeset perfectly. Also ignore the warnings about unavailable shapes
+of cmr.
+
+TODO
+----
+ Implement the OCR Euro symbols. (long term project...)
+
+
+BUGS
+----
+- testeuro.tex creates warnings about unavailable shapes of cmr
+ although I tried my best to make the scope of the \olshape
+ command include the \officialeuro{} command only.
+
+- FIXED:
+ at least on my machine, dvips and xdvi produce checksum mismatches
+ for some unknown reason.
+
+- FIXED:
+ problems with names: `eurosymbol' and `eurosym' were both used.
+
+**Henrik
diff --git a/fonts/eurosym/c/Makefile b/fonts/eurosym/c/Makefile
new file mode 100644
index 0000000000..6c6bdbff25
--- /dev/null
+++ b/fonts/eurosym/c/Makefile
@@ -0,0 +1,7 @@
+CC=gcc
+CXX=g++
+CXXFLAGS=-g -W -Wall
+LOADLIBES=-lfig -lm
+
+all: eurosym
+.PHONY: all
diff --git a/fonts/eurosym/c/eurosym.cpp b/fonts/eurosym/c/eurosym.cpp
new file mode 100644
index 0000000000..5284d2145a
--- /dev/null
+++ b/fonts/eurosym/c/eurosym.cpp
@@ -0,0 +1,60 @@
+// -*- Mode: C++ -*-
+
+#include <fig.h>
+
+int main (int, char **)
+{
+ // These measures are taken from an ``official'' Euro symbol
+ // that is programmed in PostScript (which turns out not to
+ // use the correct measures.
+
+ // However, let's view the values in mm.
+ Fig::unit= Fig::mm;
+
+ // Default angle unit is degrees:
+ Fig::angle_unit= Fig::deg;
+
+ // The origin is at the center of the arcs.
+ // Inner Arc:
+ FigDimension const inner_arc_radius= 67.5;
+ FigAngle const inner_arc_angle1= 40.0;
+ FigAngle const inner_arc_angle2= 320.0;
+
+ // Outer Arc:
+ FigDimension const outer_arc_radius= 77.5; // Hmmm... It can be seen that the line width
+ // is 10 units. So the inner radius contradicts
+ // the official construction; if must be 5 units
+ // and the outer one 6 units.
+ FigDimension const outer_arc_angle1= 311.8513;
+ FigDimension const outer_arc_angle2= 43.68390;
+
+ // However, just for the fun of it, continue to write the rest as a fig-file, too:
+
+ FILE *f=fopen ("eurosym.fig", "wt");
+ (new FigFile (
+ FigVectorWidget ()
+ << (new FigCEllipse (0, 0, inner_arc_radius)) // instead of arc, use a circle for now
+ << (new FigCEllipse (0, 0, outer_arc_radius))
+ << (new FigClosedPoly (
+ FigVectorPoint()
+ << FigPoint (26.73339, -15)
+ << FigPoint (-97.5, -15)
+ << FigPoint (-93.22267, -5)
+ << FigPoint (31.010728, -5)
+ << FigPoint (26.73339, -15)
+ ))
+ << (new FigClosedPoly (
+ FigVectorPoint()
+ << FigPoint (35.28807, 5)
+ << FigPoint (-97.5, 5)
+ << FigPoint (-93.22267, 15)
+ << FigPoint (39.56541, 15)
+ << FigPoint (35.28807, 5)
+ ))
+ ))->scale (1, -1)
+ ->translate (120, 100)
+ ->save (f);
+ fclose (f);
+
+ return 0;
+} \ No newline at end of file
diff --git a/fonts/eurosym/contrib/type1/README b/fonts/eurosym/contrib/type1/README
new file mode 100644
index 0000000000..d83b274715
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/README
@@ -0,0 +1,16 @@
+Thomas Schröder sent me a mail about having composed
+Type1 fonts from the Metafont source. I pass the files
+through to you without checking them, but I suspect
+they are useful.
+
+These fonts are made from an older version of the Eurosym
+package (< 1.4) and so the measures may be slightly different
+from the official construction.
+
+Thomas used textrace to create the g* files and then
+edited them to contain hints using pfaedit. This makes
+the f* series. A map file for dvips is also provided.
+
+Contact Thomas here: schlumpf@mac.com
+
+Have fun!
diff --git a/fonts/eurosym/contrib/type1/dvips/config/eurosym.map b/fonts/eurosym/contrib/type1/dvips/config/eurosym.map
new file mode 100644
index 0000000000..f87b64ed07
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/dvips/config/eurosym.map
@@ -0,0 +1,15 @@
+feymr10 TeX-feymr10 <feymr10.pfb
+feymo10 TeX-feymo10 <feymo10.pfb
+feyml10 TeX-feyml10 <feyml10.pfb
+feybr10 TeX-feybr10 <feybr10.pfb
+feybo10 TeX-feybo10 <feybo10.pfb
+feybl10 TeX-feybl10 <feybl10.pfb
+%
+% fonts not hinted by pfaedit:
+%
+%feymr10 TeX-feymr10 <geymr10.pfb
+%feymo10 TeX-feymo10 <geymo10.pfb
+%feyml10 TeX-feyml10 <geyml10.pfb
+%feybr10 TeX-feybr10 <geybr10.pfb
+%feybo10 TeX-feybo10 <geybo10.pfb
+%feybl10 TeX-feybl10 <geybl10.pfb
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybl10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybl10.pfb
new file mode 100644
index 0000000000..3c88990547
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybl10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb
new file mode 100644
index 0000000000..cb6c078066
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb
new file mode 100644
index 0000000000..023d547009
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb
new file mode 100644
index 0000000000..5d6b62a414
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb
new file mode 100644
index 0000000000..dd8126bb6a
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb
new file mode 100644
index 0000000000..6a49f032b9
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb
new file mode 100644
index 0000000000..68a5fe2a02
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb
new file mode 100644
index 0000000000..15a435ec57
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb
new file mode 100644
index 0000000000..6ee07b501f
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb
new file mode 100644
index 0000000000..27c6c88881
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb
new file mode 100644
index 0000000000..120c78f1cd
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb
Binary files differ
diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb
new file mode 100644
index 0000000000..cc3d55bc09
--- /dev/null
+++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb
Binary files differ
diff --git a/fonts/eurosym/doc/Makefile b/fonts/eurosym/doc/Makefile
new file mode 100644
index 0000000000..180ca36941
--- /dev/null
+++ b/fonts/eurosym/doc/Makefile
@@ -0,0 +1,14 @@
+all: dummy
+ (cd ../src; $(MAKE))
+
+clean: dummy
+ (cd ../src; $(MAKE) clean)
+
+ps: dummy
+ (cd ../src; $(MAKE) ps)
+
+print: dummy
+ (cd ../src; $(MAKE) print)
+
+dummy:
+
diff --git a/fonts/eurosym/doc/rundvips b/fonts/eurosym/doc/rundvips
new file mode 100644
index 0000000000..c399ec392e
--- /dev/null
+++ b/fonts/eurosym/doc/rundvips
@@ -0,0 +1,11 @@
+#!/bin/sh
+MYTEX=${HOME}/lib/tex
+TEXINPUTS='.//:$TEXMF/tex//':${MYTEX}//
+MFINPUTS='.//:$TEXMF/mf//':${MYTEX}//
+TFMFONTS='.//:$TEXMF/fonts//':${MYTEX}//
+
+export TEXINPUTS
+export MFINPUTS
+export TFMFONTS
+
+dvips -D600 "$@"
diff --git a/fonts/eurosym/doc/runlatex b/fonts/eurosym/doc/runlatex
new file mode 100644
index 0000000000..66f197322b
--- /dev/null
+++ b/fonts/eurosym/doc/runlatex
@@ -0,0 +1,11 @@
+#!/bin/sh
+MYTEX=${HOME}/lib/tex
+TEXINPUTS='.//:$TEXMF//':${MYTEX}//
+MFINPUTS='.//:$TEXMF//':${MYTEX}//
+TFMFONTS='.//:$TEXMF/fonts//':/var/texfonts//:${MYTEX}//
+
+export TEXINPUTS
+export MFINPUTS
+export TFMFONTS
+
+latex "$@"
diff --git a/fonts/eurosym/doc/testeuro.pdf b/fonts/eurosym/doc/testeuro.pdf
new file mode 100644
index 0000000000..c78cd3cfa5
--- /dev/null
+++ b/fonts/eurosym/doc/testeuro.pdf
Binary files differ
diff --git a/fonts/eurosym/doc/testeuro.tex b/fonts/eurosym/doc/testeuro.tex
new file mode 100644
index 0000000000..f8e736dc61
--- /dev/null
+++ b/fonts/eurosym/doc/testeuro.tex
@@ -0,0 +1,278 @@
+\documentclass[10pt]{article}
+
+\usepackage{german}
+\usepackage[official,right]{eurosym}
+\usepackage{multicol}
+
+\makeatletter
+
+\def\finalpagebreak{\vfill\pagebreak}
+
+%\usepackage{standard}
+
+\oddsidemargin 0 in % Note that \oddsidemargin = \evensidemargin
+\evensidemargin 0 in
+%\marginparwidth 0.75 in
+\textwidth 6.375 true in % Width of text line.
+%\textheight 21cm
+%\topmargin-1cm
+
+\renewcommand\section[1]{%
+ \par\vspace{0.5\baselineskip}%
+ \noindent{\bfseries\large #1}%
+ \\[0.5\baselineskip]}
+
+\def\EUR{\,\euro}
+
+\def\oldefault{ol}
+\DeclareRobustCommand\olshape{\fontshape\oldefault\selectfont}
+
+\setlength\parskip{0.5\baselineskip}
+\setlength\parindent{0pt}
+
+\begin{document}
+\begin{centering}
+\LARGE{The European Currency Symbol \euro{} for \LaTeX}\\
+\vspace*{4mm}
+\large{by Henrik Theiling}\\
+\large{\tt theiling@coli.uni-sb.de}\\
+\end{centering}
+\vspace*{2\baselineskip}
+
+%======================================================================
+\section{Why?}
+The European currency symbol \euro{} is already available for \LaTeX{}
+in different packages (Text-Companion fonts, Marvosym package,
+etc.{}). However, I wanted to create a symbol that is constructed
+according to the official European Commision's definitions.
+Furthermore, I wanted to do it with {\sf METAFONT} because I don't
+like to use PostScript fonts because they are likely to create
+compatibility problems.
+
+\section{Usage}
+At the beginning of the document in the pre-amble, declare
+\verb:\usepackage{eurosym}:. Then the new commands
+\verb:\officialeuro{}:, \verb:\geneuro{}:, \verb:\geneuronarrow{}: and
+\verb:\geneurowide{}: create \officialeuro{}, \geneuro{},
+\geneuronarrow{}, and \geneurowide{} resp. The latter three create an
+overlayed symbol from the current font's C and the two horizontal bars
+with three different lengths. Of course you should only use the
+latter commands if the font you're using lacks the \officialeuro{}
+symbol or you don't like ``\officialeuro{}'' for some reason.
+Officially, ``\officialeuro{}'' has to be used with all the fonts
+because it's the only official shape. However, this doesn't always
+look nice (especially in bold or oblique font shapes). Furthermore,
+even the OCR draft suggests a different shape for OCR-B.
+
+There is also the command \verb:\euro{}: which defaults to be a
+shortcut for \verb:\officialeuro{}:. You can set a different default
+symbol by either declaring e.\,g.{} \verb:\let\euro=\eurogen: or by
+using one of the package options {\tt{}official}, {\tt{}gen},
+{\tt{}gennarrow} or {\tt{}genwide}.
+
+There is a convenient command \verb:\EUR{:\dots\verb:}: which lets you
+typeset an amount of money nicely (with a micro space \verb:\,:
+between the symbol and the number). Because in some countries the
+symbol has to appear on the left of the number while in others it has
+to be on the right, the packages recognizes the two options {\tt left}
+and {\tt right}. So if you put \verb:\usepackage[left]{eurosym}: at
+the beginning of your document, \verb:\EUR{1000}: will create
+\euro{}\,1000, while a \verb:\usepackage[right]{eurosym}: makes it
+appear as 1000\,\euro{}. The package default is {\tt [left]} unless
+the {\tt german} package was included {\em before\/} the {\tt eurosym}
+package. You can change the shape of the symbol that \verb:\EUR: uses
+by redefining \verb:\euro:.
+
+%======================================================================
+\section{Table of Commands}
+Here is a table of the major commands:
+
+\begin{tabular}{ll}
+\verb:\usepackage[:{\it options}\verb:]{eurosym}:
+ & include the eurosym package. Available options:\\
+ & {\tt left}, {\tt right}, {\tt official}, {\tt gen},
+ {\tt gennarrow}, {\tt genwide}.\\
+\verb:\euro{}:
+ & create a \euro{} symbol. The shape depends on the \\
+ & package options and defaults to \verb:\officialeuro{}:\\
+\verb:\EUR{:{\it amount}\verb:}:
+ & typeset an amount of \euro{}. The position of the\\
+ & currency symbol depends on the package option and\\
+ & defaults to {\tt left} except the {\tt german} package\\
+ & is loaded in which case it defaults to {\tt right}.
+\end{tabular}
+
+\noindent There should generally be no need to use the following minor
+commands.
+
+\begin{tabular}{ll}
+\verb:\officialeuro{}: & create a \officialeuro{} symbol\\
+\verb:\geneuro{}: & create a \geneuro{} symbol\\
+\verb:\geneuronarrow{}: & create a \geneuronarrow{} symbol\\
+\verb:\geneurowide{}: & create a \geneurowide{} symbol\\
+\verb:\eurobars{}: & create only the bars of the symbol: \eurobars\\
+\verb:\eurobarsnarrow{}: & create the bars of the symbol in 80\% width: \eurobarsnarrow\\
+\verb:\eurobarswide{}: & create the bars of the symbol in 120\% width: \eurobarswide\\
+\end{tabular}
+
+\section{Exact Sizes}
+A \euro{} symbol is as tall as a C. The {\tt bx}-shaped version
+should be a little wider than the normal one and should of course be
+bold.
+
+\vspace*{2mm}
+\setlength\fboxsep{0pt}
+\setlength\fboxrule{0.1pt}
+\def\EC#1{\def\f@size{#1}\selectfont\let\ff=\f@size{\normalsize\ff\,pt:} \fbox{\euro{}C}}
+\begin{tabular}{lll@{\qquad}ll}
+{\EC{24.88}} & {\EC{10}} & {\EC{6}} & \tt n & \noindent{\Huge \fbox{\euro{}}}\\
+{\EC{17.28}} & {\EC{9}} & {\EC{5}} & \tt b & \noindent{\Huge \fbox{\bfseries\euro}{}}\\
+{\EC{14.4}} & {\EC{8}} & & &\\
+{\EC{12}} & {\EC{7}} & & &\\
+\end{tabular}
+
+
+\section{Appearance in Text}
+\setlength\parskip{0.5ex}
+\begin{tabular}{lll}
+\mddefault & \updefault & Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher.\\
+\mddefault & \sldefault & \slshape Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher. \\
+\mddefault & \itdefault & \itshape Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher. \\
+\mddefault & \scdefault & \scshape Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher. \\
+\bfdefault & \updefault & \bfseries Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher. \\
+\bfdefault & \sldefault & \bfseries\slshape Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher. \\
+\bfdefault & \itdefault & \bfseries\itshape Ich bezahlte 500\EUR{} f\"ur das Radio. Bzw. 1000\,\geneuro{} f\"ur den Fernseher.
+\end{tabular}
+
+\section{Table of Shapes}
+The following shapes are derived from the official symbol ``Euro glyph''.\\
+\let\testeuro\euro
+\begin{tabular}{l|ccc}
+ & \tt\updefault=\tt\scdefault & \tt\sldefault=\tt\itdefault & \tt\oldefault \\\hline
+\tt\mddefault & \testeuro & \slshape\testeuro &{\olshape\officialeuro}\\
+\tt\bfdefault & \bfseries\testeuro & \bfseries\slshape\testeuro &{\bfseries\olshape\officialeuro}\\
+\end{tabular}
+
+The style file defines \verb:\slshape: as \verb:\itshape: for this symbol and
+normal shape for \verb:\scshape:.
+
+\section{Table of Generic Shapes}
+The font also contains only the bars for a fast hacking way to create the Euro currency
+symbol with fonts that don't contain it. Usually you can simply use \verb:\geneuro: to
+get a hacked Euro symbol for the current font.
+
+\begin{tabular}{l|cc}
+ & \tt\updefault & \tt\sldefault \\\hline
+\tt\mddefault & \geneuro & \slshape\geneuro \\
+\tt\bfdefault & \bfseries\geneuro & \bfseries\slshape\geneuro
+\end{tabular}
+
+If the font you are using is wider or more narrow so that the sizes of
+the bars don't look nice for that font, you can either try
+\verb:\geneuronarrow: or \verb:\geneurowide:.
+
+\begin{tabular}{l|cccc}
+ & \multicolumn{2}{c}{\tt{$\backslash$}geneuronarrow}
+ & \multicolumn{2}{c}{\tt{$\backslash$}geneurowide}\\
+ & \tt\updefault & \tt\sldefault
+ & \tt\updefault & \tt\sldefault \\\hline
+\tt\mddefault & \geneuronarrow & \slshape\geneuronarrow
+ & \geneurowide & \slshape\geneurowide \\
+\tt\bfdefault & \bfseries\geneuronarrow & \bfseries\slshape\geneuronarrow
+ & \bfseries\geneurowide & \bfseries\slshape\geneurowide
+\end{tabular}
+
+%======================================================================
+\section{Construction of the Symbol}
+The construction is taken from the German c't Magazine, 11/98,
+page~211. That construction was missing one measure. A completion of
+my construction was reported by Dr. Werner Gans, who found the full
+construction in `Encyclopaedia Britannica, Book of the Year 2002'.
+
+Let the line thickness be $x$. Then the radius of the inner circle is
+$5\,x$ and the distance between the inner bars is $x$. The angle of
+the opening on the right is $80^\circ$. The $x$-coordinate of the
+left pointed end of the bars is $8\,x$ from the center. All the other
+points are obtained by intersection of lines and by parallelism.
+
+\noindent
+\setlength\unitlength{1mm}
+\begin{picture}(80,80)
+\put(30,15) {\mbox{\fontencoding{U}\fontfamily{eurosym}\def\f@size{200}\selectfont\char0}}
+\put(66,38) {\mbox{$80^\circ$}}
+\put(30.3,6) {\mbox{$\longleftarrow\hbox to20pt{~} 8 \times \hbox to20pt{~}\longrightarrow$}}
+\put(38.7,10){\mbox{$\longleftarrow\hbox to8pt{~} 6 \times \hbox to8.2pt{~}\longrightarrow$}}
+\put(43,38) {\mbox{$\longleftarrow\hbox to2pt{~} 5 \times \hbox to2pt{~}\longrightarrow$}}
+\end{picture}
+
+\section{Example in a Longer Text}
+In the following, I've copied an article from a local newspaper
+(Neue Westf\"alische, Nr.~174, Donnerstag, 30.~Juli 1998) containing
+money amounts and changed ``DM'' to ``\euro'' or ``\geneuro''
+resp.{} in order to give an impression of how it looks in a longer
+text.
+
+\setlength\premulticols{0pt}
+\setlength\postmulticols{0pt}
+\def\thetesttext{
+\noindent\leftline{\large\bfseries Erzeugergemeinschaft plant bis zum Jahr
+2003 Verdopplung des Umsatzes}\\[2ex]
+\noindent\leftline{\Large\bfseries EGO will Riesenvorsprung nutzen}
+\begin{multicols}{3}
+\begin{bfseries}
+\noindent B\,i\,s\,s\,e\,n\,d\,o\,r\,f\,/\,L\,a\,g\,e (blo).
+Verbraucher kaufen Fleisch- und Wurstwaren
+inzwischen sehr kritisch ein, gehen wieder viel h\"aufiger ins
+Fleischerfachgesch\"aft. Das kommt der EGO (Erzeugergemeinschaft
+f\"ur Schlachtvieh im Raum Osnabr\"uck e.\,G.{}) mit Ihren
+"`Eichenhof"'-Produkten entgegen. Die EGO setzt auf
+nachpr\"ufbare Herkunft und Qualit\"at, kooperiert mit 175 Fleischereien
+und plant bis zum Jahr 2003 eine Umsatzverdopplung auf 400 Mio.{}\,\Euro{}.
+\end{bfseries}
+\par\vspace{1ex}
+\noindent Dabei kann die EGO ein gro\ss es Pfund in die Waagschale
+werfen. "`Wir haben mindestens 15~Jahre Vorsprung."' erkl\"arte
+gesch\"aftsf\"uhrender Vorstandsvorsitzender Karl-Heinz
+H\"ugelsmeyer in Bissendort. Der Vorsprung sind die strengen Kriterien,
+nach denen der genossenschaftliche Zusammenschlu\ss{} vor knapp
+700~vertraglich gebundenen b\"auerlichen Familienbetrieben zwischen
+Teutoburger Wald und Wiehengebirge arbeitet: Tiergerechte Schweine- und
+Rinderhaltung mit festen Regeln f\"ur F\"utterung, Zucht und
+Aufzucht, Andienungspflicht und Abnahmegarantie, Sauberkeit der Produktion,
+Regelverst\"o\ss{}e werden hart mit Ausschlu\ss{} geahndet.
+\par\vspace{1ex}
+\noindent Die Landwirte profitieren durch gute Auszahlungspreise und
+Pr\"amien an die Mitglieder in 1997 aus, berichtete Gesch\"aftsf\"uhrer
+Rudolf Fester. Er l\"ost am 1.~August EGO-Gr\"under Karl-Heinz
+H\"uggelsmeyer als Vorstandschef ab. Der 65j\"ahrige H\"uggelsmeyer
+wird noch f\"ur einige Jahre als Gesch\"aftsf\"uhrer der Tochterfirmen
+Pieper (Lage) und Kinnius (Osnabr\"uck) t\"atig sein. diese beiden
+Verarbeitsbetriebe erzielen den Angaben zufolge derzeit positivere
+Ergebnisse als 1997, weil die Rohstoffpreise sinken. Insgesamt
+stehe die EGO besser da als vor einem Jahr. F\"ur 1998 rechnet
+die 210~Mitarbeiter besch\"aftigende Gruppe mit 200~Mio.{}\,\Euro{},
+davon 5~Mio.{}\,\Euro{} mit Convenience-Produkten. Sie sollen
+einmal 15~Mio.{}\,\Euro{} bringen. 1997 war der EGO-Umsatz um
+7\% auf 197~Mio.{}\,\Euro{} gestiegen.
+\par\vspace{1ex}
+\noindent Die Landschlachterei Pieper, die einige ihrer
+Abnehmer ausgesiebt hat, kam dabei im Vorjahr auf
+29,3 (Vorjahr 30,3) Mio.{}\,\Euro{}\@. Die Zahl der
+Mitgliedsbetriebe stieg um gut 100 auf~687. Aus der Fusion mit
+der Erzeugergemeinschaft Minden-Ravensberg-Lippe (Herford),
+die 320~Mitglieder hatte, kamen nur 81~Betriebe hinzu. Das Gros
+wurde nicht \"ubernommen. Zitat: "`Die wollten unsere Kriterien
+nicht erf\"ullen."'
+\end{multicols}
+}
+
+\sloppy
+\vfill\pagebreak
+\let\Euro\euro
+\thetesttext
+
+\vfill\pagebreak
+\let\Euro\geneuro
+\thetesttext
+
+\end{document}
diff --git a/fonts/eurosym/src/Makefile b/fonts/eurosym/src/Makefile
new file mode 100644
index 0000000000..ca27dd7097
--- /dev/null
+++ b/fonts/eurosym/src/Makefile
@@ -0,0 +1,91 @@
+RCSFILES=../sty/eurosym.sty \
+ fey.mf \
+ ../README \
+ ../Changes \
+ ../doc/testeuro.tex \
+ makemfs \
+ Makefile
+TARDIR=$(HOME)/transfer
+VERSION=1.3
+
+SHAPES=bl bo br ml mo mr
+FILES=$(addprefix fey, $(addsuffix 10, $(SHAPES)))
+
+MF_FILES= $(addsuffix .mf, $(FILES))
+TFM_FILES= $(addprefix ../tfm/, $(addsuffix .tfm, $(FILES)))
+
+all: mf tfm feymr10.dvi feybr10.dvi ../doc/testeuro.dvi
+.PHONY: All
+
+.PRECIOUS: $(TFM_FILES) $(MF_FILES)
+
+%.dvi: %.2602gf
+ gftodvi $<
+
+%.2602gf: %.mf fey.mf
+ mf $<
+
+feymr10.mf feybr10.mf: makemfs
+ ./makemfs -mf
+
+../doc/testeuro.dvi: ../doc/testeuro.tex feymr10.mf
+ (cd ../doc; latex testeuro.tex)
+
+.PHONY: clean
+clean: clean-keep-tfm
+ rm -f ../tfm/*.tfm
+
+.PHONY: clean-keep-tfm
+clean-keep-tfm:
+ rm -f /var/texfonts/tfm/fey*.tfm
+ rm -f /var/texfonts/pk/*/fey*.*pk
+ rm -f ../doc/fey*.*pk
+ rm -f *.log *.aux *.2602gf *.600gf *10.mf *~ *.ps* ../doc/*.ps* ../doc/*.log ../doc/*.aux
+ rm -f *.tfm
+ cat /dev/null >../doc/testeuro.dvi
+ cat /dev/null >feymr10.dvi
+ cat /dev/null >feybr10.dvi
+
+
+.PHONY: mf
+mf:
+ ./makemfs -mf
+
+%.mf: mf
+
+%.tfm: %.mf
+ mf '\mode:=ljfour; mag:=1; nonstopmode; input $<'
+
+../tfm/%: %
+ cp $< $@
+
+.PHONY: tfm
+tfm: mf
+ $(MAKE) $(TFM_FILES)
+
+dummy:
+
+ps: ../doc/testeuro.ps.gz
+
+print: ../doc/testeuro.ps.gz
+ lpr $<
+
+../doc/testeuro.ps.gz: ../doc/testeuro.dvi
+ rm -f $@
+ (cd ../doc; dvips -D600 testeuro.dvi -o testeuro.ps && gzip -f testeuro.ps)
+
+ci: dummy
+ for i in $(RCSFILES); do \
+ if [ -w $$i ]; then \
+ ci $$i </dev/null; \
+ fi; \
+ if [ ! -f $$i ]; then \
+ co $$i </dev/null; \
+ fi; \
+ done
+
+.PHONY: cleandvi
+cleandvi: dummy
+ rm -f *.dvi ../doc/*.dvi
+
+
diff --git a/fonts/eurosym/src/fey.mf b/fonts/eurosym/src/fey.mf
new file mode 100644
index 0000000000..468655d506
--- /dev/null
+++ b/fonts/eurosym/src/fey.mf
@@ -0,0 +1,289 @@
+% Euro symbol for TeX.
+%
+% History
+% Version 1.4:
+% - correct width
+% Version 1.3:
+% - Licence
+% Version 1.2:
+% - Recieved a gif file containing the official construction of the
+% Euro symbol from Rowland.
+% - Andreas Schwab told me why the checksum mismatches didn't work
+% Unfortunately I couldn't make his patch work so I had to fix
+% this myself although some other things were in there (modes.mf
+% etc.)
+%
+% Version 1.1:
+% - finished sometime on August 1998
+%
+% Design size: 10pt
+
+% Richtmaße (set up in the top level file):
+%scaleunit:= 0.425;
+ % to be able to enlarge, shrink easily
+ % the number here is obtained by comparison with the cmr `C' character.
+
+% this is from c't magazine 11/98, S.211.
+% Some things are guessed from the construction.
+
+%firstunit#:= scaleunit * pt#;
+%overunder#:= 0.4firstunit#;
+
+unit#:= firstunit# + overunder#; % line width is 1:
+radiusaussen#:= 6unit#;
+
+% for adjustment settings at special sizes:
+hintpt:= 0.415106; % hppp bei 1pt @ 300dpi
+% I noticed the following things to be fixed at small hppp's:
+% - 14.4pt @ 300dpi (7pt @ 600dpi): the bars are too thin
+% - 12pt @ 300dpi (6pt @ 600dpi): the bars are too close together
+% - 6pt @ 300dpi: the bars are too thin
+
+def isabout(expr a, b)= (((a/b) < 1.1) and ((a/b) > 0.9)) enddef;
+
+boolean thickenbars;
+boolean spacebars;
+thickenbars:= isabout (hppp, 14.4hintpt) or isabout (hppp, 6hintpt);
+spacebars:= isabout (hppp, 12hintpt);
+
+bold#= if boldamount>0: 0.5 else: 0.0 fi unit#;
+radiusinnen#:= 5unit# - bold#;
+olineo#:= 1.5unit# + bold#;
+olineu#:= 0.5unit#;
+ulineo#:= -0.5unit#;
+ulineu#:= -1.5unit# - bold#;
+
+bigangle= 80;
+
+em#:= 15unit#;
+ex#:= 2radiusaussen# - overunder#;
+
+eurowidth#:= 0.832em#;
+euroheight#:= 1ex#;
+eurodepth#:= overunder#;
+
+if doslant:
+ slant:= 1/6;
+else:
+ slant:= 0;
+fi
+
+font_quad 1em#;
+font_normal_space 1/2em#;
+font_normal_stretch 1/3em#;
+font_normal_shrink 1/4em#;
+font_extra_space 0unit#;
+font_slant slant;
+font_x_height 1ex#;
+font_coding_scheme "U";
+font_identifier "eurosym";
+
+message "hppp=" & str [hppp];
+
+define_pixels (em,ex,unit,
+ radiusinnen,radiusaussen,
+ eurowidth,euroheight,
+ bold,
+ olineu, olineo, ulineu, ulineo, overunder);
+
+pen open, hpen;
+hpen= pencircle scaled 0.03unit;
+if boldamount>0:
+ open= pencircle scaled 0.5unit;
+else:
+ open= pencircle scaled 0.3unit;
+fi
+
+def drawit (expr a) =
+ if dooutline:
+ pickup open;
+ draw(a);
+ else:
+ fill(a);
+ fi
+enddef;
+
+def overdraw (expr a, b, c, d, x, y) =
+ draw ((a shifted ((b-a)*d))--(a shifted ((b-a)*c))) shifted (x,y);
+enddef;
+
+path baro, baru;
+path thepath;
+pair refleft, refright;
+
+beginchar(0,eurowidth#,euroheight#,eurodepth#);
+ "reference euro glyph with wrong bounding box";
+% This is for the designer who wants to see the symbol's construction.
+
+% took some time to see that circles are specified by diameter instead of radius:
+ z0= (1/2em+9/16unit, radiusaussen-overunder);
+ x0:= good.x (x0);
+ y0:= good.y (y0);
+
+ path innerring; innerring= fullcircle scaled 2radiusinnen shifted z0;
+ path outerring; outerring= fullcircle scaled 2radiusaussen shifted z0;
+ % angles start at 3 o'clock, so:
+ numeric bigangleup; bigangleup = 1/2bigangle;
+ numeric bigangledown; bigangledown = - 1/2bigangle;
+ path pa;
+ pa= (z0 shifted (left scaled eurowidth)) -- (z0 shifted (right scaled eurowidth));
+
+ t1= ypart ((z0--(z0 shifted ((dir bigangleup) scaled eurowidth))) intersectiontimes innerring);
+ t2= ypart ((z0--(z0 shifted ((dir bigangledown) scaled eurowidth))) intersectiontimes innerring);
+ t3= ypart ((z0--(z0 shifted (down scaled eurowidth))) intersectiontimes outerring);
+% t14= ypart ((z0--(z0 shifted (right scaled eurowidth))) intersectiontimes outerring);
+ z1= point t1 of innerring;
+ z2= point t2 of innerring;
+ z3= point t3 of outerring;
+% z14= point t14 of outerring; This wasn't right.
+
+ path pb, pc, paoo, pao, pau, pauu;
+ pb= z3--(z3+((z1-z3) scaled 2));
+ pc= z1--(z1 shifted (down scaled euroheight));
+
+ t4= ypart (pb intersectiontimes outerring);
+ t5= ypart (pc intersectiontimes outerring);
+ z4= point t4 of outerring;
+ z5= point t5 of outerring;
+
+ % path innerh;
+ % path outerh;
+ % innerh= subpath (t1, t2) of innerring;
+ % outerh= subpath (t4, t5) of outerring;
+ paoo= pa shifted (0, olineo);
+ pao= pa shifted (0, olineu);
+ pau= pa shifted (0, ulineo);
+ pauu= pa shifted (0, ulineu);
+
+ t6= ypart (paoo intersectiontimes pb);
+ t7= ypart (pao intersectiontimes pb);
+ t8= ypart (pau intersectiontimes pb);
+% t9= ypart (pauu intersectiontimes pb);
+ z6= point t6 of pb;
+ z7= point t7 of pb;
+ z8= point t8 of pb;
+% z9= point t9 of pb; % Better sollution:
+
+% I had problems with straightforward approaches to overcome the problem of
+% bad looking bars with small sizes. The complicated approach works in two
+% steps. a) calculate the intersections with the exact positions of the bars,
+% b) recalculate he end positions of the bars using good.y().
+
+% Step a):
+ z9-z8= z7-z6;
+
+ z11= z0 shifted (-2unit - radiusaussen, olineu);
+ z13= z0 shifted (-2unit - radiusaussen, ulineu);
+ z10-z11= z6-z7;
+ z12-z13= z8-z9;
+
+ t15= ypart ((z6 -- z10) intersectiontimes innerring);
+ t16= ypart ((z7 -- z11) intersectiontimes innerring);
+ t17= ypart ((z8 -- z12) intersectiontimes innerring);
+ t18= ypart ((z9 -- z13) intersectiontimes innerring);
+ t19= ypart ((z6 -- z10) intersectiontimes outerring);
+ t20= ypart ((z7 -- z11) intersectiontimes outerring);
+ t21= ypart ((z8 -- z12) intersectiontimes outerring);
+ t22= ypart ((z9 -- z13) intersectiontimes outerring);
+
+ z15= point t15 of innerring;
+ z16= point t16 of innerring;
+ z17= point t17 of innerring;
+ z18= point t18 of innerring;
+ z19= point t19 of outerring;
+ z20= point t20 of outerring;
+ z21= point t21 of outerring;
+ z22= point t22 of outerring;
+ z23= z0 shifted (-radiusaussen,0);
+
+% Step b):
+ y10:= y19:= y15:= y6:= good.y (y6 if thickenbars or spacebars: +0.5 fi);
+ y11:= y20:= y16:= y7:= good.y (y7 if spacebars: +0.5 fi);
+ y12:= y21:= y17:= y8:= good.y (y8);
+ y13:= y22:= y18:= y9:= y8 + (y7-y6);
+
+% Construct the path. This is more complicated now, too. We use tX for the
+% intersection times /and/ zX for the end points.
+ thepath= (subpath (t1, t15) of innerring --
+ z15 -- z6 -- z7 -- z16 --
+ subpath (t16, t17) of innerring --
+ z17 -- z8 -- z9 -- z18 --
+ subpath (t18, t2) of innerring --
+ z2 -- z5 --
+ subpath (t5, t22) of outerring --
+ z22 -- z13 -- z12 -- z21 --
+ subpath (t21, t20) of outerring --
+ z20 -- z11 -- z10 -- z19 --
+ subpath (t19, t4) of outerring --
+ z4 -- cycle) slanted slant;
+ baro= (z6 -- z7 -- z11 -- z10 -- cycle) slanted slant;
+ baru= (z8 -- z9 -- z13 -- z12 -- cycle) slanted slant;
+ refleft= z13;
+ refright= z4;
+
+ drawit(thepath);
+ penlabels (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23);
+
+ pickup hpen;
+ overdraw (z0, z1, 1.5, 0, 0, 0);
+ overdraw (z0, z2, 1.5, 0, 0, 0);
+ overdraw (z0, z3, 1.5, -1.5, 0, 0);
+ overdraw (z0, z3, 1.5, -1.5, x13-x3, 0);
+ overdraw (z0, z3, 1.5, -1.5, x12-x3, 0);
+ overdraw (z0, z3, 1.5, -1.5, x23-x3, 0);
+ overdraw (z1, z2, 1.5, 0, 0, 0);
+ overdraw (z3, z1, 1.5, -0.2, 0, 0);
+ overdraw (z3, z1, 1.5, -0.2, x13-x9, 0);
+ overdraw (z3, z1, 1.5, -0.2, x11-x7, 0);
+endchar;
+
+% Now the real symbols, the first one is for design purposes only and
+% could be deleted in the real fonts. I want to use the paths to
+% define the bounding box so Metafont has to calculate them first.
+% But I also want to see the penlabels.
+
+% realwidth was once dependent on the resolution, so checksum mismatches
+% occur. Thanks to Andreas Schwab for telling me the reason for
+% those mismatches. This fixes the problem.
+%
+% A bold correction is added as well. This is more or less a hack,
+% since the width of the Euro symbol character is not necessarily
+% equal to the dimensions of the glyph itself. However, I didn't
+% find any specifications. Until I do, this is the best hack I
+% think.
+%realwidth= (xpart refright-xpart refleft)/hppp;
+realwidth= (2radiusaussen#-10/30bold#) + 0.22unit#;
+pair shift; shift= (xpart (-refleft), 0);
+
+% However, these are the real characters:
+beginchar(" ",realwidth,euroheight#,eurodepth#); "Space";
+ % dunno why. A Space with the dimensions of a Euro symbol
+endchar;
+
+% fill innerh -- reverse outerh -- cycle;
+% fill z10 -- z6 -- z7 -- z11 -- cycle;
+% fill z12 -- z8 -- z9 -- z13 -- cycle;
+
+% The official symbol ``Euro glyph''.
+beginchar("e", realwidth, euroheight#,eurodepth#); "Euro glyph";
+ drawit(thepath shifted shift);
+endchar;
+
+% only the bars for creating symbols with any other font:
+beginchar("A", realwidth, euroheight#,eurodepth#); "Euro glyph bars (normal)";
+ drawit(baro shifted shift);
+ drawit(baru shifted shift);
+endchar;
+
+% same as before but only 80% wide; most of the fonts' C's are less wide
+% than the Euro glyph.
+beginchar("B", realwidth, euroheight#,eurodepth#); "Euro glyph bars (narrow)";
+ drawit(baro shifted shift xscaled 0.8);
+ drawit(baru shifted shift xscaled 0.8);
+endchar;
+
+% same as before but only 110% wide
+beginchar("C", realwidth, euroheight#,eurodepth#); "Euro glyph bars (wide)";
+ drawit(baro shifted shift xscaled 1.2);
+ drawit(baru shifted shift xscaled 1.2);
+endchar;
diff --git a/fonts/eurosym/src/feybl10.mf b/fonts/eurosym/src/feybl10.mf
new file mode 100644
index 0000000000..2e5eccd0ac
--- /dev/null
+++ b/fonts/eurosym/src/feybl10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= false; dooutline:= true; boldamount:= 2; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/feybo10.mf b/fonts/eurosym/src/feybo10.mf
new file mode 100644
index 0000000000..1be4e6f321
--- /dev/null
+++ b/fonts/eurosym/src/feybo10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= true; dooutline:= false; boldamount:= 2; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/feybr10.mf b/fonts/eurosym/src/feybr10.mf
new file mode 100644
index 0000000000..1e8838c81a
--- /dev/null
+++ b/fonts/eurosym/src/feybr10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= false; dooutline:= false; boldamount:= 2; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/feyml10.mf b/fonts/eurosym/src/feyml10.mf
new file mode 100644
index 0000000000..251194a238
--- /dev/null
+++ b/fonts/eurosym/src/feyml10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= false; dooutline:= true; boldamount:= 0; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/feymo10.mf b/fonts/eurosym/src/feymo10.mf
new file mode 100644
index 0000000000..67fefa4c44
--- /dev/null
+++ b/fonts/eurosym/src/feymo10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= true; dooutline:= false; boldamount:= 0; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/feymr10.mf b/fonts/eurosym/src/feymr10.mf
new file mode 100644
index 0000000000..06d45f2cae
--- /dev/null
+++ b/fonts/eurosym/src/feymr10.mf
@@ -0,0 +1,17 @@
+% Created by makeeurosymbols. Don't edit!
+
+mode_setup;
+
+boolean doslant, dooutline;
+numeric boldamount, dsize;
+
+doslant:= false; dooutline:= false; boldamount:= 0; dsize=10;
+
+font_size 10pt#;
+scaleunit:= 0.425;
+firstunit#:= scaleunit * pt#;
+overunder#:= 0.4 firstunit#;
+
+input fey.mf;
+
+end.
diff --git a/fonts/eurosym/src/makemfs b/fonts/eurosym/src/makemfs
new file mode 100644
index 0000000000..52bcfa218f
--- /dev/null
+++ b/fonts/eurosym/src/makemfs
@@ -0,0 +1,64 @@
+#!/usr/bin/perl
+
+my $pref="fey";
+my $scaleunit= 0.425;
+my $overunder= 0.4;
+
+my $makemf= 0;
+my $maketfm= 0;
+
+$MYTEX= "$ENV{HOME}/lib/tex";
+$ENV{TEXINPUTS}='.//:$TEXMF//'.":${MYTEX}//";
+$ENV{MFINPUTS}='.//:$TEXMF//'.":${MYTEX}//";
+$ENV{TFMFONTS}='.//:$TEXMF/fonts//'.":/var/texfonts//:${MYTEX}//";
+
+sub createshape {
+ my ($size, $suffix, $textline)= @_;
+ my $filename= $pref.$suffix.$size;
+
+ if ($makemf) {
+ $filename.= ".mf";
+ my $text= $textline." dsize=".$size.";";
+ die "trying to overwrite main file..." if ($filename eq "$pref.mf");
+ print "$filename\n";
+ open F, ">$filename";
+ print F "% Created by makeeurosymbols. Don't edit!\n\n";
+ print F "mode_setup;\n\n";
+ print F "boolean doslant, dooutline;\n";
+ print F "numeric boldamount, dsize;\n\n";
+ print F "$text\n\n";
+ print F "font_size 10pt#;\n";
+ print F "scaleunit:= $scaleunit;\n";
+ print F "firstunit#:= scaleunit * pt#;\n";
+ print F "overunder#:= $overunder firstunit#;\n\n";
+ print F "input $pref.mf;\n\n";
+ print F "end.\n";
+ close F;
+ }
+ elsif ($maketfm) {
+ system { "/usr/scripts/maketfm" } "maketfm", $filename;
+ }
+}
+
+for $i (@ARGV) {
+ if ($i =~ /^-tfm$/) {
+ $maketfm= 1;
+ $makemf= 0;
+ }
+ elsif ($i =~ /^-mf/) {
+ $makemf= 1;
+ $maketfm= 0;
+ }
+}
+
+die "You should specify either -mf or -tfm.\n" unless ($maketfm || $makemf);
+
+for $size (10) {
+ for $i ([0,"m"], [2, "b"]) {
+ my ($a,$b) = ($$i[0], $$i[1]);
+ createshape ($size, "${b}r", "doslant:= false; dooutline:= false; boldamount:= $a;");
+ createshape ($size, "${b}o", "doslant:= true; dooutline:= false; boldamount:= $a;");
+ createshape ($size, "${b}l", "doslant:= false; dooutline:= true; boldamount:= $a;");
+ }
+}
+
diff --git a/fonts/eurosym/sty/eurosym.sty b/fonts/eurosym/sty/eurosym.sty
new file mode 100644
index 0000000000..45f34d8f73
--- /dev/null
+++ b/fonts/eurosym/sty/eurosym.sty
@@ -0,0 +1,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
diff --git a/fonts/eurosym/tfm/feybl10.tfm b/fonts/eurosym/tfm/feybl10.tfm
new file mode 100644
index 0000000000..47a85fb091
--- /dev/null
+++ b/fonts/eurosym/tfm/feybl10.tfm
Binary files differ
diff --git a/fonts/eurosym/tfm/feybo10.tfm b/fonts/eurosym/tfm/feybo10.tfm
new file mode 100644
index 0000000000..617c50f4d9
--- /dev/null
+++ b/fonts/eurosym/tfm/feybo10.tfm
Binary files differ
diff --git a/fonts/eurosym/tfm/feybr10.tfm b/fonts/eurosym/tfm/feybr10.tfm
new file mode 100644
index 0000000000..47a85fb091
--- /dev/null
+++ b/fonts/eurosym/tfm/feybr10.tfm
Binary files differ
diff --git a/fonts/eurosym/tfm/feyml10.tfm b/fonts/eurosym/tfm/feyml10.tfm
new file mode 100644
index 0000000000..6cee01151e
--- /dev/null
+++ b/fonts/eurosym/tfm/feyml10.tfm
Binary files differ
diff --git a/fonts/eurosym/tfm/feymo10.tfm b/fonts/eurosym/tfm/feymo10.tfm
new file mode 100644
index 0000000000..1155afefd1
--- /dev/null
+++ b/fonts/eurosym/tfm/feymo10.tfm
Binary files differ
diff --git a/fonts/eurosym/tfm/feymr10.tfm b/fonts/eurosym/tfm/feymr10.tfm
new file mode 100644
index 0000000000..6cee01151e
--- /dev/null
+++ b/fonts/eurosym/tfm/feymr10.tfm
Binary files differ