1

多数のフォント クラスを含む外部 swf を使用して、実行時にフラッシュ サイトのフォントをロードおよび登録しています。(ライブラリ パネルの Flash IDE にエクスポートされ、フレーム スクリプトに登録されます)

この特定のケースでは、swf には同じファミリのさまざまな重みが含まれています。例えば。フォント ローマン、フォント イタリック、フォント ライト、フォント ヘビーなど...

フォントは正常に登録されているように見えますが、フォントを使用しようとすると、これらのフォントの fontName プロパティの一部が同一になります。3 つは Roman として表示され、2 つは light として表示され、1 つは light sc として表示されます。正しいフォント オブジェクトが正しい順序で読み込まれていました。

かなりのテストを行った後、フォント フォルダー (vista) を確認しました。Heavy のファイルを開くと、フォント ビューアーのタイトルに Roman が表示されます。フォント ビューアーのタイトルは、フラッシュで取得していたものと一致しました。この動作は、このフォントに固有のようです。

fontName は、フォントを TextField に割り当てる方法を知っている唯一の方法であるため、動的な見出しにその素敵な重いフォントを使用する方法について困惑しています!

Type1フォントです

誰かが原因、解決策、または回避策を提案できますか?

4

2 に答える 2

3

ありがとう、それについてはあなたの権利だと思います。

ただし、フォントを埋め込んで名前を設定する方法を見つけました。

まず、CrossFont を使用して、Type 1 PostScript フォントを .otf に変換しました。

cs4 で利用できるようになった [embed()] 機能を使用して、fontFamily 属性を使用して、埋め込みフォントの fontName プロパティを設定することができました。

以下のコードでは、名前を「BlaaDeeBlaa」に設定すると、TextFormat がそれを受け入れて埋め込みフォントを表示することがわかります。

[Embed(source="assets/FontFileName.otf",
                            fontFamily="BlaaDeeBlaa",
                            mimeType="application/x-font")]
var BlaaDeeBlaa:Class;

var CH:Font = new BlaaDeeBlaa();

var testTxt:TextField =  new TextField();
testTxt.defaultTextFormat = new TextFormat("BlaaDeeBlaa",28,0x000000,true);
testTxt.embedFonts = true;
testTxt.text = Font.enumerateFonts(false)[0].fontName;
testTxt.autoSize = "left";
addChild(testTxt);

nb このメソッドを使用して埋め込むことができるのは、OpenType(.OTF) と Truetype (.TTF) のみです。

私は、gotoandlearn での Lee Brimelows のチュートリアルによって、このテクニックを習得しました。

于 2009-05-06T23:51:39.177 に答える
0

ソフトウェア(Flash)ではなく、フォントの問題のようです。

フリー フォントの場合、フォント ファミリの作成者が 1 つのフォントをベースとして使用し、そのコピーをさまざまなスタイルの書体に合わせて編集した可能性は十分にあります。ファイル名を変更したばかりで、内部名を変更するのを忘れている可能性があります。

どうにかして名前を自分で編集できるかもしれませんが、これについてはよくわかりません。

于 2009-05-06T22:12:21.367 に答える