Let's PostScript(7) テキストの描画の基本
ポイントについて
DTPの一般的な話となるのですが、描画位置を指定するのにポイントという単位を使います。 ポイントにもいろいろな種類がありますが、PostScriptで用いるのはDTPポイントと呼ばれるものです。 もともとはXeroxのローカル仕様だったものですが、AdobeがPostScriptで採用したことが決定打となり、デファクトスタンダートとなって現在に至っています。
1ポイント=1/72インチ=0.3528mm
※1インチ=2.54センチ
座標変換や空間の種類を説明する際に詳細を説明する予定です。
テキスト描画の基本
テキスト描画の基本となるスクリプトを以下に記します。
/Times-Roman findfont 12 scalefont setfont 0 720 moveto (Sample Text) show
これでshowpageすれば、TimesRomanフォントでSampleTextが描画されるのを確認できます。
このプログラムは、以下の処理を行っています。
/Times-Roman findfont
findfontオペレータはフォント名のリソースを探索し、存在している場合にはフォントの定義を仮想メモリに格納し、フォントの定義を格納したフォント辞書をOperandStackに格納する。
12 scalefont
OperandStackからフォント辞書とグリフサイズの指定を受け取り、グリフサイズを反映させたフォント辞書をOperandStackへ格納する
setfont
OperandStackからフォント辞書を受け取り、グラフィックス状態のフォント辞書へ反映する
0 720 moveto
描画位置を X=0 y=720ポイントへ移動する
(Sample Text) show
OperandStackへ(Sample Text)の文字列Objcetを格納する。showオペレータはOperandStackから文字列Objectを受け取り、カレントフォント(グラフィックス状態のフォント辞書)で文字列を描画する。
とりあえず、テキスト描画をしたかったので、最低限の部分を押さえました。
詳細はフォントを学ぶ際に抑えていこうと思います。
PostScriptは標準で以下のフォントはまず使用可能です。
- /Times-Roman(タイムズローマン)
- /Helvetica(ヘルベチカ)
- /Courler(クーリエ)
使用可能なフォントの一覧は以下のスクリプトを実行するとえることができます。おそらくはものすごい量が出てきます。
(*) {==} 256 string /Font resourceforall
次は、ユーザー空間とデバイス空間を押さえていきたいと思います。