スタックに詰まれた二つの文字列を連結する手続きです。
% stack : string string /s2dict 1 dict def /joinString { s2dict begin /str exch def /strBase exch def /baseLen strBase length def /strLen str length def /newString baseLen strLen add string def % 二つの文字列長を加算した長さのnull文字列を作ります newString 0 strBase putinterval % 先頭から文字列をコピー newString baseLen str putinterval % 残りに連結する文字列をコピー newString end } def (abcd) == (123) == (abcd) (123) joinString == (本日は) == (晴天なり) == (本日は) (晴天なり) joinString == (Hello,) == (world!) == (Hello,) (world!) joinString == showpage
$ ps2pdf newLineSjis.ps % (abcd) == (abcd) % (123) == (123) % (abcd) (123) joinString == (abcd123) % (本日は) == (\226{\223\372\202\315) % (晴天なり) == (\220\260\223V\202\310\202\350) % (本日は) (晴天なり) joinString == (\226{\223\372\202\315\220\260\223V\202\310\202\350) % (Hello,) == (Hello,) % (world!) == (world!) % (Hello,) (world!) joinString == (Hello,world!)