« TrueTypeFont/JALアワード発券 | メイン | ドイツ遠征再考 »

2006年12月01日

師走入り/gdライブラリでTrueTypeフォント出力

出陣。 gdライブラリ調査。gdImageStringFT()関数で半角カナは昨日出せるようにしたが、あるフォント(kochi-gothic-subst.ttfなど)をあるサイズ(12pt)で出力させようとすると、激しく文字化けする。ASCII文字、漢字などに関係なくすべての文字で描画失敗する。

 IPAフォントなど、フォントによってはこれらのポイント数でも出力される。フォントとの相性があるのかとか悩んだが、最新のgdライブラリ(今日の時点でv2.0.33)の同関数のソースを見ると微妙に違うし、コメント付でバグFIXの跡があった。

 パッチ部分をgd1.8.4改の同関数にあてたら、文字化けは解消された。もちろん日本語文字も出力される。 喜んだのもつかの間、文字化けがなおった文字をよく見ると、アンチエイリアスがかかっていない。 ビットマップフォント(BDF)が描かれているようだ。 FreeType(2.X)の仕様なのかわからないが、TrueTypeフォントでも、内部に持つ(持っていない場合もある)BDFが指定されたポイント数にマッチしたらBDFを優先して使用しているのではないだろうか。
 FTの関数への引数、あるいはFTインストール時のconfugureオプションにBDFを使わない設定があるかどうか調べたが、今日のところは発見できず。 FTのドライバであるgdImageStringFTをFTの視点から再度解析。 どうやらFTの構造体にそのフォントが持っているBDFのポイント数の情報(エントリ数と、数値情報の配列)があり、FT内部で引数のポイント数(を64倍した数値)をキーに検索し、ヒットすればBDFを使う、という仮説を立てた。FT_FaceRec構造体のnum_fixed_sizes(FT_Int)およびavailable_sizes(FT_Bitmap_Size*)

 それではと、ドライバ側でその構造体内のエントリ数(num_fixed_sizes)をゼロに更新して試したところ、期待通りTrueTypeフォントで出力された。もちろんアンチエイリアスがかかっている。 この方法がベストとは言いがたいが、他によい方法がなければこの手法で実装FIXしたいと思う。(gdft.c)

 昨日台湾(台北:TPE)行きJAL国際線特典航空券(アワード)を発券したが、往路妻の希望便EG201はOK(HK)となっていたが、わしのときは満席で、次のEG203便を仮で押さえた。 EG201便のキャンセル待ちを依頼するためJGC国際線デスクへ15時頃電話。5分ほど待たされたが、キャンセル待ちおよび 復路EG204便の同行の妻の座席位置変更(席だけC)は無事できた。デスクの方が忙しいのかトイレに行きたいのか不明だが、電話を早く切ろうとする(**(名前)がお受けいたしました。それでは、、)。まだお役所体質は残っているようである。

 Jenaプロジェクトはひとまず評価版をリリース。 帰宅後サーバ移行の準備、調査ほか。

 こないだ2006年になったかと思ったら、早くも師走だという。
光陰矢のごとし。 時間の経過速度は年齢とともに上昇するのだろうか。
12月の主な予定は以下の通り。
9-10日 九州遠征
16-17日 札幌遠征
23-25日 那覇・久米島遠征
その他忘年会がぽつぽつと。
大掃除はいつできるのだろうか。
そして会社設立はいつできるのだろうか。 甚だ心配である(w。


にほんブログ村 旅行ブログ 旅行ガイド・プランへ

【他の年の本日の日誌】
2016:
2016年11月30日のつぶやき 2016年11月30日のつぶやき(20件) 01:10 Reconしたい、なんて書くと語弊が大いにありそうだから書かない。 (Portal reconのことね) 07:58 もるげん 08:44 モーニングウイング号を初めて見た (@ 京急...
2015:
2015年11月30日のつぶやき 2015年11月30日のつぶやき(14件) 07:24 もるげん 09:52 滋賀県のお天気情報を傍聴。西の風で晴れる由。 11:15 @yasuhiroUENO ご主人、なにをおしゃいますやら! 11:18 今日からヤテにE235が入るの...
2014:
2014年11月30日のつぶやき 2014年11月30日のつぶやき(29件) 00:23 @WiLL_VS_4 #所定 ?JJ #ボンビー 08:10 もるげん 08:19 Divertなのでダイバードは誤りだと思う。なお映画はダイハード。 10:02 あと3箇所か、がんば...
2013:
2013年11月30日のつぶやき 2013年11月30日のつぶやき(24件) 00:28 きたくす。 00:35 みんてつから何か届いていた。 09:01 もるげん 09:21 @tkgr6000 正解です。またトーマスのあれですよ。 #がっかり 10:03 ハブのメンバー...
2012:
2012年11月30日のつぶやき 2012年11月30日のつぶやき(48件) 00:51 今日の夜は東京ドームへ、 行けるといいなあ。 00:54 @hanaoibito ぞっとしないw 01:14 今日契約したdocomoのオプション解約大会終了。ねるるー 01:24...
2011:
2011年11月30日のつぶやき 2011年11月30日のつぶやき(32件) 00:24 きたっくす #早く寝ろ 07:12 もるげん 07:53 本日はお暇頂いて墓参りなのである。 (@ 東神奈川駅 (Higashi-Kanagawa Sta.)) http://t.co...
2009:
偉い人と同乗 昨日NH136便で通路を挟んだ向かいに国会議員が座っていたが、誰か思い出せず。どっかで見たことあるんだけどなあ。沖縄の人っぽいけど。。 今日になって喜納昌吉と判明。そう、ハイサイおじさんの人。 だいぶ老けていたけど。。。たまに政治屋と乗り合...
2008:
星に願いを  今日は、今頃は南西の空に金星、木星、三日月が並んで見えるということで 明るいうちからもそもそと、していたのだが、普段の行いが悪いのか、 横浜では残念ながら雲に覆われて見えず。。。 本来なら、画像のような空が拝めるはずでし...

投稿者 onsenfan [ Linuxサーバ, プログラミング, 独り言 ] : 2006年12月01日 23:00

この記事が役に立った/おもしろいと思ったら、ワンクリックで応援お願いします

トラックバック

このエントリーのトラックバックURL:
http://blog.odorokutamegoro.com/mt-tb.cgi/1652_2382823703210

コメント

コメントしてください




保存しますか?



ジオターゲティング
counter
1