This document is largely historic only. The euro sign is now so widely supported that the warnings about it are mostly outdated.
In HTML documents, it is best to refer to the euro currency with
words and
to avoid using the euro sign,
until sufficiently widespread support to it exists in browsers.
If you use the euro sign, the correct numeric reference is
€
€
The euro currency unit has an official symbol, the euro sign. In principle, there is nothing particularly specific about it as a character in data processing, except that it was introduced relatively recently; it was included into Unicode in version 2.1 in 1998, under the name euro sign, with the informative note "Currency sign for the European Monetary Union". Consequently, the problems of presenting it on Web pages written in HTML include the general problems of presenting special characters, but in addition to them, there can be special problems since old fonts often lack this character due to its recent introduction. This document tries to summarize the problems and solutions of presenting characters in HTML as applied to this important special case.
Normally you should use the word "euro", in applicable spelling and form according to language and context, when referring to euros on Web pages. That means, for example, "42 euros" in English and French, "42 Euro" in German, "42 euroa" in Finnish, etc. See the official document Spelling of the words "euro" and "cent" in the official Community languages (also available as a PDF document, which has the Greek words right). It's up to you to decide what you think about the ungrammatical rule that "euro" should not have an "-s" in plural in English. See also Michael Everson's notes on the name of the euro in European languages.
Note that in any case the word "euro" must not have a capital initial in English (except, of course, in a context where any other noun would be capitalized too). Unfortunately there is confusion around this, even in official documents.
The official abbreviation EUR has its own scope of applicability; basically, it is used in international banking business, when ISO 4217 abbreviations like USD (for US dollar) are used systematically.
Note that EUR is the official abbreviation, the euro sign is the
official symbol. The two have their own areas of use, just as words have.
If words are inadequate (e.g. in a table of data or
a price notation which should be language-neutral),
the symbol is to be preferred in most contexts, but if it cannot be
used for practical reasons, the EUR abbreviation is the best choice.
(Depending on the context, you might consider presenting
abbreviations like EUR in reduced font size.
In HTML, you could use the markup
<small>EUR</small>
for this.)
Various surrogate abbreviations have been suggested for the euro sign. It should be evident that no surrogates are needed: when you can't use the real euro sign, use words, or the official EUR abbreviation. If you really think you need something shorter due to some space constraints, well, perhaps you then introduce an ad hoc abbreviation. As all such abbreviations, it should be explicitly explained instead of relying on readers' intuition.
A particularly harmful surrogate is the letter "e".
It deceptively resembles the
estimated symbol character
(U+212E
),
sometimes called
"EEC sign", which can be seen as a stylicized "e" but is defined
to be a distinct character.
It is used in European packaging
(according to directives
75/106/EEC and
76/211/EEC
and amendments to them).
As regards to its character status and appearance, see
Michael Everson's
The ESTIMATED SIGN in implementation.
Note that the estimated sign often occurs in the same context as euros,
so if "e" is used for euro, the risk of confusion is very real.
If you absolutely must use a single-letter abbreviation for the euro,
use capital E, as suggested in
the
Report on the Euro in IT Standardization
by CEN TC 304.
For general information on the euro sign especially in data processing, see section Euro symbol in IT impact of the Euro. Note that the section also contains information pertinent to Microsoft products; generally, methods which work within Windows, MS Word, and other Microsoft software do not work on the World Wide Web, or in data transfer between different system, except perhaps through special arrangements.
In particular, in text processing systems various program-specific solutions exist and usually let you produce the euro sign on paper. But in data transfer, you need to make sure that the programs involved have the same idea of the euro sign. Even between two installations of MS Word, problems may arise since one them has not been "euro updated". ("Euro product updates" are freely available from Microsoft.)
In LaTeX authoring,
you can \usepackage{textcomp}
, which lets you write
\texteuro
to produce the euro sign. This however requires
that you are using a sufficiently new version of
LaTeX, namely
LaTeX 2e December 1997 version or newer. There are other
packages too which let you enter the euro symbol too,
such as eurosym
.
In plain text, the problem is that the data should
be sent with adequate, preferably computer-readable information about the
encoding. In E-mail, this is simple
in principle if MIME is used.
One would use a
Content-Type
header field to specify the encoding, which
could be e.g.
the iso-8859-15
encoding, where the euro sign is coded as 164
decimal, or Unicode, where the euro sign
is U+20AC
.
But in practice, it generally does not work; so it should be used only
upon previous mutual agreement based on sufficient information.
Even stronger, you can't use the euro sign in
Usenet postings, where the character repertoire
is limited generally to ASCII, though
in various national or otherwise specialized groups other
encodings (but rarely anything that contains a code for the euro sign)
can be used.
In HTML, which is the main concern in this document, there are several ways one could try.
The following table can be useful for testing how your browser treats the various methods, correct and incorrect, which are used or might be attempted to present the euro sign in HTML.
characterization of method | notation used | appearance | notes |
---|---|---|---|
numeric character reference | € | € | rather widely but not universally supported |
entity reference | € | € | somewhat less widely supported but may degrade better |
numeric character reference in hexadecimal | € | € | very limited support |
incorrect numeric character reference | € | | undefined; if it works, consider it as an illusion |
"raw data" in Windows encoding | octet 128 (dec.) = 80 (hex.) | N/A | can be formally correct but mostly Windows-specific |
"raw data" in ISO 8859-15 encoding | octet 164 (dec.) = A4 (hex.) | N/A | can be formally correct but requires ISO 8859-15 support |
image | <img src="euro.gif" alt="euros"> |
does not adapt to font family or scale to font size |
None of the methods works reliably, and most of them do not "degrade gracefully", i.e. a browser which does not support the method does not display anything reasonable. A few notes:
€
isn't universally supported yet.
On the other hand, it
"degrades" tolerably; text like
"This costs 15 €." does not look nice, but it is
probably understandable.
(Note: You could in theory
omit the semicolon, if the character following
the reference is non-alphanumeric, e.g. a space or a full stop.
However, Internet Explorer would then render the entity reference
&euro
literally.)
U+20AC
).
windows-1252
or iso-8859-15
encoding,
respectively, which should be specified
in the HTTP headers.
(This document is accompanied with a header specifying
iso-8859-1
, so what you see is just how your
browser treats the data in such a case.)
In addition to technical problems of doing that, there is the
more serious problem that such encodings are not universally
recognized and supported by browsers (and other relevant
software). The windows-1252
encoding is usually
supported on Windows platforms only, whereas
iso-8859-15
is a new standard which is not
widely supported yet. Note however that for the latter,
the code for the euro sign is the same as the code for the
currency sign ¤
in ISO 8859-1, so most browsers will probably
display it as the currency sign, and someone might regard
this as a tolerable fallback.
alt
attribute, and using
the name "euro" suitably would normally be a good idea, though
of course you could write
alt="€"
(which might work nicely or
fail badly).
Since the euro sign normally occurs in conjunction with
numbers and other textual information, it should
stylistically match the font face and font size. There is no
guarantee that it will, of course.
You would have to make a guess at typical font size and
use a suitably-sized image.
Using an image which is about 13 pixels
tall
might be a reasonable guess. That
way might
look tolerable even within running text, in expressions like
"this costs 42/kg"
in a typical font size.
Using an image which is 18 pixels tall would give
better appearance, at the cost of probably changing line spacing
unesthetically and probably being considerably taller than digits.
So it's about "optimizing" (i.e. minimizing damage) by guessing.
Naturally, in a heading you would use a large-size image.
How about scaling text to fit the size of an image,
or vice versa? Well,
it does not pay off to try to set the
font size to a specific value to make it match your euro sign image
size. That would be backwards thinking and cause much more serious
problems than it might possibly solve. The reverse idea, namely
scaling the image to font size, makes a lot of sense in principle
but works poorly in practice.
It is technically easy to include
an attribute like style="height:0.8em"
into the
img
tag, suggesting that the image be rescaled (by the
browser) to 0.8 of the current font size
(preserving its width:height ratio)
but such a scaled
will often look poor, even on browsers
such as IE 4+ which support such scaling via style sheets.
The browsers' scaling algorithms are so poor that
any considerable
increase makes it badly granular.
However, scaling in the opposite direction tends to work better,
though reduction in size can make the image foggy.
If you use the method of scaling images in browsers, try to
make sure the scaling takes place downwards,
from larger to smaller size.
Report on the Euro - € - in IT Standardization by CEN says:
Each country has currently their own preferred convention to display amounts in their national currency. This national individualism is expected to extend to the display of amounts in euro.
For example, in Finnish the convention is to use the
currency symbol after a number, and leave a space between them.
In such cases, to avoid undesired line break between them, you
can use a no-break space instead of a normal space. In HTML this
means something like
42 €
The above-mentioned report however defines a "European default" for certain purposes like "official, pan-European business of EU, EEA, CEN, and related organizations". It corresponds to widespread usage in English: write the currency symbol before a number, with no intervening space. On the other hand, if EUR is used, a no-break space should be between it and the number after it.
What about (euro)cent? Well, here are my 2 cents worth. You will hardly need a symbol for cent. In normal prose, the word will do just fine. In abbreviated notations, it is best to write all sums in euros, e.g. "€0.05" instead of anything like "5 c", wondering whether "c" is understandable enough. It would be very confusing to write "5 ¢", since the cent sign ¢ is so widely known as one hundredth of a dollar (mainly US dollar).
For related information in Finnish, see Euron symbolista ja lyhenteistä.