Bidi.ReorderingMode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Was ist der angeforderte Neuanordnungsmodus für ein bestimmtes Bidi-Objekt? -oder- Ändern Sie den Vorgang des Bidi-Algorithmus so, dass er einige Varianten zum grundlegenden Bidi-Algorithmus implementiert oder einen "umgekehrten Bidi"-Algorithmus annähert, abhängig von unterschiedlichen Werten des "Neuanordnungsmodus".
public virtual Android.Icu.Text.BidiOptions ReorderingMode { [Android.Runtime.Register("getReorderingMode", "()I", "GetGetReorderingModeHandler", ApiSince=29)] get; [Android.Runtime.Register("setReorderingMode", "(I)V", "GetSetReorderingMode_IHandler", ApiSince=29)] set; }
[<get: Android.Runtime.Register("getReorderingMode", "()I", "GetGetReorderingModeHandler", ApiSince=29)>]
[<set: Android.Runtime.Register("setReorderingMode", "(I)V", "GetSetReorderingMode_IHandler", ApiSince=29)>]
member this.ReorderingMode : Android.Icu.Text.BidiOptions with get, set
Eigenschaftswert
der aktuelle Neuanordnungsmodus des Bidi-Objekts
- Attribute
Hinweise
Dokumentation zum Property Getter:
Was ist der angeforderte Neuanordnungsmodus für ein bestimmtes Bidi-Objekt?
Java Dokumentation für android.icu.text.Bidi.getReorderingMode().
Dokumentation zum Eigenschaftensatzer:
Ändern Sie den Vorgang des Bidi-Algorithmus so, dass er einige Varianten zum grundlegenden Bidi-Algorithmus implementiert oder einen "umgekehrten Bidi"-Algorithmus annähert, je nach unterschiedlichen Werten des "Neuanordnungsmodus". Diese Methode muss vor setPara()und bleibt wirksam, bis sie erneut mit einem anderen Argument aufgerufen wird.
Der normale Betrieb des Bidi-Algorithmus, wie im Unicode-Standard-Anhang Nr. 9 beschrieben, besteht darin, Text in logischer Reihenfolge (Tastatur, Eingabe) zu übernehmen und zu bestimmen, wie er für das visuelle Rendering neu angeordnet werden soll.
Wenn der Neuanordnungsmodus auf einen anderen REORDER_DEFAULTWert als festgelegt ist, ändert diese Methode das Verhalten einiger nachfolgender Methoden so, dass sie einen umgekehrten Bidi-Algorithmus oder andere Algorithmusvarianten implementieren.
Einige ältere Systeme speichern Text in visueller Reihenfolge und für Vorgänge mit standardmäßigen Unicode-basierten Algorithmen muss der Text in logische Reihenfolge umgewandelt werden. Dies ist effektiv der Umkehralgorithmus des beschriebenen Bidi-Algorithmus. Beachten Sie, dass für diese "inverse Bidi" kein Standardalgorithmus vorhanden ist, daher werden hier eine Reihe von Varianten implementiert.
In anderen Fällen kann es wünschenswert sein, eine Variante des logischen zu visuellen Algorithmus zu emulieren (z. B. einer, der in MS Windows verwendet wird), oder eine logische zu logische Transformation durchführen.
<ul><li>Wenn der Neuanordnungsmodus auf festgelegt REORDER_DEFAULTist, wird der standardmäßige Bidi Logical to Visual Algorithm angewendet.</li>
<li>Wenn der Neuanordnungsmodus auf festgelegt REORDER_NUMBERS_SPECIAList, sollte der Algorithmus, der zum Ausführen von Bidi-Transformationen beim Aufrufen setPara verwendet wird, den in Microsoft Windows XP verwendeten Algorithmus nähern, anstatt dem Unicode-Bidi-Algorithmus streng entsprechen.
<br> Die Unterschiede zwischen dem Basisalgorithmus und dem von dieser Option adressierten Algorithmus lauten wie folgt: <ul><li>Innerhalb von Text auf einer gleichmäßigen Einbettungsebene wird die Sequenz "123AB" (wobei AB R- oder AL-Buchstaben darstellen) durch den Unicode-Algorithmus in "123BA" und "BA123" durch den Windows Algorithmus transformiert.</li>
<li>Arabic-Indic Zahlen (AN) werden vom Windows Algorithmus genau wie normale Zahlen (EN) behandelt.</li></ul></li/li>
<li>Wenn der Neuanordnungsmodus festgelegt REORDER_GROUP_NUMBERS_WITH_Rist, werden Zahlen zwischen LTR-Text und RTL-Text dem RTL-Text zugeordnet. Beispielsweise wird ein LTR-Absatz mit Inhalt "abc 123 DEF" (wobei Großbuchstaben RTL-Zeichen darstellen) in "abc FED 123" (und nicht "abc 123 FED"), "DEF 123 abc" in "123 FED abc" transformiert und "123 FED abc" in "DEF 123 abc" transformiert. Dies macht den Algorithmus umkehrbar und macht es nützlich, wenn Roundtrips (von visuellem zum logischen und wieder visuellen) erreicht werden müssen, ohne LRM-Zeichen hinzuzufügen. Dies ist jedoch eine Variante des standardmäßigen Unicode-Bidi-Algorithmus.<br> Der Quelltext darf keine anderen Bidi-Steuerzeichen als LRM oder RLM enthalten.</li>
<li>Wenn der Neuanordnungsmodus auf festgelegt REORDER_RUNS_ONLYist, muss eine "Logische zu logische" Transformation ausgeführt werden: <ul><li>Wenn die Standardtextebene des Quelltexts (Argument paraLevel in setPara) gerade ist, wird der Quelltext als LTR-Logischer Text behandelt und in den logischen RTL-Text transformiert, der dieselbe visuelle LTR-Anzeige aufweist.</li li><>Wenn die Standardebene des Quelltexts ungerade ist, wird der Quelltext als logischer RTL-Text behandelt und in den logischen LTR-Text transformiert, der dieselbe visuelle LTR-Anzeige aufweist.</li></ul> Dieser Modus kann erforderlich sein, wenn logischer Text, der im Grunde Arabisch oder Hebräisch ist, mit möglichen eingeschlossenen Zahlen oder Ausdrücken in Englisch angezeigt werden muss, als ob er eine gleichmäßige Einbettungsebene hatte (dies kann passieren, wenn die anzeigeanwendung den gesamten Text so behandelt, als wäre es im Grunde LTR).
<br> Dieser Modus kann auch im umgekehrten Fall erforderlich sein, wenn logischer Text, der im Grunde Englisch ist, mit möglichen eingeschlossenen Ausdrücken in Arabisch oder Hebräisch angezeigt werden muss, als ob er eine ungerade Einbettungsebene hatte.
<br> Beide Fälle können durch Hinzufügen von LRE oder RLE am Kopf des Texts behandelt werden, wenn das Anzeigesubsystem diese Formatierungssteuerelemente unterstützt. Wenn dies nicht der Fall ist, kann das Problem durch Transformieren des Quelltexts in diesem Modus behandelt werden, bevor er angezeigt wird, damit es ordnungsgemäß angezeigt wird.
<br> Der Quelltext darf keine anderen Bidi-Steuerzeichen als LRM oder RLM enthalten.</li>
<li>Wenn der Neuanordnungsmodus auf festgelegt REORDER_INVERSE_NUMBERS_AS_List, wird ein "umgekehrter Bidi"-Algorithmus angewendet. Textläufe mit numerischen Zeichen werden wie LTR-Buchstaben behandelt und müssen möglicherweise mit LRM-Zeichen umgeben sein, wenn sie in neu angeordneter Reihenfolge geschrieben werden (die Option INSERT_LRM_FOR_NUMERIC kann für dieses Ende mit Methode writeReordered verwendet werden. Dieser Modus entspricht dem Aufrufen setInverse() von Argumenten isInverse , die auf true.</li>
<li>Wenn der Neuanordnungsmodus auf festgelegt REORDER_INVERSE_LIKE_DIRECTist, wird der logische "direct" to Visual Bidi-Algorithmus als Annäherung eines "inverse Bidi"-Algorithmus verwendet. Dieser Modus ähnelt dem Modus REORDER_INVERSE_NUMBERS_AS_L , ist aber näher am regulären Bidi-Algorithmus.
<br> Beispielsweise wird ein LTR-Absatz mit dem Inhalt "FED 123 456 CBA" (wobei Großbuchstaben RTL-Zeichen darstellen) in "ABC 456 123 DEF" transformiert, im Gegensatz zu "DEF 123 456 ABC" mit Modus REORDER_INVERSE_NUMBERS_AS_L.<br> Bei Verwendung in Verbindung mit Option OPTION_INSERT_MARKSfügt dieser Modus in der Regel Bidi-Markierungen zu der Ausgabe deutlich sparsamer als modus REORDER_INVERSE_NUMBERS_AS_Lhinzu.<br> mit Option INSERT_LRM_FOR_NUMERIC in Anrufen an writeReordered.</li>
<li>Wenn der Neuanordnungsmodus festgelegt REORDER_INVERSE_FOR_NUMBERS_SPECIAList, wird der logische zu visuelle Bidi-Algorithmus verwendet, der in Windows XP verwendet wird, als Annäherung eines "umgekehrten Bidi"-Algorithmus verwendet.
<br> Beispielsweise wird ein LTR-Absatz mit dem Inhalt "abc FED123" (wobei Großbuchstaben RTL-Zeichen darstellen) in "abc 123DEF" transformiert.</li></ul>
In allen Neuanordnungsmodi, die einen "umgekehrten Bidi"-Algorithmus angeben (d. h. diejenigen mit einem Namen, der mit REORDER_INVERSEeinem Namen beginnt), sollten Ausgabeläufe mithilfe von getVisualRun()Ausgeführten abgerufen werden, und der Ausgabetext mit writeReordered(). Der Aufrufer sollte bedenken, dass die Eingabe in umgekehrten Bidi-Modi tatsächlich geordneten Text ist und die von getVisualRun() oder writeReordered() tatsächlich ausgeführte Oder Zeichenzeichenfolge der logisch sortierten Ausgabe zurückgegeben wird.<Br> Für alle "umgekehrten Bidi"-Modi sollte der Quelltext keine anderen Bidi-Steuerzeichen als LRM oder RLM enthalten.
Beachten Sie, dass option OUTPUT_REVERSE of writeReordered no useful meaning and should not be used in verbindung mit any value of the reordering mode specifying "inverse Bidi" or with value REORDER_RUNS_ONLY.
Java Dokumentation für android.icu.text.Bidi.setReorderingMode(int).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.