Linuxのefaxの標準処理方法は、Ghostscriptを使ってディザ2値画像を作成しているが、そのディザがあまりにも酷すぎる…
そこで、一旦jpegファイルに書きだしてからImageMagickでディザ2値化する方法を試してみた。アンチエイリアスのON/OFFやガンマ補正の度合いで何種類か試した結果を掲載する。
なお、ここで作成したtiffファイルは、なぜかefax送信時にエラーとなる。
まわりくどい方法だが、作成したtiffファイルをPDFに戻して、通常のfax送信手順を踏んで再度tiffを作れば問題なく送信できる。
convert 作成したtiff.tif temp.pdf
pdftops temp.pdf
fax make temp.ps
fax send "+01-123-4567" temp.ps.001
■ 検証環境
・Ubuntu 10.04
・G3 FAX用2値画像 (A4用紙 204x196 dpi)
■ efaxの標準的方法での出力画像
/usr/bin/fax スクリプトで指定されているデフォルトの処理方法は
gs -sDEVICE=tiffg3 -r204x196 -dNOPAUSE -dSAFER -dMaxStripSize=0 \
-sOutputFile=output.tif -sPAPERSIZE=a4 input.ps
■ PDF → アンチエイリアス化JPEG → 2値TIFF (ガンマ0.2)
gs -sDEVICE=jpeg -r204x196 -sPAPERSIZE=a4 \
-dNOTRANSPARENCY -dNOPAUSE -dBATCH -dTextAlphaBits=4 \
-dGraphicsAlphaBits=4 -sOutputFile=output.jpg input.pdf
PDF → JPEG (アンチエイリアス=ON)
convert output.jpg -gamma 0.2 -monochrome -despeckle \
-density 204x196 -type Bilevel -format fax output.tif
ガンマ0.2で2値化
■ PDF → アンチエイリアス化JPEG → 2値TIFF (ガンマ1.0=OFF)
convert output.jpg -monochrome -despeckle \
-density 204x196 -type Bilevel -format fax output.tif
ガンマ1.0で2値化
■ PDF → アンチエイリアス化しないJPEG → 2値TIFF (ガンマ0.2)
gs -sDEVICE=jpeg -r204x196 -sPAPERSIZE=a4 \
-dNOPAUSE -dBATCH -sOutputFile=output.jpg input.pdf
PDF → JPEG (アンチエイリアス=OFF)
convert output.jpg -gamma 0.2 -monochrome -despeckle \
-density 204x196 -type Bilevel -format fax output.tif
ガンマ0.2で2値化
■ PDF → アンチエイリアス化しないJPEG → 2値TIFF (ガンマ1.0=OFF)
convert output.jpg -monochrome -despeckle \
-density 204x196 -type Bilevel -format fax output.tif
ガンマ1.0で2値化
■ 参考資料
・Producing a good FAX image (using Ghostscript and ImageMagick)
航空図(チャート)は公開資料を使っている
・Netherlands TRA's