ESC/P

ESC/P (Epson Standard Code for Printers) とは、セイコーエプソン株式会社（以下エプソン）によって開発された、コンピュータ用プリンターを制御するためのプリンター制御言語であり、Escape/Pと表記されることもある。かつては主にドットインパクトプリンターおよび一部のインクジェットプリンターで使用されたほか、レシート印字用のサーマルプリンターでは引き続き多数の製品で採用されている。ドットインパクトプリンターの全盛期には、他のメーカー（NECなど）にも採用され、そのさいにわずかな改変を伴う場合もあった。この期間、ESC/Pは印刷物を整形するための一般的な仕組みであり、ソフトウェアでも広範にサポートされた。

語源 
ESC/Pの名称はエスケープシーケンスの先頭で使用される文字、すなわちエスケープ文字「ESC」（ASCIIコードの27番）に由来している。一例として、「ESC E」によりボールド（太字）フォントの使用開始を指示し、「ESC F」によりボールドフォントの使用終了を指示する。時系列上はESC/Pのほうがずっと以前から導入されていたが、エプソン製のドットインパクトプリンターであるLQシリーズの普及に伴って知られるようになったために、ESC/Pの制御コードはしばしば「エプソンLQコード」とも呼ばれる。

バリエーション 
ESC/Pにはいくつかのバリエーションがあり、プリンターによっては全てに対応していないこともある。
 「ESC/P J84」は、日本語のサポートが追加された特別版。
 「ESC/P2」は、エプソンによるESC/Pのより新しいバリエーション。ESC/P2はESC/Pとの後方互換性を備えるが、スケーラブルフォントや画像印刷など、プリンターの新機能のためのコマンドが追加されている。
 「ESC/P-R」は、エプソン製インクジェットプリンターの現行製品の多くで採用されている。
 「ESC/POS」は、POS端末で一般的に採用されているレシート用プリンターを制御するためのバリエーション。オープンソースのプロジェクトによって、ほとんどのESC/POSに対応したプリンターおよびそれらの機能が公開されている。
 「ESC/P-K」は、中国語のサポートが追加された特別版。

近況 
2014年時点では、エプソン製品以外でESC/Pをサポートするプリンターは業務用でも個人用でも少数となっており、概ねPCLやPostScriptなどの標準規格となっているページ記述言語、ないしはなどのプロプライエタリなプロトコルに置き換えられた。

なお、レシート印字用のサーマルプリンターでは引き続きESC/POSが採用されている。

エプソン製品については、ドットインパクトプリンターでは全ての現行製品でESC/Pがサポートされており、レシート印字用のサーマルプリンターでは全製品でESC/POSがサポートされ、インクジェットプリンターでも一部製品でESC/Pのいずれかのバリエーションがサポートされているとみられる。のウェブサイトにはソースコードのサンプルが掲載されている。

脚注

関連項目 
 CUPS - macOSおよびLinux用印刷システム

外部リンク 
 エプソンによるESC/Pリファレンスマニュアル Dec 1997, 2002 Addendum, June 2004
 プリンタードライバー開発キット ESC/P-R Library
 
 List of Epson FX printer codes
 Gutenprint Git view of escp2.xml
 The Developer's Guide to Gutenprint, Chapter 5: ESC/P2
 Source of Epson P-R driver for Linux

セイコーエプソン
ページ記述言語