あなたのことはわかりませんが、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 は機能しました。結局、問題は埋め込みです。