Perlでデータの圧縮・非圧縮を扱う(zlib編) [Perl]
WOFFファイルは、OpenTypeやTrueTypeのフォントデータをzip圧縮にして格納しています。
PerlでWOFFファイル内のフォントデータを読み出し、OpenTypeやTrueType形式に変換する場合は、zip形式データを非圧縮形式(解凍)する必要があります。
Perlでzip形式を扱うには、Compress::Zlibモジュールを使用すると便利です。
Compress::Zlibのuncompress()メソッドは、zip形式を解凍するメソッドです。
このuncompressは、解凍が成功するとその戻り値はその結果が返され、失敗した場合、undefが返されます。
また、解凍しても元のデータに戻る(つまり圧縮されていない)場合もundefが返されるようです。
PerlでWOFFファイル内のフォントデータを読み出し、OpenTypeやTrueType形式に変換する場合は、zip形式データを非圧縮形式(解凍)する必要があります。
Perlでzip形式を扱うには、Compress::Zlibモジュールを使用すると便利です。
Compress::Zlibのuncompress()メソッドは、zip形式を解凍するメソッドです。
このuncompressは、解凍が成功するとその戻り値はその結果が返され、失敗した場合、undefが返されます。
また、解凍しても元のデータに戻る(つまり圧縮されていない)場合もundefが返されるようです。
use Compress::Zlib qw(uncompress); my $compressed_data =; my $uncompressed_data = Compress::Zlib::uncompress($compressed_data); if (define($uncompressed_data)) { print "Successed!\n"; } else { print "Failed.\n"; }
コメント 0