#!/usr/bin/env ruby

##################################################
=begin
=dcmodel-dclps2png

  dcl で作成した ps ファイルを png に変換するコマンド. 

== USAGE
 
  入力 ps ファイル名と出力 png ファイル名を指定する. 

    % ./dcmodel-dclps2png.rb  psfile pngfile


== References

  + http://www.gfd-dennou.org/arch/dcl/dcl-5.3.1/README_pslib
  + http://www.gfd-dennou.org/arch/dcl/dcl-tips/dclpsedit.html


== HISTORY

  2006/01/05   K Sugiyama (created)

=end
##################################################
require "numru/ggraph"
require "getoptlong"
include NumRu


###
### 内部で用いるコマンドおよびオプションの設定
###

#dcl 関連 
dclpsrmcm   = "/usr/bin/dclpsrmcm"
dclpsrot    = "/usr/bin/dclpsrot"
dclpsfont   = "/usr/bin/dclpsfont f=H lcntl=1 fact=7000"
dclpsmargin = "/usr/bin/dclpsmargin"

# gs 関連. ここで解像度とサイズも設定
gsresolv = "90"
gssize   = "900x600"
gs  = "/usr/bin/gs -sDEVICE=pnmraw -q -dNOPAUSE -dSAFER  -sOutputFile=-" \
      +" -r"+gsresolv+" -g"+gssize

# imagemagic
pnmtopng = "/usr/bin/pnmtopng"


###
### ps --> png の変換
###
psfile  = ARGV[0]
pngfile = ARGV[1]
tmpfile = "dcltmp.ps"

# dcl 付属コマンドを用いて変換
dclps = dclpsrmcm+" "+psfile+" | "+dclpsrot+" | "+dclpsfont+" | " \
        +dclpsmargin+" > "+tmpfile
p dclps
system (dclps)
    
# ps ファイルを png ファイルに変換
pspng = gs+" "+tmpfile+" -c quit| "+pnmtopng+" > "+pngfile
p pspng
system (pspng)
