2009-10-14

最近の mscgen

mscgen の最新版が 0.17 となっています。

mscgenに日本語を表示してみた - ツール:へっぽこ実験Blog:So-net blog

上記を参考に 0.15 では日本語出力してました。 0.17 にバックポートしようと思ったら、 0.16 からほぼ同じ実装がされてました。

0.16 の ChangeLog に
Add FreeType support under USE_FREETYPE, although disabled by default

と、あります。デフォルトでは無効とのこと。

$ ./autogen.sh
$ ./configure --prefix=/usr CFLAGS=-DUSE_FREETYPE
$ make


で、警告が出ますがコンパイルできました。あ、 CentOS5 で gd と gd-devel パッケージはインストール済み。あとは、



$ src/mscgen -T png -F "Sazanami Gothic" examples/jp_msg_types.msc
Note: -F option specified but ignored since mscgen was not built
with USE_FREETYPE.


えぇ~。これでも、出力はできてます。あるいは、



$  MSCGEN_FONT="Sazanami Gothic" src/mscgen -T png examples/jp_msg_types.msc


で、こんなふうになります。



jp_msg_types



しかし... -F オプションでのエラーメッセージのように外国ではあまり需要がないのでしょうね。

件のエラーは、以下の部分で出しています。こりゃぁ、あんまりだよ。とほほ...



src/main.c より



#ifdef USE_FREETYPE
/* Check for an output font name from the environment */
if(!gOutputFontPresent)
{
...
...
}
else
{
fprintf(stderr,"Note: -F option specified but ignored since mscgen was not built\n"
" with USE_FREETYPE.\n");
}
#endif