はプロポーシャナル・スペーシング, ligature, kerning 等の様々な処理
をしてくれるため, 非常に美しい出力が得られます。反面, 画面のイメージを,
そのまま出力したい場合には, これらの機能があだとなってしまう事があります。
欧文だけの文書の場合は
\等のように verbatim 環境等を使用すれば, この問題は難無く クリアされますが, 漢字が含まれている場合は欧文の Typewriter 体と 漢字の明朝, ゴシック体 の幅の比率が 1:2 になっていない為, 図が崩 れてしまいますbegin{verbatim}
nantara kantara
kakukaku shikajika
\end{verbatim}
NTT J の場合は全ての日本語フォントの幅が同じである為, justhalf.mf というフォントを Typewriter 体の代わりに使用すれば
この問題はクリアされますが, ASCII 日本語
やp
の場合は, 日本語フォ
ントの幅が一定ではなく, 括弧や句読点の幅が他の日本語フォントより狭くなっ
ている為, この方法は残念ながら使用出来ません。
そこで私は, 以前 NIFTY-Serve の FLABO に テキストファイルを ASCII 日本語
, p
, 及び NTT J
に於いて画面で見たイメージ通りに出力されるよ
うな入力ファイルに変換するツール ``jh.exe'' 及びそのスタイルファイルを発
表しました。
しかしながら ``jh.exe'' は全角フォントの幅の中に無理矢理Typewriter
フォントを 2 文字詰め込むというアルゴリズムを用いていた為に若干欧文部分
が窮屈に見えます。特に NTT J の場合は ASCII p
よりも全角フォント
の幅が狭い為, この現象が顕著に現れてしまいます。
そこで, 今回はテキストファイルを EPSF に変換するツール ``t2eps'' を作成 して, 半角文字を全角の丁度半分にする試みを行いました。
図 は
の Typewriter 体を使用した例で
すが, 半角文字の幅が全角の半分になっていない為, 一行目と二行目では文字列
の長さが異なってしまいます。図
は今回作成した変換
ツールで EPSF に変換したファイルを取り込んだ例です。半角文字が全角文字の
丁度半分になっている事を確認して下さい。更に半角カタカナが含まれていても,
正常に表示出来ます。
Figure: t2eps で変換して取り込んだ場合
ここで, いきなり話は変わりますが, 私は UNIX を使用する機会が多いのですが
kterm や xterm 上で動作させているアプリケーションのイメージをそのまま
の図に使用したい事が多々あります。X-Window 上で使用している事が多
いので, xwd コマンドや xv
を使用してスクリー
ンショットを取って EPSF に変換して取り込む方法は従来から行っていましたが,
xwd にしても xv にしても変換結果はビットマップ
になってしまいます。ビットマップの場合はどうしても拡
大や縮小を行うといわゆる「ギザギザ」が目立ってしまいます。実際にはテキス
トしか使用していないのですから, なんとかテキストだけの EPSF に出来ないも
のかと考え, VT-100 のエスケープシーケンスを疑似的に処理させる方法を思い
付きました。MS-DOS の場合も ANSI のエスケープシーケンスをサポートしてい
ますから
, 純粋なテキストアプリケー
ションの場合はリダイレクトした結果を ``t2eps'' に処理させる事によって
EPSF に変換する事が出来ます。また, エスケープシーケンスを吐き出せるイメー
ジカッターを使用すれば直接 VRAM を操作している為にリダイレクトする事が出
来ないアプリケーションの画面イメージも EPSF に変換する事が出来ます。
更に ``t2eps'' は PC98 特有の罫線コードを JIS 罫線に変換する機能も有して
います。
これらの機能を大雑把に表しているのが, 図 の変
換結果です。この元のテキストは私が入社したての頃にエ○ロジーを真似て, 某
社の某汎用機の FD 用に PC98 上で作成したツールをイメージカッター
で切り取ったもの
です。この図で使用している罫線コードは PC98 特有のものですが, ``t2eps''
でJIS 罫線に変換しています。