掴んだ物(技術)はちゃんと食べる記録帳

興味を持ったものに対する足跡を残していくために作成しました。勉強しながら書いているので、間違いや短絡もあると思います。ご指摘いただけると喜びます。

PostScript

Let's PostScript(11) [1 2 3] [1 2 3] eq はなぜfalseなのか

以前の記事 hlsme.hatenablog.com で以下のようなことを言っていて、宿題だと書いていました。 本を見ると、eqオペレータとneオペレータは任意のObjectが比較できるようなのですが、配列でやってみたところ、うまくいきませんでした。 このあたりよくわから…

Let's PostScript(10) ユーザー空間とデバイス空間

ようやく、座標系の話にたどり着きました。Page描画まであと少しです。 ユーザー空間 PostScriptユーザが描画を行う際にPostScriptは「何に対して描画するか」を意識させない仕様になっています。 それが、15インチの640dot×480dotの古いブラウン管のディス…

Let's PostScript(9) 辞書Objectとカレント辞書

おきて破りの一日2記事です(笑) 辞書Object 辞書Objectは配列Objectと非常に似ていますが、データの管理の仕方が異なっています。 配列Objectの場合、データの管理はデータの配置順(Index)なのに対し、辞書ObjectはKeyとValueの組み合わせで管理します。 そ…

Let's PostScript(8) 配列とその動作の推測

もう少し早く、学んでおくべきだったようにも思えますが、座標系の話をする前に、配列Objectと辞書Objectについてまとめておこうと思います。 どうもそろそろ、このあたりも抑えないと先に進めないようです。 配列Object 複数のObjectを1つにまとめるObject…

Let's PostScript(7) テキストの描画の基本

ポイントについて DTPの一般的な話となるのですが、描画位置を指定するのにポイントという単位を使います。 ポイントにもいろいろな種類がありますが、PostScriptで用いるのはDTPポイントと呼ばれるものです。 もともとはXeroxのローカル仕様だったものです…

Let's PostScript(6) 繰り返し処理と算術オペレータ

繰り返し処理と算術オペレータ PostScriptの繰り返し処理を順番に紹介すると同時に、その中で算術オペレータも使っていこうと思います。 一番わかりやすいのはrepaetオペレータだと思います。このようなものです。 回数 手続きObject repeat repeatオペレー…

Let's PostScript(5) 手続きObjectと制御オペレータ

手続きオブジェクト {.....}は実行可能の属性持つ配列のObjectです。手続きObjectと呼ばれます。 手続きObjectは今まで見てきた”dup”や"copy"といった実行可能の属性を持つオブジェクトとは大きな相違があります。 それは、インタプリタがObjectを検出した時…

Let's PostScript(4) 関係オペレータで比較する

関係オペレータ 制御をおこなうためには、2つのObjectを比較評価する必要があるわけで、このような処理を行うオペレータを関係オペレータ(Relational Operator)といいます。 Post Scriptの比較評価結果はtrueとfalseのみです。 文法は object1 object2 xx …

Let's PostScript(3) Operand Stackの操作

今日は久しぶりの飲み会でした。送別会だったのですが。そんなわけで、今日は簡単に済ませます。 StackはLIFO(Last In First Out) Stackは達磨落としのような感じで最後に入れた(Push)Objectが最初に出てきます(Pop)これをLIFOといいます。 実際に、Ghost …

Let's PostScript(2) ObjectとOperand Stack

前回以下の実行結果で出てくるGS<...>のカッコ内の数字は何者かというところで話を切りましたが、これはいまOperand Stackに積まれているStackの段数を示しています。 GS>/Helvetica GS<1>findfont GS<1>20 GS<2>scalefont GS<1>setfont GS>0 0 GS<2>moveto …

Let's PostScript(1) Hello World!!

教材と環境 いまさらながら、PostScript(一部PDF)について、ざっくりと勉強していこうと思います。 使用する教材は、いわゆる赤本です。 環境はGhostScriptのVersion9.52を用います。 対話モードで遊ぶ 引数なしでGhostScriptを起動すると、対話モードで起動…