JPRINTプロシジャの出力結果が間延びする
[OS]ALL
[リリース] 6.07, 6.08, 6.09, 6.10
[キーワード] graph, jprint, ftext, none, simfont, kanji, nocharacters, goptions, gdevice, copy, modify, printer, hardware, software, font
[質問]
JPRINTプロシジャを使用してTABULATEプロシジャの表結果を出力しましたが、表が間延びしてしまい、また数値の出力位置が揃いません。
[回答]
JPRINTプロシジャの出力でkanjiなどの2バイトフォントを使用する場合、スペースが完全に変換されず「間延び」することがあります。 goptions ftext=none simfont=kanji nocharacters;
上記のGOPTIONSステートメントでは、FTEXT=NONEで標準のフォントをハードウェアフォントに設定します。
プリンタ側にスケーラブルな日本語フォントが存在する場合には、DEVICEファイルの使用する文字フォントに追加して、
ハードウェアフォントを使用することが可能です。 libname gdevice0 'xxxxxx'; proc gdevice catalog=gdevice0.devices nofs; copy ps300 from=SASHELP.DEVICES newname=PS300B4; modify PS300B4 Lrows=70 Lcols=121 Prows=101 Pcols=84 Xmax=24.2 cm Ymax=34.9 cm Xpixels=2858 Ypixels=4122 gaccess=sasgaedt gsfmode=replace gsfname=gsasfile rotate=landscape charrec=(14,101,84,'/Times-Roman,/Ryumin-Light-H','Y') description="Post Script - B4 size paper using DBCS hardware font"; run; quit; 次の設定で、上記で作成したデバイスドライバを使用することができます。 libname gdevice0 'xxxxxx'; filename gsasfile pipe 'lpr -C"filetype=ps,mag=1.6,paper=b4,"'; goptions reset=all device=PS300B4 ftext=none simfont=kanji characters; title h=2 f=none 'JPRINTの実行結果'; proc jprint unit=21; run; ただし、あくまでもプリンタが日本語フォント(上記の場合、/Ryumin-Light-H)を持っている場合にのみ有効です。
|