Freigeben über


Komplexe Skriptverarbeitung

Im Folgenden sind Optionen für die Anzeige und die zugehörige Verarbeitung von Text aufgeführt, um feine Typografieeffekte oder komplexe Skripts zu unterstützen:

  • Textfunktionen
  • Steuerelemente bearbeiten
  • Rich-Bearbeitungssteuerelemente
  • Uniscribe

Welche Optionen Sie auswählen, hängt von den folgenden Faktoren ab:

  • Der Typ von Text oder Skripts.
  • Das Implementierungsmodell, z. B. das Textlayout und die Behandlung von Zeilenumbrüchen durch die Anwendung.
  • Aktualisieren einer vorhandenen Anwendung im Vergleich zur Erstellung einer neuen Anwendung.

Im Allgemeinen kann eine Anwendung, die eine relativ einfache Skriptverarbeitung durchführt, eine beliebige Option für die Verarbeitung komplexer Skripts auswählen. Für die umfassendste Steuerung komplexer Skriptverarbeitungen wird jedoch Uniscribe empfohlen.

Komplexe Skriptverarbeitung mithilfe von Textfunktionen

Anwendungen, die hauptsächlich Nur-Text verwenden, d. h. Text, der die gleiche Schriftart, Gewichtung, Farbe usw. verwendet, haben standardmäßig Text geschrieben und Zeilenlängen mit Standardtextfunktionen wie TextOut, ExtTextOut, TabbedTextOut, DrawText und GetTextExtentExPoint geschrieben. Diese Funktionen unterstützen die Verarbeitung komplexer Skripts und feiner Typografieeffekte. Weitere Informationen finden Sie unter Schriftarten und Text.

Im Allgemeinen ist die Standardtextunterstützung für Anwendungen transparent, die komplexe Skripts verarbeiten. Sie sollten jedoch einige spezifische Regeln kennen, die beim Schreiben von Anwendungen zu befolgen sind, die eine feine Typografie und komplexe Skripts unterstützen:

  • Ihre Anwendung sollte Zeichen in einem Puffer speichern und eine ganze Textzeile gleichzeitig anzeigen, anstatt z. B . ExtTextOut für jedes Zeichen aufzurufen, wie es vom Benutzer eingegeben wird. Dieser Mechanismus ermöglicht es den erweiterten Textgestaltungsmodulen, den Kontext zu verwenden, um Glyphen richtig anzuordnen und zu generieren.
  • Die Anwendung sollte GetTextExtentExPoint verwenden, um die Zeilenlänge zu bestimmen, anstatt Zeilenlängen aus zwischengespeicherten Zeichenbreiten zu berechnen, da die Breite einer Glyphe je nach Kontext variieren kann.
  • Die Anwendung sollte optional Unterstützung für rechts-nach-links-Lesereihenfolge und Rechtsausrichtung hinzufügen.
  • Die für komplexe Skripts oder eine feine Typografie erforderliche Neuanordnung und kontextbezogene Verarbeitung erfordert eine erhebliche Steigerung der Verarbeitung gegenüber der einfachen Textanzeige für einfache Skripts. Um Leistungsprobleme zu vermeiden, sollte Ihre Anwendung daher keine großen Textmengen verarbeiten, bevor ergebnisse angezeigt und die Steuerung an den Benutzer zurückgegeben wird.

Komplexe Skriptverarbeitung mithilfe von Steuerelementen bearbeiten

Die Standardmäßigen Windows-Bearbeitungssteuerelemente wurden erweitert, um mehrsprachigen Text und komplexe Skripts zu unterstützen. Die erweiterte Unterstützung umfasst Eingabe und Anzeige sowie die korrekte Cursorbewegung über Zeichencluster, z. B. in Thai- und Devanagari-Skripts. Weitere Informationen finden Sie unter Bearbeiten von Steuerelementen.

Komplexe Skriptverarbeitung mithilfe von Rich-Edit-Steuerelementen

Rich Edit 3.0 ist eine Sammlung von Schnittstellen auf höherer Ebene, die Uniscribe nutzt, um Textlayoutanwendungen vor der Komplexität bestimmter Skripts zu isolieren. Rich Edit ist die einfachste Möglichkeit für Anwendungen, komplexe Skripts anzuzeigen, obwohl ihr Hauptzweck nicht unbedingt das Textlayout ist. Rich Edit ermöglicht eine schnelle, vielseitige Bearbeitung von mehrsprachigem Unicode-Text und einfachem Nur-Text. Es umfasst umfangreiche Nachrichten- und COM-Schnittstellen, Textbearbeitung, Formatierung, Zeilenbruch, einfaches Tabellenlayout, vertikales Textlayout, bidirektionales Textlayout, Indic- und Thai-Unterstützung, eine Bearbeitungsbenutzeroberfläche ähnlich wie Microsoft Word- und Textobjektmodellschnittstellen.

Zusammen mit den Rich-Edit-Schnittstellen können Anwendungen die Rich Edit TextOut-Funktion verwenden, um Linien automatisch zu analysieren, zu formen, zu positionieren und zu unterbrechen. Weitere Informationen finden Sie unter Rich-Edit-Steuerelemente.

Komplexe Skriptverarbeitung mit Uniscribe

Uniscribe bietet die umfassendste Unterstützung für die Verarbeitung von Text mit feinen Typografieeffekten und komplexen Skripts. Es unterstützt die komplexen Regeln in Skripts wie Arabisch, Devanagari und Thailändisch. Es verarbeitet Skripts, die von rechts nach links geschrieben wurden, z. B. Arabisch und Hebräisch, und unterstützt das Mischen von Skripts. Uniscribe macht auch OpenType-Schriftartfeatures verfügbar, die von Anwendungen verwendet werden können, um feine Typografieeffekte zu steuern. Weitere Informationen finden Sie unter Verarbeiten komplexer Skripts.

Informationen zu Uniscribe

Verarbeiten komplexer Skripts