2010/09/26 PostScriptで書かれたWebサーバ redditを見ていたら、PostScriptでwebサーバを書いてしまった人達がいる[ps-httpd]。PostScriptではソケットのプログラミングはできないので、プリンタの待ち受けポート(e.g. 9100)を使うわけだが面白い。本来の目的とは違うプログラミングをしてしまった例は色々あるようだ。コメントにあったのはTeXでBASICのインタプリタを書く[pdf]というのがあった (TeXでインタプリタを書いた例は他にもあったような気がする)。 投稿者 zubora 投稿時間 17:12 ラベル: Funny, Programming 0 コメント: コメントを投稿
Stack manipulation exch num1 num2 exch num2 num1 pop any pop - copy any[0] ... any[n-1] n copy any[0] ... any[n-1] any[0] ... any[n-1] copy has array, sequence, dictionary, string forms dup any dup any any index any[n] ... any[0] n index any[n] ... any[0] any[n] roll any[n-1] ... any[0] n j roll any[j-1 mod n] ... any[j mod n] rolls to right (left if j negative) clear * any[1] ... any[n] clear * *
Obfuscated PostScript Contest 1993 の BEST OBFUSCATED ARTWORK で 1 位に選ばれた早川たかし氏の Tiny_RayTracing.ps を読んでみました。 プログラムは http://web.mit.edu/PostScript/obfuscated-1993/Tiny_RayTracing.ps を見てください。 一通り前から順に読む /A/copy/p/floor/q/gt/S/add/n/exch/i/index/J/ifelse/r/roll/w/div で、名前と使用する命令の名前をスタックに積み上げています。 /H{{loop}stopped Y}def で、スタックトップにある実行可能配列をエラーになるまでループを繰り返すという手続きに H と名前をつけています。Y は後で pop と定義されます。 /t/and/C
最新記事(inside out)へ | 年と月を指定して記事を読む(クリック!) / 2001/ 2002/ 2003/ 2004/ 2005/ 2006/ 2007/ 2008/ 2009/ 2010/ 2011/ 2012/ 2013/ 2014/ 2015/ 2016/ 2017/ 2018/ 2019/ 2020/ 2009年12月 を読む << 2010年1月 を読む >> 2010年2月 を読む PostScriptはプログラミング言語である。あまりにも、当たり前のことだが、それを意識したのは、1993に開催された『第1回国際邪悪なPostScriptコンテスト(1st International Obfuscated PostScript Contest)』でBest Artwork賞を受賞した、PostScriptでRay Tracingを見た時です。このPostScri
基礎文法最速マスターがはやっているみたいなので便乗します。 ほんとは Lua について書くつもり……というか書いていたんですけど、完成するより前に 良いもの。悪いもの。: Lua基礎文法最速マスター があがってました。 最近、基礎文法最速マスターというプログラミング言語の解説が流行ってるようなので、便乗してみた。個人的にはC++やPythonの方が慣れ親しんでいるのだが、自分でも勉強できるように普段使っていない言語を書いてみることにした。 良いもの。悪いもの。: Lua基礎文法最速マスター うんうん。わたしも勉強のために普段使ってない言語にするか。たまたまさいきん Ghostscript づいていたので PostScript にしようと思いました。 なにぶん初学者なのでいろいろ間違いがあればご指摘ください。とゆーか、詳しい人がよりよい最速マスターや補遺を書いてくださるとうれしいです。 下記
This manual has been available on this site since about 1996, with improvements taking place frequently. The current version has been published as a book of about 350 pages by Cambridge University Press. By agreement with the Press, however, it will remain posted on this web site. Many improvements in the current version over previous ones are due to the (anonymous) referees of the Press, whom I w
マクロ PS言語ではマクロ定義が使える。例えば前述のたくさんの円を書くプログラムでは、 後で円の半径を変えたくなったとき、プログラムを書き換えてもう一度実行するか PSファイルの中身の半径部分を全て置換しなくてはいけない。このとき半径を 定数として定義しておき、以下全ての円は定数を使って描画すると便利だ。 PS言語での定義は以下のように行う。 /R 8 def %半径の定義 マクロ定義は「/変数名 値 def」という順序を取る。defは二つの引数を取る命令で、 値と変数名を結びつける役割をする。後で変数を参照する場合は 100 100 R 0 360 arc と/をつけないで変数名を書く。 実はdefは変数の値を完全に文字列で展開している。すなわち、値だけでなく、一連の 命令を定義してしまうことも可能である。先ほどの例でいえば /R 8 def %半径の定義
1985年 - PostScript Level 1。初期バージョン。 1990年 - PostScript Level 2。日本語やカラー化対応。 1996年 - PostScript 3。PDF形式への対応。(Level 3は正式名称ではない) PostScriptは1985年にApple Computerのレーザープリンター、LaserWriterに採用された[1]。モトローラ68000プロセッサと1.5メガバイトのRAMを搭載したこのプリンターは、プリンターでありながら当時のパーソナルコンピュータと同等の計算能力を持ち、それ自身が PostScript インタプリタを実行してページを生成した。同じ年、ライノタイプによりPostScriptを採用したイメージセッタが発表された。 当時はコンピュータとプリンター間の通信速度の遅さが、印刷物の品質向上のネックになっていた。しかし、プリンタ
Introduction ◆◇◆ postscript の基本 ◆◇◆ postscript は 逆ポーランド記法に則る. postscript は「逆ポーランド記法」に基づいて記述されている. 「逆ポーランド記法って何?」尤もな質問だと思う. この頁を書く為に調べるまでは その存在すら知らなかったし, 今も よく知らない. だが, それでは説明にならないので, 簡単に言うと‥‥‥ postscript viewer は, postscript file を上から一行ずつ実行していく. postscript file に現れる数字 及び 文字列は 全て「object」と呼ばれ, object は「literal」( = data ) or 「executable」に分けられる. literal ならば その情報を「stack」( data の格納庫とでも思えば良い. ) に保存し
小学生の頃, 算術か図画か工作の教科書に正五角形の書き方が載っていた. 正三角形, 正方形, 正六角形ならコンパスで描けるが, 正五角形は分度器を使うものと思っていたから, この方法には驚かされた. その後, 1辺の長さ1の正五角形の対角線の長さが(√5+1)/2であることを知ると,なんのことはなく, 驚きは霧散した. この描き方は正五角形の書き方をサーチエンジンで探せばあるだろうが, 図のように底辺ABを引く. 辺の長さを1とする. その中点Cから垂線を立て, CD=1の点Dをとり, ADをDの方向へ延長してDE=1/2に点Eをとる. AEに等しくCDの延長線上にAFをとると, Fは正五角形の頂点になる. 正五角形をPostScriptで描くのは簡単だ. /l 200 def % 辺の長さ 0 0 moveto % 左下の位置へ移動 0 72 216 {dup cos l mul exc
This is the fifth edition of the First Guide to PostScript. It differs from the previous editions in that a number of errors which people have brought to my attention have been fixed and a number of common reader questions have been addressed. I have also added some information on how to work with colors and raster graphics. It is my hope that this document is now stable and reasonably error-free.
MITのHakmemには意外な話題がたくさんある. プロッタで「円を描くアルゴリズム」もその1つだ. newX=oldX-epsiron*oldY newY=oldY+epsiron*newX 下の式で, newXを使うところがなんとなく怪しげなところ. さっそくPostscriptでやってみる. 200 200 translate /x 100 def /y 0 def /eps 0.01 def x y moveto 1 1 628 {pop /x x y eps mul sub def %x=x-eps*y /y y x eps mul add def %y=y+eps*x x y lineto } for stroke とやるとちゃんと円が描ける. 一方, yの計算に昔のxの値を使うには, Postscriptのスタックを活用し /x x y eps mul sub /y y x
Bluebook Adobe 社が公開している PS プログラミングのチュートリアル。 これを読みながらソースを書けば,一通りの描画プログラムは 作れる。 Postscript Language Reference Manual(PLRM) Adobe 社が公開している PS プログラミングのリファレンスマニュアル Overview of Ghostscript Ghostscript の解説 Invoking Ghostscript PS から他のビットマップ画像への変換はここに説明がある Postscript プログラミングメモ Postscript のソースを書くためのメモ。 入門からちょっと高度なプログラミングまで。 PS のライブラリ 小波が必要に応じて作っているライブラリ 星の絵を描く これを解読できたらえらい! Postscript/Ruby Ruby で Postsc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く