. .
CREATE OR DIE Special Downloads Shop webinale

Schauplatz

Artikel
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Oktober 2009

Textfeatures in Flex 4


Fortsetzung, Teil 3

(Link zum Artikel: http://www.createordie.de/cod/artikel/2598)

Zum Abschluss wollen wir uns kurz mit Adobe Text Layout Framework beschäftigen. Dieses setzt, wie bereits oben angesprochen, Flash Player 10 oder AIR 1.5 als Laufzeitumgebung voraus. Ein einfaches Beispiel zeigt, wie sich mit einigen Klassen im Paket flashx.textLayout arbeiten lässt:

  1. ...
  2. <fx:Script>
  3. <![CDATA[
  4. import flashx.textLayout.conversion.TextConverter;
  5. ]]>
  6. </fx:Script>
  7. <fx:Declarations>
  8. <fx:String id="htmlString"><![CDATA[<p>Formatierter HTML Text.<b>Das ist bold...</b>...und das nicht mehr.</p>]]></fx:String>
  9. </fx:Declarations>
  10. <s:RichText id="richTxt"
  11. textFlow="{TextConverter.importToFlow(htmlString, TextConverter.HTML_FORMAT)}"
  12. horizontalCenter="0" verticalCenter="0" />
  13. </s:Application>

Einer der Hauptvorteile von TFL gegenüber der alten Text-Engine ist die Unterstützung von Features, die vor allem im Bereich der Internationalisierung von Anwendungen benötigt werden: bidirektionaler Text, nicht-Latin-Schriftsysteme wie Arabisch, Chinesisch, Japanisch etc. Aber auch generelle typografische Erweiterungen wie vertikaler Text, Textfluss und Selektion über mehrere Spalten hinweg und miteinander verbundene Textcontainer sind in TLF enthalten.

TLF bietet ein internes, hierarchisches Textmodell, das mithilfe von Klassen im Paket flashx.textLayout.elements abgebildet wird. Im obigen Beispiel wird die Eigenschaft textFlow der RichText-Komponente genutzt, um ein solches TLF-Modell zu spezifizieren, das dann zur Laufzeit von der Text-Engine im Flash Player 10 gerendert wird. In dem konkreten Fall wird dieses Modell mithilfe der Klasse TextConverter aus HTML-Text erzeugt, es ist aber auch vorstellbar, selbiges in einem <TextFlow>-Element in XML oder mithilfe der API programmatisch zu erstellen. Eine Übersicht der Mapping-Details findet sich im TLF-Blog. In Flex 4 MXML werden die folgenden Komponenten von TLF unterstützt: Graphic Element, SimpleText, RichText, RichEditableText, TextFlow sowie FlowElement.

Mit TLF wird Vieles möglich, was in bisherigen Versionen des Flash Players schwer zu unterstützen war. Im AllureFX-Blog ist ein sehr anschauliches Beispiel von threaded Text mit einem eingebetteten Video zu sehen. Zu beachten ist, wie der Text bei Selektion korrekt markiert wird und sich sogar problemlos in der Anwendung editieren lässt. Trotz allem unterstützt der Flash Player noch immer kein komplettes HTML-Rendering, wer ein solches Feature nutzen möchte, muss seine Anwendung via AIR deployen und AIRs interne Webkit Engine für die HTML-Darstellung nutzen. Abschließend sei ein Artikel Veronique Brossier mit der Flash Text Engine (auf Ebene des Flash Players) als Lektüre empfohlen. Viel Spaß!

Flex und Text

Wissenstest für aufmerksame Leser

Welches ist keine Device Font?

  • _typewriter
  • _sans-serif
  • _serif
  • _sans

 

Kommentare
Bisher keine Kommentare
Neuer Kommentar
  • Gute Kommentare werden belohnt.
  •   (optional)
  •   (Kommentar abonnieren/Gravatar - wird nicht veröffentlicht)
  •    Benachrichtige mich bei nachfolgenden Kommentaren per E-Mail
  • -+
Tags
Werbung
flex, text