Unicode: Porovnání verzí

Odebráno 623 bajtů ,  před 2 lety
Pokus o zpřehlednění
(doplnění odkazu na GB18030, smazání přebytečných "informací" v odstavci o kódování)
(Pokus o zpřehlednění)
Unicode definuje několik způsobů reprezentace textů různými [[znakový kód|znakovými kódy]]. K nejpoužívanějším kódováním patří [[UTF-8]], [[UTF-16]] a zastaralé [[UCS-2]]. UTF-8 používá jeden [[bajt]] pro libovolný [[ASCII]] znak, přičemž všechny ASCII znaky mají v UTF-8 stejné kódové hodnoty jako ASCII a dva až čtyři bajty pro jiné znaky. UCS-2 používá 16bitové kódové jednotky (dva [[oktet (informatika)|8bitové bajty]]) pro každý znak, ale neumožňuje kódovat všechny znaky v aktuálním standardu Unicode. UTF-16 je rozšíření UCS-2, které pomocí dvou 16bitových jednotek (4 × 8 bit) umožňuje kódovat všechny znaky z Unicode. V Číně se používá kódování [[GB 18030|GB18030]], které přebírá celý znakový repertoár Unicode, proto je také jedním ze způsobů kódování Unicode. Mapování GB18030 na UTF-32 je však netriviální (potřebuje převodní tabulku).
 
Umožňuje současně používat různá písma při vícejazyčném zpracování textu v počítači a kóduje široké portfolio znaků pro profesionální zpracování textů v prakticky jakémkoli moderním i historickém jazyce. Nevýhodou unicode může být složitější zpracování, nebo že stejný text zabírá více prostoru na disku nebo v operační paměti počítače. Ovšem výhody univerzální znakové sady drtivě převažují, což je vidět mj. na tom, že starší osmibitové znakové sady jsou dnes definované jako podmnožiny Unicode.
 
== Historie ==
Ke konci osmdesátých let 20. století vznikla naléhavá potřeba sjednotit různé kódové tabulky znaků pro národní abecedy. Například [[čeština|český jazyk]] používal v informatice nejméně 5 různě kódovaných tabulek ([[Kód Kamenických|kódování bratří Kamenických]], [[CP852|PC Latin 2]], [[Windows-1250]], [[ISO 8859-2|ISO Latin 2]], … <ref>[http://www.cestina.cz/kodovani/ Přehled kódování češtiny]</ref>). Vznikaly značné problémy při spolupráci aplikací a při přenosech dat mezi programy a různými platformami. Podobná situace byla ve všech jazycích, které nevystačily se základní 7bitovou tabulkou [[ASCII]] znaků.
 
V té době vznikly současně dva projekty pro vytvoření jednotné univerzální kódovací tabulky znaků. Byl to projekt [[ISO 10646]] organizace [[Mezinárodní organizace pro normalizaci|ISO]] a projekt ''Unicode''. Norma ISO definuje tzv. [[UCS]] – ''Universal Character Set''. Kolem roku [[1991]] došlo k dohodě a projekty spojily své úsilí na vytvoření jednotné tabulky. Oba projekty stále existují a publikují své [[standard]]y samostatně, ale tabulky znaků jsou kompatibilní a jejich rozšiřování je koordinováno.
 
Kolem roku [[1991]] došlo k dohodě a projekty spojily své úsilí na vytvoření jednotné tabulky. Oba projekty stále existují a publikují své [[standard]]y samostatně, ale tabulky znaků jsou kompatibilní a jejich rozšiřování je koordinováno.
 
=== Historie verzí Unicode ===
Všechny verze Unicode od 2.0 výše jsou zpětně kompatibilní, jsou přidávány pouze nové znaky, existující znaky nejsou vyřazovány nebo přejmenovávány. Poslední verze publikovaná v knižní podobě byla verze Unicode 5.2 (ISBN 0-321-48091-0); od verze 6.0 je plný text normy publikován pouze elektronicky; v roce 2012 bylo oznámeno, že od verze 6.1 bude v knižní podobě dostupné pouze jádro normy (v té době čítající 692 stránek) tištěných na žádost.<ref name="version6.1PoD">{{Citace elektronické monografie
 
*| titul = Unicode '''16.0'''1 Paperback ([[1991]])Available
| url = http://www.unicode.org/mail-arch/unicode-ml/y2012-m05/0240.html
* Unicode '''1.1''' ([[1993]])
| work = announcements_at_unicode.org
* [http://www.unicode.org/versions/Unicode2.0.0/ Unicode '''2.0'''] ([[1996]])
| accessdate = 2012-05-30
* [http://www.unicode.org/versions/Unicode2.1.0/ Unicode '''2.1'''] ([[1998]])
}}</ref> Na rozdíl od předchozích hlavních verzí výtisků normy, tištěná verze nezahrnuje žádné tabulky kódu nebo doplňky standardu. Celý standard, včetně jádra, je volně dostupný na WWW serveru Unicode konsorcia<ref>[http://www.unicode.org/ The Unicode Consortium]</ref>.
* [http://www.unicode.org/versions/Unicode3.0.0/ Unicode '''3.0'''] ([[1999]], [[2000]])
* [http://www.unicode.org/versions/Unicode3.Unicode '''1.0/''' ([[1991]]), Unicode '''31.1'''] ([[20011993]], odpovídá normě ISO 10646-1:1993,)
* [http://www.unicode.org/versions/Unicode3Unicode2.20.0/ Unicode '''32.0'''] ([[1996]]), [http://www.unicode.org/versions/Unicode2.1.0/ Unicode '''2.1'''] ([[20021998]])
* [http://www.unicode.org/versions/Unicode4Unicode3.0.0/ Unicode '''43.0'''] ([[20031999]], [[2000|2000,]] odpovídá normě ISO 10646-1:2000), [http://www.unicode.org/versions/Unicode3.1.0/ Unicode '''3.1'''] ([[2001]]), [http://www.unicode.org/versions/Unicode3.2.0/ Unicode '''3.2'''] ([[2002]])
* [http://www.unicode.org/versions/Unicode4.0.0/ Unicode '''4.0'''] ([[2003]], odpovídá třetí verzi ISO 10646:2003), [http://www.unicode.org/versions/Unicode4.1.0/ Unicode '''4.1'''] ([[2005]])
* [http://www.unicode.org/versions/Unicode5.0.0/ Unicode '''5.0'''] ([[2006]]), [http://www.unicode.org/versions/Unicode5.1.0/ Unicode '''5.1'''] ([[2008]]), [http://www.unicode.org/versions/Unicode5.2.0/ Unicode '''5.2'''] ([[2009]]) - celkem obsahuje více než 245 000 znaků a symbolů z 90 různých jazyků a abeced.<ref>[http://www.unicode.org/charts/ Unicode Scripts]</ref>
* [http://www.unicode.org/versions/Unicode5Unicode6.0.0/ Unicode '''6.0'''] ([[2010]]), [http://www.unicode.org/versions/Unicode6.1.0/ Unicode '''56.1'''] ([[20082012]]), [http://www.unicode.org/versions/Unicode6.2.0/ Unicode '''6.2'''] ([[2012]]), [http://www.unicode.org/versions/Unicode6.3.0/ Unicode '''6.3'''] ([[2013]])
* [http://www.unicode.org/versions/Unicode5Unicode7.20.0/ Unicode '''57.20'''] ([[20092014]]) - rozšiřuje množinu znaků o asi 250 znaků [[emodži]].<ref>{{Citace elektronického periodika
| příjmení = Němec
* [http://www.unicode.org/versions/Unicode6.1.0/ Unicode '''6.0'''] ([[2010]])
| jméno = Petr
* [http://www.unicode.org/versions/Unicode6.1.0/ Unicode '''6.1'''] ([[2012]])
| autor =
* [http://www.unicode.org/versions/Unicode6.2.0/ Unicode '''6.2'''] ([[2012]])
| odkaz na autora =
* [http://www.unicode.org/versions/Unicode6.3.0/ Unicode '''6.3'''] ([[2013]])
| spoluautoři =
*Unicode 7.0 2014
| titul = Unicode Standard 7.0: přibližně 250 nových „smajlíků“
*Unicode 8.0 2015
| periodikum = Root.cz
*Unicode 9.0 2016
| odkaz na periodikum = Root.cz
*Unicode 10.0 2017
| url = http://www.root.cz/zpravicky/unicode-standard-7-0-priblizne-250-novych-smajliku/
 
| datum vydání = 2014-06-17
Unicode verze 1.1 odpovídá normě ISO 10646-1:1993, Unicode 3.0 odpovídá ISO 10646-1:2000, Unicode 4.0 odpovídá třetí verzi ISO 10646:2003. Všechny verze Unicode od 2.0 výše jsou zpětně kompatibilní, jsou přidávány pouze nové znaky, existující znaky nejsou vyřazovány nebo přejmenovávány.
| ročník =
 
| číslo =
Unicode se drží zároveň důležitého pravidla jednotné metody zjišťování totožnosti znaků, efektivnější a snadněji přizpůsobitelná než předchozí kódovací systémy. Umožňuje současně používat různá písma při vícejazyčném zpracování textu v počítači a kóduje široké portfolio znaků pro profesionální zpracování textů v prakticky jakémkoli moderním i historickém jazyce.
| strany =
 
| issn = 1212-8309
=== Unicode 7.0 ===
| datum přístupu = 2014-08-26
[http://www.unicode.org/versions/Unicode7.0.0/ Unicode verze '''7.0'''] bylo vydáno [[16. červen|16. června]] [[2014]]. Tato verze rozšířila množinu znaků především o asi 250 znaků [[emodži]].<ref>{{Citace elektronického periodika
| datum aktualizace =
| příjmení = Němec
}}</ref>, celkem přidává 2834 nových znaků (327 do BMP, zbytek do Plane 1), zavádí 23 nových jazyků.<ref>[http://www.unicode.org/versions/Unicode7.0.0/ Unicode 7.0.0] na unicode.org, cit. 2014-08-26</ref>
| jméno = Petr
*[http://www.unicode.org/versions/Unicode8.0.0/ Unicode '''8.0'''] (2015) - obsahuje celkem 120737 grafických znaků ve 129 písmech; zavádí podporu abecedy Ahom, anatolských hieroglyfů, abeced Hatran, Multani, [[Rovas]] a [[znakopis]]u, doplňuje 5771 unifikovaných [[CJK]] ideografů, sadu malých písmen pro slabičné písmo Cherokee a pět emoji modifikátorů pro odstíny kůže<ref>{{Citace elektronické monografie
| autor =
| odkaz na autora =
| spoluautoři =
| titul = Unicode Standard 7.0: přibližně 250 nových „smajlíků“
| periodikum = Root.cz
| odkaz na periodikum = Root.cz
| datum vydání = 2014-06-17
| datum aktualizace =
| datum přístupu = 2014-08-26
| ročník =
| číslo =
| strany =
| url = http://www.root.cz/zpravicky/unicode-standard-7-0-priblizne-250-novych-smajliku/
| issn = 1212-8309
}}</ref> Celkem Unicode 7.0 přidává 2834 nových znaků a zavádí 23 nových jazyků.<ref>[http://www.unicode.org/versions/Unicode7.0.0/ Unicode 7.0.0] na unicode.org, cit. 2014-08-26</ref> Z celkového počtu znaků jich 327 bylo přidáno do BMP, ostatních 2507 bylo přidáno do Plane 1.
 
=== Unicode 8.0 ===
 
Nejnovější verze normy, ''The Unicode Standard 8.0.0''<ref>[http://www.unicode.org/versions/Unicode8.0.0/ Unicode verze '''8.0.0''']</ref>, byla vydána v červnu 2015 a je dostupná na WWW serveru konsorcia. Definuje celkem 120737 grafických znaků ve 129 písmech; zavádí podporu abecedy Ahom, anatolských hieroglyfů, abeced Hatran, Multani, [[Rovas]] a [[znakopis]]u, doplňuje 5771 unifikovaných [[CJK]] ideografů, sadu malých písmen pro slabičné písmo Cherokee a pět emoji modifikátorů pro odstíny kůže<ref>{{Citace elektronické monografie
| titul = Unicode Data 8.0.0
| url = http://www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt
| datum přístupu = 2015-06-17}}
}}
</ref>.
*[http://www.unicode.org/versions/Unicode9.0.0/ Unicode '''9.0'''] ([[2016]])
*[http://www.unicode.org/versions/Unicode10.0.0/ Unicode '''10.0'''] ([[2017]]) - definuje celkem 136690 znaků ze 139 jazyků a abeced
 
== Principy standardu Unicode ==
Poslední verze publikovaná v knižní podobě byla verze Unicode 5.2 (ISBN 0-321-48091-0); od verze 6.0 je plný text normy publikován pouze elektronicky; v roce 2012 bylo oznámeno, že od verze 6.1 bude v knižní podobě dostupné pouze jádro normy (v té době čítající 692 stránek) tištěných na žádost.<ref name="version6.1PoD">{{Citace elektronické monografie|titul = Unicode 6.1 Paperback Available|url=http://www.unicode.org/mail-arch/unicode-ml/y2012-m05/0240.html|work=announcements_at_unicode.org|accessdate=2012-05-30}}</ref> Na rozdíl od předchozích hlavních verzí výtisků normy, tištěná verze nezahrnuje žádné tabulky kódu nebo doplňky standardu. Celý standard, včetně jádra, je volně dostupný na WWW serveru Unicode konsorcia<ref>[http://www.unicode.org/ The Unicode Consortium]</ref>.
* '''Jednotnost''' - konstantní šířka znaků (UTF-32) dovoluje efektivní hledání, třídění, editaci a zobrazení prvků.
 
* '''Univerzálnost''' - zahrnutí všech znaků, které by mohly být využity při výměně textů – především ty, které už byly definovány v hlavních mezinárodních, národních a průmyslových znakových sadách.
== Původní cíle standardu Unicode ==
* '''Jednotnost''' - konstantní šířka znaků dovoluje efektivní hledání, třídění, editace a zobrazení prvků.
* '''Univerzálnost''' - kapacita znakové sady musí být dostatečně velká k zahrnutí všech znaků, které by mohly být využity při výměně textů – především ty, které už byly definovány v hlavních mezinárodních, národních a průmyslových znakových sadách.
* '''Jednoznačnost''' - jakákoli 16bitová (dnes 32bitová) hodnota zastupuje v jakémkoliv kontextu stejný znak.
* '''Maximální využití''' - textsnadná poskládanýzpracovatelnost textu poskládaného z posloupnosti znaků o konstantní šířce; můžekódování býtznaků snadnonení zpracován;závislé softwarena sikontextu, nemusípro uchovávatstrojové stav,zpracování dávattextu sinení pozor nanutné speciálnívyhodnocovat escape sekvence nebo prohledávat text dopředu či zpět kvůli určení totožnosti znaků.
 
Standard Unicode se oproti ISO 10646 navíc zabývá implementací algoritmů pro písma psaná zprava doleva (např. [[arabština]]), podporou oboustranných textů (jako např. směs hebrejštiny a latinky), algoritmy pro [[abecední řazení|řazení]] a porovnávání textů.
 
Unicode není používán pro kódování obskurních a zřídkakdy používaných znaků, znaků pro osobní potřebu, nebo grafiky. Rovněž neobsahuje speciální znaky pro přechodné vkládání textu. Unicode také nezahrnuje znaky které neslouží k zápisu textu, jako jsou například taneční či hudební značky. Rovněž se nezabývá variantami zobrazení znaků (fonty). Ve znakovém repertoáru Unicode kódování je vyhrazeno 6400 znaků pro potřebu programů, jejichž využití není nijak omezeno.
V současnosti existuje Unicode ve verzi 5.2, která vyšla v roce 2009.<ref>[http://www.unicode.org/standard/standard.html About the Unicode Standard]</ref> Celkem obsahuje více než 245 000 znaků a symbolů z 90 různých jazyků a abeced.<ref>[http://www.unicode.org/charts/ Unicode Scripts]</ref> Unicode Consortium již v této chvíli zaručuje, že všechny nové verze budou zpětně kompatibilní s předchozími, tj. že nové standardy budou přidávat další znaky, ale žádné již nebudou odstraňovat ani měnit.
 
Unicode není používán pro kódování různých nesmyslných a zřídkakdy používaných znaků, znaků pro osobní potřebu, nebo grafiky. Rovněž neobsahuje speciální znaky pro přechodné vkládání textu. Unidoce také nezahrnuje znaky které neslouží k zápisu textu, jako jsou například taneční či hudební značky. Rovněž se nezabývá variantami zobrazení znaků (fonty). Ve znakovém repertoáru Unicode kódování je vyhrazeno 6400 znaků pro potřebu programů, jejichž využití není nijak omezeno.
 
V souvislosti s jazyky jako je [[wachánština]], jejichž ortografie založené na [[latinka|latince]] používají několik znaků [[cyrilice]] či [[řecké písmo|řeckého písma]], byla řešena otázka, zda kvůli nim do Unicode přidat znaky jako ''latinská [[delta (písmeno)|delta]]'', ''latinská [[théta]]'' či ''latinské [[Ы|jery]]'' jako latinské protějšky těchto řeckých a cyrilských písmen.<ref name="Jim Allan, Unicode">Jim Allan, [https://www.mail-archive.com/unicode@unicode.org/msg14260.html mixed-script writing systems], 2002-11-15, cit. 2014-08-27</ref> Jeden z názorů na tuto problematiku je, že požadavek, aby jazyk byl zapisován pouze znaky jednoho písma je umělý a že v minulosti si různé jazyky půjčovaly písmena i z jiných písem, takže na soubor písmen latinky, cyrilice a řeckého písma může být nahlíženo jako na latinsko-cyrilsko-řecké metapísmo a tedy pro zápis těchto jazyků používat písmena v Unicode již obsažené místo vytváření nových.<ref>Kenneth Whistler, [https://www.mail-archive.com/unicode@unicode.org/msg14261.html mixed-script writing systems], 2002-11-15, cit. 2014-08-27</ref> I v případě, kdy by tato písmena byla zavedena, lze očekávat, že by i nadále pro zápis byly používány řecké a cyrilské verze těchto písmen, protože latinské verze by byly obsaženy pouze v malém počtu fontů.<ref name="Jim Allan, Unicode" />
 
Tento princip může způsobovat problémy při zpracování čínského, japonského a korejského písma ([[CJK]]), které mají společný historický základ, ale mají např. v Číně a Japonsku posunutý význam a odlišný tvar.
 
== Architektura ==
 
=== Skupiny Unicode ===
* '''Písma'''
** podle místa původu: Evropa, Afrika, Blízký východ, Střední Asie, Jižní Asie, Jihovýchodní Asie, Východní Asie, Indonésie a Oceánie, Amerika
** podle místa původu
*** Evropa
*** Afrika
*** Blízký východ
*** Střední Asie
*** Jižní Asie
*** Jihovýchodní Asie
*** Východní Asie
*** Indonésie a Oceánie
*** Amerika
** kombinující diakritika
** fonetické znaky a zkratky
*** IPA
* Číslice a číselné znaky
** číselné formy
** zlomky
** horní/dolní indexy
* Interpunkční znaménka
** obecná interpunkce
* [[CJK]]
* Symboly
** alfanumerické
** kombinující diakritika
** fonetické znaky a zkratky: IPA
** technické symboly
* '''Číslice a číselné znaky''': číselné formy, zlomky, horní/dolní indexy
** matematické symboly
* '''Interpunkční znaménka''': obecná interpunkce
** ostatní symboly
* [[CJK|'''CJK''']]
* Speciální
* '''Symboly''': alfanumerické, kombinující diakritika, technické symboly, matematické symboly, ostatní symboly
** kontrolní znaky
* '''Speciální''': kontrolní znaky, osobní použití, náhradní symboly, „ne-znaky“, rezervované znaky
** osobní použití
** náhradní symboly
** „ne-znaky“
** rezervované znaky
 
=== Znaky Unicode ===
733

editací