PostScriptで表を作るとき、長い文字列でも枠からはみ出さないように文字列の横幅を自動調整します。
%!PS-Adobe-3.0 2.834645669 2.834645669 scale newpath /vPosition 297 20 sub def % A4 297mm /Space 3 def /CellW 100 def /ADJW CellW Space 2 mul sub def 0.3 setlinewidth /Left 20 def /Ryumin-Light-EUC-H findfont 10 scalefont setfont /SameLength { % (------------SameLength-----------\n) print dup stringwidth pop % 名前の文字列を複製し、文字列の幅を求める % スタックには0:文字列の幅、1:文字列 がつまれている % 文字列の幅を複製し、ADJW(幅からスペースを引いた)で割る dup ADJW div % (文字列幅+左右のスペース) / 表示枠幅 % (== dup ADJW div\n) print % pstack dup gsave % 比率が1より大きいときは (横比率 1 scale) を実行します。 % そうでなければ比率を捨てます。 1 gt { 1 exch div 1 scale } {pop} ifelse pop show grestore } def Left vPosition moveto CellW 0 rlineto 0 -100 rlineto CellW neg 0 rlineto closepath stroke /hPosition Left Space add def /newline { /vPosition vPosition 15 sub def hPosition vPosition moveto } def hPosition vPosition moveto newline (本日は晴天なり) SameLength newline (本日は晴天なり本日は晴天なり) SameLength newline (本日は晴天なり本日は晴天なり本日は晴天なり) SameLength newline (本日は晴天なり本日は晴天なり本日は晴天なり本日は晴天なり) SameLength newline (我輩は猫である。名前はまだない。) SameLength newline (枠内に入るよう横幅を調整しています。) SameLength showpage