TLF (Text Layout Framework) と戯れる #09

| | コメント(0) | トラックバック(0)

埋め込みフォント サンプル

TLF に埋め込みフォントを適応させるための手段について書きます。
FTE の仕様上、TLF の埋め込みフォントフォーマットは DefineFont4(CFF) フォーマットである必要があります。( 従来の TextField に使用されているフォントフォーマットは DefineFont3 フォーマットです )

フォント埋め込み方法

AS, MXML のどちらを使用しても CFF 形式でフォントを埋め込むことは可能ですが、Flash Builder 4 β 2 付属の SDK(4.0.0.10485) で確認したところ、フォント埋め込み時の Embed メタデータタグの引数 cff が、embedAsCFF と名称変更されていたので注意が必要です。

AS での埋め込み例

package {
import flash.display.Sprite;
public class TaigaFont extends Sprite {
    [Embed(
        source               = "asset/font/KozMinPro-Bold.otf",
        fontName             = "testFont",
        mimeType             = "application/x-font",
        embedAsCFF           = "true",
        advancedAntiAliasing = "true",
        unicodeRange         = "U+5927, U+96c5" //大雅
    )]
    public static const FONT:Class;
}
}

上記コードは、フォントを埋め込んだクラスを SWF に書き出して、Loader クラスから外部読み込みして使用することを想定したものですが、この場合、基底クラスは Sprite または MovieClip クラスである必要があります。( Font クラスを基底クラスにしても mxmlc は SWF を書き出せますが、Loader が読み込んでくれません )

読み込み完了後、作成した TextFlow インスタンスの fontLookup プロパティの値を "embeddedCFF" (FontLookup.EMBEDDED_CFF) に定義して、TextLayoutFormat の fontFamily に取得したフォント名を定義します。

トラックバック(0)

このブログ記事を参照しているブログ一覧: TLF (Text Layout Framework) と戯れる #09

このブログ記事に対するトラックバックURL: http://blog.taiga.jp/admin/mt-tb.cgi/70

コメントする

このブログ記事について

このページは、taigaが2009年10月22日 12:15に書いたブログ記事です。

ひとつ前のブログ記事は「Adobe MAX 2009 LA 」です。

次のブログ記事は「TLF (Text Layout Framework) と戯れる #10」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。