diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/eurosym |
Initial commit
Diffstat (limited to 'fonts/eurosym')
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 Binary files differnew file mode 100644 index 0000000000..3c88990547 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybl10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb Binary files differnew file mode 100644 index 0000000000..cb6c078066 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybo10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb Binary files differnew file mode 100644 index 0000000000..023d547009 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feybr10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb Binary files differnew file mode 100644 index 0000000000..5d6b62a414 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feyml10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb Binary files differnew file mode 100644 index 0000000000..dd8126bb6a --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymo10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb Binary files differnew file mode 100644 index 0000000000..6a49f032b9 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/feymr10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb Binary files differnew file mode 100644 index 0000000000..68a5fe2a02 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybl10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb Binary files differnew file mode 100644 index 0000000000..15a435ec57 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybo10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb Binary files differnew file mode 100644 index 0000000000..6ee07b501f --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geybr10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb Binary files differnew file mode 100644 index 0000000000..27c6c88881 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geyml10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb Binary files differnew file mode 100644 index 0000000000..120c78f1cd --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymo10.pfb diff --git a/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb Binary files differnew file mode 100644 index 0000000000..cc3d55bc09 --- /dev/null +++ b/fonts/eurosym/contrib/type1/fonts/type1/eurosym/geymr10.pfb 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 Binary files differnew file mode 100644 index 0000000000..c78cd3cfa5 --- /dev/null +++ b/fonts/eurosym/doc/testeuro.pdf 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 Binary files differnew file mode 100644 index 0000000000..47a85fb091 --- /dev/null +++ b/fonts/eurosym/tfm/feybl10.tfm diff --git a/fonts/eurosym/tfm/feybo10.tfm b/fonts/eurosym/tfm/feybo10.tfm Binary files differnew file mode 100644 index 0000000000..617c50f4d9 --- /dev/null +++ b/fonts/eurosym/tfm/feybo10.tfm diff --git a/fonts/eurosym/tfm/feybr10.tfm b/fonts/eurosym/tfm/feybr10.tfm Binary files differnew file mode 100644 index 0000000000..47a85fb091 --- /dev/null +++ b/fonts/eurosym/tfm/feybr10.tfm diff --git a/fonts/eurosym/tfm/feyml10.tfm b/fonts/eurosym/tfm/feyml10.tfm Binary files differnew file mode 100644 index 0000000000..6cee01151e --- /dev/null +++ b/fonts/eurosym/tfm/feyml10.tfm diff --git a/fonts/eurosym/tfm/feymo10.tfm b/fonts/eurosym/tfm/feymo10.tfm Binary files differnew file mode 100644 index 0000000000..1155afefd1 --- /dev/null +++ b/fonts/eurosym/tfm/feymo10.tfm diff --git a/fonts/eurosym/tfm/feymr10.tfm b/fonts/eurosym/tfm/feymr10.tfm Binary files differnew file mode 100644 index 0000000000..6cee01151e --- /dev/null +++ b/fonts/eurosym/tfm/feymr10.tfm |