1

あなたのことはわかりませんが、TLF について理解するのに非常に苦労しています。

フラッシュCS5を使用しています。外部 SWF から埋め込まれたフォントをロードしました。私が知る限り、それは適切に埋め込まれています - 従来の TextField から切り替える前は機能していましたが、高度な合字サポートが必要なため切り替える必要がありました。私のコードは次のとおりです。

//setting up...
var text:TFLTextField = new TLFTextField();
text.width = 530;
text.height = 330;
text.type = TextFieldType.INPUT;
text.text = "Enter your own text here";
text.embedFonts = true;
addChild(text);

var format:TextLayoutFormat = new TextLayoutFormat();
format.fontSize = currentSize;
format.ligatureLevel = LigatureLevel.EXOTIC;

textFlow = text.textFlow;
textFlow.hostFormat = format;
textFlow.flowComposer.updateAllControllers();

//... later on, when the font is loaded:

private function fontLoadedHandler(e:Event):void {
var a:Array = Font.enumerateFonts();

for (var i:Number = 0; i < a.length; i++) {
trace(a[i]); //font name shows up just fine in the list...
}

var format:TextLayoutFormat = new TextLayoutFormat();
format.fontFamily = e.currentTarget.fontName;
format.fontLookup = FontLookup.EMBEDDED_CFF;
format.fontSize = currentSize;

textFlow.invalidateAllFormats();
textFlow.hostFormat = format;           

textFlow.flowComposer.updateAllControllers();
}

コンパイルすると、デフォルトで Times New Roman になります。私はかなりの量のグーグルを行い、これを発見しました:http://forums.adobe.com/message/3477909

男は私と同様の問題を抱えているようですが、私は彼の解決策を試してみましたが、同じ否定的な結果が得られました。

ヘルプやリンク、その他何でも大歓迎です!

ありがとう、アンドレイ

編集: フォントを Arial に切り替えようとしたところ、Times New Roman に戻りました。どうやら問題は埋め込みではなく、フォントの割り当て方法にあるようです。つまり、これは当初考えていたよりも複雑ではない可能性があります。ひっかいて、embedFonts を false に変更した後、Arial は機能しました。結局、問題埋め込みです。

4

2 に答える 2

3

そうです、私は今何が問題なのかを正確に知っています。これは、TLF にひどく混乱している他の人 (私が想像する多くの人) への警告として役立つように残しておきます。

この問題は、TLF と Classic Text が使用するアウトライン形式間の互換性の問題から発生します。どうやら、TLF は DF4 のみでのみ動作し、Classic Text は DF3 のみで動作します。これらの設定は、[埋め込み] ダイアログの [Actionscript] タブ (Flash CS5、CS4 については不明) から変更できます。

これに対する回避策があるかどうかはよくわかりません-現時点ではDF3と合字の両方を使用する必要があるため、間違いなく探します-しかし、これは他の誰かを助けるのに十分な答えだと思います将来この問題に出くわす人。

アンドレイ

于 2011-05-24T10:35:21.193 に答える
2

他の誰かが DF3 と DF4 で問題を抱えている場合に備えて...両方を一度に埋め込むことができます。

たとえば、「He​​lvetica」を DF4 で、「Helvetica」を DF3 で (重要な部分は、両方とも同じ名前を使用できるということです) ... 古いテキストフィールドと新しい TLF テキストフィールドの両方でフォント「Helvetica」を使用できます。

フォントを2回埋め込むため、ファイルサイズは2倍になりますが、魅力的に機能します。

これは Flex にも当てはまります。

于 2011-06-30T02:12:10.433 に答える