前回紹介した,SWFToolsの環境構築についてですが,
情報として不十分なところがありましたので,今回続編として追記します.
前回同様,Linux環境でソースからビルドして導入します.
全てローカルビルドで環境構築する場合,必要となるのは,以下のアーカイブです.
- SWFTools本体: swftools-0.9.1.tar.gz
- フォントエンジン: freetype-2.4.5.tar.gz
- JPEG用ライブラリ: jpegsrc.v8c.tar.gz
- GIF用ライブラリ: giflib-4.1.6.tar.bz2
- PDFビューアの日本語サポートパッケージ: xpdf-japanese.tar.gz
前回,最新版の,PDFビューア: xpdf-3.02.tar.gz もあげましたが,
SWFTools本体: swftools-0.9.1.tar.gz が,対応できていないので,
パッチを当てようとしても失敗してしまいます.
- 《 フォントエンジンのビルド (1) 》
-
> ls xpdf-japanese.tar.gz swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz giflib-4.1.6.tar.bz2 > tar zxvf ./freetype-2.4.5.tar.gz ............ > ls freetype-2.4.5 xpdf-japanese.tar.gz giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz > cd ./freetype-2.4.5; pwd /home/hoge/freetype-2.4.5 > ls ./Jamfile ./Jamfile >
- 《 Jamfile修正前 》
-
# Define FT2_BUILD_INCLUDE to point to your build-specific directory. # This is prepended to FT2_INCLUDE_DIR. It can be used to specify # the location of a custom <ft2build.h> which will point to custom # versions of `ftmodule.h' and `ftoption.h', for example. # FT2_BUILD_INCLUDE ?= ;
- 《 Jamfile修正後 》
-
# Define FT2_BUILD_INCLUDE to point to your build-specific directory. # This is prepended to FT2_INCLUDE_DIR. It can be used to specify # the location of a custom <ft2build.h> which will point to custom # versions of `ftmodule.h' and `ftoption.h', for example. # FT2_BUILD_INCLUDE ?= /home/hoge/freetype-2.4.5/include /home/hoge/freetype-2.4.5/include/freetype /home/hoge/freetype-2.4.5/include/freetype/config /home/hoge/freetype-2.4.5/include/freetype/internal /home/hoge/freetype-2.4.5/include/freetype/internal/services ;
ここで,全てローカルビルドで環境構築するために,静的ライブラリとして生成します.
- 《 フォントエンジンのビルド (2) 》
-
> sh ./autogen.sh ............ > ./configure --prefix=/home/hoge/freetype-2.4.5 --enable-static --disable-shared ............ > make; make install ............ >
- 《 JPEG用ライブラリのビルド 》
-
> ls freetype-2.4.5 xpdf-japanese.tar.gz giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz > tar zxvf ./jpegsrc.v8c.tar.gz ............ > ls freetype-2.4.5 jpeg-8c giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz xpdf-japanese.tar.gz > cd ./jpeg-8c; pwd /home/hoge/jpeg-8c > ./configure --prefix=/home/hoge/jpeg-8c --enable-static --disable-shared ............ > make; make test; make install ............ >
- 《 GIF用ライブラリのビルド 》
-
> ls freetype-2.4.5 xpdf-japanese.tar.gz giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz > tar jxvf ./giflib-4.1.6.tar.bz2 ............ > ls freetype-2.4.5 jpeg-8c giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz xpdf-japanese.tar.gz giflib-4.1.6 > cd ./giflib-4.1.6; pwd /home/hoge/giflib-4.1.6 > ./configure --prefix=/home/hoge/giflib-4.1.6 --enable-static --disable-shared ............ > make; make test; make install ............ >
- 《 SWToolsのビルド 》
-
> ls freetype-2.4.5 jpeg-8c giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz xpdf-japanese.tar.gz giflib-4.1.6 > tar zxvf ./swftools-0.9.1.tar.gz ............ > ls swftools-0.9.1 freetype-2.4.5 jpeg-8c giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz xpdf-japanese.tar.gz giflib-4.1.6 > cd swftools-0.9.1; pwd /home/hoge/swftools-0.9.1 > export PATH=/home/hoge/freetype-2.4.5/bin:/home/hoge/jpeg-8c/bin:\ /home/hoge/glib-4.1.6/bin${PATH} > export LDFLAGS="-L/home/hoge/freetype-2.4.5/lib -L/home/hoge/jpeg-8c/lib \ -L/home/hoge/glib-4.1.6/lib" > export CPPFLAGS="-I/home/hoge/freetype-2.4.5/include \ -I/home/hoge/jpeg-8c/include -I/home/hoge/glib-4.1.6/include" > ./configure --prefix=/home/hoge/swftools-0.9.1 ............ > make; make install ............ >
以上で,ビルドは完了です.
以下のように,SWFToolsのコマンド群が生成されていることがわかります.
-
> pwd; ls ./bin /home/hoge/swftools-0.9.1 as3compile gif2swf pdf2swf swfbbox swfcombine swfextract swfstrings font2swf jpeg2swf png2swf swfc swfdump swfrender wav2swf >
PDFをSWFに変換するには,pdf2swfのコマンドを使用します.
さらに,日本語のPDFに対応するためには,日本語サポートパッケージを設定する必要があります.
- 《 日本語サポートパッケージの展開及び設定 》
-
> pwd; ls /home/hoge swftools-0.9.1 freetype-2.4.5 jpeg-8c giflib-4.1.6 giflib-4.1.6.tar.bz2 swftools-0.9.1.tar.gz freetype-2.4.5.tar.gz jpegsrc.v8c.tar.gz xpdf-japanese.tar.gz > cd ./swftools-0.9.1/share; pwd /home/hoge/swftools-0.9.1/share > mkdir xpdf; cd xpdf; pwd /home/hoge/swftools-0.9.1/share/xpdf > tar zxvf ../../../xpdf-japanese.tar.gz .............. > pwd; ls /home/hoge/swftools-0.9.1/share/xpdf xpdf-japanese > mv ./xpdf-japanese ./japanese; ls japanese > cd japanese; ls Adobe-Japan1.cidToUnicode CMap EUC-JP.unicodeMap ISO-2022-JP.unicodeMap RADME Shift-JIS.unicodeMap add-to-xpdfrc
ここで,上記の add-to-xpdfrc を編集します.
- 《 add-to-xpdfrc修正前 》
-
#----- begin Japanese support package (2004-jul-27) cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap toUnicodeDir /usr/local/share/xpdf/japanese/CMap #displayCIDFontTT Adobe-Japan1 /usr/..../kochi-mincho.ttf #----- end Japanese support package
- 《 add-to-xpdfrc修正後 》
-
#----- begin Japanese support package (2004-jul-27) cidToUnicode Adobe-Japan1 /home/hoge/swftools-0.9.1/share/xpdf/japanese/Adobe-Japan1.cidToUnicode unicodeMap ISO-2022-JP /home/hoge/swftools-0.9.1/share/xpdf/japanese/ISO-2022-JP.unicodeMap unicodeMap EUC-JP /home/hoge/swftools-0.9.1/share/xpdf/japanese/EUC-JP.unicodeMap unicodeMap Shift-JIS /home/hoge/swftools-0.9.1/share/xpdf/japanese/Shift-JIS.unicodeMap cMapDir Adobe-Japan1 /home/hoge/swftools-0.9.1/share/xpdf/japanese/CMap toUnicodeDir /home/hoge/swftools-0.9.1/share/xpdf/japanese/CMap #displayCIDFontTT Adobe-Japan1 /usr/..../kochi-mincho.ttf #----- end Japanese support package displayNamedCIDFontT1 RyuminPro-Bold /home/hoge/fonts/A-OTF-RyuminPro-Bold.otf .............
上記の赤字部分のように,使用する日本語フォントのフォントファイルを設定します.
これで準備はOKです.
次回こそは,実際にSWFToolsのコマンド群を使って,いろいろと試してみることにしましょう.