Komplexes Textlayout - Complex text layout

Die Devanaga ddhrya -ligature, wie in dem angezeigten JanaSanskritSans Schrift, die von der Layout - Engine aufgerufen werden , sollte die Sequenz द + ् ध + + + ् र + ् + य = द्ध्र्य zu machen.
Das Wort العربية al-arabiyyah , "die arabische [Sprache]" auf Arabisch, in aufeinanderfolgenden Stufen der Wiedergabe. Die erste Zeile zeigt die Buchstaben in der Reihenfolge von links nach rechts und unverbunden, wie sie in einer Anwendung ohne komplexes Textlayout erscheinen könnten. In der zweiten Zeile wurde die bidirektionale Anzeige angewendet, und in der dritten hat der Glyphen- Shaping-Mechanismus die Buchstaben kontextabhängig gerendert.

Complex Text Layout ( CTL ) oder Complex Text Rendering ist der Satz von Schriftsystemen, bei denen die Form oder Positionierung eines Graphems von seiner Beziehung zu anderen Graphemen abhängt. Der Begriff wird im Bereich der Software- Internationalisierung verwendet , wo jedes Graphem ein Zeichen ist .

Skripte, die für eine korrekte Anzeige CTL erfordern, können als komplexe Skripte bezeichnet werden . Beispiele sind das arabische Alphabet und Schriften der brahmischen Familie , wie Devanagari , Khmer-Schrift oder das thailändische Alphabet . Viele Skripte erfordern keine CTL. Beispielsweise können das lateinische Alphabet oder chinesische Zeichen gesetzt werden, indem einfach jedes Zeichen nacheinander in geraden Zeilen oder Spalten angezeigt wird. Aber selbst diese Skripte haben alternative Formen oder optionale Funktionen (wie kursive Schrift), die CTL erfordern, um auf Computern zu produzieren.

Merkmale, die CTL erfordern

Die Hauptmerkmale der CTL-Komplexität sind:

  • Bidirektionaler Text , wobei Zeichen entweder von rechts nach links oder von links nach rechts geschrieben werden können.
  • Kontextsensitives Formen und Ligaturen , bei denen ein Zeichen seine Form abhängig von seiner Position und/oder den umgebenden Zeichen ändern kann. Beispielsweise kann ein Zeichen in arabischer Schrift je nach Kontext bis zu vier verschiedene Formen haben.
  • Reihenfolge, bei der die angezeigte Reihenfolge der Zeichen nicht der logischen Reihenfolge entspricht. In Devanagari zum Beispiel, das von links nach rechts geschrieben wird, erscheint das Graphem für "kurzes i" links von ("vor") dem Konsonanten, auf den es folgt: in कि ki sollte das ि -i auf der linken Seite wiedergegeben werden , sein Bogen reicht bis über das k- nach rechts.

Nicht alle Vorkommen dieser Merkmale erfordern CTL. Zum Beispiel hat das griechische Alphabet eine kontextsensitive Gestaltung des Buchstabens sigma , der als ς am Ende eines Wortes und an anderer Stelle erscheint. Diese beiden Formulare werden jedoch normalerweise als unterschiedliche Zeichen gespeichert; beispielsweise Unicode hat sowohl U + 03C2 ò GREEK SMALL LETTER FINAL SIGMA und U + 03C3 σ GREEK SMALL LETTER SIGMA , und nicht , sie als behandeln äquivalent . Für Sortier- und Vergleichszwecke sollte die Software die Zeichenfolge "δῖος Ἀχιλλεύς" als äquivalent zu "δῖοσ Ἀχιλλεύσ" betrachten, aber für Satzzwecke sind sie unterschiedlich und CTL ist nicht erforderlich, um die richtige Form zu wählen.

Implementierungen

Die meisten CTL-fähigen Text-Rendering-Programme enthalten Informationen zu bestimmten Skripten und können diese daher korrekt wiedergeben, ohne dass Schriftartdateien Anweisungen zum Anordnen von Zeichen bereitstellen müssen. Solche Software wird normalerweise in einer Bibliothek bereitgestellt ; Beispiele beinhalten:

Eine solche Software ist jedoch nicht in der Lage, ein Skript, für das Anweisungen fehlen, richtig zu rendern, was viele Minderheitenskripte umfassen kann. Der alternative Ansatz besteht darin, die Wiedergabeanweisungen in die Schriftartdatei selbst aufzunehmen. Die Rendering-Software muss immer noch in der Lage sein, die Anweisungen zu lesen und zu befolgen, aber das ist relativ einfach.

Beispiele für diesen letzteren Ansatz sind Apple Advanced Typography (AAT) und Graphite . Beide Namen umfassen sowohl das Befehlsformat als auch die Software, die es unterstützt; AAT ist in Apple- Betriebssystemen enthalten , während Graphite für Microsoft Windows- und Linux- basierte Systeme verfügbar ist.

Das OpenType- Format ist in erster Linie für Systeme gedacht, die den ersten Ansatz verwenden (Layout-Kenntnisse im Renderer, nicht die Schriftart), es bietet jedoch einige Funktionen, die bei CTL helfen, wie z. B. kontextbezogene Ligaturen. AAT- und Graphite-Anweisungen können in OpenType-Schriftartendateien eingebettet werden.

Siehe auch

Verweise

Externe Links