ISO/IEC 8859-1

From Wikipedia, the free encyclopedia
  (Redirected from Latin1)
Jump to navigation Jump to search
ISO/IEC 8859-1:1998
Latin-1-infobox.svg
ISO 8859-1 code page layout
MIME / IANA ISO-8859-1
Alias(es) iso-ir-100, csISOLatin1, latin1, l1, IBM819, CP819
Language(s) English, various others
Standard ISO/IEC 8859
Classification Extended ASCII, ISO 8859
Extends US-ASCII
Based on DEC MCS
Succeeded by Windows-1252 (web standards)
Other related encoding(s) BraSCII

ISO/IEC 8859-1:1998, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. ISO 8859-1 encodes what it refers to as "Latin alphabet no. 1," consisting of 191 characters from the Latin script. This character-encoding scheme is used throughout the Americas, Western Europe, Oceania, and much of Africa. It is also commonly used in most standard romanizations of East-Asian languages. It is the basis for most popular 8-bit character sets and the first block of characters in Unicode.

The Windows-1252 code page coincides with ISO-8859-1 for all codes except the range 128 to 159 (hex 80 to 9F), where the little-used C1 controls are replaced with additional characters including all the missing characters provided by ISO-8859-15. It is very common to mislabel Windows-1252 text as being in ISO-8859-1. A common result was that all the quotes and apostrophes (produced by "smart quotes" in word-processing software) were replaced with question marks or boxes on non-Windows operating systems, making text difficult to read. Most modern web browsers and e-mail clients treat the media type charset ISO-8859-1 as Windows-1252 to accommodate such mislabeling. This is now standard behavior in the HTML5 specification, which requires that documents advertised as ISO-8859-1 actually be parsed with the Windows-1252 encoding.[1]

As of September 2018, 3.8% of all web sites claim to use ISO 8859-1.[2] However, this includes an unknown number of pages actually using Windows-1252 and/or UTF-8, both of which are commonly recognized by browsers despite the character set tag.

ISO-8859-1 is the IANA preferred name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429. The following other aliases are registered: iso-ir-100, csISOLatin1, latin1, l1, IBM819. Code page 28591 a.k.a. Windows-28591 is used for it in Windows.[3] IBM calls it code page 819 or CP819. Oracle calls it WE8ISO8859P1.[4]

Coverage[edit]

Each character is encoded as a single eight-bit code value. These code values can be used in almost any data interchange system to communicate in the following languages:

Modern languages with complete coverage[edit]

Notes
  1. ^ Kurdish Unified Alphabet, based on the Latin character set.
  2. ^ Basic classical orthography.
  3. ^ Rumi script.
  4. ^ Bokmål and Nynorsk.
  5. ^ European and Brazilian.

Languages with incomplete coverage[edit]

ISO-8859-1 is commonly used[citation needed] for certain languages, even though it lacks characters used by these languages. In most cases, only a few letters are missing or they are rarely used, and they can be replaced with characters that are in ISO-8859-1 using some form of typographic approximation. The following table lists such languages.

Language Missing characters Typical workaround Supported by
Catalan Ŀ, ŀ (deprecated) L·, l·
Danish Ǿ, ǿ Ø, ø or øe
Dutch IJ, ij (but with debatable status); j́ in emphasized words like "blíj́f" digraphs IJ, ij; blíjf
Estonian Š, š, Ž, ž (only present in loanwords) Sh, sh, Zh, zh ISO-8859-15, Windows-1252
Finnish Š, š, Ž, ž (only present in loanwords) Sh, sh, Zh, zh ISO-8859-15, Windows-1252
French Œ, œ, and the very rare Ÿ digraphs OE, oe; Y or Ý ISO-8859-15, Windows-1252
German (capital ß, used only in all capitals; included in the official orthography in 2017, still optional) digraph SS
Irish (traditional orthography) Ḃ, ḃ, Ċ, ċ, Ḋ, ḋ, Ḟ, ḟ, Ġ, ġ, Ṁ, ṁ, Ṡ, ṡ, Ṫ, ṫ Bh, bh, Ch, ch, Dh, dh, Fh, fh, Gh, gh, Mh, mh, Sh, sh, Th, th ISO-8859-14
Welsh , ẁ, , ẃ, Ŵ, ŵ, Ŷ, ŷ W, w, Ý, ý ISO-8859-14

The letter ÿ, which appears in French only very rarely, mainly in city names such as L'Haÿ-les-Roses and never at the beginning of words, is included only in lowercase form. The slot corresponding to its uppercase form is occupied by the lowercase letter ß from the German language, which did not have an uppercase form at the time when the standard was created.

Quotation marks[edit]

For some languages listed above, the correct typographical quotation marks are missing, as only « », " ", and ' ' are included. Also, this scheme does not provide for oriented (6- or 9-shaped) single or double quotation marks. Some fonts will display the spacing grave accent (0x60) and the apostrophe (0x27) as a matching pair of oriented single quotation marks, but this is not considered part of the modern standard.

History[edit]

ISO 8859-1 was based on the Multinational Character Set used by Digital Equipment Corporation (DEC) in the popular VT220 terminal in 1983. It was developed within ECMA, the European Computer Manufacturers Association, and published in March 1985 as ECMA-94,[5] by which name it is still sometimes known. The second edition of ECMA-94 (June 1986)[6] also included ISO 8859-2, ISO 8859-3, and ISO 8859-4 as part of the specification.

The original draft placed French Œ and œ at code points 215 (0xD7) and 247 (0xF7). However, the French delegate, being neither a linguist nor a typographer, falsely stated that these are not independent French letters on their own, but mere ligatures (like or ). These code points were soon filled with × and ÷ under the suggestion of the German delegation. Then things went even worse for the French language, when it was again falsely stated that the letter ÿ is "not French", resulting in the absence of the capital Ÿ. In fact the letter ÿ is found in a number of French proper names, and the capital letter has been used in dictionaries and encyclopedias.[7] These drawbacks were later ameliorated in ISO/IEC 8859-15:1999 and before that in Windows-1252 (1992, Windows 3.1x).

In 1985, Commodore adopted ECMA-94 for its new AmigaOS operating system.[8] The Seikosha MP-1300AI impact dot-matrix printer, used with the Amiga 1000, included this encoding.[citation needed]

In 1992, the IANA registered the character map ISO_8859-1:1987, more commonly known by its preferred MIME name of ISO-8859-1 (note the extra hyphen over ISO 8859-1), a superset of ISO 8859-1, for use on the Internet. This map assigns the C0 and C1 control characters to the unassigned code values thus provides for 256 characters via every possible 8-bit value.

ISO-8859-1 is (according to the standards at least) the default encoding of documents delivered via HTTP with a MIME type beginning with "text/" (however the HTML5 specification requires that documents advertised as ISO-8859-1 actually be parsed with the Windows-1252 encoding).[9][10] It is the default encoding of the values of certain descriptive HTTP headers, and defines the repertoire of characters allowed in HTML 3.2 documents (HTML 4.0, however, is based on Unicode). This and Windows-1252 are often assumed to be the encoding of text on Unix and Microsoft Windows in the absence of locale or other information, this is only gradually being replaced with Unicode encoding such as UTF-8 or UTF-16.

Code page layout[edit]

ISO/IEC 8859-1
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A
10
_B
11
_C
12
_D
13
_E
14
_F
15
0_
0
1_
16
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
8_
128
9_
144
A_
160
NBSP
00A0
¡
00A1
¢
00A2
£
00A3
¤
00A4
¥
00A5
¦
00A6
§
00A7
¨
00A8
©
00A9
ª
00AA
«
00AB
¬
00AC
SHY
00AD
®
00AE
¯
00AF
B_
176
°
00B0
±
00B1
²
00B2
³
00B3
´
00B4
µ
00B5

00B6
·
00B7
¸
00B8
¹
00B9
º
00BA
»
00BB
¼
00BC
½
00BD
¾
00BE
¿
00BF
C_
192
À
00C0
Á
00C1
Â
00C2
Ã
00C3
Ä
00C4
Å
00C5
Æ
00C6
Ç
00C7
È
00C8
É
00C9
Ê
00CA
Ë
00CB
Ì
00CC
Í
00CD
Î
00CE
Ï
00CF
D_
208
Ð
00D0
Ñ
00D1
Ò
00D2
Ó
00D3
Ô
00D4
Õ
00D5
Ö
00D6
×
00D7
Ø
00D8
Ù
00D9
Ú
00DA
Û
00DB
Ü
00DC
Ý
00DD
Þ
00DE
ß
00DF
E_
224
à
00E0
á
00E1
â
00E2
ã
00E3
ä
00E4
å
00E5
æ
00E6
ç
00E7
è
00E8
é
00E9
ê
00EA
ë
00EB
ì
00EC
í
00ED
î
00EE
ï
00EF
F_
240
ð
00F0
ñ
00F1
ò
00F2
ó
00F3
ô
00F4
õ
00F5
ö
00F6
÷
00F7
ø
00F8
ù
00F9
ú
00FA
û
00FB
ü
00FC
ý
00FD
þ
00FE
ÿ
00FF

  Letter   Number   Punctuation   Symbol   Other   undefined   undefined in the first release of ECMA-94 (1985).[5]

Similar character sets[edit]

Other ISO standards[edit]

  • ISO/IEC 646 (1967) ISO/IEC 646 is a set of 7-bit encoding standards. The US variant (commonly known as ASCII) maps exacly to the lower range of ISO/IEC 8859-1: the G0 subset from 32 to 126 (hex 20 to 7E).
  • ISO 2022 (1971) ISO 2022 is a standard for 7- and 8-bit encodings that can be selected with switch sequences. For example, the Japanese ISO-2022-JP-2 standard specifies the switch sequence ESC . A to select the higher range of 8859-1: the G1 subset from 160 to 255 (hex A0 to FF).
  • ISO/IEC 10646 and Unicode (1991) The first 256 code points of ISO/IEC 10646 and Unicode incorporate ISO-8859-1.
  • ISO/IEC 8859-2 (1987) to ISO/IEC 8859-16 (2001) Other standards in the ISO/IEC 8859 series support languages that require characters missing from ISO/IEC 8859-1. For example, ISO/IEC 8859-9 replaces ISO/IEC 8859-1's rarely used Icelandic letters with Turkish ones.
  • ISO/IEC 8859-15 (1999) ISO/IEC 8859-15 was developed in 1999 as an update of ISO/IEC 8859-1. It provides some characters for French and Finnish text and the euro sign, which are missing from ISO/IEC 8859-1. This required the removal of some infrequently used characters from ISO/IEC 8859-1, including fraction symbols and letter-free diacritics: ¤, ¦, ¨, ´, ¸, ¼, ½, and ¾. Ironically, three of the newly added characters (Œ, œ, and Ÿ) had already been present in DEC's 1983 Multinational Character Set (MCS), the predecessor to ISO/IEC 8859-1 (1987). Since their original code points were now reused for other purposes, the characters had to be reintroduced under different, less logical code points.

Windows-1252[edit]

The popular Windows-1252 character set adds all the missing characters provided by ISO/IEC 8859-15, plus a number of typographic symbols, by replacing the rarely used C1 controls in the range 128 to 159 (hex 80 to 9F). It is very common to mislabel text data with the charset label ISO-8859-1, even though the data is really Windows-1252 encoded. Many web browsers and e-mail clients will interpret ISO-8859-1 control codes as Windows-1252 characters, and that behavior was later standardized in HTML5,[11] in order to accommodate such mislabeling and care should be taken to avoid generating these characters in ISO-8859-1 labeled content.

Mac-Roman[edit]

The Apple Macintosh computer introduced a character encoding called Mac Roman, or Mac-Roman, in 1984. It was meant to be suitable for Western European desktop publishing. It is a superset of ASCII, like ISO-8859-1, and has most of the characters that are in ISO-8859-1 but in a totally different arrangement. A later version, registered with IANA as "Macintosh", replaced the generic currency sign ¤ with the euro sign . The few printable characters that are in ISO 8859-1 but not in this set are often a source of trouble when editing text on websites using older Macintosh browsers (including the last version of Internet Explorer for Mac). However the extra characters that Windows-1252 has in the C1 code point range are all supported in MacRoman.

Other[edit]

DOS had code page 850, which had all printable characters that ISO-8859-1 had (albeit in a totally different arrangement) plus the most widely used graphic characters from code page 437.

Between 1989[12] and 2015 Hewlett-Packard used another superset of ISO-8859-1 on many of their calculators. This proprietary character set was sometimes referred to simply as "ECMA-94" as well.[12]

See also[edit]

References[edit]

  1. ^ "Encoding". WHATWG. 27 January 2015. sec. 5.2 Names and labels. Archived from the original on 4 February 2015. Retrieved 4 February 2015.
  2. ^ "Historical trends in the usage of character encodings, September 2018". Retrieved 2018-09-13.
  3. ^ "Code Page Identifiers". Microsoft Corporation. Retrieved 2010-12-19.
  4. ^ Baird, Cathy; Chiba, Dan; Chu, Winson; Fan, Jessica; Ho, Claire; Law, Simon; Lee, Geoff; Linsley, Peter; Matsuda, Keni; Oscroft, Tamzin; Takeda, Shige; Tanaka, Linus; Tozawa, Makoto; Trute, Barry; Tsujimoto, Mayumi; Wu, Ying; Yau, Michael; Yu, Tim; Wang, Chao; Wong, Simon; Zhang, Weiran; Zheng, Lei; Zhu, Yan; Moore, Valarie (2002) [1996]. "Appendix A: Locale Data". Oracle9i Database Globalization Support Guide (PDF) (Release 2 (9.2) ed.). Oracle Corporation. Oracle A96529-01. Archived (PDF) from the original on 2017-02-14. Retrieved 2017-02-14.
  5. ^ a b Standard ECMA-94: 8-bit Single-Byte Coded Graphic Character Set (PDF) (1 ed.). European Computer Manufacturers Association (ECMA). March 1985 [1984-12-14]. Archived (PDF) from the original on 2016-12-02. Retrieved 2016-12-01. […] Since 1982 the urgency of the need for an 8-bit single-byte coded character set was recognized in ECMA as well as in ANSI/X3L2 and numerous working papers were exchanged between the two groups. In February 1984 ECMA TC1 submitted to ISO/TC97/SC2 a proposal for such a coded character set. At its meeting of April 1984 SC decided to submit to TC97 a proposal for a new item of work for this topic. Technical discussions during and after this meeting led TC1 to adopt the coding scheme proposed by X3L2. Part 1 of Draft International Standard DTS 8859 is based on this joint ANSI/ECMA proposal. […] Adopted as an ECMA Standard by the General Assembly of Dec. 13–14, 1984. […]
  6. ^ second edition of ECMA-94 (June 1986)
  7. ^ Jacques, André (1996). "ISO Latin-1, norme de codage des caractères européens? Trois caractères français en sont absents!" (PDF). Cahiers GUTenberg (25): 65–77.
  8. ^ Malyshev, Michael (2003-01-10). "Registration of new charset [Amiga-1251]". ATO-RU (Amiga Translation Organization – Russian Department). Archived from the original on 2016-12-05. Retrieved 2016-12-05.
  9. ^ W3C/WHATWG Encoding specification: Names and Labels
  10. ^ HTML5 specification: 2.1.6 Character encodings
  11. ^ WHATWG, "Names and Labels", Encoding Standard, retrieved 2016-11-15
  12. ^ a b HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. HP reorder number 82240-90014. Retrieved 2016-08-01.

External links[edit]