Obousměrný text - Bidirectional text - Wikipedia
![]() | tento článek potřebuje další citace pro ověření.Červenec 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A obousměrný text obsahuje dva směrovosti textu, zprava doleva (RTL nebo dextrosinistral ) a zleva do prava (LTR nebo sinistrodextral ). Obvykle se jedná o text obsahující různé typy abecedy, ale může také odkazovat na boustrofedon, což mění směr textu v každém řádku.
Nějaký psací systémy včetně arabština a hebrejština skripty nebo odvozené systémy, jako je Peršan, Urdu, a jidiš skripty, jsou psány ve formě známé jako zprava doleva (RTL), ve které psaní začíná na pravé straně stránky a končí na levé straně. To se liší od směru zleva doprava (LTR) používaného dominantním latinským písmem. Když je text LTR smíchán s RTL ve stejném odstavci, každý typ textu je napsán svým vlastním směrem, který je známý jako obousměrný text. To může být poměrně složité, když se používá více úrovní nabídky.
Mnoho počítačových programů nedokáže správně zobrazit obousměrný text. Například hebrejské jméno Sarah (שרה) se píše: hřích (ש) (který se zobrazí úplně vpravo), pak resh (ר)a nakonec heh (ה) (který by se měl objevit úplně vlevo).
Poznámka: Některé internetové prohlížeče může zobrazit hebrejský text v tomto článku v opačném směru.
Podpora obousměrného skriptu
Podpora obousměrného skriptu je schopnost a počítač systém pro správné zobrazení obousměrného textu. Termín je často zkrácen na „BiDi“ nebo „bidi“.
Dřívější počítačové instalace byly navrženy pouze pro podporu jednoho systém psaní, obvykle pro skripty zleva doprava založené na latinka pouze. Přidávání nových znakové sady a kódování znaků umožnil podporu řady dalších skriptů zleva doprava, ale snadno nepodporoval skripty zprava doleva, například arabština nebo hebrejština a jejich míchání nebylo praktické. Skripty zprava doleva byly zavedeny pomocí kódování jako ISO / IEC 8859-6 a ISO / IEC 8859-8, ukládání písmen (obvykle) v pořadí psaní a čtení. Je možné jednoduše převrátit pořadí zobrazení zleva doprava na pořadí zobrazení zprava doleva, ale to obětuje schopnost správně zobrazit skripty zleva doprava. Díky podpoře obousměrného skriptu je možné na stejné stránce kombinovat znaky z různých skriptů bez ohledu na směr psaní.
Zejména Unicode Standard poskytuje základy pro úplnou podporu BiDi s podrobnými pravidly, jak se mají kódovat a zobrazovat směsi skriptů zleva doprava a zprava doleva.
Podpora Unicode bidi
Standard Unicode požaduje, aby byly znaky řazeny „logicky“, tj. V pořadí, v jakém mají být interpretovány, na rozdíl od „vizuálně“, v pořadí, v jakém se objevují. Tento rozdíl je relevantní pro podporu bidi, protože při jakémkoli přechodu bidi přestává být vizuální prezentace „logickou“. Abychom tedy mohli nabídnout podporu bidi, Unicode předepisuje algoritmus, jak převést logickou posloupnost znaků do správné vizuální prezentace. Za tímto účelem standard kódování Unicode rozděluje všechny své znaky na jeden ze čtyř typů: „silný“, „slabý“, „neutrální“ a „explicitní formátování“.[1]
Silné postavy
Silné postavy jsou postavy s určitým směrem. Mezi příklady tohoto typu znaků patří většina abecedních znaků, slabičné znaky, ideografy Han, mimoevropské nebo nearabské číslice a interpunkční znaky které jsou specifické pouze pro tyto skripty.
Slabé postavy
Slabé postavy jsou postavy s neurčitým směrem. Mezi příklady tohoto typu znaků patří evropské číslice, východní arabsko-indické číslice, aritmetické symboly a symboly měn.
Čísla
Pokud není k dispozici směrové přepsání, jsou čísla vždy zakódována (a zadána) big-endian a číslice vykreslené LTR. Slabá směrovost se vztahuje pouze na umístění čísla jako celku.
Neutrální znaky
Neutrální znaky mají směr neurčitelný bez kontextu. Mezi příklady patří oddělovače odstavců, tabulátory a většina ostatních mezer. Do této kategorie spadají také interpunkční symboly, které jsou společné pro mnoho skriptů, jako dvojtečka, čárka, tečka a mezera bez mezer.
Explicitní formátování
Explicitní formátovací znaky, označované také jako „směrové formátovací znaky“, jsou speciální sekvence Unicode, které směrují algoritmus k úpravě jeho výchozího chování. Tyto znaky jsou dále rozděleny na „značky“, „vložení“, „izoláty“ a „přepsání“. Jejich efekty pokračují až do výskytu oddělovače odstavců nebo „popového“ znaku.
Známky
Pokud za „slabým“ znakem následuje další „slabý“ znak, algoritmus se podívá na první sousední „silný“ znak. To někdy vede k neúmyslným chybám zobrazení. Tyto chyby jsou opraveny nebo jim může být zabráněno pomocí „pseudo-silných“ znaků. Takový Řídicí znaky Unicode jsou nazývány známky. Značka (U + 200E ZNAČKA ZLEVA ZPRÁVA (LRM) nebo U + 200F ZNAČKA ZPRÁVA ZLEVA (RLM)) má být vložen do umístění, aby uzavřený slabý znak zdědil jeho směr psaní.
Například pro správné zobrazení U + 2122 ™ ZNAČKA OBCHODNÍ ZNAČKY pro anglickou značku (LTR) v arabské pasáži (RTL) se za symbol ochranné známky vloží značka LRM, pokud za symbolem není text LTR (např. „أرأ Wikipedia ™ طوال اليوم."). Pokud není přidána značka LRM, bude slabý znak ™ sousedit se silným znakem LTR a silným znakem RTL. Proto bude v kontextu RTL považován za RTL a bude zobrazen nesprávně objednávka (např. „أرأ Wikipedia ™ طوال اليوم.").
Vkládání
Znaky „vkládání“ směrového formátování jsou klasickou metodou explicitního formátování Unicode a od verze Unicode 6.3 jsou odrazovány ve prospěch „izolátů“. „Vložení“ signalizuje, že s textem je třeba zacházet jako se směrově odlišným. Text v rozsahu vkládání formátovacích znaků není nezávislý na okolním textu. Znaky v rámci vložení mohou také ovlivnit pořadí znaků venku. Unicode 6.3 rozpoznal, že směrové vkládání má obvykle příliš silný vliv na jejich okolí, a proto je jeho použití zbytečně obtížné.
Izoluje
Znaky „izolovat“ směrové formátování signalizují, že s textem je třeba zacházet jako s izolovaným směrem od jeho okolí. Od Unicode 6.3 se jedná o formátovací znaky, které jsou v nových dokumentech podporovány - jakmile je známo, že je podporují cílové platformy. Tyto formátovací znaky byly zavedeny poté, co vyšlo najevo, že směrové vkládání má obvykle příliš silný vliv na jejich okolí a je tedy zbytečně obtížné jej použít. Na rozdíl od starších znaků „vkládání“ směrových formátovacích znaků nemají znaky „izolovat“ žádný vliv na řazení textu mimo jejich rozsah. Izoláty mohou být vnořeny a mohou být umístěny do vložení a přepsání.
Přepíše
Znaky „přepsání“ směrového formátování umožňují speciální případy, například čísla dílů (např. Vynutit psaní čísla dílu ze smíšené angličtiny, číslic a hebrejských písmen zprava doleva), a pokud je to možné, nedoporučujeme se jim vyhýbat . Stejně jako u ostatních znaků směrového formátování lze „přepsání“ vnořit jeden do druhého a do vložení a izolátů.
Pops
Znaky směrového formátování „pop“ ukončují rozsah nejnovějšího „vložení“, „přepsání“ nebo „izolace“.
Běží
V algoritmu se každá sekvence zřetězených silných znaků nazývá „běh“. „Slabý“ znak, který je umístěn mezi dvěma „silnými“ znaky se stejnou orientací, zdědí jejich orientaci. „Slabý“ znak, který je umístěn mezi dvěma „silnými“ znaky s jiným směrem psaní, zdědí směr psaní hlavního kontextu (v dokumentu LTR se znak stane LTR, v dokumentu RTL se stane RTL).
Tabulka možných typů znaků BiDi
Typ[2] | Popis | Síla | Směrovost | Obecný rozsah působnosti | Znak Bidi_Control[3] |
---|---|---|---|---|---|
L | Zleva do prava | Silný | L-to-R | Většina abecedních a slabičných znaků, čínské znaky, mimoevropské nebo nearabské číslice, znak LRM, ... | ZNAČKA U + 200E ZLEVA-ZPRÁVA (LRM) |
R | Zprava doleva | Silný | R-to-L | Adlam, hebrejština, Mandaic, Mende Kikakui, N'Ko, Samaritán, starověké skripty jako Kharoshthi a Nabataean, postava RLM, ... | ZNAČKA U + 200F ZPRÁVA ZLEVA (RLM) |
AL | Arabský dopis | Silný | R-to-L | Arabské, Hanifi Rohingya, Sogdianské, Syrské a Thaanské abecedy a většina interpunkce specifická pro tyto skripty, znak ALM, ... | U + 061C ARABICKÁ ZNAČKA PÍSMEN (ALM) |
EN | Evropské číslo | Slabý | Evropské číslice, východní arabsko-indické číslice, koptská čísla epaktů, ... | ||
ES | Evropský oddělovač | Slabý | znaménko plus, znaménko minus, ... | ||
ET | Evropský číselný terminátor | Slabý | stupeň znamení, symboly měny, ... | ||
AN | Arabské číslo | Slabý | Arabsko-indické číslice, arabská desetinná místa a oddělovače tisíců, číslice Rumi, číslice Hanifi Rohingya, ... | ||
CS | Společný oddělovač čísel | Slabý | dvojtečka, čárka, tečka, prostor bez přestávky, ... | ||
NSM | Nonspacing Mark | Slabý | Znaky v obecných kategoriích Mark, nonspacing a Mark, enclosing (Mn, Me) | ||
BN | Boundary Neutral | Slabý | Výchozí ignorovatelné, jiné než znaky, řídicí znaky jiné než ty, které jsou výslovně uvedeny u jiných typů | ||
B | Oddělovač odstavců | Neutrální | oddělovač odstavců, vhodné funkce Newline, určení odstavce protokolu vyšší úrovně | ||
S | Oddělovač segmentů | Neutrální | Záložky | ||
WS | Mezery | Neutrální | prostor, figurální prostor, oddělovač řádků, krmivo formuláře, Obecné interpunkční mezery bloku (menší sada než Mezery Unicode seznam) | ||
NA | Ostatní neutrály | Neutrální | Všechny ostatní postavy, včetně znak nahrazení objektu | ||
LRE | Vkládání zleva doprava | Výslovný | L-to-R | Pouze znak LRE | U + 202A VLOŽENÍ ZLEVA-ZPRÁVA (LRE) |
LRO | Přepsání zleva doprava | Výslovný | L-to-R | Pouze znak LRO | U + 202D PŘEVOD ZLEVA-ZPRÁVA (LRO) |
RLE | Vkládání zprava doleva | Výslovný | R-to-L | Pouze znak RLE | U + 202B VLOŽENÍ ZPRÁVA ZLEVA (RLE) |
RLO | Přepsání zprava doleva | Výslovný | R-to-L | Pouze znak RLO | U + 202E PŘEPRAVA ZPRÁVA ZLEVA (RLO) |
Pop Directional Format | Výslovný | Pouze znak PDF | U + 202C POP SMĚROVÉ FORMÁTOVÁNÍ (PDF) | ||
LRI | Izolovat zleva doprava | Výslovný | L-to-R | Pouze znak LRI | U + 2066 ZLATO-ZPRÁVA IZOLÁT (LRI) |
RLI | Izolovat zprava doleva | Výslovný | R-to-L | Pouze znak RLI | U + 2067 IZOLACE ZPRÁVA ZLEVA (RLI) |
FSI | První silná izolace | Výslovný | Pouze znak FSI | U + 2068 PRVNÍ SILNÝ IZOLÁT (FSI) | |
PDI | Směrová izolace | Výslovný | Pouze znak PDI | U + 2069 POP DIRECTIONAL ISOLATE (PDI) | |
Poznámky
|
Skripty využívající obousměrný text
Egyptské hieroglyfy
Egyptský hieroglyfy lze psát obousměrně, kde znaménka měla zřetelnou „hlavu“, která stála před začátkem řádku, a „ocas“, který stál před koncem.
Čínské znaky a další skripty CJK
čínské postavy lze psát v obou směrech i svisle (shora dolů, pak zprava doleva), zejména ve znacích (například plakety), ale orientace jednotlivých znaků se nikdy nezmění. To lze často vidět na turistických autobusech v Číně, kde název společnosti obvykle běží od přední části vozidla k jeho zadní části - to znamená zprava doleva na pravé straně autobusu a zleva doprava na levé straně strana autobusu. Anglické texty na pravé straně vozidla jsou také běžně psány v obráceném pořadí. (Viz obrázky zájezdového autobusu a poštovního vozidla níže.)
Stejně tak ostatní CJK skripty složené ze stejných čtvercových znaků, například Japonský systém psaní a Korejský systém psaní, lze také psát jakýmkoli směrem, i když jsou nejčastější zleva doprava, shora dolů a zprava doleva.
Pravá strana (text běží zprava doleva)
Levá strana (text běží zleva doprava)
Na pravé straně Hainan Airlines letadlo, text běží zprava doleva (海南 航空).
Levá strana tohoto letadla Hainan Airlines však zobrazuje text běžící zleva doprava (海南 航空).
Fotografie, která zobrazuje text na obou stranách vozidla China Post
Boustrophedon
Boustrophedon je styl psaní nalezený ve starověku řecký nápisy a v Maďarské runy. Tato metoda psaní střídá směr a obvykle obrací jednotlivé znaky na každém po sobě jdoucím řádku.
Typ měsíce
Typ měsíce je reliéfní adaptace latinské abecedy vynalezená jako hmatová abeceda pro nevidomé. Zpočátku text změnil směr (ale ne orientaci znaků) na konci řádků. Speciální reliéfní řádky spojily konec řádku a začátek dalšího.[2]Kolem roku 1990 se změnilo na a zleva do prava orientace.
Viz také
- Internacionalizace a lokalizace
- Horizontální a vertikální psaní ve východoasijských skriptech
- Systém psaní § Směrovost
- Kombinace azbuky
- Značka zprava doleva
- Transformace textu
- Boustrophedon
Reference
- ^ „UAX # 9: Unicode Bi-directional Algorithm“. Unicode.org. 9. 5. 2018. Citováno 2018-06-26.
- ^ Typ měsíce pro nevidomé, Sbírka Bible Ramseyer, Knihovna Kathryn A. Martinové, University of Minnesota Duluth.
externí odkazy
- Unicode Standards Annex # 9 Obousměrný algoritmus
- Pokyny W3C k technikám vytváření obousměrného textu - zahrnuje příklady a dobré vysvětlení
- JIP Mezinárodní komponenty pro Unicode obsahuje implementaci obousměrného algoritmu - spolu s dalšími internacionalizačními službami