[目次へもどる] [前へ] [次へ]

マクロ定義?

辞書を追加することにより,変数への代入やマクロ定義のようなことができます. "nodef.ps"と"def.ps"を比較してください.

nodef.ps
001 %!PS-Adobe-3.0
002 
003 /Helvetica findfont 100 scalefont setfont
004 
005 1 0 0 setrgbcolor
006 400 600 moveto (red)
007 dup stringwidth pop 0 exch sub 0 rmoveto
008 show
009 
010 /Times-Roman findfont 100 scalefont setfont
011 
012 0 1 0 setrgbcolor
013 400 500 moveto (green)
014 dup stringwidth pop 0 exch sub 0 rmoveto
015 show
016 
017 /Courier findfont 100 scalefont setfont
018 
019 0 0 1  setrgbcolor
020 400 400 moveto (blue)
021 dup stringwidth pop 0 exch sub 0 rmoveto
022 show
023 
024 /Times-Bold findfont 100 scalefont setfont
025
026 0 0 0  setrgbcolor
027 400 300 moveto (black)
028 dup stringwidth pop 0 exch sub 0 rmoveto
029 show
030 
031 showpage
032 
def.ps
001 %!PS-Adobe-3.0
002 /M {moveto} def
003 /S {findfont 100 scalefont setfont} def
004 /C {setrgbcolor} def
005 /R {dup stringwidth pop 0 exch sub 0 rmoveto show} def
006 /X 400 def
007 
008 /Helvetica   S  1 0 0 C  X 600 M  (red)   R
009 
010 /Times-Roman S  0 1 0 C  X 500 M  (green) R
011 
012 /Courier     S  0 0 1 C  X 400 M  (blue)  R
013 
014 /Times-Bold  S  0 0 0 C  X 300 M  (black) R
015 
016 showpage
017 
def.jpg
30dpiでA4用紙に出力

"nodef.ps"と"def.ps"は同じ図を描きます.共通する命令を"def"オペレータで 辞書に新たな命令を追加することにより,すっきりとしたPostscriptを書くことが できます.また,一般にPostscriptファイルはサイズが大きくなりがちですが, このように効率良く辞書を定義することでファイルサイズを小さくすることが できます.


[目次へもどる] [前へ] [次へ]