[M+ OUTLINE FONTS 640] Re: xz 圧縮について

Back to archive index

Aktado aktad****@users*****
2011年 9月 2日 (金) 05:12:38 JST


coz さん,おはようございます。
aktado です。
#遅ればせながら,第2水準までの常用漢字完成,おめでとうございます。
#予定より早かったということは,お子様の夏休みの宿題も順調だったと
#いうことでしょうか。:-)

さて,xz 圧縮についてですが,私もいろいろな形式で試してみたところ,
やはり xz, lzma, 7z といった LZMA 系のアルゴリズムを採用している
ものの方が飛び抜けて圧縮効率が高いことが確認できました。

 7156260        mplus-TESTFLIGHT-042.tar.xz
 7159415        mplus-TESTFLIGHT-042.tar.lzma
 8821434        mplus-TESTFLIGHT-042.7z
27691765        mplus-TESTFLIGHT-042.tar.bz2
28890259        mplus-TESTFLIGHT-042.tar.gz
28945584        mplus-TESTFLIGHT-042.zip
29945980        mplus-TESTFLIGHT-042.lzh
50462720        mplus-TESTFLIGHT-042.tar (圧縮なし)

テキストデータに対してはこれほどまで大きな差は出なかったので,
「多少圧縮効率が悪くても標準的な gzip 形式の方がよい」と考えて
いたのですが,考えを改めました。十分に検討する価値があると思い
ます。

また,ダウンロードするサイズを小さくするという点では,たとえば
フォントファミリごとにリリースを分割することも検討してはどうで
しょうか。リリースにかかる手間が増えるかもしれませんが…


itouhiro さん:
> % tar Jcv -g --level=9 -f mp042.txz mplus-TESTFLIGHT-042/
> とコマンド1回で、さらに圧縮レベルを指定しても
> mp042.txz  11M (11071180 bytes)
> です。コマンドは2回に分けて実行したほうがよいようです。

GNU tar マニュアルを見てみると,--level は圧縮レベルを指定する
ものではないようです。差分バックアップのダンプレベルを指定する
もので,通常ファイルに書き出す際にはあまり意味がないものと思い
ます。圧縮レベルとしてはデフォルトの 6 が使用されているのでは
ないでしょうか。

tar で圧縮レベルを指定するには,以下のようにすればよいようです。
2回に分けた場合と,ほぼ同じ圧縮率になります。
% env XZ_OPT="-9" tar Jcv -f mp042.txz mplus-TESTFLIGHT-042/

しかし, tar で --xz (-J) オプションが追加されたのも比較的最近の
version 1.22 (2009-03-05) なので,対応していない版の tar がまだ
使われているケースは結構ありそうです。
gzip と同じく,以下のようにすれば tar が xz に対応していなくても
構いません。
% tar cf - mplus-TESTFLIGHT-042/ | xz -9 -c > mplus-TESTFLIGHT-042.tar.xz


> Ubuntu 11.04に最初から xz-utils が入っていたかは
> 覚えていませんが、ない場合

Ubuntu 11.04 では dpkg が xz-utils に依存しているので,ほぼ標準
でインストールされていると思います。
8.04LTS では xz-utils パッケージがなくて,lzma がそれに相当して
います。sourceforge.jp のシェルサーバでも同様でした。


> そのxz圧縮ファイルをWindowsで開く方法ですが、
> フリーの解凍ソフト 7-Zip 9.20 (http://sevenzip.sourceforge.jp/)
> で解凍できることを確認しました。(WindowsXP)

7Zip は同じ sourceforge.jp 内で,ダウンロードランキング上位に
挙がっているので,案内しやすいかもしれませんね。


MacOS X では,検索した限りですが The Unarchiver というソフト
ウェアが xz 形式に対応しているようです。
http://wakaba.c3.cx/s/apps/unarchiver.html

-- 
Aktado <aktad****@users*****>




mplus-fonts-dev メーリングリストの案内
Back to archive index