読者です 読者をやめる 読者になる 読者になる

gv の "Natural size" と "Pixel based" の変換式

A4サイズのPSファイルは,横幅が596px(ピクセル)程度です.
しかし,こいつをgvで表示してやると,明らかに596pxよりもディスプレイを占めていました.

実は,倍率を選択するところで "Natural size" と "Pixel based" が選べ,デフォルトでは "Natural size" になっているのです.

gv によると,"Natural size" は,

By default two scales bases are available, the "Natural size"
and the "Pixel based" base. When choosing the "Pixel based"
scale base a relative scale of 1.0 causes one postscript point
to correspond to one pixel on the screen.

When viewing a document at a relative scale of 1.0 using the
"Natural size" base the page should appear in its real size, as
if printed on paper. For the "Natural size" base to work prop-
erly gv has to know the correct size of the root window. Auto-
matic detection of this size unfortunately only provides approx-
imate results, therefore it is best if it is provided by the
user. To do so the resource

だそうで,要するに紙に印刷したらこんな大きさになるよってものだそう.

今,TeX組版結果を見ながら作れるEmacsLisp,WYSIWYG-TeX.el (使ってね!!) を作っているのですが,その途中で "Natural size" を "Pixel based" に変換する必要が出ました.その変換式を求めたところ,

Pixel_based = Natural_size * (1 / (Dpi * 1.3871979865e-2))

ということになりました.

(「求めました(キリッ」とか言ってますが,15分ほど http://www.size-info.com/paper/a4.html をいじって比例計算しただけです)

Dpiは,Xを使用していれば

xdpyinfo |grep "resolution"

で確認できるようです.