はじめに



next up previous
Next: おまけの紹介 Up: テキストから Encapsulated POSTSCRIPT File Previous: テキストから Encapsulated POSTSCRIPT File

はじめに

はプロポーシャナル・スペーシング, ligature, kerning 等の様々な処理 をしてくれるため, 非常に美しい出力が得られます。反面, 画面のイメージを, そのまま出力したい場合には, これらの機能があだとなってしまう事があります。 欧文だけの文書の場合は

\begin{verbatim}
nantara kantara
kakukaku shikajika
\end{verbatim}
等のように verbatim 環境等を使用すれば, この問題は難無く クリアされますが, 漢字が含まれている場合は欧文の Typewriter 体と 漢字の明朝, ゴシック体 の幅の比率が 1:2 になっていない為, 図が崩 れてしまいますgif

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'' を作成 して, 半角文字を全角の丁度半分にする試みを行いました。

gifTypewriter 体を使用した例で すが, 半角文字の幅が全角の半分になっていない為, 一行目と二行目では文字列 の長さが異なってしまいます。図gif は今回作成した変換 ツールで EPSF に変換したファイルを取り込んだ例です。半角文字が全角文字の 丁度半分になっている事を確認して下さい。更に半角カタカナが含まれていても, 正常に表示出来ます。

    
Figure: Typewriter 体の場合


Figure: t2eps で変換して取り込んだ場合

ここで, いきなり話は変わりますが, 私は UNIX を使用する機会が多いのですが kterm や xterm 上で動作させているアプリケーションのイメージをそのまま の図に使用したい事が多々あります。X-Window 上で使用している事が多 いので, xwd コマンドや xvgif を使用してスクリー ンショットを取って EPSF に変換して取り込む方法は従来から行っていましたが, xwd にしても xv にしても変換結果はビットマップgifになってしまいます。ビットマップの場合はどうしても拡 大や縮小を行うといわゆる「ギザギザ」が目立ってしまいます。実際にはテキス トしか使用していないのですから, なんとかテキストだけの EPSF に出来ないも のかと考え, VT-100 のエスケープシーケンスを疑似的に処理させる方法を思い 付きました。MS-DOS の場合も ANSI のエスケープシーケンスをサポートしてい ますからgif, 純粋なテキストアプリケー ションの場合はリダイレクトした結果を ``t2eps'' に処理させる事によって EPSF に変換する事が出来ます。また, エスケープシーケンスを吐き出せるイメー ジカッターを使用すれば直接 VRAM を操作している為にリダイレクトする事が出 来ないアプリケーションの画面イメージも EPSF に変換する事が出来ます。

更に ``t2eps'' は PC98 特有の罫線コードを JIS 罫線に変換する機能も有して いますgif

  
Figure: t2eps で変換した例

これらの機能を大雑把に表しているのが, 図gif の変 換結果です。この元のテキストは私が入社したての頃にエ○ロジーを真似て, 某 社の某汎用機の FD 用に PC98 上で作成したツールをイメージカッター gifで切り取ったもの です。この図で使用している罫線コードは PC98 特有のものですが, ``t2eps'' でJIS 罫線に変換しています。



Mon Jan 27 20:43:04 1997