Tag/ming

mingにフォントがセット出来ない。

ming で日本語を扱うために、 ttfなフォントをfdbに変換する必要があるらしい。 ming 0.4.0beta2からは ttftofft ってのがデフォルトで入っていて、 コレを使ってttfからfftに、 makefdb を使ってfftからfdbに変換するらしい。

今回は 独立行政法人情報処理推進機構のフォント(IPAフォント)付き を変換してみる。

$ ttftofft ipag.ttf
TAG c28
FWSAx_?
       (
        ?       IPAGothicA?zf

なんか変な出力が出てくる。 それに生成されているはずのfftも生成されてない。

ググってみても殆ど情報が出てこないので、 仕方なく ttf2fft をインストールする事に。 Ming/Ruby いじり さんを参考にインストールしてみた。

書かれていた通りにやっても上手くいかなかったものの、 結果的に freetype-2.1.4ttf2fft-1.0 でインストール出来た。

# freetype-2.1.4のインストール
$ tar jxf freetype-2.1.4.tar.bz2
$ cd freetype-2.1.4
$ ./configure --enable-static
$ make
$ cd ..

# ttf2fftのインストール
$ tar jxf ttf2fft-1.0.tar.bz2
$ cd ttf2fft
$ g++ -o ttf2fft *.cxx -I../freetype-2.1.4/include -I../freetype-2.1.4/include/freetype -L../freetype-2.1.4/objs/.libs -lfreetype -lm

後は手順通りにttfをfdbに変換していく。

一通り上手く変換できたっぽいので、 実際に ming に喰わせてみる。

import os
import ming

# フォントへのパス
F_PATH = os.path.join(os.getcwd(), 'IPAGothic.fdb')

t = ming.SWFTextField()
f = ming.SWFFont(F_PATH)

# フォントのセット
t.setFont(f)

フォントをセットするところで、なぜかエラー吐く。 エラー内容はこんな感じ。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/lib/python2.5/site-packages/ming.py", line 537, in setFont
    self.__fonts[font.this]=font
TypeError: unhashable type: 'PySwigObject'

この後ソースと睨めっこしながら色々試してみるも、 結局上手く日本語を表示出来なかった。 やっぱbeta5ってのがダメだったのかなぁ?

どなたか上手く日本語を表示出来た方の情報をお待ちしております!

Posted at: 
2007/10/20 21:51:14
6 Comments
0 TrackBacks
Tags: 
Flash
ming
Python
Trackback: 
http://humming.via-kitchen.com/2007/10/20/cannot-set-font-to-ming/trackback/

mingを入れてみたよ。

職場の方から、 ming ってどうよ?って話が出て来たので、 ちょっとインストールして試してみたよ。

ming を使うと、サーバサイドでswfを生成出来るらしく、 色々な言語から利用出来る便利なライブラリらしい。 それぞれ言語のバインディングは SWIG を使って生成するみたいなので、 先にインストールしておく必要がある。

今回インストールしてみたのは ming-0.4.0-beta5

$ tar jxf ./ming-0.4.0.beta5.tar.bz2
$ cd ./ming-0.4.4.beta5
$ ./configure --prefix=/usr/local/ming\
> --enable-python\
> --disable-perl\
> --disable-php\
> --disable-tcl
$ make
$ sudo make install

次に Python バインディングのインストール。

$ cd ./py_ext
$ python setup.py build
$ sudo python setup.py install

上手くインストール出来てるか、 インタラクティブシェルで読み込んでみる。

>>> import ming
>>> dir(ming)
['JpegBitmap', 'Ming_getScale', ...]

とりあえずインストールは上手くいった模様。 が、しかし、 更新が極端に不安定だったり、 Libming Wiki がところどころエラー吐いたままになってたりと、 使うにあたってかなり不安要素てんこ盛り。

とりあえず、日本語が使えるかどうかまではテストしてみよう。

Posted at: 
2007/10/20 18:11:10
1 Comment
0 TrackBacks
Tags: 
Flash
ming
Python
Trackback: 
http://humming.via-kitchen.com/2007/10/20/tried-install-ming/trackback/

Categories

Archives