2017-02-22 3 views
0

Dies ist eine ziemlich spezifische Bidi-Algorithmus-Frage, ich hoffe, dass jemand da draußen mein Verständnis des Algorithmus helfen kann.Unicode BIDI (UBA): Test = RLE ES LRE -> Schwierigkeiten, den Spezifikationen zu folgen

I mit dem folgenden Test schwer habe vom BidiTest-10.0.0d5.txt

@Levels x, 1, x 
@Reorder 1 
RLE ES LRE; 2 

http://unicode.org/cldr/utility/bidi.jsp?a=%E2%80%AB%2B%E2%80%AA&p=LTR

Das Unicode-Tool obige Regel W6 auf dem RLE Charakter gilt und es in einem EIN-Umwandlung.

Warum ist das? Regel W6 gibt an:

"Andernfalls werden die Separatoren und Terminatoren auf" Andere Neutral "geändert.

offensichtlich fehlt mir einige Details, ich kann einfach nicht finden, es zu finden.

Jeder Hinweis schätzten, danke :)

Antwort

1

Ich denke, das ist, was geschieht. Die Implementierung kann so gestaltet sein, dass grenzgrenzenneutrale und explizite Formatierungszeichen beibehalten (und nicht entfernt) werden (siehe the implementation notes). Daher fügt Regel X9 die Aktion "Keine Zeichen entfernen, aber alle RLE-, LRE-, VKE-, LRO- und PDF-Zeichen in BN umwandeln" und verwandelt somit die LRE in BN, dann fügt die Regel W6 die Aktion "Alle BN-Typen ändern neben zu ET, ES oder CS auf ON "und so ändert die BN, die eine LRE war, auf ON.

+0

Danke @ graham-asher, ich habe die Implementierungshinweise total vermisst. Nach diesen zusätzlichen Schritten haben Sie es gelöst :) – butterbrot

Verwandte Themen