PostScript で日本語の文字列を扱う場合、半角文字は1文字を長さ1と数えますが、全角文字は1文字を長さ2として計算します。
%! /Ryumin-Light-EUC-H findfont 20 scalefont setfont % 文字列の長さ (1) length == % -> 1 (日) length == % -> 2 (abcあいう) length == % -> 9
Times-Roman は文字によって幅が違います。(Century Helvetica も)
数字は等幅です。
%! (------- Times-Roman --------\n) print /Times-Roman-H findfont 20 scalefont setfont (1) stringwidth == == % -> 0.0 10.0 (0123456789) stringwidth == == % -> 0.0 100.0 % 数字は20ポイントの半分 (.) stringwidth == == % -> 0.0 5.0 (a) stringwidth == == % -> 0.0 8.87968731 (i) stringwidth == == % -> 0.0 5.55976582 (H) stringwidth == == % -> 0.0 14.4398441 (W) stringwidth == == % -> 0.0 18.8796883
Courier は全ての文字幅が均一です。
/Courier-H findfont 20 scalefont setfont (------- Courier --------\n) print (1) stringwidth == == % -> 0.0 12.0 (0123456789) stringwidth == == % -> 0.0 120.0 (a) stringwidth == == % -> 0.0 12.0 (.) stringwidth == == % -> 0.0 12.0 (i) stringwidth == == % -> 0.0 12.0 (H) stringwidth == == % -> 0.0 12.0 (W) stringwidth == == % -> 0.0 12.0
Ryumin-Lightは半角文字が設定したフォント幅の半分、全角文字は設定したフォント幅です。(GothicBBB-Mediumも同じ)
/Ryumin-Light-EUC-H findfont 20 scalefont setfont (------- Ryumin-Light --------\n) print % 半角文字は設定したファントサイズの半分の幅 (1) stringwidth == == % -> 0.0 10.0 (12) stringwidth == == % -> 0.0 20.0 (abc) stringwidth == == % -> 0.0 30.0 % 全角文字は設定したファントサイズ (日) stringwidth == == % -> 0.0 20.0 (日本) stringwidth == == % -> 0.0 40.0 (日本語) stringwidth == == % -> 0.0 60.0