サーマルプリンターのプロトコルは軽く見られがちです。USB や Wi-Fi で認識され、接続も受け付けているのに、出てくるのは白紙のラベルやコマンド文字列だらけの用紙、ということが起こります。接続は成立していたのです。プリンターがラベルを記述している言語を理解できなかっただけです。
結論から言うと、生コマンドを送る対象としては ZPL II が現実的な第一候補です。主要メーカーの多くが互換モードを文書化しているからです。TSC の機器が多い現場では TSPL または TSPL2 が有用な第二候補になります。EPL2 は既存アプリを支え、Brother Raster は QL シリーズ向けに独立したコマンド経路を開きます。その他の言語は、顧客のハードウェアや既存アプリが求めたときに重要になります。この先では、人気ランキングよりも需要に基づくロードマップのほうが役立つ理由を説明します。
本ガイドは、サーマルラベルプリンターとモバイルプリンターが使う主な生コマンド、ラスター、保存テンプレートの経路を扱います。互換性の例は 2026 年 9 月 1 日時点で入手できたメーカー文書と照合しました。サポートを約束する前に、正確な機種、ファームウェア、解像度、装着オプションを必ず確認してください。
プリンター言語は層のひとつにすぎない
プロトコルという言葉は、印刷のまったく別の部分に対して使われがちです。層を分けて考えると、互換性の問題は格段に切り分けやすくなります。
USB、Bluetooth、シリアル、Wi-Fi、Ethernet、生 TCP、LPR、IPP はジョブをプリンターまで運びます。ラベルのレイアウトは決めません。
ZPL、EPL、TSPL、CPCL、DPL はラベル上のオブジェクトを記述し、多くの場合は用紙、ステータス、保存領域、後処理の制御も提供します。
PDF、PWG Raster、JPEG、メーカー独自のラスターストリームは、ページやその画素を表します。それでもジョブ属性や個別のデバイスコマンドが、用紙、カット、はく離モードなどのハードウェアを制御することがあります。
Code 128、EAN-13、Data Matrix、QR Code は、データをどうバーやモジュールに変えるかを定めます。その記号を配置し生成するのがプリンター言語です。
たとえば ZPL のジョブは USB でも Bluetooth でもネットワークでも送れます。TCP ポート 9100 はプリンター向けページ記述言語のデータストリームとして登録されていますが、その中を流れるバイト列は依然としてプリンターが理解できる言語である必要があります(IANA のサービス登録)。IPP はジョブ管理のプロトコルです。クライアントは DNS-SD でプリンターを見つけ、IPP で機能を問い合わせ、ジョブを送り、ステータスを受け取れます。それでもジョブには、プリンターが公表している文書形式、たとえば PWG Raster、JPEG、PDF が必要です(RFC 8011、PWG の IPP ガイド)。
ドライバー不要の印刷はオフィス用プリンターでは当たり前になりましたが、産業用ラベルプリンターは目立った例外のままです。OpenPrinting は、いまだにドライバー、printer application、または生の言語経路を必要とする典型例として、産業用ラベルプリンターやその他の垂直市場向け機器を明示しています(OpenPrinting のドライバーに関する指針)。
同じラベルに対する 3 つの統合パターン
ラベルを直接印刷する実装の多くは、3 つのパターンのいずれかを取ります。どれかが常に最良ということはなく、互いに排他でもありません。保存テンプレートを使うワークフローは、たいていネイティブのコマンド言語かプリンターのファームウェアの上に成り立ちます。正しい選択は、レイアウト処理をホスト側にどれだけ残すか、プリンター側にどれだけ移すか、そして何系統のプリンターが同じデザインを共有するかで決まります。
| モデル | アプリが送るもの | 主な利点 | 主なコスト |
|---|---|---|---|
| ネイティブのコマンド言語 | 位置、フォント、バーコード、用紙、印刷枚数を指定するテキストコマンド。 | ジョブが小さい、バーコードをプリンターが生成、ステータスと機器の制御、保存フォーマット。 | 言語やエミュレーションごとに専用のレンダラーとテスト環境が必要。 |
| ラスターストリーム | 1 ビットまたは限定色の完成したビットマップと、機種固有の設定・給紙コマンド。 | アプリが単一のレイアウトエンジンで最終的な見た目を決められる。 | データ量が大きい、ドットの正確なパッキング、用紙テーブル、向き、機種ごとの癖。 |
| 保存テンプレート | テンプレートを一度だけ登録し、以後は可変テキスト、バーコードデータ、テンプレート番号だけを送る。 | 運用時のジョブが非常に小さく、単体で完結するワークフローも組める。 | テンプレートの配布、バージョン管理、同期、そして実行時のレイアウト変更が限られる。 |
コマンド言語がラスター出力より必ず正確、というわけではありません。責任の置き場所がプリンター側に移るだけです。ネイティブのバーコードコマンドは記号の計算をファームウェアに任せます。一方ラスター経路では、アプリでもドライバーでも構いませんが、ホスト側にプリンターの最終解像度で一本ずつバーを描くパイプラインが必要です。各ビットマップを対象プリンターのネイティブ解像度で生成し、その後拡大縮小しないなら、共通のレンダラーでも機種別ラスターバックエンド間で意図した形状を保てます。
ドライバーは、プリンターの全機能を開放しなくても、この変換を扱いやすくできます。ハネウェルの CUPS 技術資料では、PDF や PostScript をラスター化して Direct Protocol のグラフィックとして包む一方、Fingerprint、IPL、DPL の生ジョブはパススルーのキューを通ります。そのドライバー経路ではカッターも RFID も使えません。見た目の忠実さと機器制御は別物だと再確認できる例です(ハネウェルの CUPS 技術資料)。
よく使われる言語の見分け方
取得した印刷ジョブは、機種が分かるより先に言語を教えてくれることが多いものです。以下は見分けるための特徴であって、そのまま印刷できる完全な例ではありません。
| 言語 | 典型的な形 | その形が意味すること |
|---|---|---|
| ZPL II | ^XA ... ^FO ... ^FD ... ^XZ | フォーマットが始まり、フィールドが配置・充填され、フォーマットが終わる。 |
| EPL2 | N、続いて A または B のフィールド、最後に P1 | イメージバッファをクリアし、テキストかバーコードを追加し、ラベルを 1 枚印刷する。 |
| TSPL または TSPL2 | SIZE、GAP、CLS、TEXT または BARCODE、PRINT | 読める形の設定・描画コマンドがラベルを組み立てる。 |
| CPCL | ! 0 ...、レイアウトコマンド、FORM、PRINT | モバイル印刷向けの ASCII ラベル形式で、ジョブヘッダーが明示されている。 |
| Brother Raster | バイナリの初期化、制御バイト、繰り返されるラスター行、最後に印刷コマンド。 | ラベルはプリンターに届く前にドットへ変換済み。 |
| ESC/POS | エスケープやグループ区切りの制御バイトがテキストや画像データと混在。 | レシート寄りのストリームで、行レイアウト、カット、ステータス、任意のラベル機能を制御する。 |
ZPL II:現実的な互換性の土台
ZPL は Zebra Programming Language の略です。ZPL II は現行の仕様書で ZPL と書いたときに通常指す新しい系統ですが、ゼブラ自身が元の ZPL と完全な互換ではないと注記しています。ラベルのフィールド、フォント、図形、グラフィック、バーコード、連番、保存フォーマット、プリンター設定、ステータスを扱う ASCII ベースのコマンド言語です。ゼブラのプログラミングガイドは、保存テンプレートやダウンロードしたグラフィックを含め、フォーマット系と制御系の両方のコマンドを文書化しています(ZPL プログラミングガイド)。
その重要性はゼブラのハードウェアにとどまりません。現行または近年の製品は、TSC の ZPL2 エミュレーション、ハネウェルの ZSim2、SATO の SZPL、BIXOLON の BPL-Z、GoDEX の GZPL といった名称で ZPL 互換モードを文書化しています。シチズンは CL-E303 で ZPL2 を Datamax や EPL2 のエミュレーションと並べて記載しています(シチズン CL-E303 の仕様)。東芝も一部機種で自社ネイティブの TPCL と並べて ZPL II を挙げています。
そのため、複数メーカーに対応する生印刷の製品にとって、ZPL II は現実的な最初の言語になります。ただし、すべての ZPL コマンドがどこでも同じように動くという意味ではありません。フォント、RFID コマンド、ダウンロードしたオブジェクト、用紙キャリブレーション、ステータス応答、比較的新しいコマンドは、差が出やすい箇所です。製品は「検証済みの ZPL プロファイルに対応」と表明すべきで、すべての ZPL プリンターが置き換え可能だと主張すべきではありません。
EPL と EPL2:今も価値のあるレガシー対応
EPL は Eltron Programming Language の略です。EPL2 のページモードは、配置済みフィールドを持つ完全なラベルを記述します。EPL1 互換のラインモードはより古く単純で、EPL1 流の行単位の出力になり、レイアウト上の制約が大きいものです。ゼブラはラインモードについて、要素の細かな配置、要素の重ね合わせ、水平方向のラダー型バーコードには向かないと説明しています(ゼブラの EPL ラインモード解説)。
ゼブラは既存アプリとの互換のために EPL2 の文書を維持しており、現行機種のいくつかも EPL2 または EPL2 エミュレーションを掲げています。ASCII テキスト、バーコード、グラフィック、フォーム、変数、カウンターのコマンドを扱う完全版のプログラミングガイドも引き続き入手できます(EPL プログラミングガイド)。
実務上の制約は重複です。本ガイドで挙げた現行例のいくつかは、EPL と ZPL の両方を記載しています。したがって、EPL の互換性が広く文書化されていても、ZPL のあとに EPL を足して何台増えるのかは分かりません。それでも、既存顧客が EPL のテンプレートを持っている場合や、テスト機がすでに対応している場合は、早めに加える判断は妥当です。
ZPL に収まったレイアウトが EPL にも収まるとは限りません。ゼブラは ZPL について TrueType、OpenType、スケーラブルフォント、Unicode マッピングの機能を文書化していますが、EPL は同じスケーラブルフォントのオブジェクトを使えません。対象となる実装ごとに、実際の文字セット、フォントメトリクス、折り返し、代替フォントの挙動を確認してください。
TSPL、TSPL2、TSPL-EZ
TSPL と TSPL2 は TSC のラベル組版言語です。同じ系統ですが、まったくの同義ではありません。公式の合本マニュアルが両者の機種差とコマンド差を示しています。読める形のコマンドで、ラベルサイズ、ギャップまたはブラックマーク、方向、濃度、テキスト、バーコード、ビットマップ、カウンター、ファイル、印刷枚数を設定します(TSPL および TSPL2 プログラミングマニュアル)。
TSPL-EZ は TSC の互換・エミュレーション系統であって、TSPL コマンドの別表記ではありません。接尾辞と対応エミュレーションは機種ごとに異なります。たとえば TSC は RE310 の言語を TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS と記載しています(TSC RE310 の製品ページ)。他の TSC 機種では、別の TSPL-EZ の派生や別の互換セットが記載されることもあります。
ラベル用アプリにとって、TSPL のネイティブ対応が効いてくるのは、TSC 機が顧客の保有台数の中で相応の割合を占める場合です。エミュレーションは開発時に TSC 機を役立てもしますが、あらゆる境界条件で出力がエミュレート対象言語のネイティブ実装と一致する証拠とはみなせません。
ブラザーには 2 つのコマンド世界がある
ブラザーは分類を誤りやすいメーカーです。製品系統ごとに統合モデルが同じではないからです。もっとも分かりやすいのが QL 系です。ブラザーの開発者向け対応表は、QL-820NWB と QL-820NWBc を Raster、ESC/P、P-touch Template 対応として挙げています。QL-800 は Raster のみ、その他いくつかの QL 機種はそれぞれ別の組み合わせです(ブラザーのコマンドリファレンスの機種対応表)。
これらが現時点で文書化されている QL-820NWBc の標準コマンドインターフェイスです。ただし機種の接尾辞や地域差は重要です。QL-800 シリーズの古い欧州版公式資料には、QL-820NWB について ZPL II エミュレーションを upon request として案内していたものがあります(ブラザー欧州の QL-800 シリーズ資料)。どの QL-820 についても ZPL を断定する前に、機種の接尾辞、地域、ファームウェア、オプション構成を確認してください。この世代の QL で明確に文書化された直接経路は Raster のままです。
ラベル全体をドットに変換し、初期化、用紙情報、ラスター行、印刷コマンドを送ります。レイアウトとバーコード描画をアプリ側がすでに担っている場合に最適です。
完成したビットマップではなく、描画とテキストのコマンドを送ります。ブラザーが自社プリンター向けに調整した言語で、レシート向けの ESC/POS とは別物です。
用意したテンプレートをプリンターへ転送し、スキャナーやパソコンなどからテキストとバーコードのオブジェクトを流し込みます。レイアウト全体を作り直す必要はありません。
ブラザーの QL-800 シリーズ向けラスターリファレンスによると、ジョブは初期化コマンド、制御コード、ラスターデータ、印刷コマンドで構成されます。さらに機種ごとのページサイズ、余白、解像度、圧縮、カット、2 色ラスターデータも定義しています(Brother QL Raster のコマンドリファレンス)。つまりラスターは見た目の移植性を単純にしますが、機種固有の作業をなくすわけではありません。統合には、正しい用紙識別子、ドット寸法、向き、圧縮、ステータス処理、カット動作が引き続き必要です。
Brother Raster は特定機種系統の独自コマンドストリームです。PWG Raster は標準化された文書形式で、通常は IPP 経由で送られます。どちらも画素を記述しますが、構造もコマンドも相互運用性も異なるため、置き換えはできません。
ブラザーの RJ、TD、TJ の一部機種は別のグループを形成します。ここではブラザーが FBPL に加え、機種に応じて ZPL、EPL、CPCL、DPL、ESC/POS のエミュレーションを文書化しています。RJ-2035B では、ダウンロード可能なファームウェア FBPL-EZC が EPL2、ZPL2、CPCL を、FBPL-EZP が EPL2、ZPL2、ESC/POS を提供します。したがって、導入済みファームウェアを確認せずに CPCL と ESC/POS を同時に約束すべきではありません(ブラザー RJ のファームウェアに関する FAQ)。別冊の EPL ガイドには、そのエミュレーションが対応するコマンドが一覧化されています(ブラザーの EPL エミュレーションガイド)。
CPCL と ESC/POS:モバイルとレシート向けの経路
CPCL は Comtec Printer Control Language の略です。ラベル組版言語とライン印刷モードを組み合わせたもので、モバイル印刷と密接に結び付いています。ゼブラの現行 CPCL ガイドは方針について異例なほど率直で、新規開発には ZPL を推し、CPCL は後方互換のために一部の Link-OS プリンターで維持され、ZPL の新機能は原則 CPCL には来ないと述べています(ゼブラの CPCL ガイド)。
アプリやモバイル機器群がすでに CPCL を使っている場合、それは依然として重要です。CPCL、ZPL、EPL を受け付ける ZQ600 Plus のような機種では、CPCL は既存ジョブを守りますが、新たな実機種を増やすわけではありません(ZQ600 Plus の言語ドキュメント)。ZQ120 Plus や ZQ220 Plus など他の現行機種は ZPL なしで CPCL と ESC/POS を文書化しており、上積みの価値は機種次第です(ZQ120 Plus と ZQ220 Plus の概要)。
ESC/POS はエプソンが POS プリンター向けの独自コマンド体系として導入しました。テキスト、印字位置、用紙送り、ステータス、バーコード、ビットイメージ、カッターなどのハードウェアを扱います。レシート専用ではありません。エプソンの TM-L90 コマンド一覧と付属のラベル例には、対応機種でのラベル位置決めやブラックマークの扱いも含まれています(TM-L90 のコマンド一覧、エプソンのラベル例)。他社の ESC/POS 互換 実装は、機種ごとの部分集合や既定値になっていることがあります。POS ソフトでは今も優先度が高い一方、抜き加工されたバーコードラベル中心のアプリでは通常それほど高くありません。
その他のメーカー言語・産業向け言語
これらの言語も重要ですが、利用も公開文書も特定メーカーの生態系と移行シナリオに集中しています。略称をすべて対等なプラットフォームとして扱うより、簡潔な地図を持つほうが役立ちます。
| 言語 | 出自の生態系 | 今も重要な理由 | 対応を検討する目安 |
|---|---|---|---|
| DPL | Datamax。現在はハネウェルのプリンター系譜に属する。 | DPL は Datamax に由来し、ハネウェルは今も最新の DPL コマンドリファレンスを公開しています。他社もエミュレートしています。 | ハネウェルや Datamax 機種のデータが、検証済みプロファイルを作る根拠になったとき。 |
| IPL | Intermec Printer Language。現在はハネウェル製品で対応。 | 長く稼働している倉庫・産業システムが、すでにホスト側でこの言語を生成している可能性があります(IPL コマンドリファレンス)。 | Intermec からの移行時や、ハネウェル機の構成が分かっている場合は優先。 |
| Fingerprint | Intermec とハネウェル。 | プリンター内で動作する BASIC 風の言語で、プログラム、ロジック、データ処理、単体完結の印刷ワークフローを実行できます(Fingerprint コマンドリファレンス)。 | ハネウェルとの統合でプリンター内アプリや既存の Fingerprint プログラムが必要なとき。 |
| Direct Protocol | Intermec とハネウェル。 | ホストが主導する Fingerprint の部分集合であり、IPL の別名ではありません。 | 既存の Direct Protocol フォーマットや、プリンター内の完全なプログラムを要しないネイティブ運用に。 |
| SBPL | SATO Barcode Printer Language。 | SATO の共通ネイティブコマンド群であり、エミュレーションでは使えない機能を提供できます。 | SATO 機が多い顧客や、ネイティブの RFID・機器制御を伴う運用に。 |
| TPCL | TEC Printer Control Language。東芝テック製プリンターのネイティブ言語。 | 一部機種が競合をエミュレートしていても、東芝のバーコードプリンターのネイティブ言語であり続けています(TPCL ドライバーマニュアル)。 | 東芝機の構成や TPCL のフォーマット資産が関わるとき。 |
| SLCS と BPL モード | BIXOLON のラベルプリンター。 | BIXOLON の SLCS マニュアルがネイティブのラベルコマンドを定義しています。機種によっては BPL-Z、BPL-E、オプションの BPL-D の互換モードも挙げられます。 | BIXOLON 固有の挙動が重要ならネイティブ SLCS を。そうでなければ既存エミュレーションをまず検証。 |
| EZPL、GEPL、GZPL、GDPL | GoDEX。 | EZPL マニュアルはネイティブの EZPL に加え、EPL 互換の GEPL と ZPL 互換の GZPL を扱います。現行の一部製品は Datamax 互換の GDPL も挙げています(RT700i+ のカタログ)。 | 正確な機種とファームウェアを確認し、出力が同じと決めつける前に各互換モードを試す。 |
| FBPL | ブラザーの一部 RJ、TD、TJ プリンター。 | 複数のエミュレーションや保存プログラムも備えうる機種で、文書化されたネイティブのコマンド経路です。 | ブラザーのネイティブな産業用・モバイル機能向け。Raster を使う QL 系には該当しません。 |
ハネウェルの現行 PM65 は、1 台のプリンターがホストからのコマンド言語、文書形式、プリンター内で動くアプリをすべて受け付けられることを示しています。仕様には DPL、Direct Protocol、Fingerprint、IPL、ZPL II 用の ZSim2、PDF、XML、C# によるスマート印刷が同一機で並んでいます(ハネウェル PM65 の仕様)。SATO の CT4-LX も同様に、ネイティブの SBPL に加えて競合互換の SZPL、SDPL、SIPL、STCL、SEPL を挙げ、言語の自動判別オプションも備えています(SATO CT4-LX の言語設定)。SATO はさらに、選んだ言語によって機能が制限される場合があること、たとえばこの機種の RFID コマンドは SBPL と SZPL でのみ有効であることも明記しています(CT4-LX の言語サポート)。
東芝も同じ構図です。BX430T はネイティブの TPCL に加え、ZPL II、DPL、SBPL、PDF の自動判別を文書化しています(東芝 BX430T の仕様)。BIXOLON の SLP-DX220 は SLCS、BPL-Z、BPL-E、オプションの BPL-D を挙げています(BIXOLON SLP-DX220)。これらの例は、プロトコルごとの数値を足し合わせられない理由を示しています。1 台の実機が複数の言語カテゴリーに属しうるのです。
ネイティブ対応とエミュレーションは同じではない
エミュレーションは、別系統のプリンター向けに書かれたコマンドを解釈するものです。定着した業務アプリに手を入れずに代替プリンターを動かせるのは非常に有用です。それでも、コマンド一覧、フォント、機器の挙動が定められた互換実装であることに変わりはありません。
ブラザーの ZPL II エミュレーションガイドは、その違いをよく示しています。対応コマンドとフォントを列挙し、ブラザーの管理ツールで用紙とキャリブレーションの設定を求め、印刷に問題を起こす一部の ZPL フォーマットコマンドを無視する仕組みまで文書化しています(ブラザーの ZPL II エミュレーションガイド)。単純な配送ラベルはそのまま動くかもしれませんが、フォントをダウンロードする、ステータスを問い合わせる、RFID を書き込む、恒久設定に依存する、といったフォーマットは動かないことがあります。
エミュレーションごとに確認すべきこと
- doneコマンドの部分集合アプリが送るすべてのコマンドを、その機種のエミュレーション資料と突き合わせる。
- doneフォントと文字コードUnicode、コードページ、フォント名、メトリクス、代替グリフ、ダウンロードフォントの対応を試す。
- done座標と解像度203、300、600 dpi の出力、回転、原点、最終ドット位置での丸めを確認する。
- done用紙制御ギャップ、ブラックマーク、連続紙、キャリブレーション、ティアオフ、はく離、カット、台紙なしの設定を必要に応じて試す。
- done状態とセッション初期化、恒久設定、エラー応答、ジョブ完了、一時停止、キャンセル、再接続を検証する。
- done実際のラベル想定される最短・最長の値、グラフィック、全バーコード種別、複数部数、電源再投入後のジョブを印刷する。
プロトコル別シェアの誠実なグラフが存在しない理由
公開市場レポートは通常、バーコードプリンターのようなカテゴリーについてメーカー別の売上や出荷台数を推計します。プロトコルの到達範囲を見積もるには、はるかに多くの情報が要ります。正確な機種・ファームウェア・オプション別の稼働台数、どのエミュレーションが有効か、各エミュレーションがどのコマンドに対応するか、そしてその機器群がすでに別の言語を受け付けているか、といった情報です。本ガイドのために確認した公開・検証可能なデータで、この対応付けを提供しているものはありませんでした。
メーカーのシェアもそのまま言語のシェアには換算できません。ゼブラのハードウェアは ZPL に寄与しますが、ZPL モードは TSC、ハネウェル、SATO、BIXOLON、シチズン、東芝、ブラザー、GoDEX の製品にも現れます。逆に、SATO やハネウェル、東芝の 1 台が 5 つ以上の言語を受け付けることもあります。割合は重なり合い、合計は簡単に 100 パーセントを超えます。
| 機種例 | 文書化された言語経路 | この例が示すこと |
|---|---|---|
| Zebra ZQ600 Plus | ZPL、CPCL、EPL。 | ゼブラの主要言語が同じモバイルシリーズ内で重なりうる。 |
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | TSC のモバイル 1 機種で複数の互換対象をカバーできる。 |
| Brother QL-820NWBc | Raster、ESC/P、P-touch Template。 | この QL 機種の文書化された標準コマンド経路は、よくある ZPL・EPL・TSPL の組み合わせとは異なる。オプションの ZPL は構成で確認が必要。 |
| Brother RJ-2035B(北米では販売終了) | FBPL に加え EPL2 と ZPL2。EZC ファームウェアなら CPCL、EZP ファームウェアなら ESC/POS。 | ブラザーのモバイル産業系は QL 系と大きく異なり、最終的な互換の組み合わせはファームウェアが決める。 |
| Honeywell PM65 | Fingerprint、Direct Protocol、IPL、DPL、ZSim2、PDF、XML、C#。 | 現行の産業機は、買収を通じて受け継いだ複数の旧言語を残していることがある。 |
| SATO CT4-LX | SBPL、SZPL、SDPL、SIPL、STCL、SEPL。 | ネイティブモードと競合互換モードが 1 台のデスクトップ機に共存する。 |
| Citizen CL-E303 | Datamax DMX、ZPL2、EPL2。 | 互換言語は、それを生んだ企業の枠をはるかに超えて広がる。 |
| Toshiba BX430T | TPCL に加え、ZPL II、DPL、SBPL、PDF の自動判別。 | ネイティブの TPCL と複数の代替モードが同じプラットフォームを共有しうる。 |
より良い測り方は製品自身のテレメトリーです。利用者が求める正確な機種、ジョブがドライバー経由か生データか、現在生成している言語、そして対応済みの別言語がすでにその機器に届いているかどうかを記録してください。そのうえで、重なり合うプロトコルの札ではなく、増える機器の台数を数えましょう。
ラベル用アプリは何から対応すべきか
正しい順序は出発点によって変わります。新規製品には広い土台が必要です。すでに ZPL と TSPL を印刷できる製品なら、新しい生態系と手元のテスト機に合わせて最適化すべきです。
| 段階 | 言語または経路 | 理由 |
|---|---|---|
| 土台 | ZPL II | 主要メーカーの多くが互換モードを文書化しており、言語自体も高機能で現代的なラベルモデルを備える。 |
| 土台 | TSPL または TSPL2 | TSC へのネイティブ対応と分かりやすいコマンドモデル。特に対象市場で TSC 機が重要な場合に効く。 |
| 拡張 | Brother Raster | 標準インターフェイスが Raster、ESC/P、P-touch Template である QL 機種に直接のコマンド経路を追加する。オプションの ZPL は機種と地域ごとに確認。 |
| 互換 | EPL2 | 定着した旧フォーマットを支え、追加もテストも比較的安価。ただし ZPL 対応機と大きく重なる。 |
| モバイル互換 | CPCL | 実際のモバイル機器群や既存の CPCL アプリが求める場合に重要。同じ機器が ZPL も受け付けるなら上積みは小さい。 |
| 産業互換 | DPL | Datamax やハネウェルの導入環境で有用。需要は実際の機種データで確認するのが最善。 |
| 需要主導 | IPL、Fingerprint、Direct Protocol、SBPL、TPCL、SLCS、EZPL、FBPL、ESC/POS | 顧客の機器群、欠けている機能、レシート運用などで見返りが明確になったときにネイティブの深さを足す。 |
ZPL と TSPL がすでに動いているなら、実装順序と戦略的な重みは食い違うことがあります。手元のテスト機がすでに EPL2 をエミュレートしているなら、EPL2 が最短で出せる次の機能かもしれません。もう一つの EPL2 エミュレーションを足すより Brother Raster のほうが独立した実装経路ですが、対象機種の一覧を測るまでは顧客機器をどれだけ増やせるか分かりません。すでに ZPL を受け付ける機器では、CPCL が足すのは新機種のカバーではなくジョブ言語の互換です。価値を生むのは CPCL しか解さない機種のほうです。
TSC RE310 とブラザーの比較:実務的な答え
本ガイドのきっかけとなった議論の論点は、TSC RE310 がすでに EPL2 に対応しているか、そしてブラザー機を足す利点があるか、でした。文書上の答えははいで、RE310 は TSPL-EZC の一部として EPL2 を挙げています。そして、ブラザーという名前よりどの機種かのほうが重要です。
| テスト機 | ここで関係する文書化された経路 | 何が増えるか |
|---|---|---|
| TSC RE310 | TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS. | 手元の機材だけで複数のエミュレーションを即座に低コストで試せる。 |
| Brother RJ-2035B | FBPL に加え EPL2 と ZPL2。導入したファームウェアが EZC か EZP かで CPCL か ESC/POS。 | FBPL と 2 社目のエミュレーターの挙動が加わるが、EPL2、ZPL2、CPCL は RE310 と重なる。ブラザー モバイル ソリューションズは北米で販売終了と記載しており、入手性は地域で異なる。 |
| Brother QL-820NWBc | Raster、ESC/P、P-touch Template。 | QL 系の独立した統合経路であり、その分コマンド経路の多様性が増す。 |
中古の GK420d が役立つのは、旧来の機器群を再現する必要がある場合だけです。フォーマットの自動判別を伴うネイティブの ZPL と EPL、さらに EPL1 互換のラインモードに対応しますが、ゼブラのライフサイクルページでは地域販売が 2021 年または 2022 年に、サービスが 2025 年に終了と示されています(GK420d のライフサイクル)。新規購入なら、ZPL II と EPL2 のサポート対象となる基準機は現行の ZD421 です。同機では EPL1 互換のラインモードは 203 dpi のダイレクトサーマル構成に限られます(ZD421 の仕様)。
まず RE310 で EPL2 を実装し検証してください。機材がすでに手元にあるからです。次の購入で新しいコマンド経路のカバーを最大化したいなら、Raster の対象として標準的な QL-820NWBc を選ぶほうが RJ-2035B より多様性が増します。ブラザー モバイル ソリューションズは RJ 機を北米で販売終了としていますが、入手性は地域で異なります。QL の地域構成も確認してください。古い文書には、要望ベースで提供されるオプションの ZPL 対応が登場したことがあります。モバイル側の需要が正当化できたら RE310 に CPCL を追加し、その後は実際の顧客要望に基づいて DPL や他のネイティブ系統の優先度を決めましょう。
それでも RJ-2035B を選ぶ理由はひとつあります。実装をまたいだ互換性検証です。2 つ目の EPL や ZPL のエミュレーションは、最初の実装が見逃していた前提を浮かび上がらせることがあります。製品が複数メーカー対応をうたい始めた後には有用ですが、これは未対応の統合モデルを埋める作業とは別の目的です。
略称ではなく機能を軸に対応を組み立てる
保守しやすい印刷システムは、中立なラベルモデルを 1 つ保ち、それを言語ごとのバックエンドでレンダリングすべきです。中立モデルは物理サイズ、最終的なドット解像度、テキストブロック、バーコードデータ、クワイエットゾーン、画像、部数、後処理の意図を定義します。各バックエンドは、何を保てて、何をラスター化または拒否しなければならないかを報告します。
新しいプリンター言語ごとのリリース基準
- doneプロファイルを宣言する対応コマンド、バーコード種別、解像度、用紙モード、文字コード、既知の除外事項を明記する。
- done基準ジョブを保管する代表的な元ジョブと、各バックエンドで期待されるビットマップを保存する。
- done実機を使う複数メーカー対応をうたう前に、可能ならネイティブの基準機を最低 1 台と、重要なエミュレーションを 1 つ含める。
- doneやっかいなデータを試す空フィールド、長い識別子、先頭ゼロ、非ラテン文字、制御文字、最大量のバーコードを印刷する。
- done結果を読み取る実運用で使うスキャナーと作業距離で、実際のバーコードを検証する。
- done更新後に再実行するファームウェア、レンダラー、フォント、圧縮、用紙設定を変更したらマトリクスを回し直す。
ラベル設計の検証とプリンタープロトコルの検証も分けてください。要求どおりのドットを言語が正しく描いていても、バーコードが小さすぎる、クワイエットゾーンが足りない、印字濃度が違う、といった理由で読めないことがあります。ラベル自体にはバーコードラベル設計チェックリストを使い、用紙と機材を選ぶ前にダイレクトサーマルと熱転写を比較してください。
出典と調査方法
本記事は可能な限り、メーカー一次資料のプログラミングガイド、開発者向け対応表、現行の製品仕様に依拠しています。製品ページはその機種がある言語を備えていることを示し、コマンドリファレンスはその実装が実際に何に対応しているかを示します。商用の市場規模推計はプロトコル別の比率作成には使っていません。分類も期間も重なり方も比較できないためです。
- ゼブラ:ZPL のプログラミング文書、EPL プログラミングガイド、Link-OS プリンター向け CPCL。
- TSC:TSPL および TSPL2 プログラミングマニュアル、RE310 の言語仕様。
- ブラザー:コマンドリファレンスの対応機種表、QL シリーズのラスターリファレンス、RJ・TD・TJ 向け ZPL エミュレーションガイド。
- ハネウェル、SATO、東芝、シチズン、BIXOLON:該当節でリンクした現行の製品ページと言語ページが、メーカーをまたぐ互換性の例を示しています。
- 規格と近接する印刷経路:IPP Everywhere、IANA のポート 9100 登録、エプソンの ESC/POS リファレンス。
直近 90 日に要望のあったプリンター機種を書き出し、文書化された正確な言語経路ごとにまとめてください。次に実装するものは、追加でカバーできる機器台数を基準に選び、その言語を対応済みと宣言する前に、小規模な互換性リグレッション一式を印刷して読み取り検証しましょう。