C言語によるプリンタエミュレータ開発

初めて仕事として経験したのがプリンタエミュレータ開発でした。 プリンタは「印刷装置」と日本語では呼ばれますが、「装置」と呼ぶほど単純なものではありません。 PCが、プログラムで動作し、結果を画面に表示するのと同じ仕組みを、プリンタは内蔵しています。 つまり、CPUとメモリを備えており、印刷物を表現する為の「プログラム言語の様なもの」を処理した結果を、画面ではなく紙の上に出力するわけです。 当時は、この「印刷物を表現するプログラム言語の様なもの(PDL)」を、メーカーが独自に開発してプリンタに実装していました。 つまり、他のメーカーのPDLを解釈する「エミュレータ」を搭載すれば、そのメーカーの「互換機」とする事ができ、顧客を奪う事ができる、というワケですね。 私の場合は、海外のメーカーからの依頼で、国内メーカーのPDLエミュレータをC言語で開発する、というのが内容でした。 開発に使用したのは、SunのUNIXワークステーションで、言語はC。 一番、苦労したのは、設計書を英語で書かなければならなかった点でした。 ちなみに、このエミュレータソフト、発注元の会社と契約トラブルが発生して、結局は日の目を見ずに終わりました。 かなり良い出来ではありましたが、世の中、上手くいかないものです。