AS3での埋め込みフォントの共有について:其の一の続きです。
子swfのFontクラスを親swfで使用するやり方は便利な面もありますが、先のエントリーに書いたようにコンフリクトが発生する可能性があります。コンフリクトをクリアするには、子swfの中でそのフォントのTextFieldを適応したTextFieldを生成して親に戻してやれば親swf上で表示可能ですが、早い話がTextFormatのテンプレートを内包する必要があり、TextFormatが追加になるたびにデータサイズの大きいフォントを内包する子swfを更新、その都度ユーザに読み込み負荷をかけることになり、本来の目的に則していないことになります。(コンパイル時間の短縮という制作サイドの利点もありますが、あくまでユーザの利点ベースで考えていきます。)
ということで、他のフォント共有方法というと昔からあるRSL(ランタイム共有ライブラリ)のやり方です。昔はこのやり方のほうにフォントのコンフリクトが発生していたのですが、どうもこの一連の検証をしていてフォントの管理方法がPlayer9からクラスベース(リンケージネーム)からFont.fontName(String)に変更されたような感じです。(この辺はapeirophobia: 特定の文字だけを埋め込んだフォントのランタイム共有方法(AS 2.0)に書いているように、Player9からコンフリクトが改善されている)
ということでまぁこなれた手法ではありますが、一応検証。
月: 2009年2月
AS3での埋め込みフォントの共有について:其の壱の続き。
(今朝方一度共有ライブラリでのエントリーをアップしましたが、ちょっとまだ問題あったので削除しました。ハテブとかに登録された人スイマセン・・・。追ってまた整理します)
子swfに含まれるFontクラスを用いたフォントの共有は親swfにそのフォントが含まれていると親側ではレンダリングされないということを書きました。恐らくこれはFontクラスは各ApplicationDoamin内グローバルに定義されており、TextFormat等で使用するフォント名はそのFontクラス自体を参照するのではなく、フォント名からApplicationDoamin内のフォントクラスを逆引きするという仕様のような気がします。(ただまぁそうするとApplicationDomain.currentDomainで動作するのもおかしいか・・)
まぁそんなことを考えても仕方が無いので、解決策を考える。
先のエントリーでは子swf内で生成したTextFieldにTextFormatを指定してやれば、適応が可能だというところまで書きました。んが、まぁ正直使えないので今度はFontの実体化のタイミングの視点からコンフリクトを解消できないか調べます。
つまり、「子swfの中のFontクラスを先に定義してしまう」ということ。具体的には「子swfの読み込み+Fontクラスの実体化が、親swfの中の同じフォントの実体化よりも先に完了するように。」するということになります。
これにはタイムラインを使用します。まず、親swf上の静的テキストを2フレーム目に配置。1フレーム目には共有するフォントを配置しないようにします。
桃太郎電鉄20周年
『桃太郎電鉄』改善願い通らず7000兆円要求男逮捕
桃鉄なら・・・7000兆もありかもしれない・・・。
99年で勝ちまくれば・・・・。
もしかしたら、これまでキングボンビーに奪われた総額なのかもしれない。
大学生の頃、みんなで集まって徹夜でやってたなぁ・・・。
ひどい生活だったなぁ・・・w
こういうスタンスは忘れないように心がけていることの一つ。
WebでもDesignでもFlashでも、Photoでも同じだろう。
存在否定が存在動機だったり、動機じゃなかったり。
06 TDC展の会場での大日本タイポ組合の作品が「面白い冗談」どころではない、無気味な「恐ろしさ」を示しているのは、そのありかたが、関係のない第三者、外部から向けられたリスクのない「お前はいらないよ」という発言ではないからだ。大日本タイポ組合は、様々な種類の仕事の一部としてタイポグラフィーを扱っている、というデザイナーではない。ユニット名通り、まさに文字デザインということを成立基盤の中核に据え、文字デザインそのもので現実的に生存している。その彼等が、自らの内部、よって立つ根幹に本質的な批判のまなざしを向けている、という事が、今回の出品作に決定的な批評性の高さを与えている。 06 TDC展で、彼等が明らかに大賞作品始め他の受賞作を圧倒する凄みを獲得しているにも関わらず、そして06 TDC展自体がそのことをほぼ認めているにも関わらず無冠で終わったのは当然だ。06 TDC展は、大日本タイポ組合に恐怖したのだ。展示は今日まで。
以前apeirophobia: 特定の文字だけを埋め込んだフォントのランタイム共有方法(AS 2.0)というエントリーを書いたけど、今度はAS3版。既出のリソースとしては
FACEs: as3:フォントのダイナミックなローディング
CS3版 フォントのダイナミックなローディング|_level0.KAYAC
あたりが有名なところ。
で、このやり方で読み込む親SWFの中に同じフォントを用いた静止テキストを配置すると、フォントが表示されなくなるという問題がある。これはPlayer8以前に見られたフォントのconflictと同じような状態(詳細はapeirophobia: 特定の文字だけを埋め込んだフォントのランタイム共有方法(AS 2.0))。恐らくフォントクラスが親SWFで先に設定されてしまうことで、外部SWFのフォントクラスが適応されないというのが理由だと思う。(そう考えるとPlayer8の原因とは違うのかもしれないけど)
簡単に検証したい人はCS3版 フォントのダイナミックなローディング|_level0.KAYACのサンプルをDLして、loader.flaのステージ上にAXIS Std Hで静的テキストを配置すると再現できます。
AS3から外部SWFのクラスアクセスはApplicationDomainの設定も絡んできて、ちょっと原因の切り分けがややこしくなっているので、検証してみました。
なんか良く分からない部分もあるのですが、とりあえず忘れないようにダラダラ書いておきます。
ApplicationDomain
くそーーーーー。こいつめーーー。
なんとかならんのか?!
今のところ八方手塞がり。
ガッデム!
Immolate Yourself: Telefon Tel Aviv
やっと出た。
こっちで視聴したけど、前のから少しテイスト変わった気がする。
どうだろう?なんか2000年代前半に戻ったような・・・。視聴で一部しか聴いてないから分からんけど・・。
まぁ今月20日に購入してみる。
それまで我慢。
今日はボスたちから「どーしてもお前に見せたいものがある」と言われ、上野へ。
ついたところは民謡酒場浅草追分。初めての民謡、三味線体験。
CDとかで聴くのと全然違う迫力。ビシビシ届いてくる音圧の迫力。その音圧の中に浸っていると、民謡を歌い続けてきたこれまでの日本人の魂に包まれているような、そんな感じ。あぁ日本。ただただ素晴らしすぎる。
色々な大会の受賞者が揃っているから演奏のレベルも普通よりも高いのだろうけど、もう4重奏とかのシンクロ率とかが鳥肌モノ。
また驚くのがその演奏者が店員として料理を出したり、シモネタ民謡のお笑いあり、生三味線バックの民謡カラオケありと、これが大衆芸能か!?と・・・。アート志向と一線を画した、非常に泥臭いスタンスに、大衆芸能の心意気を見た気がした。
お客さんとして九重親方が登場してから、演奏は更にヒートアップ。まさに圧巻の一言。
本当に良いものを見た。これは実際見ないと分からない。
是非一度行ってみてもらいたい。(つい最近テレビでも紹介されたらしい)
実は密かに今年三味線を習いに行こうかしら?と思っていたりしたので、内心「これは何かの天恵か?!」とか思い、お店の人に聞いたら三味線は70万とかするらしい。安くても15万といわれた。ちょっとその値段は無理なので、ヤフオクで探してみようと思う。あんなふうに魂を突き動かすような演奏がいつか自分でも出来たら素敵だなと思った。
その後行った四谷のお店もプロだった。
本当にすごかった。ちょっと引いてしまったけど、プロだった。
こんな素敵な体験をさせてくださった、ボス2人。
本当にありがとうございました。
今年の目標、「外に出る」は間違ってなかった。
もっと外に出る。