ということで、
半年くらい前に、できるかなと思って挑戦してみたところ、文字を入れるのはまあまあどうということもなくできたのですが、製品というレベルまで持って行けるかというところは、さすがにかなりの心配があり、そういう検証をするほどの時間も掛けるのはなあ、と思ってほったらかしておいたのですが、
いろいろ案件をやるなかで、いつもほぼ必ずというくらいに、本当はアンチエイリアスかけて、サイズも自由に選べる静的テキストを使いたいのに、ダイナミックな部分なのでどうしてもデバイスフォントになっちゃいます、というケースがあるので、
この際その静的フォントで文字を入れられる機能をXML to Flashに搭載させられないかと、再度調べていたのですが、結論的にはいろいろ問題あるな、ということでした。それと、その技術的なところについては、もう半年も前にやったことを思い出しながらで、いろいろ忘れていることが多かったので、この際将来的にまた再開するかもしれないので、手法をブログに書いておこうと思います。
まず、ttf2fftを使ってttfフォントをfftフォントに変換します。
このttf2fftは僕の場合は、Eclipse上で実行していたことを忘れて、
java コマンドで実行したりしてうまくいかず時間をくいましたが、Eclipse上ではプロジェクトのプロパティで、Run/Debug settingみたいなところで、実行時の引数として
"/Users/suzuki/Documents/Eclipse/JgenFontCreate/sazanami-gothic.ttf" "/Users/suzuki/Documents/Eclipse/JgenFontCreate/sazanami-gothic.fft"
みたいに、入力のttfと出力のfftを指定して実行しています。
ちなみに、そういうものなのか、さざなみの明朝ではヒープが足りないと言われて変換不可能だったので、Eclipse.iniとかだったかXmxを1.5Gくらいまで増やしてみましたが、ダメでした。ここ解決はできると思いますが、まあとりあえずいいやということで、追求はしていません。
半年前は、とりあえずっていうことで、メイリオを使っていてたのですが、ちなみにMacに入っているヒラギノの場合、ttfではなくotfです。なのでこういうのはFontForgeを使ってttfに変換してから、fftにさらに変換するという方法が使えると思います。
今回はさざなみを使ってみたのは、ライセンス的に大丈夫であろうと思ったからです。
さて、それでできたfftを使って、Flashのシンボルにテキストを入れるプログラムですが、それはまあ、半年前のコードをそのままつかってあっさりできるわけですが、実際にレンダリングしたものを見ると、やっぱりメイリオと比べるとというか、やっぱりコンテンツとしてきれいに表示するという目的ではさざなみは厳しいなあと思い、
他にこうしてサーバーで利用できるきれいなフォントはあるのだろうかと探して、M+ と IPAフォントの合成を見つけ、M+もIPAフォントも大丈夫ぽいということで、これをfft化してやってみましたが、きれいなのは嬉しいのですが、なぜか、変な線が出てしまう。
理由がよくわからなかったのですが、挿入するテキストの中に、What's going on?って書いている部分があって、この小文字のoから横に伸びる線がでていることを発見。まったくの推測ですが、このoのパスが閉じてないとか、そういうことなんでしょうかね。
これがその生成されたファイル
で、赤い文字はテンプレートのSWFに既にあるもの、黒い文字がサーバーで挿入したもの。赤と黒の位置を合わせるために、カーニングやラインスペースやマージンを調整する必要があった。ラインスペースはかなり位置がズレるが適切な調整方法はわからない。
oから横に伸びる線ですが、これはさざなみではそうなりません。かといってさざなみを使うというケースは無いかなあと思う。
で、oの文字1つなら多分修正をしようと思えばできるのかもしれない。もしかしてFontForgeを使えばそういうのもできるのかなあ、という思いもあるものの、じゃあ他の文字は大丈夫なんだろうかとか。日本語を全部検証するのか、と考えるとあーもうギブアップかな、、と思った次第です。
でももうちょっと突っ込んで調べてみるべきだろうか。
やるとしたら、モリサワのサーバー用フォントを使うことを前提に考えてみたいが、どこまでそういうものを作る意味があるのか、っていうのもあります。多くの場合は、ダイナミックテキストで、とか、画像で、という方向で話がまとまってしまうし、どこで使われるべきなんでしょうね。
ふと思ったのは、18ptとか24ptあたりだと、結構高齢者の方でも、分かり易いサイトができるかなとか、そういうことはちらりと考えました。フォーカス時に拡大するということもできるし。
というわけで、また再開する時にはこのブログをまたみて、進めようと思います。
コメント