0

Flex アプリに Font を埋め込みました。これは、どのコンポーネントでも問題なく機能します。

  @font-face {
   src:url("../assets/fonts/wedtxtn.ttf");
   fontFamily: "CSSFont";
   cff: true;
  }

ただし、TextFlow オブジェクトにフォントを適用しようとすると、機能しません。ただし、FTE を使用して自分で行うと機能します。TLF を使用してデバッグしたところ、正しい FontDescription が作成されたように見えます。

テキストの作成に使用するコードは次のとおりです(完全なソース@Pastbin

var element:SpriteVisualElement = new SpriteVisualElement;
 element.verticalCenter = 0;
 element.horizontalCenter = 0;

// Create Text using TLF
var span:SpanElement = new SpanElement();
 span.text = "Hello World!";

var p:ParagraphElement = new ParagraphElement();
 p.addChild(span);

var tf:TextFlow = new TextFlow();
 tf.addChild(p);
 tf.fontLookup = FontLookup.EMBEDDED_CFF;
 tf.renderingMode = RenderingMode.CFF;
 tf.fontFamily = "CSSFont";


var textContent:Sprite = new Sprite;
 textContent.y = -50;
element.addChild(textContent);

var textController:ContainerController = new ContainerController(textContent);
 textController.verticalScrollPolicy = ScrollPolicy.OFF;
 textController.horizontalScrollPolicy = ScrollPolicy.OFF;

tf.flowComposer.addController(textController);
tf.flowComposer.updateAllControllers();



// Create text using FTE    
var fontDescription:FontDescription = new FontDescription("CSSFont");
 fontDescription.fontLookup = FontLookup.EMBEDDED_CFF;
 fontDescription.renderingMode = RenderingMode.CFF;

var format:ElementFormat = new ElementFormat(fontDescription,25);

var textElement:TextElement = new TextElement("Hello World", format);

var textBlock:TextBlock = new TextBlock(textElement);

var tl:TextLine = textBlock.createTextLine();
 tl.y = 50;

element.addChild(tl);

addElement(element);

Flex v4.1、TLF v1.1

4

1 に答える 1

1

これはバグです。詳細については、adobe フォーラムを参照してください。回避策を示す 2 つ目のリンクがあります。

BR フランク

于 2011-01-28T11:00:57.207 に答える