Rovina (Unicode)

Rovina (anglicky plane) ve standardu Unicode je spojitá skupina 65536 (= 216) kódových bodů, které se liší pouze v nejnižších 16 bitech. Unicode předpokládá použití nejvýše 17 rovin identifikovaných čísly 0 až 16desítkově, které odpovídají hodnotám 00–10šestnáctkově prvních dvou číslic v šesticiferném zápisu hodnoty kódového bodu (U+hhhhhh). První rovina (s číslem 0) se nazývá základní vícejazyčná rovina, BMP (anglicky Basic Multilingual Plane), další roviny (1–16) se nazývají „doplňkové“ (anglicky supplementary planes),[1] nebo žertovně „astrální roviny“. Unicode verze 8.0 definuje přiřazení kódových bodů patřících do pěti polorovin.

17 rovin může pojmout 1114112 kódových bodů. Toto podivně vypadající číslo (které není mocninou 2) je maximální hodnotou, kterou lze zobrazit pomocí kódování UTF-16.[2] Předpokládá se, že 1114112 kódových bodů bude stačit, i kdyby se objevila dosud neznámá písma s desítkami tisíc znaků; Unicode Consortium vydalo prohlášení, že uvedený limit nebude nikdy změněn.[3] Kódování UTF-8 bylo navrženo pro kódovaní až 231 kódových bodů (32768 rovin) původního ISO/IEC 10646 kódy délky 1 až 6 bytů; pro 17 rovin stačí posloupnosti maximální délky 4 byty.[4]

Roviny jsou dále rozděleny na Unicode bloky, které na rozdíl od rovin nemají pevnou velikost. Unicode 5.0 definuje 262 bloků s velikostí od 16 kódových bodů (tuto velikost má jedenáct bloků) po 65536 kódových bodů (tuto velikost má Doplňková oblast pro soukromé použití A a Doplňková oblast pro soukromé použití B, které zabírají celou rovinu 15 a 16). Jednotlivé bloky byly předběžně vyhrazeny pro všechna známá současná i historická písma[5] a pokrývají 24 procent možného prostoru kódových bodů.

Počty přiřazených znaků

Přiřazené znaky v Unicode verze 8.0
RovinaPřidělené kódové body[Pozn 1]Přiřazené znaky[Pozn 2]
 0 BMP6539255181
 1 SMP1400011833
2 SIP5342453386
3 TIP16672799
14 SSP368337
15 PUA-A65536
16 PUA-B65536
Celkem264256120737
  1. Počet všech kódových bodů v přidělených Unicode blocích.
  2. Počet skutečně přiřazených grafických, formátovacích a řídicích znaků (tj. kromě znaků pro soukromé použití, ne-znaků a náhradních kódových bodů).

Základní multilinguální rovina

Základní multilinguální rovina (BMP). Každý očíslovaný čtvereček reprezentuje 256 kódových bodů.
Podrobnější informace naleznete v článku ISO/IEC 10646.

Základní vícejazyčná rovina, BMP (anglicky Basic Multilingual Plane) je první rovina Unicode (rovina číslo 0); obsahuje znaky pro téměř všechny moderní jazyky a velký počet symbolů. Primárním cílem BMP je unifikace dřívějších znakových sad a znaků pro psaní.

První bloky jsou určeny pro písma používající latinku, další pro ostatní evropská a asijská písma. Většina přiřazených kódových bodů v BMP slouží pro kódování čínštiny, japonštiny a korejštiny (CJK).

Oblasti vyšších (U+D800–U+DBFF) a nižších (U+DC00–U+DFFF) náhradních hodnot (anglicky High and Low Surrogate) jsou rezervovány pro kódování znaků mimo BMP pomocí tzv. náhradních dvojic 16bitových kódů tvořených jednou vyšší a jednou nižší náhradní hodnotou. Samostatným kódovým bodům z tohoto rozsahu nebyly a nikdy nebudou přiřazeny Unicode znaky.

V BMP bylo již 65392 z 65536 kódových bodů přiděleno blokům Unicode, v nepřidělených rozsazích zbývá pouze 144 kódových bodů (64 kódových bodů v rozsahu 0860 až 089F, 64 kódových bodů v rozsahu 1C80 až 1CBF a 16 kódových bodů v rozsahu 2FE0 až 2FEF).

V Unicode 8.0 BMP obsahuje celkem 160 bloků.

Doplňková multilinguální rovina

Doplňková multilinguální rovina (SMP). Každý očíslovaný čtvereček reprezentuje 256 kódových bodů.

Doplňková vícejazyčná rovina, SMP (anglicky Supplementary Multilingual Plane) má číslo 1; obsahuje historická písma jako například Lineární písmo B, Egyptské hieroglyfy a klínové písmo, dále historické a moderní hudební notace, matematické alfanumerické symboly, Emoji a jiné sady piktografů, reformované pravopisy jako Shavian a Deseret a herní symboly pro hrací karty, Mahjong a domino.

V Unicode 8.0 je v SMP definováno 93 bloků.

Doplňková ideografická rovina

Doplňková ideografická rovina (SIP). Každý očíslovaný čtvereček reprezentuje 256 kódových bodů.

Doplňková ideografická rovina, SIP (anglicky Supplementary Ideographic Plane) je rovina číslo 2; je určena pro CJK Ideografy, většinou CJK sjednocené ideografy, které nebyly obsaženy ve starších standardech znakových kódů.

V Unicode 8.0 SIP obsahuje následujících 5 bloků:

  • CJK sjednocené ideografy - rozšíření B (20000–2A6DF)
  • CJK sjednocené ideografy - rozšíření C (2A700–2B73F)
  • CJK sjednocené ideografy - rozšíření D (2B740–2B81F)
  • CJK sjednocené ideografy - rozšíření E (2B820-2CEAF)
  • CJK kompatibilní ideografy - doplněk (2F800–2FA1F); nesjednocené

Nepřiřazené roviny

Roviny 3 až 13: těmto rovinám dosud nebyly přiřazeny žádné znaky. Rovina 3 je předběžně pojmenovaná Terciární ideografická rovina, TIP (anglicky Tertiary Ideographic Plane), ale v Unicode verze 8.0 v ní nejsou žádné přiřazené znaky.[6] Je rezervována pro symboly z písem používaných v nápisech na věštebných kostech, nápisech na broznu, v malém pečetním písmu, přídavné jednotné ideografy CJK a další historická ideografická písma.[7]

Vzhledem k nevelkému počtu dosud nepřiřazených písem se neočekává, že by v dohledné době byly všechny tyto roviny použity, i když počet možných symbolů, které by se mohly objevit mimo kontext písem, může být obrovský. V současnosti je 11 ze 17 rovin nepoužito.

Doplňková rovina pro speciální účely

Doplňková rovina pro speciální účely, SSP (anglicky Supplementary Special-purpose Plane) je rovina číslo 14 (E šestnáctkově); aktuálně obsahuje negrafické znaky. První blok obsahuje znaky pro jazykové jmenovky určené pro identifikaci jazyka, pokud jazyk nemůže být indikován pomocí jiných protokolů (například atribut xml:lang v XML); tyto kódy jsou nedoporučované. Další blok obsahuje selektory pro výběr variant glyfů pro určitý znak, pokud variantu nelze určit z kontextu.

V Unicode 8.0 SSP obsahuje následující 2 bloky:

  • Tags (E0000–E007F)
  • Selektory variant - doplněk (E0100–E01EF)

Oblasti pro soukromé použití

Doplňková oblast pro soukromé použití-A a Doplňková oblast pro soukromé použití-B (anglicky Supplementary Private Use Area-A and B) jsou roviny 15 a 16; tyto roviny jsou volné pro přiřazení znaků jinými institucemi než je Mezinárodní organizace pro normalizaci a Unicode Consortium. Ve fontech mohou být použity pro glyfy neobsažené v Unicode, například pro slitky (ligatury), stavební bloky jiných glyfů nebo pro glyfy, které zatím součástí Unicode nejsou. Tyto znaky budou mít omezenou interoperabilitu; software a fonty podporující Unicode pravděpodobně nebude podporovat přiřazení znaků jiných výrobců.

Reference

V tomto článku byl použit překlad textu z článku Plane (Unicode) na anglické Wikipedii.

  1. Unicode Consortium Glossary—Supplementary Planes
  2. Hodnota nejvyšších čtyř bitů (wwww) v náhradním páru je o jedničku menší než číslo Unicode roviny, tj. Unicode rovina = wwww + 1. Nejvyšší hodnota, kterou wwww může reprezentovat je 1111binárně = Fšestnáctkově = 15desítkově. Rovina (15 + 1)=16 je proto nejvyšší rovina, kterou lze reprezentovat pomocí náhradních párů. Díky tomu lze náhradním párem reprezentovat kódový bod nejvýše 10 FFFFhex. Viz Tabulka 3.5 „UTF-16 Bit Distribution“ ve standardu Unicode http://www.unicode.org/versions/Unicode6.0.0/UnicodeStandard-6.0.pdf
  3. [cit. 2014-09-27]. Dostupné online. 
  4. Viz Tabulka 3.6 „UTF-8 Bit Distribution“ ve standardu Unicode http://www.unicode.org/versions/Unicode6.0.0/UnicodeStandard-6.0.pdf
  5. Unicode roadmaps
  6. Unicode Data [online]. Dostupné online. 
  7. TIP Roadmap

Média použitá na této stránce

Roadmap to Unicode SIP multilingual.svg
A graphical representation of Unicode's Supplementary Ideographic Plane (SIP). Each numbered box represents 256 code points.
Roadmap to Unicode BMP multilingual.svg
A graphical representation of Unicode's Basic Multilingual Plane (BMP). Each numbered box represents 256 code points.
Roadmap to Unicode SMP multilingual.svg
A graphical representation of Unicode's Supplementary Multilingual Plane (SMP). Each numbered box represents 256 code points.