Wie kann ich mit as3 arabischen Text von rechts nach links anzeigen?
Antworten
Zu viele Anzeigen?Dieser Code erfüllt diesen Zweck:
import flash.text.AntiAliasType;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.external.*
import fl.text.TLFTextField;
import flash.text.TextFormat;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;
var arabicTextField:TLFTextField = new TLFTextField();
arabicTextField.antiAliasType = AntiAliasType.ADVANCED;
arabicTextField.mouseEnabled = false;
arabicTextField.selectable = false;
arabicTextField.direction = flashx.textLayout.formats.Direction.RTL;
var fmt:TextFormat = new TextFormat();
fmt.color = 0xFFFFFF;
fmt.font = "arialArabic"
arabicTextField.embedFonts = false;
arabicTextField.defaultTextFormat = fmt;
arabicTextField.setTextFormat(fmt);
Le site Text-Layout-Rahmen kann Text von rechts nach links verarbeiten.
Ich weiß, dies ist ein altes Thema. Aber es ist immer noch das nützlichste Snippet für RTL Text. Danke Ellen.
Ich möchte einige Erfahrungen mit der Programmierung für iOS mit Flash Builder 4.7 in Zeiten von CC hinzufügen:
Flash Builder wird nicht mit dem TLFTextField und den unterstützenden Klassen ausgeliefert, die für die Anzeige von Arabisch und anderen RTL-Sprachen unter iOS benötigt werden.
Zwischen CS6 und CC hat Adobe diese Klassen sogar aus Flash Professional gestrichen. Wahrscheinlich, weil die Standardklasse TextField verbessert wurde.
Unter iOS funktionieren RTL- und arabische Ligaturen jedoch nicht ohne Weiteres. Wenn Sie die TextField Klasse AirSimulator von FlashBuilder verwenden, wird korrekt angezeigt. Nicht, wenn Sie den gleichen Code auf iOS laufen.
StageText und sein NativeText-Wrapper werden korrekt wiedergegeben, haben aber Nachteile für statischen Text.
Man könnte darüber nachdenken, TLFTextField wieder einzuführen. Hier ist, wie Sie es tun können:
- Installieren Sie Flash Professional CS6 (!) aus der Creative Cloud
- Im Unterordner "libs" des Programmordners finden Sie zwei SWCs, die die für die Verwendung von TLFTextField erforderlichen Klassen enthalten: TLFRuntime.swc & textLayout.swc
- Kopieren Sie die SWC in Ihren Projektordner und fügen Sie sie in Flash Builder ein, indem Sie die Projekteigenschaften -> ActionScript Build Path -> Library Path -> Add SWC (oder Add SWC-Folder) öffnen.
Damit sollte Ellens Code unter FlashBuilder 4.7 für iOS mit Air SDK 3.9 funktionieren.
Sie können wahrscheinlich erwarten, dass das Standard-Textfeld Arabisch und andere RTL-Sprachen in zukünftigen Versionen von Air korrekt anzeigt.
- See previous answers
- Weitere Antworten anzeigen