Složité rozložení textu - Complex text layout
![]() | Tento článek obsahuje a seznam doporučení, související čtení nebo externí odkazy, ale jeho zdroje zůstávají nejasné, protože mu chybí vložené citace.červenec 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |


Složité rozložení textu (CTL) nebo komplexní vykreslování textu je sazba z psací systémy ve kterém tvar nebo umístění a grafém závisí na jeho vztahu k jiným grafémům. Termín se používá v oblasti softwaru internacionalizace, kde každé grafém je a charakter.
Skripty, které pro správné zobrazení vyžadují CTL, mohou být známé jako složité skripty. Mezi příklady patří Arabská abeceda a skripty Brahmická rodina, jako Devanagari nebo Thajská abeceda. Mnoho skriptů nevyžaduje CTL. Například latinka nebo čínské postavy lze sázet jednoduchým zobrazením každého znaku jeden po druhém v přímých řádcích nebo sloupcích. I tyto skripty však mají alternativní formy nebo volitelné funkce (například kurzívní psaní), které vyžadují výrobu CTL na počítačích.
Vlastnosti vyžadující CTL
Hlavní charakteristiky složitosti CTL jsou:
- Obousměrný text, kde lze znaky psát zprava doleva nebo zleva doprava.
- Kontextové tvarování a ligatury, kde postava může změnit svůj tvar v závislosti na jejím umístění a / nebo okolních postavách. Například znak v Arabské písmo může mít až čtyři různé tvary tvarů, v závislosti na kontextu.
- Řazení, kde zobrazené pořadí znaků není stejné jako logické pořadí. Například v Devanagari, který je psán zleva doprava, se grafém pro „krátké i“ objevuje nalevo od (před) souhlásky, z níž vyplývá: v कि ki, ि -i by se měl vykreslovat vlevo, jeho úklona sahající až nad क k- doprava.
Ne všechny výskyty těchto charakteristik vyžadují CTL. Například Řecká abeceda má kontextové tvarování dopisu sigma, který se na konci slova zobrazuje jako ς a jinde σ. Tyto dvě formy jsou však obvykle uloženy jako různé znaky; například, Unicode má obojí U + 03C2 ς ŘECKO MALÉ PÍSMENO ZÁVĚREČNÁ SIGMA a U + 03C3 σ ŘECKÝ MALÝ LIST SIGMA, a nezachází s nimi tak ekvivalent. Pro účely porovnávání a srovnání by měl software považovat řetězec „δῖος Ἀχιλλεύς“ za ekvivalentní „δῖοσ Ἀχιλλεύσ“,[1] ale pro účely sazby jsou odlišné a CTL není nutné zvolit správný formulář.
Implementace
Většina softwaru pro vykreslování textu, který je schopen CTL, bude obsahovat informace o konkrétních skriptech, takže je bude moci správně vykreslit bez soubory písem potřebují dodat pokyny, jak rozložit znaky. Takový software je obvykle poskytován v a knihovna; příklady zahrnují:
- Základní text pro Operační Systém Mac
- Odhlásit (s univerzálním tvarovacím motorem) a DirectWrite pro Microsoft Windows
- HarfBuzz, a napříč platformami knihovna
- Pango, knihovna pro různé platformy, která dnes obsahuje HarfBuzz
Takový software však není schopen správně vykreslit jakýkoli skript, pro který postrádá pokyny, které mohou obsahovat mnoho menšinových skriptů. Alternativním přístupem je zahrnout pokyny pro vykreslování do samotného souboru písma. Software pro vykreslování musí být stále schopen číst a dodržovat pokyny, ale je to relativně jednoduché.
Mezi příklady tohoto druhého přístupu patří Pokročilá typografie společnosti Apple (AAT) a Grafit. Oba tyto názvy zahrnují formát instrukcí i software, který je podporuje; AAT je součástí Jablko operační systémy, zatímco Graphite je k dispozici pro Microsoft Windows a Linux -založené systémy.
The OpenType formát je primárně určen pro systémy využívající první přístup (znalost rozvržení ve vykreslovacím modulu, nikoli písmo), ale má několik funkcí, které pomáhají s CTL, například kontextové ligatury. Pokyny AAT a Graphite lze vložit do souborů písem OpenType.
Viz také
- Typografie
- Unicode
- Psací systémy, které vyžadují složité rozložení textu:
- Arabská abeceda
- Většina Brahmic rodina skriptů
- N'Ko skript
- Tengwar (diakritika a čísla)
Reference
- ^ „Časté dotazy - řecký jazyk a skript“. Konsorcium Unicode. 2012-12-03. Citováno 2013-09-13.
Je jednodušší jednoduše srovnat dva sigma kódy pro operace, které se týkají například obsahu slov.
externí odkazy
- Příklady komplexního vykreslování — SIL mezinárodní příklady složitých systémů psaní po celém světě
- Složité rozložení textu — Otevřená skupina Desktopové technologie
- Podpora indických skriptů v Mozille - také další skripty CTL
- Projekt SILA — Grafit a Mozilla integrační projekt
- CTL Architecture in Solaris - Dokumenty o globalizaci Solaris
- Složité skripty - Microsoft Global Development and Computing Portal
- Domovská stránka Theppitak - informace o zpracování thajského jazyka
- Stránka HarfBuzz na Freedesktop.org
- Textový modul Unicode typu D - Přenosná softwarová knihovna pro komplexní text
- BidiRenderer - Aplikace, která ilustruje tvarování a rozložení složitého textu v obousměrných odstavcích pomocí FriBidi, FreeType a HarfBuzz
- Tehreer-Android - Knihovna, která poskytuje plnou kontrolu nad technologiemi souvisejícími s textem, jako je obousměrný algoritmus, tvarování otevřeného typu, sazba textu a vykreslování textu.