ISO/IEC 8859

ISO/IEC 8859 je mezinárodní norma definující 15 osmibitových znakových sad, kterou společně vydala a udržovala Mezinárodní organizace pro normalizaci (ISO) a Mezinárodní elektrotechnická komise (IEC). Každá sada je definována jednou očíslovanou částí – ISO/IEC 8859-1ISO/IEC 8859-16; ISO/IEC 8859-12 nebylo vydáno. Vzhledem k očekávanému přechodu na ISO/IEC 10646 se vývoj ISO/IEC 8859 považuje za ukončený, a pracovní skupina byla rozpuštěna.

Části 1, 2, 3 a 4 ISO/IEC 8859 byly původně standardem ECMA-94 organizace Ecma International.

Úvod

Nejstarší znakové kódy byly z historických důvodů a kvůli omezení některých přenosových datových protokolů omezené na 7 bitů. 95 tisknutelných znaků ASCII stačí pro vyměnu informací v moderní angličtině, většina jiných jazyků používajících latinku však potřebuje další symboly, které nejsou součástí ASCII. ISO/IEC 8859 řeší toto problém využitím osmého bitu v osmibitovém bytu, což poskytuje prostor pro dalších 96 tisknutelných znaků v oblasti G1. Kvůli tomu, že různé jazyky používají různá diakritická znaménka, je celkový počet znaků s diakritikou větší, než kolik se vejde do jednoho osmibitového znakového kódu. Proto bylo vytvořeno několik kódování, z nichž 10 je určeno pro různé varianty latinky.

Norma ISO/IEC 8859-n definuje pouze tisknutelné znaky v oblasti G1 a byla navržena tak, aby mohla být používána ve spojení s řídicí znaky mapovanými na nepřiřazené kódy. Za tímto účelem řada kódování registrovaných organizací IANA přidává sadu řídicích znaků C0 (řídicí znaky mapované na kódy 0 až 31) z ISO/IEC 646 a sadu řídicích znaků C1 (s kódy 128 až 159) z ISO 6429, což dává osmibitové kódování, ve kterém je většina nebo všechny kódy přiřazené. Upřednostňované MIME jméno nebo kanonické jméno (pokud upřednostňované MIME jméno není zadané) těchto kódování je ISO-8859-n. Mnoho lidé používá termíny ISO/IEC 8859-n a ISO-8859-n jako synonyma. Pouze kódování ISO/IEC 8859-11 nebylo přiřazeno takovéto jméno znakové sady, pravděpodobně kvůli tomu, že je téměř identické s TIS 620.

Znaky

Norma ISO/IEC 8859 byla navržena pro spolehlivou výměnu informací, nikoli pro typografii; proto neobsahuje všechny symboly potřebné pro vysoce kvalitní typografii, jako například nepovinné slitky, uvozovky, lomítka, atd. Sázecí systémy kvůli tomu často používají proprietární rozšíření ASCII (např. kódování Cork v sázecím programu TeX) nebo ISO/IEC 8859 nebo Unicode.

Základním pravidlem bylo, že do kódování nebyly zařazeny znaky nebo symboly, které nebyly částí široce používané znakové sady pro zpracování dat a nevyskytovaly se na klávesnici psacích strojů pro příslušný jazyk. Proto se do kódování dostaly uvozovky tvaru dvojitých šipek « a » používané některými evropskými jazyky, ale nikoli dvojité uvozovky a používané v angličtině a některých jiných jazycích. Do kódování nebyly zahrnuty slitky œ a Œ používané ve francouzštině, protože je lze psát jako 'oe'. Bylo také vynecháno Ÿ, potřebné pouze pro texty psané velkými písmeny. Tyto znaky však byly zahrnuty později do ISO/IEC 8859-15, které také obsahuje nový znak Eura €. Podobně nebyla zahrnuta písmena 'ij' a 'IJ' používaná v nizozemštině, protože Nizozemci si zvykli je psát jako dvě písmena. Pro rumunštinu nebyly zařazeny znaky ‹Ș›/‹ș› a ‹Ț›/‹ț› (s čárkou) pod písmenem, protože je Unicode Consortium zpočátku považovalo za varianty znaků ‹Ş›/‹ş› a ‹Ţ›/‹ţ› (s cedillou). Písmena s čárkou pod znakem byla později přidána do standardu Unicode a jsou také v ISO/IEC 8859-16.

Většina kódování ISO/IEC 8859 obsahuje znaky diakritikou potřebné pro různé evropské jazyky používající latinku. Ostatní obsahují nelatinkové abecedy: řeckou abecedu, cyrilici, hebrejskou abecedu, arabskou abecedu a thajské písmo. Většina kódování obsahuje pouze samostatné znaky, přestože thajština, hebrejština a arabština používají i kombinační znaky. Norma však neobsahuje podporu východoasijských písem (CJK), protože jejich ideografická písma vyžadují tisíce kódových bodů. Zahrnuta není ani vietnamština, která sice používá latinku, ale má tolik znaků s diakritikou, že se nevejde se do 96 pozic (bez použití kombinační diakritiky). Obě japonské hláskové abecedy (hiragana a katakana, viz Kana) by se do tohoto počtu vešly, ale zakódované v ISO/IEC 8859 také nejsou.

Části ISO/IEC 8859

Norma ISO/IEC 8859 je rozdělena na následující části:

ČástNázevJazyky
ISO/IEC 8859-1Latin-1
Western European
Pravděpodobně nejpoužívanější část ISO/IEC 8859, pokrývající většinu západoevropských jazyků: dánštinu (částečně)[1], nizozemštinu (částečně)[2], angličtinu, faerštinu, finštinu (částečně)[3], francouzštinu (částečně)[3], němčinu, islandštinu, irštinu, italštinu, norštinu, portugalštinu, rétorománštinu, skotskou gaelštinu, španělštinu, katalánštinu a švédštinu. Podporuje i některé jazyky mimo západní Evropu: východoevropskou albánštinu, jihovýchodoasijskou indonéštinu, africké jazyky afrikánštinu a svahilštinu. Chybějící znak Eura a velké Ÿ jsou v revidované verzi ISO/IEC 8859-15 (viz níže). Odpovídající znaková sada IANA je ISO-8859-1.
ISO/IEC 8859-2Latin-2
Cental European
Podporuje následující středo- a východoevropské jazyky, které používají latinku, včetně bosenštiny, polštiny, chorvatštiny, češtiny, slovenštiny, slovinštiny, srbštiny a maďarštiny. Chybějící znak Eura lze nalézt ve verzi ISO/IEC 8859-16.
ISO/IEC 8859-3Latin-3
South European
Turečtina, maltština a esperanto. Z větší části nahrazeno novější verzí ISO/IEC 8859-9 pro turečtinu a Unicodem pro esperanto.
ISO/IEC 8859-4Latin-4
North European
Estonština, lotyština, litevština, grónština a sámské jazyky.
ISO/IEC 8859-5Latin/CyrillicPokrývá většinou slovanských jazyků, které používají cyrilici, včetně běloruštiny, bulharštiny, makedonštiny, ruštiny, srbštiny a (částečně) ukrajinštiny[4].
ISO/IEC 8859-6Latin/ArabicPokrývá nejobvyklejší arabské znaky. Nepodporuje jiné jazyky používající arabské písmo. Pro zobrazování vyžaduje podporu obousměrného textu a kurzivní spojování.
ISO/IEC 8859-7Latin/GreekPokrývá moderní řečtinu (monotonní pravopis). Může být také použito pro starou řečtinu psanou bez diakritiky nebo monotonním pravopisem, ale nemá znaky s diakritikou pro polytonní pravopis, které jsou součástí Unicode.
ISO/IEC 8859-8Latin/HebrewPokrývá moderní hebrejskou abecedu, jak je používána v Izraeli. V praxi existují dvě různá kódování, logické pořadí (vyžaduje podporu obousměrného textu pro zobrazování) a vizuální (zleva doprava) pořadí (ve výsledku, po zpracování obousměrného textu a řádkovém zlomu).
ISO/IEC 8859-9Latin-5
Turkish
Z větší části totožná s ISO/IEC 8859-1, ale nahrazuje zřídka používaná islandská písmena za turecká.
ISO/IEC 8859-10Latin-6
Nordic
Přepracování kódu Latin-4. Považuje se za užitečnější pro severské jazyky. Pro baltské jazyky se více používá Latin-4.
ISO/IEC 8859-11Latin/ThaiObsahuje znaky potřebné pro thajštinu. Téměř identické s TIS 620.
ISO/IEC 8859-12Latin/DevanagariPráce na části 8859 pro Dévanágarí byla oficiálně ukončena v roce 1997. Dévanágarí je obsaženo v kódování ISCII a v Unicode/ISO/IEC 10646.
ISO/IEC 8859-13Latin-7
Baltic Rim
Doplněny některé znaky pro baltské jazyky, které chyběly v Latin-4 a Latin-6.
ISO/IEC 8859-14Latin-8
Celtic
Pokrývá keltské jazyky jako například skotskou gaelštinu a bretonštinu.
ISO/IEC 8859-15Latin-9Revize 8859-1, která nahradila některé málo používané symboly znakem Eura a písmeny Š, š, Ž, ž, Œ, œ a Ÿ, které jsou potřebné pro francouzštinu, finštinu a estonštinu.
ISO/IEC 8859-16Latin-10
South-Eastern European
Určena pro albánštinu, chorvatštinu, maďarštinu, italštinu, polštinu, rumunštinu a slovinštinu, ale také finštinu, francouzštinu, němčinu a irskou gaelštinu (nový pravopis). Klade větší důraz na písmena než na symboly. Znak měny je nahrazen znakem Eura.
  1. Chybí několik samohlásek s diakritikou včetně Ǿ a ǿ, které mohou být nahrazeny znaky bez diakritiky za cenu zvětšené nejednoznačnosti.
  2. Chybí písmeno IJ/ij, které se obvykle zapisuje jako IJ.
  3. a b Chybějící znaky jsou v ISO/IEC 8859-15.
  4. V 8859-5 chybí písmeno Ґ/ґ, které bylo vráceno do ukrajinské abecedy v roce 1990.

Jednotlivé části ISO 8859 byly navrženy tak, aby podporovaly příbuzné jazyky, které používají stejná písmena s diakritikou, takže znaky potřebné pro jeden jazyk jsou obvykle obsaženy v jedné části. Existují však některé znaky a kombinace jazyků, které vyžadují přepínání mezi znakovými sadami podle ISO/IEC 2022. Standard byl vytvářen tak, aby konverze byly co nejjednodušší. Například všech sedm speciálních znaků používaných v němčině je ve všech variantách ISO/IEC 8859 (1–4, 9, 10, 13–16) na stejných pozicích a na mnoha pozicích se znaky v různých sadách liší pouze diakritickými znaménky. Speciálně varianty 1–4 byly navrženy společně a vyznačují se tím, že pokud se určitý znak vyskytuje ve více sadách, má ve všech stejný kód.

Tabulka

Porovnání jednotlivých kódování (1–16) ISO/IEC 8859
DvojkověOctDecHex123456789101113141516
1010 0000240160A0nezlomitelná mezera (NBSP)
1010 0001241161A1¡ĄĦĄЁ  ¡Ą¡Ą
1010 0010242162A2¢˘ĸЂ ¢¢Ē¢¢ą
1010 0011243163A3£Ł£ŖЃ £Ģ£Ł
1010 0100244164A4¤Є¤¤Ī¤Ċ
1010 0101245165A5¥Ľ ĨЅ ¥Ĩċ¥
1010 0110246166A6¦ŚĤĻІ ¦Ķ¦Š
1010 0111247167A7§Ї §§
1010 1000250168A8¨Ј ¨ĻØš
1010 1001251169A9©ŠİŠЉ ©Đ©
1010 1010252170AAªŞĒЊ ͺתŠŖªȘ
1010 1011253171AB«ŤĞĢЋ «Ŧ««
1010 1100254172AC¬ŹĴŦЌ،¬Ž¬¬Ź
1010 1101255173ADměkké rozdělovací znaménko (SHY)SHY
1010 1110256174AE®Ž ŽЎ  ®Ū®ź
1010 1111257175AF¯Ż¯Џ ¯ŊÆŸ¯Ż
1011 0000260176B0°А °°°
1011 0001261177B1±ąħąБ ±ą±±
1011 0010262178B2²˛²˛В ²ē²Ġ²Č
1011 0011263179B3³ł³ŗГ ³ģ³ġ³ł
1011 0100264180B4´Д ΄´īŽ
1011 0101265181B5µľµĩЕ ΅µĩµµ
1011 0110266182B6śĥļЖ Άķ
1011 0111267183B7·ˇ·ˇЗ ···
1011 1000270184B8¸И Έ¸ļøž
1011 1001271185B9¹šıšЙ Ή¹đ¹¹č
1011 1010272186BAºşēК Ί÷ºšŗºș
1011 1011273187BB»ťğģЛ؛»ŧ»»
1011 1100274188BC¼źĵŧМ Ό¼ž¼Œ
1011 1101275189BD½˝½ŊН ½½œ
1011 1110276190BE¾ž žО Ύ¾ū¾Ÿ
1011 1111277191BF¿żŋП؟Ώ ¿ŋæ¿ż
1100 0000300192C0ÀŔÀĀР ΐ ÀĀĄÀ
1100 0001301193C1ÁСءΑ ÁĮÁ
1100 0010302194C2ÂТآΒ ÂĀÂ
1100 0011303195C3ÃĂ ÃУأΓ ÃĆÃĂ
1100 0100304196C4ÄФؤΔ ÄÄ
1100 0101305197C5ÅĹĊÅХإΕ ÅÅĆ
1100 0110306198C6ÆĆĈÆЦئΖ ÆĘÆ
1100 0111307199C7ÇĮЧاΗ ÇĮĒÇ
1100 1000310200C8ÈČÈČШبΘ ÈČČÈ
1100 1001311201C9ÉЩةΙ ÉÉ
1100 1010312202CAÊĘÊĘЪتΚ ÊĘŹÊ
1100 1011313203CBËЫثΛ ËĖË
1100 1100314204CCÌĚÌĖЬجΜ ÌĖĢÌ
1100 1101315205CDÍЭحΝ ÍĶÍ
1100 1110316206CEÎЮخΞ ÎĪÎ
1100 1111317207CFÏĎÏĪЯدΟ ÏĻÏ
DvojkověOctDecHex123456789101113141516
1101 0000320208D0ÐĐ ĐаذΠ ĞЊŴÐ
1101 0001321209D1ÑŃÑŅбرΡ ÑŅŃÑŃ
1101 0010322210D2ÒŇÒŌвز  ÒŌŅÒ
1101 0011323211D3ÓĶгسΣ ÓÓ
1101 0100324212D4ÔдشΤ ÔŌÔ
1101 0101325213D5ÕŐĠÕеصΥ ÕŐ
1101 0110326214D6ÖжضΦ ÖÖ
1101 0111327215D7×зطΧ ×Ũ×׌
1101 1000330216D8ØŘĜØиظΨ ØŲØŰ
1101 1001331217D9ÙŮÙŲйعΩ ÙŲŁÙ
1101 1010332218DAÚкغΪ ÚŚÚ
1101 1011333219DBÛŰÛл Ϋ Û ŪÛ
1101 1100334220DCÜм ά Ü Ü
1101 1101335221DDÝŬŨн έ İÝ ŻÝĘ
1101 1110336222DEÞŢŜŪо ή ŞÞ ŽŶÞȚ
1101 1111337223DFßп ίß฿ß
1110 0000340224E0àŕàāрـΰאàāąà
1110 0001341225E1áсفαבáįá
1110 0010342226E2âтقβגâāâ
1110 0011343227E3ãă ãуكγדãćãă
1110 0100344228E4äфلδהää
1110 0101345229E5åĺċåхمεוååć
1110 0110346230E6æćĉæцنζזæęæ
1110 0111347231E7çįчهηחçįēç
1110 1000350232E8èčèčшوθטèččè
1110 1001351233E9éщىιיéé
1110 1010352234EAêęêęъيκךêęźê
1110 1011353235EBëыًλכëėë
1110 1100354236ECìěìėьٌμלìėģì
1110 1101355237EDíэٍνםíķí
1110 1110356238EEîюَξמîīî
1110 1111357239EFïďïīяُοןïļï
1111 0000360240F0ðđ đِπנğðšŵðđ
1111 0001361241F1ñńñņёّρסñņńñń
1111 0010362242F2òňòōђْςעòōņò
1111 0011363243F3óķѓ σףóó
1111 0100364244F4ôє τפôōô
1111 0101365245F5õőġõѕ υץõő
1111 0110366246F6öі φצöö
1111 0111367247F7÷ї χק÷ũ÷÷ś
1111 1000370248F8øřĝøј ψרøųøű
1111 1001371249F9ùůùųљ ωשùųłù
1111 1010372250FAúњ ϊתúśú
1111 1011373251FBûűûћ ϋ ûūû
1111 1100374252FCüќ ό ü ü
1111 1101375253FDýŭũ§ ύLRMıý żýę
1111 1110376254FEþţŝūў ώRLMşþ žŷþț
1111 1111377255FFÿ˙џ   ÿĸ ÿ
DvojkověOctDecHex123456789101113141516

Na pozici 0xA0 je vždy nezlomitelná mezera, na pozici 0xAD je většinou měkké rozdělovací znaménko, který se zobrazuje pouze na koncích řádků.

Zeleně podbarvená pole jsou nepřiřazená.

Žlutě podbarvená pole jsou nově přidané znaky podle ISO/IEC 8859-7:2003 a ISO/IEC 8859-8:1999. LRM je značka přepínající směr psaní zleva doprava (U+200E), RLM zprava doleva (U+200F).

Vztah k Unicode a UCS

Od roku 1991 Unicode Consortium společně s ISO a IEC vyvíjí Univerzální znakovou sadu (UCS) Unicode/ISO/IEC 10646. Novější vydání ISO/IEC 8859 popisují znaky pomocí Unicode/UCS jmen a kódů tvaru U+nnnn, což umožňuje vnímat jednotlivé části ISO/IEC 8859 jako kódovací schéma pro Unicode/UCS znaky, které převádí znaky z malých částí UCS na osmibitové kódy. Prvních 256 znaků Unicode a UCS je identických s ISO/IEC-8859-1 (Latin-1).

V 90. letech 20. století byly oblíbené jednobytové znakové sady včetně kódování ISO/IEC 8859 a kódování z nich odvozených, protože byly snadno implementovatelné a dobře známé: fakt, že jeden znak je kódován jedním bytem a zabírá jednu pozici na displeji, usnadňuje programování a dostačuje pro většinu aplikací umožňujících používat jediný jazyk a existují ne kombinační znaky nebo variantní tvary. Od doby, kdy se více rozšířily operační systémy podporující Unicode, používání ISO/IEC 8859 a dalších starších kódování pokleslo. Zatímco zbytky ISO 8859 a jednobytových znakových modelů jsou hluboce zakořeněné v mnoha operačních systémech, programovacích jazycích, systémy pro ukládání dat, síťových aplikacích, videoadaptérech i aplikačním softwaru pro koncové uživatele, většina moderních aplikací používá interně Unicode a pro převody kódování mezi Unicode a jinými kódy vyžaduje konverzní tabulky.

Vývojový status

Řadu standardů ISO/IEC 8859 vyvíjela pracovní skupina ISO/IEC Joint Technical Committee 1, Subcommittee 2, Working Group 3 (ISO/IEC JTC 1/SC 2/WG 3). V červnu 2004 byla pracovní skupina WG 3 rozpuštěna a její úkoly byly přeneseny na SC 2. Vývoj standardu ISO/IEC 8859 byl ukončen, protože jediná zbývající pracovní skupina, WG 2, se soustřeďuje na vývoj univerzální kódované znakové sady – Unicode.

Odkazy

Reference

V tomto článku byl použit překlad textu z článku ISO/IEC 8859 na anglické Wikipedii.

  • Publikovaná verze každé části ISO/IEC 8859 je za úhradu dostupná na serveru s ISO katalogem a na IEC Webstore.
  • PDF verze posledních pracovních verzí některých částí ISO/IEC 8859 jak byly předloženy ISO/IEC JTC 1/SC 2/WG 3 pro revizi a publikaci jsou dostupné na WWW serveru WG 3:
    • ISO/IEC 8859-1:1998 – Osmibitové jednobytové kódované grafické znakové sady, Část 1: Latinská abeceda čís. 1 (pracovní verze datovaná 12. února 1998, publikováno 15. dubna 1998)
    • ISO/IEC 8859-4:1998 – Osmibitové jednobytové kódované grafické znakové sady, Část 4: Latinská abeceda čís. 4 (pracovní verze datovaná 12. února 1998, publikováno 1. července 1998)
    • ISO/IEC 8859-7:1999 – Osmibitové jednobytové kódované grafické znakové sady, Část 7: Latinská/řecký abeceda (pracovní verze datovaná 10. června 1999; nahrazený novější verzí ISO/IEC 8859-7:2003, publikováno 10. října 2003)
    • ISO/IEC 8859-10:1998 – Osmibitové jednobytové kódované grafické znakové sady, Část 10: Latinská abeceda čís. 6 (pracovní verze datovaná 12. února 1998, publikováno 15. července 1998)
    • ISO/IEC 8859-11:1999 – Osmibitové jednobytové kódované grafické znakové sady, Část 11: Latinka/thajská znaková sada (pracovní verze datovaná 22. června 1999; nahrazena novější verzí ISO/IEC 8859-11:2001 publikovanou 15. prosince 2001)
    • ISO/IEC 8859-13:1998 – Osmibitové jednobytové kódované grafické znakové sady, Část 13: Latinská abeceda čís. 7 (pracovní verze datovaná 15. dubna 1998, publikováno 10. října 1998)
    • ISO/IEC 8859-15:1998 – Osmibitové jednobytové kódované grafické znakové sady, Část 15: Latinská abeceda čís. 9 (pracovní verze datovaná 1. srpna 1997; nahrazený novější verzí ISO/IEC 8859-15:1999, publikováno 15. března 1999)
    • ISO/IEC 8859-16:2000 – Osmibitové jednobytové kódované grafické znakové sady, Část 16: Latinská abeceda čís. 10 (pracovní verze datovaná 15. listopadu 1999; nahrazený novější verzí ISO/IEC 8859-16:2001, publikováno 15. července 2001)
  • Standardy Ecma International, které úmyslně přesně odpovídají standardům ISO/IEC 8859 znakových sad, jsou následující:
    • Standard ECMA-94: Osmibitové jednobytové kódované znakové sady – Latinské abecedy čís. 1 až 4, 2. vydání (červen 1986)
    • Standard ECMA-113: Osmibitové jednobytové kódované znakové sady – Latinka/cyrilice 3. vydání (prosinec 1999)
    • Standard ECMA-114: Osmibitové jednobytové kódované znakové sady – Latinka/arabská abeceda 2. vydání (prosinec 2000)
    • Standard ECMA-118: Osmibitové jednobytové kódované znakové sady – Latinka/řecká abeceda (prosinec 1986)
    • Standard ECMA-121: Osmibitové jednobytové kódované znakové sady – Latinka/hebrejská abeceda, 2. vydání (prosinec 2000)
    • Standard ECMA-128: Osmibitové jednobytové kódované znakové sady – Latinská abeceda čís. 5, 2. vydání (prosinec 1999)
    • Standard ECMA-144: Osmibitové jednobytové kódované znakové sady – Latinská abeceda čís. 6, 3. vydání (prosinec 2000)
  • ISO/IEC 8859-1 na Unicode zobrazení tabulky jako prosté textové soubory jsou na Unicode FTP serveru.
  • Neformální popisy a tabulky kódu pro většinu kódování ISO/IEC 8859 jsou dostupné na ISO/IEC 8859 Alphabet Soup (záložní server)