ホスト印刷解説書

IBM Rational Host On-Demand バージョン 11.0

ホスト印刷解説書

SC88-9752-03

第 9 版第 1 刷 (2009 年 9 月)

本書は、IBM (R) Rational Host On-Demand (プログラム番号 5724-I20) のバージョン 11.0 に適用され、本書の新版で特に明示されない限り、このバ ージョン以降のすべてのリリースとモディフィケーションにも適用されます。

(C) Copyright International Business Machines Corporation 1997, 2009. All rights reserved.



目次


本書について
本書の規則
ホスト印刷について (3270)
      LU タ イプの自動検出
      3287 プリン ターのエミュレーション
      「印刷セッ トアップ (Print Setup)」ウィンドウ (3270)
            印刷方法
            Windows プラットフォームでの印刷方法の使用
            UNIX、AIX、Linux での印刷方法の使用
            OS/2 での印刷方法の使用
      印刷テクノロジー
            Windows ネイティブ・プリンター・インターフェース・モード
            Windows スプーラー・インターフェース・モード
            Java ファイル・インターフェース・モード
      ファイルのパスと名前の指定
      Adobe PDF ファイルの 作成
     PDT ファイルの作成
            プリンター定義ファイルの詳細
            プリンター定義テーブルの詳細
            プリンター定義テーブル・コンパイラーの開始
            定義済みのプリンター定義ファイルおよびテーブルのあ る場所
            サポートされるプリンター・エミュレーション・モード
プリンター定義テーブルの作成 (3270)
      プリンター定義ファイルの作成
      プリンター定義テーブル・コンパイ ラーの使用
            プリンター定義テーブルの記述
            グラフィカル・モードでのコンパイラーの実行
            非グラフィカル・モードでのコンパイラーの実行
プリンター定義ファイル (3270) の形式について
      マクロ定義
      形式制御
            セッション・パラメーター
                   ASCII_PASSTHRU? キーワードのサポート
                   EBCDIC_PASSTHRU? キーワードのサポート
            制御コード
                   SBCS 言語と DBCS 言語の両方に使用される制御コード
                          START_JOB および END_JOB
                          SET_VARIABLE_LINE_DENSITY
                          CHARACTER_PITCH
                          REVERSE_VIDEO および BLINK
                   カスタム制御コードの使用 (LU1 と LU3)
                   DBCS の追加の制御コード
                   印刷制御コード・パラメーターの定義
      文字定義
ホスト印刷について (5250)
      ホスト印刷キー
      ホスト印刷変換
ホスト印刷について (VT)

付録 A. プリンター・データ・ストリームの情報 (3270)
      印刷データ・ストリーム について
      3270 データ・ストリームで サポートされるコマンドおよび命令
            書き込み制御文字 (WCC) バイト
      Query Reply
      機能管理ヘッダー 1 (FMH-1) の サポート
      印刷ジョブの区切り
      SNA 文字ストリング・データ・ ストリーム
      コマンドの説明
付録 B. 各国語サポート
      ユーロ通貨記号のサポート
      日本語コード・ページのサポート
      ホスト印刷セッションで使われる ユーザー定義文字
付録 C. 拡張構成オプション (3270)
付録 D. トラブルシューティング
      Windows 98 と Windows Me でのエラー状態
      非活動タイマー
      問題の解決
      問題が解決しないときは
付録 E. 関連付けられたプリンター・セッション (3270)
付録 F. プリンター定義ファイルの例 (3270)
付録 G. 特記事項
      商標

本書について

この『ホスト印刷解説書』では、Host On-Demand が提供するホ スト印刷機能について説明します。

本書の対象読者は、アプリケーションの開発者と管理者です。

ホスト印刷解説書』は、製品 DVD-ROM にも収録されており、Host On-Demand オンライン・インフォメーション・センター (http://publib.boulder.ibm.com/infocenter/hodhelp/v11r0/index.jsp) から入手することもできます。

MySupport 機能を使用すると、サポート画面をユーザーごとにパーソナライズ したり、週に 1 回 E メール・ニュースを受け取るように登録したりできます。 これらの E メール・ニュースでは、新しいパッチ、新しいダウンロード・ ファイル、さらには IBM 製品に関するその時々に応じた技術サポート情報が通知されます。 MySupport に登録するには、次の URL にある Technote の手順に従ってく ださい: http://www.ibm.com/support/docview.wss?rs=132&context=SS5RCF&uid=swg21168680&loc=en_US&cs=utf-8&lang=en+en

本書の規則

ホスト印刷解説書』では、次の表記規則が使用されています。

規則 意味
モノスペース コマンド・プロンプトで入力する必要のあるテキスト、およびコマンド、関数、ならびにリソース定義属性やそれらの値など、示されているとおりに使用しなければならない値を示します。 モノスペースは、画面テキストおよびコード例を示すためにも使用されます。
イタリック 指定する必要のある可変値を示します (例 : file_name にファイルの名前を指定します)。 イタリックは、強調表示および書名の表示にも使用されます。
Return Return、Enter または左矢印が表示されていたキーを指します。

グラフィック・イメージ
このグラフィックは、読者に対して注意点を強調するために使用されます。




ホスト印刷について (3270)

Host On-Demand クライアントは、3270 印刷をサポートしています。 3270 の論理装置タイプ 3 (LU3) または論理装置タイプ 1 (LU1) の印刷データ・ストリームは、 次のいずれかの印刷出力先に送信することができます。

Host On-Demand 3270 プリンター・セッションは、LU3 モードまたは LU1 モードで稼働し ている IBM 3287 プリンターをエミュレートします。

LU タイプの自動検出

3270 プリンター・セッションの構成時には、このセッションで LU タイプ 3 または LU タイプ 1 のどちらが使用されるかを指定する必要はありません。 代わりに Host On-Demand クライアントが、3270 ホストに接続するときに自動的に LU タイプを 検出します。

論理装置 (LU) は、元々はシステム・ネットワーク体系 (SNA) で使用されている用語です。 3270 プリンター・セッションでは、Host On-Demand クライアントは、SNA サーバーではなく Telnet サーバーに接続します。 ただし、Telnet サーバーによって送信される LU3 または LU1 のデータ・ストリームは、SNA サ ーバーによって送信される LU3 または LU1 のデータ・ストリームとまったく同じです。

3287 プリンターのエミュレーション

Host On-Demand 3270 プリンター・セッションの目的は 3287 プリンターをエミュレートするこ とであるため、3270 プリンター・セッションでは、ワード・プロセッシング・プログラムから文書を 印刷する際によく見かけるのと同じオプションは用意されていません。 具体的には、次のような違いがあります。

「プリンター・セットアップ (Printer Setup)」ウィンドウ (3270)

このセクションでは、3270 プリンター・セッションの「プリンター・セットアップ (Printer Setup)」ウィンドウを構成する方法を理解するのに役立つ背景情報を提供します。

3270 プリンター・セッションの「プリンター・セットアップ (Printer Setup)」ウィンドウを開く には、次の手順を実行します。

  1. 3270 プリンター・セッションの「セッション・プロパティー (Session Properties)」ウィンド ウを開く。
  2. 左側ペインで、「プリンター・セットアップ (Printer Setup)」をクリックする。

「プリンター・セットアップ (Printer Setup)」ウィンドウは、他のコンテキストから開くこともでき ます (オンライン・ヘルプの『プリンター・セットアップ (3270 プリンター・ セッション、5250 プリンター・セッション、および 3270 ディスプレイ・セッション) (Printer Setup (3270 Printer session, 5250 Printer session, and 3270 Display session))』を参照)。 これらのコンテキストにおける「プリンター・セットアップ (Printer Setup)」ウィンドウの構成は 、ここで説明する構成とほぼ同じです。

印刷方法

「プリンター・セットアップ (Printer Setup)」ウィンドウの上部にある「印刷先 (Print to)」リスト・ボックスには、クライアント・プラットフォームに応じて、最大で 次の 5 つの印刷方法が示されます。

これらの 5 つの印刷方法では、少し混乱を招くようなさまざまな印刷テクノロジーが使用され ます。これらのテクノロジーについては、後のセクションで説明します (『 印刷テクノロジー』を参照)。 ここでは、印刷テクノロジーの説明は省略して、代わりに、各種の作業を実行するた めに「プリンター・セットアップ (Printer Setup)」ウィンドウを構成する方法のみを説明します。

以下では、上記の印刷方法を次の Host On-Demand クライアント・プラットフォーム で使用する方法について説明します。

Windows プラットフォームでの印刷方法の使用

次の表には、Host On-Demand クライアントが Windows プラットフォーム上で動作している場合 に使用できる印刷方法と、各印刷方法の特徴を示しています。

印刷方法 特徴
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「いいえ」に設定
  • このプラットフォームのデフォルト印刷方法である
  • Windows プリンターを選択できる
  • Windows フォントを選択できる
  • Windows の「印刷セットアップ (Print Setup)」ダイアログ・ボックスを使用して、Windows プリンターのプロパティーを簡単に変更できる (「縦長 (Portrait)」や「横長 (Landscape)」、「 シート当たりのページ数 (Pages Per Sheet)」、「印刷品質 (Print Quality)」などのプロパティー)
  • この印刷方法は、Windows プリンター・ドライバーを使用せずにプリンターにアクセスで きない場合 (USB プリンターや Windows 専用プリンターの場合など)、または PDT ファイルを使用で きない場合 (PostScript プリンターの場合など) に便利である
  • この印刷方法では、プリンターのファームウェアに特殊文字が組み込まれて いない場合でも、一部の特殊文字 (ユーロ文字など) を印刷できる
  • B. の印刷方法よりも処理が低速である
  • この印刷方法では、3270 データ・ストリーム・コマンド TRN (Transparent) を処理できない場合がある
B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「はい」に設定
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
  • Windows プリンターを選択できる
  • この印刷方法では、プリンターのファームウェアに特殊文字が組み込まれていない場合は、一 部の特殊文字 (ユーロ文字など) を印刷できない
  • A. の印刷方法よりも処理が高速である
C.「他のプリンター (Other Printer)」 (常にプリンター定義テーブルを 使用する)
  • この印刷方法は、非 Windows プラットフォームでは「プリンター (Printer) 」と呼ばれる
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
  • 通常はこの印刷方法を Windows プラットフォームで使用する必要はない
D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は 「いいえ」に設定 (常にプリンター定義テーブルを使用する)
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
  • この印刷方法は、印刷出力を直接プリンターに送信したくない場合に便利である
  • この印刷方法は、印刷出力をフラット ASCII 形式で生成したい場合に便利である
E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「は い」に設定 (プリンター定義テーブルを使用しない)
  • PDT は不要である
  • 印刷出力は、指定したファイルに Adobe PDF 形式で書き込まれる
以下では、各印刷方法を Windows プラットフォーム上で使用する方法を説明します。
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「いいえ」に設定

これは、Windows プラットフォーム上で動作している Host On-Demand クライアント用のデフォル ト印刷方法です。 この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「Windows プリンター (Windows Printer)」をクリックする。
  3. プリンター定義テーブルの使用」を「いいえ」に設定する。

使用したい Windows プリンターを選択することができます (ローカル・プリンターまたはネット ワーク・プリンター)。 Windows プリンターを選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. デフォルトの Windows プリンターを使用するには、「Windows プリンターの選択 (Choose Windows Printer)」を「デフォルトを使用する (Use Default)」に設定する。
  3. 別の Windows プリンターを選択するには次のようにする。
    1. Windows プリンターの選択 (Choose Windows Printer)」を「他のプリンタ ー (Other)」に設定する。
    2. 「プリンターの選択 (Select Printer)」をクリックする。

Windows フォントを選択できます。Windows フォントを選択するには、以下のようにします。

  1. 「ページ・セットアップ (Page Setup)」ウィンドウを開く。
    1. 「セッション・プロパティー (Session Properties)」ウィンドウの左側ペインで、「ページ・セ ットアップ (Page Setup)」をクリックする。
  2. 「フォントの選択 (Select Font)」をクリックする。
  3. 「フォント (Font)」ウィンドウで、「フォント (Font)」列からフォントを選 択する。
    • 「フォント (Font)」ウィンドウでは、「フォント・スタイル (Font style)」 と「サイズ (Size)」の設定は使用しません。 これらの設定は有効になっているように見えますが、Host On-Demand クライアントの印刷には まったく関係ありません

Windows の「印刷セットアップ (Print Setup)」ダイアログ・ボックスを使用して、Windows プ リンターのプロパティーを簡単に変更できます (「縦長 (Portrait)」や「横長 (Landscape)」、「シ ート当たりのページ数 (Pages Per Sheet)」、「印刷品質 (Print Quality)」などのプロパティー)。 Windows プリンターのプロパティーを変更するには、以下のようにします。

この印刷方法 (「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用 」は「いいえ」に設定) は、Windows プリンター・ドライバーを使用せずにプリンターにア クセスできない場合 (USB プリンターや Windows 専用プリンターの場合など)、または PDT ファイルを使用できない場合 (PostScript プリンターの場合など) に便利です。

この印刷方法では、Windows ネイティブ・プリンター・インターフェース (WNPI) モードが使用されるため、次のことが当てはまります。

B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「はい」に設定

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「Windows プリンター (Windows Printer)」をクリックする。
  3. プリンター定義テーブルの使用」を「はい」に設定する。
  4. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

使用したい Windows プリンターを選択することができます (ローカル・プリンターまたはネット ワーク・プリンター)。 Windows プリンターを選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. デフォルトの Windows プリンターを使用するには、「Windows プリンターの選択 (Choose Windows Printer)」を「デフォルトを使用する (Use Default)」に設定する。
  3. 別の Windows プリンターを選択するには次のようにする。
    1. Windows プリンターの選択 (Choose Windows Printer)」を「他のプリンタ ー (Other)」に設定する。
    2. 「プリンターの選択 (Select Printer)」をクリックする。

この印刷方法では、Windows スプーラー・インターフェース (WSI) モードが使用されるため、 次のことが当てはまります。

C.「他のプリンター (Other Printer)」 (常にプリンター定義テーブルを使用する)

非 Windows プラットフォームでは、この印刷方法は「プリンター (Printer) 」と呼ばれます。

通常は、この印刷方法を Windows プラットフォーム上で使用する必要はありません。 この方法は、A や B の方法と同じ出力を生成しますが、ユーザーにとってやや使いにくい方法です。

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「他のプリンター (Other Printer)」をクリックする。
  3. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

「プリンター名 (Printer Name)」フィールドには、次のいずれかを入力できます。

D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「いいえ」に設定 (常にプリンター定義テーブルを使用する)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「いいえ」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。
  5. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

ファイルのパスと名前については、『ファイルのパスと名前の指定』 を参照してください。

「ファイルのパスおよび名前」フィールドでは、ホスト印刷ジョブの完了後に実行される 1 つ以 上のネイティブ・コンソール・コマンドを指定することもできます (オンライン・ヘルプの『 ホスト印刷ジョブ後の外部コマンドの実行』を参照)。

この印刷方法は、印刷出力を直接プリンターに送信したくない場合に便利です。 たとえば次のような場合が挙げられます。

この印刷方法は、印刷出力をフラット ASCII 形式で生成したい場合にも便利です。

E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「はい」 に設定 (プリンター定義テーブルを使用しない)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「はい」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。

Host On-Demand クライアントは、印刷出力を Adobe PDF 形式のバイナリー・データに 変換して、このバイナリー・データを指定されたファイルに書き込みます。 このファイルは、Adobe Reader バージョン 4.0 以降を使用して表示できます。

この印刷方法は、印刷出力をどのプラットフォームでも簡単に表示できる形式に変換し たい場合に便利です。

この方法では、PDT は必要ありません。

UNIX、AIX、Linux での印刷方法の使用

次の表には、Host On-Demand クライアントが UNIX、AIX、または Linux プラットフォーム上で動 作している場合に使用できる印刷方法と、各印刷方法の特徴を示しています。

印刷方法 特徴
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「いいえ」に設定
  • UNIX、AIX、Linux では使用できない
B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「はい」に設定
  • UNIX、AIX、Linux では使用できない
C.「プリンター (Printer)」 (常にプリンター定義テーブルを使用する)
  • この印刷方法は、Windows プラットフォームでは「他のプリンター (Other Printer)」と呼ばれる
  • これは、UNIX、AIX、Linux 用のデフォルト印刷方法である
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は 「いいえ」に設定 (常にプリンター定義テーブルを使用する)
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
  • この印刷方法は、印刷出力を直接プリンターに送信したくない場合に便利である
  • この印刷方法は、印刷出力をネットワーク・プリンターに送信したい場合にも使用する必要がある
E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「は い」に設定 (プリンター定義テーブルを使用しない)
  • PDT は不要である
  • 印刷出力は、指定したファイルに Adobe PDF 形式で書き込まれる
以下では、各印刷方法を UNIX、AIX、Linux プラットフォーム上で使用する方法を説明します。
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「いいえ」に設定

この印刷方法は、UNIX、AIX、Linux では使用できません。

B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「はい」に設定

この印刷方法は、UNIX、AIX、Linux では使用できません。

C.「プリンター (Printer)」 (常にプリンター定義テーブルを使用する)

Windows プラットフォームでは、この印刷方法は「他のプリンター (Other Printer)」と呼ばれます。

これは、UNIX、AIX、または Linux プラットフォームで動作している Host On-Demand クライアン ト用のデフォルト印刷方法です。 この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「他のプリンター (Other Printer)」をクリックする。
  3. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

印刷出力をワークステーションに直接接続されたプリンターに送信するには、「プリンター名 (Printer Name)」フィールドに、有効な装置名 (/dev/lp0 など) を入力する必要があります。 Host On-Demand クライアントは、指定された装置に印刷データ・ストリームを出力します。

印刷出力をネットワーク・プリンターに送信する場合は、UNIX、AIX、Linux ではこの方法は使用 できません。 代わりに D の方法を使用してください。

D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「いいえ 」に設定 (常にプリンター定義テーブルを使用する)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「いいえ」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。
  5. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

ファイルのパスと名前については、『ファイルのパスと名前の指定』 を参照してください。

「ファイルのパスおよび名前」フィールドでは、ホスト印刷ジョブの完了後に実行される 1 つ以 上のネイティブ・コンソール・コマンドを指定することもできます (オンライン・ヘルプの『 ホスト印刷ジョブ後の外部コマンドの実行』を参照)。

この印刷方法は、印刷出力を直接プリンターに送信したくない場合に便利です。 たとえば次のような場合が挙げられます。

この印刷方法は、UNIX、AIX、または Linux のワークステーションから、使用可能な ネットワーク・プリンターに印刷出力を送信したい場合にも使用する必要があります。 次の手順に従ってください。

  1. 「ファイル (File)」の印刷方法を使用して、印刷出力をファイルに送信する。
  2. コマンド・プロンプトから適切なコマンドを実行して、このファイルをネットワーク・プリンタ ーに送信する。 たとえば、ファイルの名前が hprint.000 であり、リモート・プリンターの名前が prtq1 である場合は、次のようにコマンドを実行します。
    lp  -dprtq1  hprint.000
    または
    lp  -Pprtq1  hprint.000

E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「はい」 に設定 (プリンター定義テーブルを使用しない)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「はい」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。

Host On-Demand クライアントは、印刷出力を Adobe PDF 形式のバイナリー・データに 変換して、このバイナリー・データを指定されたファイルに書き込みます。 このファイルは、Adobe Reader バージョン 4.0 以降を使用して表示できます。

この印刷方法は、印刷出力をどのプラットフォームでも簡単に表示できる形式に変換し たい場合に便利です。

この方法では、PDT は必要ありません。

OS/2 での印刷方法の使用

次の表には、Host On-Demand クライアントが OS/2 プラットフォーム上で動作している場合に 使用できる印刷方法と、各印刷方法の特徴を示しています。

印刷方法 特徴
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「いいえ」に設定
  • OS/2 では使用できない
B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブル の使用」は「はい」に設定
  • OS/2 では使用できない
C.「プリンター (Printer)」 (常にプリンター定義テーブルを使用する)
  • この印刷方法は、Windows プラットフォームでは「他のプリンター (Other Printer)」と呼ばれる
  • これは、OS/2 用のデフォルト印刷方法である
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は 「いいえ」に設定 (常にプリンター定義テーブルを使用する)
  • 管理者はプリンター定義テーブル (PDT) を提供する必要がある
  • 印刷出力を直接プリンターに送信したくない場合に便利である
E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「は い」に設定 (プリンター定義テーブルを使用しない)
  • PDT は不要である
  • 印刷出力は、指定したファイルに Adobe PDF 形式で書き込まれる
以下では、各印刷方法を OS/2 プラットフォーム上で使用する方法を説明します。
A.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「いいえ」に設定

この印刷方法は、OS/2 では使用できません。

B.「Windows プリンター (Windows Printer)」: 「プリンター定義テーブルの使用」は 「はい」に設定

この印刷方法は、OS/2 では使用できません。

C.「プリンター (Printer)」 (常にプリンター定義テーブルを使用する)

Windows プラットフォームでは、この印刷方法は「他のプリンター (Other Printer)」と呼ばれます。

これは、OS/2 プラットフォームで動作している Host On-Demand クライアント用のデフォル ト印刷方法です。 この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「他のプリンター (Other Printer)」をクリックする。
  3. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

「プリンター名 (Printer Name)」フィールドには、次のいずれかを入力できます。

D.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「いいえ 」に設定 (常にプリンター定義テーブルを使用する)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「いいえ」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。
  5. プリンター定義テーブル」リスト・ボックスを展開して、PDT を選択する。

この印刷方法を Host On-Demand クライアントで使用するには、その前に Host On-Demand 管理 者がプリンター定義テーブル (PDT) を提供する必要があります (『PDT ファ イルの作成』を参照)。

ファイルのパスと名前については、『ファイルのパスと名前の指定』 を参照してください。

「ファイルのパスおよび名前」フィールドでは、ホスト印刷ジョブの完了後に実行される 1 つ以 上のネイティブ・コンソール・コマンドを指定することもできます (オンライン・ヘルプの『 ホスト印刷ジョブ後の外部コマンドの実行』を参照)。

この印刷方法は、印刷出力を直接プリンターに送信したくない場合に便利です。 たとえば次のような場合が挙げられます。

E.「ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「はい」 に設定 (プリンター定義テーブルを使用しない)

この印刷方法を選択するには、以下のようにします。

  1. 「プリンター・セットアップ (Printer Setup)」ウィンドウを開く。
  2. 印刷先 (Print to)」リスト・ボックスを展開して、「ファイル (File)」を クリックする。
  3. Adobe PDF を使用する (Use Adobe PDF)」を「はい」に設定する。
  4. ファイルのパスおよび名前」フィールドに、有効なファイルのパスと名前 を入力する。

Host On-Demand クライアントは、印刷出力を Adobe PDF 形式のバイナリー・データに 変換して、このバイナリー・データを指定されたファイルに書き込みます。 このファイルは、Adobe Reader バージョン 4.0 以降を使用して表示できます。

この印刷方法は、印刷出力をどのプラットフォームでも簡単に表示できる形式に変換し たい場合に便利です。

この方法では、PDT は必要ありません。

印刷テクノロジー

Host On-Demand ホスト印刷クライアント (3270 プリンター・セッションと 5250 プリンター・ セッション) では、次の 3 つの印刷テクノロジー (印刷「モード」) が使用されます。

3270 ディスプレイ・セッションでは、次の 4 番目の印刷テクノロジーが使用されます。

次の表には、前のセクションで説明した 5 つの印刷方法と、ホスト印刷クライアントで使用され る 3 つの印刷テクノロジーとの間の関係を示しています。

印刷方法 印刷テクノロジー
Windows プリンター (Windows Printer)」: 「プリンター定義テーブ ルの使用」は「いいえ」に設定 Windows ネイティブ・プリンター・インターフェース (WNPI) モード
Windows プリンター (Windows Printer)」: 「プリンター定義テー ブルの使用」は「はい」に設定 Windows スプーラー・インターフェース (WSI) モード
他のプリンター (Other Printer)」または「プリンター (Printer)」 (常にプリンター定義テーブルを使用する) Java ファイル・インターフェース (JFI) モード
ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は 「いいえ」に設定 (常にプリンター定義テーブルを使用する) Java ファイル・インターフェース (JFI) モード
ファイル (File)」: 「Adobe PDF を使用する (Use Adobe PDF)」は「 はい」に設定 (プリンター定義テーブルを使用しない) Java ファイル・インターフェース (JFI) モードと、Adobe PDF 形式を生成するための ライブラリー

以下のサブセクションでは、3 つの印刷テクノロジー (印刷「モード」) のそれぞれについて説 明します。

Windows ネイティブ・プリンター・インターフェース・モード

このモードは、Host On-Demand バージョン 6.0 以降でサポートされており、Windows プラット フォーム上で動作しているクライアントでのみ使用できます。

このモードでは、Host On-Demand クライアントは、選択されたプリンターの Windows プリンタ ー・ドライバーに対して、Java ネイティブ・インターフェース (JNI) を介して GDI (Graphics Device Interface) API コールを行うことにより、印刷データ・ストリームをプリンターに送信します。

このモードでは、Host On-Demand クライアントは Windows プリンター・ドライバーと通信する ため、次のような場合に便利です。

Host On-Demand クライアントは Windows プリンター・ドライバーと通信する ため、次のことが当てはまります。

Windows ネイティブ印刷モードは、2 つの Windows ネイティブ・ライブラリー・ファイル (hodprint.dll および hodprinterdriver.dll) を使用します。 これらのファイルは、ユーザーのローカル・ファイル・システムに自動的にインストールされます。 ファイルのインストール先ディレクトリーは、Windows プラットフォームおよび使用するブラウザーによって異なります。

Netscape バージョン 4.x (たとえば、 バージョン 4.75) を使用している場合、Host On-Demand は、WinPrint.class、NativePrinter.class、 および HODPrinterDriver.class の 3 つの Java クラス・ファイルを追加インストールします。

Windows スプーラー・インターフェース・モード

このモードは、Host On-Demand バージョン 6.0 以降でサポートされており、Windows プラット フォーム上で動作しているクライアントでのみ使用できます。

このモードでは、Host On-Demand クライアントは次の処理を行います。

  1. プリンター定義テーブル (PDT) を使用して、3270 印刷データ・ストリームを選択されたプリン ターが認識できるプリンター・データ・ストリームに変換する。
  2. Java ネイティブ・インターフェース (JNI) を介して Windows スプーラー・インターフェース API を呼び出すことにより、このプリンター・データ・ストリームをプリンターに送信する。

プリンター定義テーブル (PDT) を使用すると、多くの場合、Windows ネイティブ・プリンター・イン ターフェース (WNPI) モードを使用するよりも高い柔軟性が得られます。これは、PDT では 、Windows プリンター・ドライバーではサポートされていないプリンター・データ・ストリーム機能 を指定できるからです。

Windows スプーラー・インターフェース・モードは、2 つの Windows ネイティブ・ライブラリー・ファイル (hodprint.dll および hodspoolermode.dll) を使用します。 これらのファイルは、ユーザーのローカル・ファイル・システムに自動的にインストールされます。 ファイルのインストール先ディレクトリーは、Windows プラットフォームおよび使用するブラウザーによって異なります。

Netscape バージョン 4.x (たとえば、 バージョン 4.75) を使用している場合、Host On-Demand は、WinPrint.class、NativePrinter.class、 および HODSpoolerMode.class の 3 つの Java クラス・ファイルを追加インストールします。

Java ファイル・インターフェース・モード

このモードは、ホスト印刷をサポートしているすべての Host On-Demand クライアント・プラッ トフォームでサポートされています。

このモードでは、Host On-Demand クライアントは次の処理を行います。

  1. プリンター定義テーブル (PDT) を使用して、3270 印刷データ・ストリームをプリン ターが認識できるプリンター・データ・ストリームに変換する。
  2. このプリンター・データ・ストリームをプリンター (LPT1、\\myServer\myPrinter、/dev/lp0 な ど) またはファイルに出力する。

プリンター定義テーブル (PDT) を使用すると、詳細なプリンター・データ・ストリーム機能を指 定できるため、高い柔軟性が得られます。

ファイルのパスと名前の指定

「プリンター (Printer)」ウィンドウの「印刷先」オプションのドロップダウン・リストでファイルへの印刷を選択するときに、ファイルのパスと名前を入力できます。  

Adobe PDF ファイルの作成

3270 プリンター・セッションには、Adobe PDF ファイルへの印刷オプションが含まれるようになりました。 この機能により、ユーザーは、Adobe Acrobat プラグインがインストールされてい る標準 Web ブラウザーで、ファイルを表示できます。 「拡張オプション」パネルでは、用紙サイズ、用紙の向き、および Adobe PDF フォントを選択できます。

次の表では、Adobe PDF ファイルに対してサポートされているすべての用紙サイズをリストします。US English と Canadian ロケールのデフォルトの用紙サイズは、Letter です。 これ以外のすべてのロケールの場合、デフォルトの用紙サイズは A4 です。 

表 5. サポートされる用紙サイズ

名前 地域 長さ
北アメリカのメディア・サイズ
Number 10 北アメリカ 4.125 インチ 9.500 インチ
Number 9 北アメリカ 3.875 インチ 8.875 インチ
連続シート (132 カラム) 北アメリカ 11.000 インチ 13.200 インチ
連続シート (80 カラム) 北アメリカ 8.000 インチ 11.000 インチ 
Executive 北アメリカ 7.250 インチ 10.500 インチ
Ledger 北アメリカ 11.000 インチ 17.000 インチ
Legal  北アメリカ 8.500 インチ 14.000 インチ
Letter 北アメリカ 8.500 インチ 11.000 インチ 
Monarch 北アメリカ 3.875 インチ 7.500 インチ
ISO/日本のメディア・サイズ
A3 ISO/日本 297.0 mm 420.0 mm
A4 ISO/日本 210.0 mm 297.0 mm
A5 ISO/日本 148.0 mm 210.0 mm
B4 (ISO) ISO 250.0 mm 353.0 mm
B4 (JIS) 日本 257.0 mm 364.0 mm
B5 (ISO) ISO 176.0 mm 250.0 mm
B5 (JIS) 日本 182.0 mm 257.0 mm
C5 ISO 162.0 mm 229.0 mm
DL ISO 110.0 mm 220.0 mm

連続シートの場合、すべての側 (上、下、右、左) のデフォルトのマージン値は 0 です。北アメリカの用紙 (連続シートを含まない) 場合、デフォルトのマージン値は、すべての側で 0.25 インチです。 ISO/日本の用紙の場合、デフォルトのマージン値は、すべての側で 5 mm です。 

Adobe PDF ファイルで使用されるコード・ページ

指定されたホスト・コード・ページが Bidi または DBCS でない場合、Host On-Demand は、生成された Adobe PDF ファイルで内部の Windows コード・ページを使用します。 次のリストは、特定のホスト・コード・ページに使用される Windows コード・ページを示しています。

ギリシャ語のホスト・コード・ページ 875、およびエストニア語のホスト・コード・ページ 1122 と 1157 には、上記の Windows コード・ページに含まれていない文字があるので、次の文字は印刷できません。

PDT ファイルの作成

次の用語を理解しておいてください。

大まかには、PDF をコンパイルする手順は次のとおりです。

  1. プリンター定義テーブル・コンパイラーを起動する。
  2. プリンター定義ファイル (PDF) を選択する。
  3. 「OK」をクリックして PDT をコンパイルする。
  4. PDT コンパイラーは、PDF ファイルをコンパイルして、PDT ファイルを生成し、この PDT ファイ ルをサーバー上のディレクトリーに配置する。

PDT ファイルを Host On-Demand クライアントが実行されているワークステーションに配置する には、以下のようにします。

以下のサブセクションでは、PDT の作成方法をさらに詳しく説明します。

プリンター定義ファイルの詳細

プリンター定義ファイル (PDF) は、 マクロ定義、セッション・パラメーター、 形式制御、および文字定義を含む ASCII ファイルです。 ASCII テキスト・エディターを使って、 ご使用のプリンターに合うように PDF を編集することができます。 ほとんどのプリンターは、基本機能では似通ったコマンドをサポートしますが、 もっと高度な機能においてはサポートするコマンドは大きく異なります。 多くの PDF は、PostScript や HP Printing Performance Architecture (PPA) を利用しているプリンターを除く、大部分のプリンターに適合します。

IBM パーソナル・コミュニケーションズから PDF をコンパイルして Host On-Demand 用に使用できます。 ただし、すべての制御がサポートされるわけではありません。

Host On-Demand 内の PDF は、Adobe PDF とは無関係であることに注意してください。

プリンター定義テーブルの詳細

プリンター定義テーブル (PDT) は、 ホスト・アプリケーションが送ったデータ・ストリームのフォーマット設定に使用するファイルです。 Host On-Demand エミュレーターは、 データ・ストリームを EBCDIC から ASCII に変換し (データ・ストリーム内にパススルー・コマンド がない場合)、データ・ストリームに指定されているか、 または PDT そのものに指定されている制御に従って、データをフォーマットし、プリンターに送ります。 基本的な命令が含まれている単純な PDT を使用することもできますが、 フォントの変更やペーパー・ドロワーのような、 最近のワークステーション・プリンターで使用可能になっているいくつかの機能を使用する場合は、 ご使用のプリンターに合わせて PDT をカスタマイズし、ホスト・アプリケーションから必要なコマンドを送る必要があります。 どのような場合でも、プリンターがサポートするエミュレーション・モードに適した PDT を使わなければなりません (HP PCL レベル 3、IBM PPDS など)。

1 バイト文字セット (SBCS) および 2 バイト文字セット (DBCS) プリンター用に、 いくつかの汎用および専用の PDT が Host On-Demand に付属されて提供されます。 それらをカスタマイズして PDT を作成することも、まったく新しいものを作成することもできます。 どちらの場合も、PDT を作成するのにはプリンター定義ファイル (PDF) が必要です。

プリンター定義テーブル・コンパイラーの開始

このコンパイラーは、Host On-Demand サーバー上、またはローカル・インストールされたクライアント上で実行される Java アプリケーションです。 コンパイラーはダウンロード・クライアントを実行しません。

コンパイラーを開始すると、グラフィカル・インターフェースが表示されますが、 これには、PDT 名とプリンターの記述のための 2 つの入力フィールドがあります。 「状況およびエラー情報」ウィンドウも表示されます。 ログ・ファイル pdtc.log が作成されます。

Windows NT、Windows 2000、または Windows XP サーバー上、もしくは Windows クライアント上では、「スタート」メニューの「管理」からコンパイラーを開始できます。 その他のプラットフォームでは、Java コマンドを使ってコンパイラーを開始しなければなりません。 サンプル・コマンド・ファイルが用意されています。

また、コマンド行から、非グラフィカル・モードでコンパイラーを開始することもできます。

定義済みのプリンター定義ファイルおよびテーブルのある場所

IBM 提供の PDF と PDT は、サーバー上の公開ディレクトリーの pdfpdt サブディレクトリー (例: C:\Program Files\IBM\HostOnDemand\HOD\pdfpdt)、およびローカルにインス トールされたクライアント上のこれと同等のサブディレクトリーにインストールされます。

PDF には拡張子 .pdf が、PDT には拡張子 .hodpdt が付きます。 他にもいくつかの PDF がサンプルとして用意されており、これらの PDF は公開ディレクトリーの samples\pdf ディレクトリーにあります (例: C:\Program Files\IBM\HostOnDemand\HOD\samples\pdf)。

アラビア語とヘブライ語については、prn*.pdf ファイルが samples\pdf ディレクトリーに 用意されています。 これらの prn*.pdf ファイルのいずれかを使用するには、そのファイルを samples\pdf ディレク トリーから pdfpdt\usrpdf ディレクトリーにコピーして、コピー後のファイルを必要に応じて修正 してからコンパイルします。

Host On-Demand に付属するアラビア語またはヘブライ語のマーク文字を含むプリンター定義ファイルをコンパイルする場合、 ヘブライ語またはアラビア語対応のマシンではない場合は、結果の PDT はプ リンター・プロパティーの Print Definition Table ドロップダウン・リスト には表示されません。  詳細については、「Host On-Demand Hints & Tips」 の Web サイトを参照してください。

1 バイト文字セット (SBCS) の PDF と PDT

次に示す PDF と PDT は、Host On-Demand 専用に提供されているものです。

basic 基本 ASCII テキスト・モード
ほとんどのプリンターにおいて可読出力を生成する単純な PDF
LaserPCL HP PCL レベル 3 (レーザー・プリンター)
PCL モードのほとんどのレーザー・プリンターに適合
LaserPPDS IBM PPDS レベル 2
PPDS レベル 2 モードのほとんどのレーザー・プリンターに適合
Proprinter IBM PPDS レベル 1 (Proprinter XL、X24、XL24)
PPDS レベル 1 モードのほとんどのプリンターに適合

PDF にはパラメーターの目的を説明する注釈が含まれています。 それぞれのセクションは、パラメーターの使用法を説明するテキストで始まります。 詳細については、『プリンター定義ファイルの形式について』と『 プリンター定義ファイルの例 (3270)』を参照してください。

タイ語の PDT と PDF

ホスト・コード・ページがタイ語 (838 または 1160) である場合には、 以下に示す PDF と PDT を使用できます。

タイ

basic_thai 基本 ASCII テキスト・モード
esc_pthai タイ語用 EPSON ESC/P 互換プリンター
esc_p2thai タイ語用 EPSON ESC/P2 互換プリンター
necthai タイ語用 NEC プリンター

2 バイト文字セット (DBCS) の PDF と PDT

DBCS プリンターの場合は、以下に示す PDT と PDF が提供されています。

日本

basic_dbcs ASCII テキスト・モード: ほとんどのプリンターにおいて可読出力を生成する単純な PDF
esc_p ESC/P 24-J84 ベースのプリンター: ほとんどの EPSON ESC/P プリンターに適合
ibm5577 IBM 5577-B02、F02、G02、H02: IBM 5577 シリーズ・プリンターに適合
ibm5585 IBM 5585-H01 プリンター: IBM 5585 プリンター、およびページ単位の出力を行うプリンターに適合
ibm5587 IBM 5587-G01、H01: IBM 5587 プリンター (拡張機能なし) に適合
lips3a4 LIPS 3 ベースのプリンター: Canon LIPS プリンター (A4 サイズ) に適合
lips3b4 LIPS 3 ベースのプリンター: Canon LIPS プリンター (B4 サイズ) に適合

韓国語

ibm5577k 韓国語用 IBM 5577 プリンター: IBM 5577 プリンターに適合
kssm_jo KSSM_jo プリンター: "combined" 文字コード・モードのプリンターに適合
kssm_wan KSSM_wan プリンター: "complete" 文字コード・モードのプリンターに適合
ks_jo KS_jo プリンター: "combined" 文字コード・モードのプリンターに適合
ks_wan KS_wan プリンター: "complete" 文字コード・モードのプリンターに適合

中国と台湾

esc_pp 中国語 (簡体字) 用 ESC/P プリンター: 中国のほとんどの EPSON ESC/P プリンターに適合
esc_5550 中国語 (繁体字) 用 ESC/P プリンター (5550): 台湾のほとんどの EPSON プリンター (5550 文字コード・モード) に適合
esc_big5 中国語 (繁体字) 用 ESC/P プリンター (big-5): 台湾のほとんどの EPSON プリンター (Big-5 文字コード・モード) に適合
esc_cns 中国語 (繁体字) 用 ESC/P プリンター (cns): 台湾のほとんどの EPSON プリンター (CNS 文字コード・モード) に適合
esc_tca 中国語 (繁体字) 用 ESC/P プリンター (tca): 台湾のほとんどの EPSON プリンター (TCA 文字コード・モード) に適合
ibm5577t 中国語 (繁体字) 用 IBM 5577 プリンター: 台湾の IBM 557x シリーズのプリンターに適合
ibm5585t 中国語 (繁体字) 用 IBM 5585 プリンター: 台湾の IBM 5585 ページ・プリンターに適合

セッション構成パネルの「プリンター」ページに表示されるプリンター定義テーブルのリストは、 「接続」ページで設定した「ホスト・コード・ページ」に応じて変化します。 該当するコード・ページに適した PDT だけでなく、ユーザーが作成した PDT もこのリストの中に表示されます。 DBCS コード・ページ用に構成されたセッションで SBCS の PDT を使用したい場合は、該当する PDF を usrpdf ディレクトリーにコピーした後、この PDF を別の名前でコンパイルします。 これにより、この PDF はユーザー作成の PDT となり、構成パネルのリストに表示されます。

サポートされるプリンター・エミュレーション・モード

PDT は、使用するプリンター・エミュレーション・モードに適していなければなりません。 SBCS プリンターの場合、サポートしているモードは以下のとおりです。

DBCS プリンターの場合、サポートしているモードは以下のとおりです。

ご使用のプリンターでどのエミュレーション・モードまたは言語がサポートされているかが分からない場合は、 そのプリンターの技術資料を参照してください。

場合によっては、プリンターの設定を変更して、 PDT が書かれているモードに一致させる必要があります。 プリンターによっては、自動的にモードが切り替わったり、 モードを変更するためのソフトウェアを備えていたりすることがあります。 プリンターの資料を調べて、どの PDT を使うか、そして どのようにプリンターで正しいモードを設定するかをお確かめください。 プリンター・メーカーの Web サイトも情報源として役に立ちます。

  • 大半のレーザー・プリンターで HP PCL レベル 3 を使えます。レベル 3 コマンドは、それ以後のレベルをサポートするプリンターでは認識されます。
  • PPDS モードが用意されているプリンターはすべて、PPDS レベル 1 をサポートします。
  • PPDS のそれ以降のレベル (3 または 4) をサポートするプリンターは、LaserPPDS PDT と一緒に使うことができます。
  • Proprinter 互換のプリンターと、PPDS レベル 1 のみをサポートするプリンターは、コード・ページ切り替えを行うことができないので、これらのプリンターの場合は Proprinter PDT を使う必要があります。
  • ご使用のプリンターが Host On-Demand がサポートする他のどのモードも利用できない場合でも、 基本 ASCII テキスト・モードは、機能する可能性があります。 ただし、このモードを使用する場合、 ご使用のプリンターに固有のコマンドは使えなくなります。
  • PDT モードは PostScript をサポートしません。 ただし、ネイティブ印刷モードは、該当の PostScript プリンター・ドライバーを介して PostScript をサポートします。

プリンター定義テーブル (PDT) (3270) の作成

IBM が提供する PDT を 使用できない場合は、ユーザー自身で作成することができます。 ただし、PDT を直接作成することはできません。 まず最初にプリンター定義ファイル (PDF) を作成した後、それをコンパイルして PDT を作成する必要があります。

プリンター定義ファイルの作成

新しく PDF を作成するには、それをタイプ入力するか、 または IBM 提供の PDF の 1 つをカスタマイズします。 ワード・プロセッサーを使うとテキストに疑似コードが含まれてしまうことがあるため、 いずれの場合にも ASCII エディターをご使用ください。

作成した PDF は、Host On-Demand サーバーの公開ディレクトリーの pdfpdt\usrpdf サブディ レクトリー (例: C:\Program Files\IBM\HostOnDemand\HOD\pdfpdt\usrpdf)、またはロ ーカルにインストールされたクライアント上のこれと同等のディレクトリーに保管します。

PDF を作成する前に、PDF の構造と含まれるステートメントのタイプを理解しておく必要があります。 『プリンター定義ファイルの形式について』のヘルプを参照してください。

必要な制御コードを検索できるよう、使用するプリンターの技術資料を用意しておいてください。 プリンターごとに大きく異なる点があることがあります。

IBM 提供のいずれかの PDF をカスタマイズしてユーザー独自の PDF を作成するには、その PDF を pdfpdt ディレクトリーから pdfpdt\usrpdf サブディレクトリーにコピーして、修 正してからコンパイルします。

 

プリンター定義テーブル・コンパイラーの使用

PDF を作成または変更したら、プリンター定義テーブル・コンパイラーを 使って PDT を作成します。 コンパイラーは、 グラフィカル・モードまたは非グラフィカル・モードのどちらでも実行できます。 自分で作成する PDT には、usr*.hodpdt という形式で名前がつきます。* には、 自分がコンパイルした PDF の名前が入ります。

プリンター定義テーブルの記述

すべての PDT には固有の記述が付いていなければなりません。 プリンター・セッションを構成するとき、それで PDT が識別されるからです。 グラフィカル・モードでは、 固有の記述が割り当てられているかどうかをコンパイラーが調べます。 同じ記述をもった PDT がすでに存在することが検出された場合、 コンパイルは停止され、エラー・メッセージが表示されます。 この場合は、記述を変更して「OK」をクリックすれば再開できます。 非グラフィカル・モードでは、 コンパイラーは記述が固有かどうかを調べません。

グラフィカル・モードでのコンパイラーの実行

グラフィカル・モードでは、PDF を対話式にコンパイルできます。 pdtc.log という名前のログ・ファイルが pdfpdt\usrpdf ディレクトリーに保管されます。

Windows ワークステーションまたはサーバーでの PDT のコンパイル

Windows ワークステーションまたはサーバーでプリンター定義テーブルをコンパイルするには、 以下のようにします。

  1. PDF を作成して、pdfpdt\usrpdf ディレクトリーに保管する (例: C:\Program Files\IBM\HostOnDemand\HOD\pdfpdt\usrpdf)。
  2. 「スタート」>「プログラム」>「IBM Rational Host On-Demand」>「管理」 >「プリンター定義テーブル・コンパイラー」の順にクリックする。
  3. プルダウン・リストからプリンター定義ファイルを選択する。
  4. 作成するプリンター定義テーブルの記述を入力する。記述は必須です。プリンター・セッションを構成するとき、それで PDT が識別されるからです。
    記述が固有でないと、エラー・メッセージが表示されます。
  5. 「OK」をクリックする。 PDT が pdfpdt ディレクトリーに作成されます。 状況およびエラー情報が、 ウィンドウの下端とログ・ファイルに出力されます。 PDF 内にエラーがあった場合には、訂正してから再コンパイルします。

    他の PDF もコンパイルする場合は、ステップ 3 から 5 を繰り返します。

  6. 終了したら、「終了」をクリックする。

AIX、OS/2、または UNIX サーバーでの PDT のコンパイル

  1. PdtCompilerApplication-AIX (または UNIX または OS/2) ファイルを、Host On-Demand のインストール・ディレクトリー内の lib/samples/PdtCompiler ディレクトリー (例: /opt/IBM/HostOnDemand/lib/samples/PdtCompiler) からユーザー・ディレクトリ ー (例: /usr/local) にコピーする。
  2. インストール済みシステムと一致するように、PdtCompilerApplication-AIX ファイル内 の 3 つの変数を修正する。 コマンド・ファイルの中に記述されている指示に従ってください。
  3. UNIX サーバーの場合のみ、PdtCompilerApplication-UNIX のファイル許可を executable に 変更する。
  4. PdtCompilerApplication-AIX (または UNIX または OS2) を実行する。
  5. プルダウンから PDF ファイルを選択し、それをそのまま使用するか、修正する。
  6. PDT の記述を入力する。 記述は、Host On-Demand が PDT を識別するのに使用する名前です。
  7. 「OK」をクリックする。
  8. PDF ファイルを pdfpdt/usrpdf ディレクトリーにコピーする。 必要に応じて usrpdf ディレクトリーを作成します。

iSeries サーバーでの PDT のコンパイル

iSeries サーバーでプリンター定義テーブルをコンパイルするには、 以下のようにします。

  1. PdtCompilerApplication-OS400 ファイルを、lib/samples/PdtCompiler ディレクトリー (例: /QIBM/ProdData/hostondemand/lib/samples/PdtCompiler) から自分の作業ディ レクトリーにコピーする。
  2. 自分の環境を反映するようファイルを編集する。
  3. qsh コマンドを実行してシェル・セッションを開始する。
  4. ステップ 2 で編集したコマンド・ファイルを実行する。

コンパイラーは非グラフィカル・モードで実行されます。

System/390 での PDT のコンパイル

System/390 サーバーでプリンター定義テーブルをコンパイルするには、 以下のようにします。

  1. 作成または修正した PDF を、公開ディレクトリーの pdfpdt/usrpdf サブディレクトリー (例えば /usr/lpp/HOD/hostondemand/HOD/pdfpdt/usrpdf) に保管する。 ディレクトリーが存在しない場合は作成する。 
  2. /usr/lpp/HOD/hostondemand/HOD/samples/PdtCompilerCommandFiles にある PdtCompilerApplication-S390 を編集する。 
  1. JAVA_ENGINE 変数のパスが正しい Java パスであるか確認する。  
  2. .pdf の名前と記述の NONGUI_COMMAND 行を修正する。 
  1. PdtCompilerApplication-S390 コマンドを実行する。 

コンパイラーは非グラフィカル・モードで実行されます。

その他のプラットフォームでの PDT のコンパイル

その他のプラットフォームでは (Novell Netware など)、 コマンドを使用してコンパイラーを開始します。 この操作を簡単に行えるように、サンプル・コマンド・ファイルが pdtcompilercommandfiles ディレ クトリーに用意されています。

  1. サンプル・コマンド・ファイルを、自分の環境の適切なディレクトリーにコピーする。
  2. 自分の環境を反映するようファイルを編集する。
  3. コマンドを実行する。
  4. プルダウン・リストでプリンター定義ファイルを選択する。
  5. 作成するプリンター定義テーブルの記述を入力する。
    記述が固有でないと、エラー・メッセージが表示されます。
  6. 「OK」をクリックする。 PDT が pdfpdt ディレクトリーに作成されます。 状況およびエラー情報が、 ウィンドウの下端とログ・ファイルに出力されます。 PDF 内にエラーがあった場合には、訂正してから再コンパイルします。

    他の PDF もコンパイルする場合は、この手順を繰り返します。

  7. 「終了」をクリックする。

 

状況およびエラー情報

グラフィカル・インターフェースの 下のウィンドウに、状況およびエラー情報が表示されます。 グラフィカル・インターフェースを使用すると、実行された各コンパイラーのヒストリーが usrpdf サブディレクトリー内の pdtc.log に保管されます。 このログは、コンパイラーを開始するたびに上書きされます。

PDT 記述が固有かどうかの検証の他に、PDF の構文が正しいかどうかも調べられます。 見つかったエラーは、「状況およびエラー情報」ウィンドウに表示され、 ログに保管されます。

非グラフィカル・モードでのコンパイラーの実行

このセクションは、zOS には適用されません。

いくつかの PDT を一度にコンパイルしたいときは、コンパイラーを非グラフィカルのバッチ・モードで実行します。これは、コマンド・ファイルを作成し、コンパイラーを実行するコマンドの複数のインスタンスをそこに組み込むことによって行います。

pdtcompilercommandfiles ディレクトリーに用意された適切なサンプル・コマンド・ファイルに 、以下に示すいずれかのパラメーターを必要に応じて追加することにより、サンプル・コマンド・フ ァイルを修正できます。 いくつかの PDT を一度にコンパイルする場合、最後のインスタンス以外の各インスタンスでは -NOINDEX パラメーターを使用します。最後のインスタンスでは INDEX パラメーターを使います。 他のコンパイルがすべて完了した後にのみ、索引が 1 つ作成されます。

-NOINDEX
コンパイラーを非グラフィカル・モードで実行し、索引を生成しません。 このパラメーターはグラフィカル・モードでは認識されません。
INDEX
コンパイラーを非グラフィカル・モードで実行し、索引を生成します。 このパラメーターを指定すると、Host On-Demand は PDT を追跡します。 INDEX を使用する場合は他のオプションは使えません。 INDEX の前にはダッシュ (-) を付けない点に注意してください。
-PATH pathSpecification
コンパイラーが、[pathSpecification]\pdfpdt ディレクトリー内で PDF を検索します。
-ENCOD encodingSpecification
PDF をデフォルトのテーブルではなく、 指定された Java エンコード・テーブルで解釈します。 コンパイラーを MVS 上で実行しており、その MVS システムが使っているエンコード・テーブルが、PDF を作成したエンコード・テーブルとは違っている場合には、このパラメーターを使わなければなりません。

コンパイラーを非グラフィカル・モードで呼び出すコマンドは以下のとおりです。

   INSTALL_PATH/lib/samples/PdtCompiler/PdtCompilerApplication-XXX
   [-NOINDEX] | [-PATH pathSpecification] | [-ENCOD encodingSpecification] [PDF_file_name PrinterDescription]
ここで XXX は、ご使用のプラットフォーム用のコンパイラー・アプリケーション・ファイルの適切なサフィックスです。
  • PDF_file_name を指定する場合は、PrinterDescription も 指定しなければなりません。
  • PDF_file_name を指定しないとは、 コンパイラーはグラフィカル・モードで実行されます。

PDT をコンパイルした後には、 索引を作成するためにコンパイラーをもう一度実行する必要があります。 これは、必ず実行しなければなりません。 コンパイラーを呼び出して索引のみの作成を行うコマンドは以下のとおりです。

   INSTALL_PATH/lib/samples/PdtCompiler/PdtCompilerApplication-XXX INDEX
ここで XXX は、ご使用のプラットフォーム用のコンパイラー・アプリケーション・ファイルの適切なサフィックスです。

コンパイルされたプリンター定義テーブルは、pdfpdt ディレクトリーに保管されます (例: C:\Program Files\IBM\HostOnDemand\HOD\pdfpdt)。

非グラフィカル・モードでは、コンパイラー・メッセージは英語だけで表示されます。


プリンター定義ファイル (3270) の形式について

PDF のセクションは、次のように大きく 3 つに分かれます。

マクロ定義

PDF のこのセクションには、 制御コードを表す単一の略号で、 あるいは一連の制御コードで構成されるマクロが含まれています。 略号を使えば、PC プリンターに対する制御シーケンスの定義が単純化され、 PDF の中の情報が読みやすくなります。 IBM 提供の PDF には多数のマクロが組み込まれていますが、ユーザー独自のマク ロを定義することも可能です。

以下の表は、マクロ定義ステートメントの構造を示しています。 1 つのマクロ定義は次の 4 つの部分から構成されています。

1 2 3 4
名前 EQU PC 印刷制御コード コメント

たとえば次のような場合が挙げられます。

   FFF EQU 0C             /* Form Feed                                   */

部分 1 は、略号またはマクロ名です。 この部分の長さは必ず 3 文字とし、先頭には数字を指定できません。 17.1 のピッチを表すのに P17 など、 分かりやすい略号を定義しておくと役立ちます。

部分 2 は "equates to" (等しい) を表しており、EQU としてコーディングする必要があります。

部分 3 は 16 進制御コードであり、使用するプリンターに合わせて定義する必要があります。 同じ機能でも、プリンター・メーカーごとに、それぞれ異なるコードが使用されている場合があります。 たとえば IBM LaserPrinter は、IBM Personal Printer Data Stream (PPDS) で定義されている制御コードを使います。それに対して Hewlett-Packard プリンターは、Hewlett-Packard Printer Control Language (PCL) で定義されている制御コードを使います。 これらの制御コードは、プリンターの解説書 (別途入手しなければならない場合もあります) に定義されています。

プリンター・マニュアルによっては、ESC W 1 などの ASCII シンボル・ストリングとして制御シーケンスが記述されています。このほかに、1B 57 01 などの 16 進数、 または 027 087 001 などの 10 進数を使用するプリンター・マニュアルもあります。 PDT コンパイラーは、これらの形式をすべて受け入れます。

マクロ定義セクションの制御コードは、次のいずれかにします。

マクロの制御コード部分 (部分 3) がブランクの場合、ヌル・ストリングと解釈されます。 ファイル内でコードが複数回定義されていると、最後の定義が使われます。

部分 4 はコメント・セクションであり、/* と */ で囲む必要があります。 コメントはファイル内のどこにでも組み込むことができ、 コンパイラーはこれを無視します。

以下のマクロ定義の例は、IBM PPDS をサポートするプリンター用のものです。

CRR EQU 0D             /* Carriage Return                             */
SEL EQU 11             /* Select Printer                              */
P10 EQU 12             /* 10 Pitch (characters/inch)                  */
P12 EQU 1B 3A          /* 12 Pitch (characters/inch)                  */
P05 EQU 1B 57 01       /* 5 Pitch (characters/inch), double wide      */
CDW EQU 1B 57 00       /* Cancel Double Wide                          */
CDL EQU 14             /* Cancel Double Wide line                     */
CS2 EQU 1B 36          /* Select character set 2                      */
SVT EQU 1B 42          /* Set vertical tabs                           */
CAT EQU 1B 52          /* Cancel all tabs (clears VT)                 */
SFL EQU 1B 43 00       /* Set Form Length                             */
SDS EQU 1B 47          /* Start Double Strike                         */
CDS EQU 1B 48          /* Cancel Double Strike                        */
SUL EQU 1B 2D 01       /* Start Underline                             */
CUL EQU 1B 2D 00       /* Cancel Underline                            */
CP8 EQU 1B 5B 54 04 00 00 00 03 52     /* select code page 850        */
CP4 EQU 1B 5B 54 04 00 00 00 01 B5     /* select code page 437        */
LL8 EQU 1B 41 09 1B 32 /* Set line length 8 lines/inch                */

以下に、マクロの使用法の例を示します。

ホスト・データ・ストリームには、Word Underscore (WUS) コマンド (LU1 SCS コマンド 23) が含まれているとします。 これは、直前のワードまたはストリングに下線を付けなければならないことを指示します。 Host On-Demand は、WUS コマンドをワードの前で START_HIGHLIGHT_UNDERLINE に、 ワードの後で END_HIGHLIGHT_UNDERLINE に変換します。

これらの制御は、PDF の制御コード・セクション内のマクロ SUL および CUL で定義されます。

START_HIGHLIGHT_UNDERLINE=SUL
END_HIGHLIGHT_UNDERLINE=CUL
これらのマクロは、Macros セクション (上記を参照) に定義されます。

 

Host On-Demand が WUS コマンドを受信すると、制御コードを調べてから、マクロを調べます。 最後に、マクロで指示されたエスケープ・シーケンスをプリンターに送信します。 ホストが、ストリング "This is underscored" に続き WUS コマンドを送ったと想定すると、 次のようなコードがプリンターに送られます。

     54686973   20    6973   20    1B2D01   756E64657273636F726564   1B2D00

      T h i s  space   i s  space    SUL     u n d e r s c o r e d     CUL

印刷出力は、"This is underscored" となります。

詳しくは、 『付録 A. プリンター・データ・ストリームの情報』を参照してください。


形式制御

このセクションは、PDF に含めることが可能なセッション・パラメーター、 制御コード、および強調表示の指定を記述します。

フィールド名およびパラメーター定義

等号の左側のパラメーターはキーワードであり、 示されたとおりにコーディングしなければなりません。 キーワードはステートメントを定義します。 等号の右側の値は、1 つのワード、マクロ、制御コード、 10 進数、または 16 進数のいずれかになります (この値を、パラメーターと呼ぶ場合もあります)。

セッション・パラメーター

セッション・パラメーターは、出力をフォーマット設定する方法を指定します。 PDF 内のセッション・パラメーターは、 セッション構成の「拡張オプション」パネルに関連付けられています。 ただし、PDF 内ではこのパネル内よりも多くのオプションを指定できます。 構成パネルでデフォルトを変更しない場合、 PDT 内のそれと同等のパラメーターの値が使用されます。 パネルで変更を行うと、PDT 内の値がオーバーライドされます。 パネルで設定できるセッション・パラメーターのリストは、 「付録 C. 拡張構成オプション」にあります。

以下の表は、 セッション・パラメーターのフィールド名と意味をリストしたものです。

表 1. セッション・パラメーター

フィールド名 値または注釈
ASCII_PASSTHRU? YES/NO。LU1 の場合のみ。ホスト・データは変換されないで送られます。 PC 印刷制御コードを直接生成するホスト・アプリケーション用。 詳しくは、下記を参照してください。
EBCDIC_PASSTHRU? YES/NO。LU1 の場合のみ。SCS コマンドは無視され 、データは、EBCDIC から ASCII への変換の後にプリンターに送られます。 詳しくは、下記を参照してください。
MAXIMUM_PAGE_LENGTH 001~255。 1 枚の用紙に印刷できる行数。 たとえば、66 は、1 インチ当たり 6 行の 11 インチの用紙を意味します。 この値を変更するときは、 "SET_PAGE_LENGTH=SFL 値" 制御コードの値も変更して同じにしなければなりません。
MAXIMUM_PRINT_POSITION 001~255。 1 行に収まる文字数。
DEFAULT_CPI? 010、012、017。 デフォルトの 1 インチ当たりの文字数。
DEFAULT_LPI? 002、003、004、006、008、010。 デフォルトの 1 インチ当たりの行数。
COMPRESS_LINE_SPACING? YES/NO。LU3 の場合のみ。行上のすべての文字がヌルまたはブランクの場合に、 その行を印刷するかどうかを指示します。
FORM_FEED_ANY_POSITION? YES/NO。LU3 の場合のみ。どの位置でも用紙送り (FF) を活動化するかどうかを指定します。 NO の場合、次のような位置でしか用紙送りは活動化されません。
  • バッファーの最初の印刷位置
  • 有効な改行命令の後
  • 行の最初の印刷位置
OVERRIDE_FORMATTED_PRINT? YES/NO。LU3 の場合のみ。ヌル文字をブランクとして印刷するかどうかを指定します。
HORIZONTAL_PEL 1 インチ当たりのペル数 (X 方向)。
VERTICAL_PEL 1 インチ当たりのペル数 (Y 方向)。
LINE_SPACING_RATIO 1 インチに等しい整数値。SET_VARIABLE_LINE_DENSITY 用の単位として使われます。 PPDS の場合には 72、PCL の場合には 48 です。
TOP_MARGIN 10 進数。 デフォルトは用紙の上端です。
LEFT_MARGIN 10 進数。 デフォルトは用紙の左端です。
AUTO_NEWLINE_AT_MAX_POS? YES/NO。MPP で CR および LF を挿入するかどうかを指定します。
IGNORE_FORM_FEED_AT_FIRST_POS? YES/NO。最初の位置の FF を無視するかどうかを指定します。
FORM_FEED_TAKES_POSITION? YES/NO。LU3 の場合のみ。FF にスペースを与えるかどうかを指定します。
NO_AUTO_NL_IF_CR_AT_MPP_PLUS_1? YES/NO。LU3 の場合のみ。CR が MPP+1 にあるときに、自動 NL を抑止するかどうかを指定します。これを YES に設定すると、自動 NL は抑止されます。
NO_AUTO_NL_IF_NL_AT_MPP_PLUS_1? YES/NO。LU3 の場合のみ。NL が MPP+1 にあるときに、自動 NL を抑止するかどうかを指定します。これを YES に設定すると、自動 NL は抑止されます。
INTERV_REQ_TIMER 000~255。 "要介入" のメッセージを送信するまでの遅延を判別します。 値が 000 であればタイマーは無効になります。 値が 011 を下回る場合は、間隔が 10 秒に設定されます。
FORM_FEED_AT_END_OF_JOB NONE/ALWAYS/CONDITIONAL。 ジョブの終わりに用紙送りをどのように挿入するのかを指定します。 この値を NONE に設定すると、ジョブの終わりに用紙送りが挿入されません。 この値を ALWAYS に設定すると、ジョブの終わりに常に用紙送りが挿入されます。 CONDITIONAL に設定すると、ジョブがページ境界で終了しなかった場合にだけ用紙送りが挿入されます。 デフォルト値は CONDITIONAL です。

ASCII_PASSTHRU? キーワードのサポート (LU1 のみ)

PDF に次のような行を追加すると、Host On-Demand からホスト・データが変換 なしでプリンターに送られます。

     ASCII_PASSTHRU? = YES

このオプションは、PC 印刷制御コードを直接生成するホスト・アプリケーション用です。

  1. ASCII_PASSTHRU? を設定しても、印刷ジョブの開始時と終了時に、 PDF の START_JOB および END_JOB セクションに定義されている制御コードはプリンターに送信される。 必要ならば、これらを除去します。
  2. ASCII_PASSTHRU? を設定した場合、 EBCDIC_xx のような文字定義行はすべて無視される。
  3. ASCII_PASSTHRU? と EBCDIC_PASSTHRU? の両方を設定すると、 ASCII_PASSTHRU? が優先される。

EBCDIC_PASSTHRU? キーワードのサポート (LU1 のみ)

PDF に次のような行を追加すると、Host On-Demand はすべての SCS コマンドを無視し、 EBCDIC から ASCII への変換後のデータのみをプリンターに送ります。

     EBCDIC_PASSTHRU? = YES

  1. EBCDIC_PASSTHRU? を設定すると、印刷ジョブの開始時と終了時に、 PDF の START_JOB および END_JOB セクションに定義されている制御コードがプリンターに送信される。 必要ならば、これらを除去します。
  2. ASCII_PASSTHRU? と EBCDIC_PASSTHRU? の両方を設定すると、 ASCII_PASSTHRU? が優先される。

米国英語のホスト・コード・ページ 037 に使われる EBCDIC から ASCII へのデフォルトの変換テーブルは次のとおりです。

Hex    0 1  2 3  4 5  6 7  8 9  A B  C D  E F
     ---------------------------------------------
       0 | 2020 2020 2020 2020 2020 2020 2020 2020
      10 | 2020 2020 2020 2020 2020 2020 2020 2020
      20 | 2020 2020 2020 2020 2020 2020 2020 2020
      30 | 2020 2020 2020 2020 2020 2020 2020 2020
      40 | 20FF 8384 85A0 C686 87A4 BD2E 3C28 2B7C
      50 | 2682 8889 8AA1 8C8B 8DE1 2124 2A29 3BAA
      60 | 2D2F B68E B7B5 C78F 80A5 DD2C 255F 3E3F
      70 | 9B90 D2D3 D4D6 D7D8 DE60 3A23 4027 3D22
      80 | 9D61 6263 6465 6667 6869 AEAF D0EC E7F1
      90 | F86A 6B6C 6D6E 6F70 7172 A6A7 91F7 92CF
      A0 | E67E 7374 7576 7778 797A ADA8 D1ED E8A9
      B0 | 5E9C BEFA B8F5 F4AC ABF3 5B5D EEF9 EF9E
      C0 | 7B41 4243 4445 4647 4849 F093 9495 A2E4
      D0 | 7D4A 4B4C 4D4E 4F50 5152 FB96 8197 A398
      E0 | 5CF6 5354 5556 5758 595A FDE2 99E3 E0E5
      F0 | 3031 3233 3435 3637 3839 FCEA 9AEB E9FF

このコード・ページは、EBCDIC_xx キーワードを使って変更することができます。 EBCDIC_PASSTHRU? の行は、PDF 内のどの EBCDIC_xx 行よりも前になければなりません。 これは、EBCDIC_PASSTHRU? が設定されたときに、 Host On-Demand が EBCDIC から ASCII への変換テーブルを再初期設定するためです。


制御コード

PDF の制御コード・セクションは、 ホスト制御コードを受信したときにどの ASCII エスケープ・シーケンスをプリンターに送るかを定義します。 エスケープ・シーケンスはプリンターによって異なります。 PDF は、使用するエミュレーション・モード専用に作成する必要があります。

SBCS 言語と DBCS 言語の両方に使用される制御コード

次の表には、SBCS 言語と DBCS 言語の両方に使用される制御コードのフィールド名と意味を リストしています。

表 2. 制御コード

フィールド名 値または注釈
SET_AUTO_PERFORATION_SKIP ページとページの間のミシン目をスキップするのに必要な行数を設定します
PAGE_LENGTH_TYPE?
  • LINE (= 行数)
  • INCH (= インチ数)
  • 6INCH (= 1/6 インチの増分)
SET_PAGE_LENGTH で使用する単位を定義します
SET_VARIABLE_LINE_DENSITY 行送りを設定します。 LINE_SPACING_RATIO フィールド (セッション・パラメーター) に定義されている単位を使います
START_JOB ジョブの開始時にプリンターに送る制御コードを設定します
END_JOB ジョブの終了時にプリンターに送る制御コードを設定します
BACKSPACE バックスペース制御コード
BEL ベル制御コード
CARRIAGE_RETURN 復帰 (CR) 制御コード
NEW_LINE 改行 (CR/LF) 制御コード
LINE_FEED 改行 (LF) 制御コード
FORM_FEED 用紙送り (FF) 制御コード
HORIZONTAL_TAB 水平タブ制御コード
VERTICAL_TAB 垂直タブ制御コード
DESELECT 装置制御 3 制御コード
DUP DUP 順序 (*) を印刷するのに使用する文字
FIELD_MARK FIELD MARK 順序 (;) を印刷するのに使用する文字
SET_HORIZONTAL_TABS 水平タブ (カラム番号)
SET_VERTICAL_TABS 垂直タブ (行番号)
SET_HORIZONTAL_MARGINS 右および左マージン (カラム番号)
SET_PAGE_LENGTH PAGE_LENGTH_TYPE に定義されている単位の倍数のページの長さ
SET_2_LINES_PER_INCH 行送り定義 (2LPI)
SET_3_LINES_PER_INCH 行送り定義 (3LPI)
SET_4_LINES_PER_INCH 行送り定義 (4LPI)
SET_6_LINES_PER_INCH 行送り定義 (6LPI)
SET_8_LINES_PER_INCH 行送り定義 (8LPI)
SET_10_LINES_PER_INCH 行送り定義 (10LPI)
SET_10_CHARACTERS_PER_INCH 文字ピッチ定義 (10CPI)
SET_12_CHARACTERS_PER_INCH 文字ピッチ定義 (12CPI)
SET_17_CHARACTERS_PER_INCH 文字ピッチ定義 (17.1CPI)
FORWARD_HORIZONTAL_SKIP HORIZONTAL_PEL セッション・パラメーターで使用する単位を定義します
FORWARD_VERTICAL_STEP_FEED VERTICAL_PEL セッション・パラメーターで使用する単位を定義します
START_HIGHLIGHT_INTENSE 強調表示印刷 (ダブル印字) 開始
END_HIGHLIGHT_INTENSE 強調表示印刷 (ダブル印字) 終了
START_HIGHLIGHT_UNDERLINE 下線開始
END_HIGHLIGHT_UNDERLINE 下線終了
START_HIGHLIGHT_REVERSE_VIDEO 反転表示の開始
END_HIGHLIGHT_REVERSE_VIDEO 反転表示の終了
START_HIGHLIGHT_BLINK 明滅開始
END_HIGHLIGHT_BLINK 明滅終了
START_DOUBLE_WIDTH_CHARACTER 横倍角文字の開始
END_DOUBLE_WIDTH_CHARACTER 横倍角文字の終了
CUSTOM_CONTROL_CODES? カスタム制御コードの使用 (LU1 と LU3)』を参照
CUSTOM_CONTROL_CODES_HEADER カスタム制御コードの使用 (LU1 と LU3)』を参照
CUSTOM_CONTROL_CODES_LENGTH カスタム制御コードの使用 (LU1 と LU3)』を参照
CUSTOM_CONTROL_CODES_TRAILER カスタム制御コードの使用 (LU1 と LU3)』を参照

START_JOB および END_JOB

START_JOB に関連した制御コードは、ホスト印刷ジョブの開始ごとに送られます。 END_JOB に関連した制御コードは、各ジョブの終わりに送られます。

別のアプリケーションや別のユーザーの印刷ジョブによって、 プリンターが、自分の印刷したいジョブに適合しないモード (たとえば、 縦長の方向付けや Courier フォント) になったままのことがあります。 START_JOB を使用して、各ジョブの先頭ですべてのプリンター・オプションを既知の状態または必要な状態に設定してください。 同様に、複数のユーザーおよびアプリケーションがプリンターを共用するので、 END_JOB を使用してジョブの終わりにプリンターを既知の状態にリセットします。

たとえば次のような場合が挙げられます。

     START_JOB=SEL CDW CDL CUL CDS CP8 CS2 SLO
     END_JOB=CAT CDW CDL CUL CDS CP4 SPO

この例では、SLO マクロは START_JOB ステートメントに入っていて、 SPO マクロは END_JOB ステートメントに入っています。 これらのマクロは次のようにコーディングされます。

     SLO EQU 1B 6C     /* Set Landscape Orientation */
     SPO EQU 1B 6B     /* Set Portrait Orientation  */

その結果、START_JOB ステートメントは、 ジョブを横長方向で印刷するためのコマンドを送ります。 END_JOB ステートメントは、 ジョブの終了時点でプリンターを縦長方向にリセットするためのコマンドを送ります。

SET_VARIABLE_LINE_DENSITY

SET_VARIABLE_LINE_DENSITY ステートメントは、 セッション構成の「拡張オプション」パネルの「1 インチ当たりの行数」オプションと組み合わせて使います。

LINE_SPACING_RATIO (PPDS の場合は 72、PCL の場合は 48) を 除算するための「1 インチ当たりの行数」フィールドに設定されている値は、PDT によって SET_VARIABLE_LINE_DENSITY ステートメント内の value キーワードに置き換えられます。 PPDS コマンドの形式では、2 進数形式の結果が必要です。 PCL 形式では、10 進数 (ASCII) 形式の結果が必要です。 PPDS の場合、ステートメントは次のとおりです。

SET_VARIABLE_LINE_DENSITY=ESC A value ESC 2
したがって、1 インチ当たりの行数を 8 に設定した場合、SET_VARIABLE_LINE_DENSITY パラメーターは次のようになります。
     SET_VARIABLE_LINE_DENSITY=ESC A 09 ESC 2
ただし 09 は 72/8 の結果です。 行密度 (スペーシング) を設定するためにプリンターに送られる制御コードは次のとおりです。
     1B    41    09    1B    32
    (ESC    A    09    ESC    2)
SET_VARIABLE_LINE_DENSITY に値を指定しないと、SET_(n)_LINES_PER_INCH ステートメントの値が使われます。

 

CHARACTER_PITCH

ほとんどのプリンターでは、デフォルト・ピッチは 10 字 / インチです。 PDF では通常、これは次のようにコーディングされます。

SET_10_CHARACTERS_PER_INCH=P10

ただし P10 は、次のようにマクロ定義セクションでコーディングされます。

P10 EQU 12     /* 12 is the printer control code for 10 pitch /*

 

REVERSE_VIDEO および BLINK

反転表示および明滅のコードは、プリンターでは使われないため、指定値はありません。 これらのコードを使って、任意のコマンドをプリンターに送ることができます。 それには、マクロを定義し、コードのうちの 1 つの値としてそのマクロを指定し、 そしてホスト・データ・ストリームに入れてそのコード (たとえば、 START_HIGHLIGHT_BLINK) を送ります。

カスタム制御コードの使用 (LU1 と LU3)

Host On-Demand は、3270 プリンター LU1 セッションと 3270 プリンター LU3 セッションでカ スタム制御コードをサポートしています (Host On-Demand は、5250 プリンター・セッションのカスタム制御コードはサポートしていませ ん)。

カスタム制御コードとは EBCDIC 文字のペアであり、Host On-Demand はこの文字ペアを 16 進バ イトに変換します。 EBCDIC ペアの各構成文字は、F0~F9 (0~9 を表す)、C1~C6 (A~F を表す)、81~86 (a ~f を表す) のいずれかの範囲内である必要があります。 ペアの 1 つ目の構成文字は、16 進バイトの上位ニブルを表します。 ペアの 2 つ目の構成文字は、16 進バイトの下位ニブルを表します。 たとえば、81 f0 というカスタム制御コードは a0 という 16 進バ イトに変換されます。

注: 実際には、変換は次の 2 段階で行われます。

  1. Host On-Demand は EBCDIC ペアを ASCII ペアに変換する。 たとえば、81 f0 という EBCDIC ペアは 61 30 という ASCII ペア に変換されます。
  2. Host On-Demand はこの ASCII ペアを 16 進バイトに変換する。 たとえば、61 30 という ASCII ペアは a0 という 16 進バイトに変 換されます。
EBCDIC から ASCII に変換するために、Host On-Demand は現在のホスト・コード・ページと現在 のローカル・コード・ページを使用します。 ほとんどすべてのコード・ページでは、次のように変換されます。 ただし、ホスト・コード・ページ、ローカル・コード・ページ、カスタム PDT テーブ ルのいずれかが原因で、EBCDIC から ASCII への変換が上記と異なる形で行われる場合は、適切な ASCII 文字に変換される EBCDIC 制御コードを使用する必要があります (たとえば、1b という 16 進バイトを生成したい場合は、31 62 と いう ASCII に変換される 2 つの EBCDIC 文字を指定する必要があります)。

LU1 または LU3 の印刷データ・ストリームでは、カスタム制御コードは、カスタム制御コード・ブ ロック (このセクションで後述) 内に含まれている必要があります。 1 つの印刷データ・ストリーム内には、カスタム制御コード・ブロックがいくつ含まれていても かまいません。 各カスタム制御コード・ブロックには、1 つ以上のカスタム制御コード (すなわち 1 つ以上の EBCDIC 文字ペア) を含めることができます。

次のことに注意してください。

制御コード

カスタム制御コードを管理するために使用される制御コードは次のとおりです。

CUSTOM_CONTROL_CODES? 制御コードは、次の条件に基づいてカスタム制御コードを有効ま たは無効にするのに使用されます。

CUSTOM_CONTROL_CODES_HEADER 制御コードは、LU1 または LU3 の印刷データ・ストリーム に含まれている場合、カスタム制御コード・ブロックの始まりを示します。 この制御コードは、PDF ファイルの制御コード・セクションで定義して、特定のマクロ値または 一連のリテラル値に設定する必要があります。 次に例を示します。

CUSTOM_CONTROL_CODES_HEADER=6c 6c

CUSTOM_CONTROL_CODES_TRAILER 制御コードは、ヘッダー/トレーラー・モードでのみ使用 されます (下記参照)。 この制御コードは、LU1 または LU3 の印刷データ・ストリーム 内の CUSTOM_CONTROL_CODES_HEADER より後ろに含まれている場合、カスタム制御コード・ブロックの終 わりを示します。 この制御コードは、PDF ファイルの制御コード・セクションで定義して、特定のマクロ値または 一連のリテラル値に設定する必要があります。 次に例を示します。

CUSTOM_CONTROL_CODES_TRAILER=6c 6c
トレーラーの値は、ヘッダーと同じ値でも異なる値でもかまいません。 多くの場合、ヘッダーとトレーラーには同じ値を割り当てるのが便利です。

CUSTOM_CONTROL_CODES_LENGTH 制御コードは、ヘッダー/長さモードでのみ使用されます (下記参照)。 この制御コードは、LU1 や LU3 の印刷データ・ストリームには含まれません。 代わりに、この制御コードは、印刷データ・ストリーム内のすべてのカスタム制御コー ド・ブロック内に含まれるカスタム制御コード (EBCDIC ペア) の固定数を指定します。 この制御コードは、PDF ファイルの制御コード・セクションで定義して、特定のマクロ値または 一連のリテラル値に設定する必要があります。 たとえば次のような場合が挙げられます。

CUSTOM_CONTROL_CODES_LENGTH=1
上記の CUSTOM_CONTROL_CODES_LENGTH の設定では、印刷データ・ストリーム内の各 カスタム制 御コード・ブロックには、1 つのカスタム制御コード (1 つの EBCDIC 文字ペア) が含 まれること が指定されます。
モード

単一の LU1 または LU3 の印刷データ・ストリーム内では、カスタム制御コードをヘッダー/トレ ーラー・モードまたはヘッダー/長さモードのどちらかで使用することができます。 同一印刷データ・ストリーム内で、両方のモードを使用することはできません。

ヘッダー/トレーラー・モード

ヘッダー/トレーラー・モードでは、カスタム制御コード・ブロックは、次の順番で並んだカス タム制御コードで構成されます。

Host On-Demand でヘッダー/トレーラー・モードを使用する必要があるのは、印刷データ・スト リーム内に、長さの異なるカスタム制御コード・ブロックが含まれている場合です。 たとえば、印刷データ・ストリーム内の一部のカスタム制御コード・ブロックには、1 つの制御 コード (1 つの EBCDIC ペア) が含まれており、他のカスタム制御コード・ブロックには 2 つの制 御コード (2 つの EBCDIC ペア) が含まれている場合は、Host On-Demand でヘッダー/トレーラー・ モードを使用する必要があります。

Host On-Demand でヘッダー/トレーラー・モードを使用するように指定するには、PDF ファイル の制御コード・セクションで CUSTOM_CONTROL_CODES_TRAILER を定義します。 ヘッダー/トレーラー・モードを使用するには、PDF ファイルで関連する制御コードを次の例のよ うに定義します。

CUSTOM_CONTROL_CODES?=YES
CUSTOM_CONTROL_CODES_HEADER=6c 6c
CUSTOM_CONTROL_CODES_TRAILER=6c 6c
CUSTOM_CONTROL_CODES_LENGTH 制御コードは定義しないでください。 この制御コードは、CUSTOM_CONTROL_CODES_TRAILER が定義されている場合には無視されます。

次に、Host On-Demand が上記の定義を使用して処理できるカスタム制御コード・ブロックの例を 示します。

6c 6c f1 82 f1 83 6c 6c
Host On-Demand は、これらの文字を次のように処理します。
  1. Host On-Demand は、ヘッダーの 6c 6c を検出すると、後続の EBCDIC ペアをカス タム制御コードとして処理する必要があると認識する。
  2. Host On-Demand は、EBCDIC の f1 82 を 16 進数の 1b に変換して、この 1b を印刷 出力先に送信する。
  3. Host On-Demand は、EBCDIC の f1 83 を 16 進数の 1c に変換して、この 1c を 印刷出力先に送信する。
  4. Host On-Demand は、トレーラーの 6c 6c を検出すると、カスタム制御コード・ブ ロックの終端に達したことを認識する。

ヘッダー/トレーラー・モードには、以下のようなルールもあります。

ヘッダー/長さモード

ヘッダー/長さモードでは、カスタム制御コード・ブロックは、次の順番で並んだカス タム制御コードで構成されます。

Host On-Demand でヘッダー/長さモードを使用できるのは、印刷データ・スト リーム内に、すべて同じ長さのカスタム制御コード・ブロックが含まれている場合のみで す。 たとえば、印刷データ・ストリーム内のすべてのカスタム制御コード・ブロックに、2 つの制御コー ド (2 つの EBCDIC ペア) が含まれている場合は、Host On-Demand でヘッダー/長さモー ドを使用することができます。

Host On-Demand でヘッダー/長さモードを使用するように指定するには、PDF ファイル の制御コード・セクションで CUSTOM_CONTROL_CODES_LENGTH を定義します。 ヘッダー/長さモードを使用するには、PDF ファイルで関連する制御コードを次の例のように 定義します。

CUSTOM_CONTROL_CODES?=YES
CUSTOM_CONTROL_CODES_HEADER=5f 5f
CUSTOM_CONTROL_CODES_LENGTH=2
次のことに注意してください。

次に、Host On-Demand が上記の定義を使用して処理できるカスタム制御コード・ブロックの例を 示します。

5f 5f f1 82 f1 84
Host On-Demand は、これらの文字を次のように処理します。
  1. Host On-Demand は、ヘッダーの 5f 5f を検出すると、後続の EBCDIC ペアをカス タム制御コードとして処理する必要があると認識する。
  2. Host On-Demand は、EBCDIC の f1 82 を 16 進数の 1b に変換して、この 1b を印刷 出力先に送信する。
  3. Host On-Demand は、EBCDIC の f1 84 を 16 進数の 1d に変換して、この 1d を 印刷出力先に送信する。
  4. Host On-Demand は、2 つの制御コード (2 つの EBCDIC ペア) を処理し終えたので、 カスタム制御コード・ブロックの終端に達したことを認識する。

ヘッダー/長さモードには、次のようなルールもあります。

DBCS の追加の制御コード

以下の表は、DBCS 固有の制御コードのフィールド名と意味をリストしたものです。 すべてのコード・ページのリストについては、『 Host On-Demand でサポートされるコード・ページ 』を参照してください。

表 3. DBCS の追加の制御コード

フィールド名 値または注釈
START_LIPS_GRID 開始グリッド (Canon LIPS プリンター)
END_LIPS_GRID 終了グリッド (Canon LIPS プリンター)
LIPS_IMAGE イメージ・データの送信 (Canon LIPS プリンター)
IMAGE_TRANSMISSION イメージ・データのセットアップ (垂直 24 ドット・イメージ)
KANJI_CODE?
  • 日本語 - JIS、SHIFT_JIS
  • 中国語 (繁体字) - BIG5、TCA、IBM5550、CNS
  • 韓国語 - KS_COMBINE、KS_COMPLETE、KSSM_COMBINE、KSSM_COMPLETE
ZENKAKU_SPACE ユーザー定義の文字または SBCS 文字のサイズ (調整単位)
SBCS_FONT_LOAD ユーザー定義の SBCS 文字のロード
DBCS_FONT_LOAD ユーザー定義の DBCS 文字のロード
SET_LOCAL_FONT ユーザー定義の文字のフォント・セットの設定。 ユーザー定義文字をプリンターにロードしない場合は、 このフィールドを除去してください。
RESET_LOCAL_FONT ユーザー定義の文字のフォント・セットのリセット。 ユーザー定義文字をプリンターにロードしない場合は、 このフィールドを除去してください。
KANJI_ON 漢字モードの設定
KANJI_OFF 漢字モードのリセット
ATTRIBUTE_GRID_LINE 格子線の印刷
OLD_JIS? YES であれば、旧 JIS テーブルを、NO であれば、新 JIS テーブルを使用します。
CP943_IBM? YES であれば、IBM と NEC の間で重複している 13 のコード・ポイント (非漢字) に対して、IBM コード・ポイントを使用します。NO であれば、NEC コード・ポイントを使用します。

ESC_P.PDF を使用する場合、DBCS (2 バイト) 文字は文字ピッチの中央ではなく、 その左側に配置されます。 DBCS 文字を文字ピッチの中央に配置するには、 ESC_P.PDF の中にある以下の IBM 提供の値を変更します。

  P10 EQU 1B 50 1B 20 00 1C 53 00 0C 1C 54 00 00
  P12 EQU 1B 4D 1B 20 00 1C 53 00 06 1C 54 00 00
  P13 EQU 1B 67 1B 20 01 1C 53 00 03 1C 54 00 01
  P15 EQU 1B 67 1B 20 00 1C 53 00 00 1C 54 00 00

上記の値を以下のように変更します。

  P10 EQU 1B 50 1B 20 00 1C 53 06 06 1C 54 00 00
  P12 EQU 1B 4D 1B 20 00 1C 53 03 03 1C 54 00 00
  P13 EQU 1B 67 1B 20 01 1C 53 02 01 1C 54 00 01
  P15 EQU 1B 67 1B 20 00 1C 53 00 00 1C 54 00 00

 

印刷制御コード・パラメーターの定義

パラメーターの定義法は、パラメーター・タイプによって異なります。 誤った定義法を使用すると、正しい出力を得ることができません。

次に示す表に、 印刷制御パラメーターのタイプとその意味を示してあります。

表 4. 印刷制御パラメーター

パラメーター・タイプ 意味
バイト値または値 1 バイト・パラメーター
バイト値または値 (いずれも複数) マルチバイト・パラメーター。オペランドが固定の場合に使用。
ワード値 (HL) 1 ワード・パラメーター (高位バイト順)。
ワード値 (LH) 1 ワード・パラメーター (下位バイト順)。
長さ (HL) 値 オペランドを必要とするマルチバイト・パラメーター。 オペランドは、高位バイトおよび下位バイトで構成されます (高位が先)。オペランドが変数の場合に使用。
長さ (LH) 値 オペランドを必要とするマルチバイト・パラメーター。 オペランドは、下位バイトおよび高位バイトで構成されます (最低位が先)。オペランドが変数の場合に使用。
長さ (HL) イメージ オペランドを必要とするイメージ・データ。 オペランドは、高位バイトおよび下位バイトで構成されます (高位が先)。
長さ (LH) イメージ オペランドを必要とするイメージ・データ。 オペランドは、下位バイトおよび高位バイトで構成されます (最低位が先)。
10 進文字 10 進文字パラメーター。


文字定義

EBCDIC から ASCII への変換

Host On-Demand 3270 セッションでは、Telnet3270E プロトコルを使用します。 Telnet3270E プロトコルでは、すべての文字データは EBCDIC 文字セットで定義されます。 ワークステーション・プリンターは ASCII 文字セットを使用するので、 PDF で ASCII_PASSTHRU? = YES の指定がない限り、 プリンター・データの EBCDIC から ASCII へのコード変換は実行されます。

セッション・プロパティーの構成時に、EBCDIC コード・ページは「接続」ウィンドウの「ホスト・コード・ページ」フィールドで設定し、ASCII コード・ページは「ページ・セットアップ (Page Setup)」>「拡張オプション (Advanced Options)」にあるプリンター・フォントのコード・ページのフィールドで設定します。 すべてのコード・ページのリストについては、『 Host On-Demand でサポートされるコード・ページ 』を参照してください。

コード・ページ 850 は、ユーロ通貨記号をサポートしていない SBCS ホスト・コード・ページ用の デフォルト・プリンター・フォント・コード・ページとして使用されます。 ユーロ通貨記号をサポートしている SBCS ホスト・コード・ページを選択した場合は、 コード・ページ 858 が使われます。 ユーロ通貨記号のサポートについては制約事項があります。 詳細については、『Host On-Demand でサポート されるコード・ページ』を参照してください。

DBCS を使用する国または地域の場合、 デフォルトのプリンター・フォントのコード・ページには以下に示すコード・ページが使われます。

     942 943 (日本)
     949     (韓国)
    1386     (中華人民共和国)
     950     (台湾)
PDT の文字定義を使って、SBCS EBCDIC から ASCII へのデフォルトの変換テーブルを変更するには 2 通りの方法があります。以下のリストでは、これら 2 通りの方法について説明します。

DBCS に使用される、EBCDIC から ASCII へのデフォルト変換テーブルを変更することはできません。

同じコード・ポイントに複数の文字定義が存在する場合、 次のような優先順位規則が使われます。
  1. EBCDIC の文字定義のほうが、ASCII のものより優先される。
  2. 最後の文字定義が、それより前の定義と置き換えられる。

ホスト印刷について (5250)

Host On-Demand には、5250 ホスト印刷のための以下の機能が用意されています。

5250 ホスト印刷の場合には、Java ファイル・インターフェース・モードおよび Windows スプーラー・インターフェース・モード (Windows プラットフォームのみ) だけがサポートされます。 Windows ネイティブ印刷モードはサポートしていません。

ホスト印刷キー

5250 ディスプレイ・セッションでは、ホスト印刷キーを使用できます。 このキーは、表示部分の内容をテキストとして印刷するようホストに指示するキーです。

ホスト印刷変換

ホスト印刷変換は i5/OS と OS/400 の機能であり、SNA 文字ストリング (SCS) ま たは高機能プリンター (AFP) のデータ・ストリームを ASCII データ・ストリームに変換します。 変換された ASCII データ・ストリームはその後、 形式化されてから Host On-Demand の 5250 セッション経由で ASCII プリンターに送られます。 変換は iSeries 上で行われますが、それには次のような利点があります。

ホスト印刷変換の仕組み

5250 ホスト印刷変換 (HPT) は、iSeries からプリンター・スプール・ファイルに送る 直前に iSeries 印刷データ・ストリームを変換します。 iSeries が変換を行うため、ワークステーションの代わりにホストが印刷処理の大 部分を行います。

IBM プリンターをはじめ、多くのプリンターでは ASCII 印刷データ・ストリームをサポートしています。 ASCII 印刷データ・ストリームは、特定の ASCII プリンターの特性を記述した iSeries システム・オブジェクトを使用します。 プリンター・セッションを構成する際は、 用意されているリストから該当するプリンターを選択します。

デフォルトでは、Host On-Demand は SCS - ASCII 変換を 使いますが、iSeries で AFP - ASCII 変換を実行するよう構成することも可能です。 Host On-Demand はこの変換もサポートしています。 ASCII データ・ストリームは SCS ASCII Transparency (ATRN) コマンドにより、 エミュレーターを経由して渡されます。 Host On-Demand はその ASCII Transparency コマンドを削除してから、 該当する ASCII データ・ストリームをワークステーション・プリンターに渡します。

 

ホスト印刷変換についての詳細は、「iSeries Printer Device Programming 」の資料を参照してください。


ホスト印刷について (VT)

Host On-Demand が VT ホスト印刷を提供する方法は、VT 420 端末が VT ホストにこのサービスを提供する方法とよく似ています。 一般にこの環境では、アクティブ・ホスト・アプリケーションは次のどちらかのプリンターを扱 います。

従来の VT ホスト印刷セッションでは、ホスト・アプリケーションによって、印刷操作が必要なと きが判断されます (通常は印刷操作はユーザーのアクションによって開始されます)。 VT 印刷セッションでは、画面ベースの情報で使用されるのと同じホスト - 端末接続が使用されて、 プリンターに情報が渡されます。 印刷ジョブを開始すべきであることをホストが判別すると、 ホストによって端末シーケンスが端末に送られ、希望する印刷操作が開始されます。 ホストは、希望するすべての印刷情報を送信してから、端末に印刷終了シーケンスを送信して処理を終了させます。 場合によっては、画面とプリンターの両方を同時に、 ホストによって送信される情報の宛先にすることができます。

Host On-Demand は、VT 420 で定義されたすべての印刷シーケンスをサポートします。 ただし、Java 環境における制限があるため、 必ずしもすべてのプリンター状況コマンドがサポートされるわけではありません。 Windows スプーラー・インターフェース・モードと Windows ネイティブ印刷モードは、VT ホスト印刷セッションではサポートされません。


付録 A. プリンター・データ・ストリームの情報 (3270)

この付録では、 Host On-Demand のホストあての印刷データ・ストリームについて説明します。


  • 印刷データ・ストリームについて
  • 3270 データ・ストリームでサポートされるコマンドおよび命令
  • Query Reply
  • 機能管理ヘッダー 1 (FMH-1) のサポート
  • 印刷ジョブの区切り
  • SNA 文字ストリング・データ・ストリーム
  • 印刷データ・ストリームについて

    Host On-Demand は、 3270 データ・ストリームおよび SNA 文字ストリング (SCS) データ・ストリームの 2 通りの印刷データ・ストリーム・タイプをサポートします。 3270 データ・ストリームは、LU タイプ 3 セッションに使われ、 SCS データ・ストリームは、LU タイプ 1 セッションに使われます。

    論理装置 (LU) という用語は通常、 システム・ネットワーク体系 (SNA) で使われます。 Host On-Demand は Telnet (SNA プロトコルではない) しかサポートしていませんが、 「LU1」と「LU3」という用語は、対応する SNA LU 上のアウトバウンド・デー タとまったく同じアウトバウンド・データが含まれるセッションを表しています。

     

    3270 データ・ストリームは、バッファー向けです (またこれは、 3270 ディスプレイ・セッションにも使われますが、 本書ではプリンター用の 3270 データ・ストリームのみを扱います)。 印刷データは、画面上に表示されるのと同じようにフォーマット設定され、 ホスト・システムは、表示スペースをフォーマット設定するためのコマンドを送ります。 データがフォーマットされるときに、ホストは書き込み制御文字 (WCC) バイト内の START PRINT ビットをオンにし、プリンター・ハードウェアがもつ最大限の正確さで表示スペースを印刷します。 3270 データ・ストリームについての詳細は、「IBM 3270 情報システム データ・ストリーム プログラマー用 解説書 (N:GA23-0059)」を参照してください。

    SCS データ・ストリームは、 SCS 制御およびデータ文字の順次ストリングで構成されます。 3270 データ・ストリームと違って、SCS データ・ストリームには表示スペースは必要ありません。 SCS データ・ストリームについての詳しい説明が、本書の後半に述べられています。

    プロトコル・レベルの情報は、 インターネット RFC (特に RFC 2355) を参照してください。

     


    3270 データ・ストリームでサポートされるコマンドおよび命令

    3270 データ・ストリームで送ることのできるコマンドは以下のとおりです。

    表 6. 3270 データ・ストリームのコマンド

    コマンド 意味
    W 書き込み
    EW 消去 / 書き込み
    EWA 消去 / 書き込み代替
    EAU 全無保護域消去
    WSF 構造化フィールド書き込み

    3270 データ・ストリームで送ることのできる命令は以下のとおりです。

    表 7. 3270 データ・ストリームの命令

    命令 意味
    SBA 開始バッファー・アドレス
    SF 開始フィールド
    IC カーソル挿入
    PT プログラム・タブ
    RA アドレス反復
    EUA 無保護域をアドレスまで消去
    SFE* フィールド開始拡張
    SA* 属性設定
    MF* 変更フィールド

    * このリストの最後の 3 つの命令は、 フィールドおよび個々の文字の拡張強調表示およびカラー・プログラム・シンボルの属性を管理します。

    これらのコマンドや命令の他にも、 リストされている特殊な形式制御コードをデータ・ストリームに組み込むことができます。

    表 8. 3270 データ・ストリームの制御コード

    コード 説明
    NL New Line は、印刷位置を、1 行下の左マージンに移動します。
    CR Carriage Return は、印刷位置を左マージンに移動します。
    EM End of Message は、印刷操作を終了します。
    FF Form Feed は、印刷位置を、次ページの最上部の左マージンに移動します。

    注: NL、CR、および EM が有効なのは、 WCC に行長形式が指定されている場合だけです。 オプション設定に応じて、FF コードは、どのバッファー位置でも有効です。

    Host On-Demand のプリンター・サポートでは、 各 3270 属性および印刷制御コードを解釈して一連のワークステーション・プリンター制御コードに変えます。

    書き込み制御文字 (WCC) バイト

    書き込み制御文字 (WCC) バイトは、 3270 データ・ストリーム内の '書き込みタイプ' コマンドの後につづきます。 3270 プリンターの WCC バイトのビット定義は以下のとおりです。

    表 9. 3270 プリンターの書き込み制御文字 (WCC) バイト

    ビット 説明
    0~1 SNA または EBCDIC 環境では、 これらのビットはプリンターで無視されます。
    2~3 印刷形式を次のように定義します。
    00
    データ・ストリーム内の NL または CR 命令が印刷行の長さを決定し、 EM がメッセージの終わりを指定します。 この命令のどちらもない場合、MPP で NL が挿入されます。
    01
    40 字の印刷行を指定します。
    10
    64 字の印刷行を指定します。
    11
    80 字の印刷行を指定します。
    4 プリンター開始ビット。 これを 1 に設定すると、書き込み操作の完了時に印刷操作が開始されます。
    5 サウンド・アラーム・ビット。 これを 1 に設定すると、 プリンターに音響警報が備えられていればそれを鳴らします。
    6 キーボード復元ビット
    7 MDT リセット・ビット


    Query Reply

    Query Reply 構造化フィールドには、 Read Partition 構造化フィールド内にある Query Reply からの応答が入ります。

    Query に対する応答として、 ホストに送られる一連の構造化フィールド (デバイスの機能を記述しています) がデバイスから伝送されます。 デバイスがサポートする機能を反映する Query Reply のみが伝送されます。

    プリンター・セッションのタイプ (LU1 または LU3) に応じて、異なる Query Reply セット が送信されます。 LU1 セッションでの構造化フィールドのサポートについては、『機能管理 ヘッダー 1 (FMH-1) のサポート』を参照してください。FMH-1 は、LU1 セッションの構造化フィール ド用に使用されます。 MPP、MPL、GCSGID、CPGID、バッファー・サイズ (LU3 のみ) を除いて、Host On-Demand から送信される Query Reply はすべてハードコーディングされます。

    LU1 セッション用の Query Reply

    Summary Query Reply (要約照会応答)

    表 10.Summary Query Reply (LU1 - SBCS)

     

    バイト ビット 内容 意味
    0~1 - X'000A' この構造の長さ
    2 - X'81' Query Reply
    3 - X'80' Summary (要約)
    4~n  
    X'80'
    X'81'
    X'85'
    X'87'
    X'9F'
    X'A0'
    Summary (要約)
    Usable Area (使用可能域)
    Character Sets (文字セット)
    Highlighting (強調表示)
    Begin/End of File (ファイルの開始/終了)
    Device Characteristics (デバイス特性)

    表 11.Summary Query Reply (LU1 - DBCS)

    バイト ビット 内容 意味
    0~1 - X'000B' この構造の長さ
    2 - X'81' Query Reply
    3 - X'80' Summary (要約)
    4~n  
    X'80'
    X'81'
    X'85'
    X'87'
    X'8C'
    X'9F'
    X'A0'
    Summary (要約)
    Usable Area (使用可能域)
    Character Sets (文字セット)
    Highlighting (強調表示)
    Field Outlining (フィールド・アウトライン)
    Begin/End of File (ファイルの開始/終了)
    Device Characteristics (デバイス特性)

    Usable Area Query Reply

    表 12. Usable Area Query Reply (LU1 - SBCS)

    バイト ビット 内容 意味
    0~1 - X'0017' この構造の長さ
    2 - X'81' Query Reply
    3 - X'81' Usable Area (使用可能域)
    4
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'1'
    B'1111'
    予約
    Pageprinter ではありません
    予約
    ハードコピー・デバイス
    Unmapped (非マップ)
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    変数セルはサポートされません
    マトリックス文字
    バイト 6~9 (セル) の値
    予約
    6~7 - X'nnnn' 「拡張オプション」パネルとしての、セル内の使用可能域の幅 (MPP)
    8~9 - X'nnnn' 「拡張オプション」パネルとしての、セル内の使用可能域の高さ (MPL)
    10 - X'00' 計測単位 (インチ)
    11~14 -
    X'00010078'
    X 方向の 2 点間の距離
    (1/120 インチ)
    15~18 -
    X'00010048'
    Y 方向の 2 点間の距離
    (1/72 インチ)
    19 -
    X'0D'
    デフォルト・セル内の X 単位の数
    (13 ドット)
    20 -
    X'1C'
    デフォルト・セル内の Y 単位の数
    (28 ドット)
    21~22 - X'0000' Character Buffer Size (文字バッファー・サイズ)

    表 13. Usable Area Query Reply (LU1 - DBCS)

    バイト ビット 内容 意味
    0~1 - X'0017' この構造の長さ
    2 - X'81' Query Reply
    3 - X'81' Usable Area (使用可能域)
    4
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'1'
    B'1111'
    予約
    Pageprinter ではありません
    予約
    ハードコピー・デバイス
    Unmapped (非マップ)
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    変数セルはサポートされません
    マトリックス文字
    バイト 6~9 (セル) の値
    予約
    6~7 - X'nnnn' 「拡張オプション」パネルとしての、セル内の使用可能域の幅 (MPP)
    8~9 - X'nnnn' 「拡張オプション」パネルとしての、セル内の使用可能域の高さ (MPL)
    10 - X'00' 計測単位 (インチ)
    11~14 -
    X'000100B4'
    X 方向の 2 点間の距離
    (1/180 インチ)
    15~18 -
    X'000100B4'
    Y 方向の 2 点間の距離
    (1/180 インチ)
    19 -
    X'0F'
    デフォルト・セル内の X 単位の数
    (15 ドット)
    20 -
    X'18'
    デフォルト・セル内の Y 単位の数
    (24 ドット)
    21~22 - X'0000' Character Buffer Size (文字バッファー・サイズ)

    Character Sets Query Reply

    表 14. Character Sets Query Reply (LU1 - SBCS)

    バイト ビット 内容 意味
    0~1 - X'001B' この構造の長さ
    2 - X'81' Query reply
    3 - X'85' Character sets (文字セット)
    4
    0
    1
    2
    3
    4
    5
    6
    7
    B'1'
    B'0'
    B'0'
    B'0'
    B'0'
    B'0'
    B'1'
    B'0'
    グラフィック・エスケープ
    複数の LCID はサポートされません
    LOAD PS SF (サポートされません)
    LOAD PS EXTENDED (サポートされません)
    複数の文字スロット・サイズ (サポートされません)
    2 バイト文字セット (サポートされません)
    GCID があります
    予約
    これらはすべてハードコーディングされます
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    予約
    LPS スロット・サイズの一致が必要です
    予約
    予約
    6 -
    X'09'
    デフォルトの文字スロット幅
    (9 ドット)
    7 -
    X'0E'
    デフォルトの文字スロット高さ
    (14 ドット)
    8~11 - X'00000000' PS のロード (サポートされません)
    12 - X'07' 各シンボル・セット・ディスクリプターの長さ
    13 - X'00' デバイス固有の文字セット ID (SBCS)
    14
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'0'
    B'0000'
    ロード不能文字セット
    単一面文字セット
    2 バイト・コード文字セット
    LCID 比較
    予約
    15 - X'00' Local Character Set ID (ローカル文字セット ID)
    16~17 - X'nnnn' SBCS GCSGID
    18~19 - X'nnnn' SBCS CPGID
    20 - X'01' Device-specific character set ID (デバイス固有の文字セット ID)
    21
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'0'
    B'0000'
    ロード不能文字セット
    単一面文字セット
    2 バイト・コード文字セット
    LCID 比較
    予約
    22 - X'F1' Local Character Set ID (ローカル文字セット ID)
    23~24 - X'03C3' APL GCSGID (963)
    25~26 - X'0136' APL CPGID (310)

    表 15. Character Sets Query Reply (LU1 - DBCS)

    バイト ビット 内容 意味
    0~1 - X'002E' この構造の長さ
    2 - X'81' Query reply
    3 - X'85' Character sets (文字セット)
    4
    0
    1
    2
    3
    4
    5
    6
    7
    B'1'
    B'0'
    B'0'
    B'0'
    B'0'
    B'1'
    B'1'
    B'0'
    グラフィック・エスケープがサポートされます
    複数の LCID はサポートされません
    LOAD PS SF はサポートされません
    LOAD PS EXTENDED はサポートされません
    複数の文字スロット・サイズはサポートされません
    2 バイト文字セットはサポートされます
    GCID があります
    予約
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    予約
    LPS スロット・サイズの一致が必要です
    予約
    予約
    6 -
    X'0C'
    デフォルトの文字スロット幅
    12 ドット
    7 -
    X'18'
    デフォルトの文字スロット高さ
    24 ドット
    8~11 - X'00000000' PS のロードはサポートされません
    12 - X'07' 各シンボル・セット・ディスクリプターの長さ
    13 - X'00' デバイス固有の文字セット ID (SBCS)
    14
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'0'
    B'0000'
    ロード不能文字セット
    単一面文字セット
    2 バイト・コード文字セット
    LCID 比較
    予約
    15 - X'00' Local Character Set ID (ローカル文字セット ID)
    16 - X'00' 文字スロットの幅 (デフォルト)
    17 - X'00' 文字スロットの高さ (デフォルト)
    18 - X'00' DBCS のサブセクションの開始
    19 - X'00' DBCS のサブセクションの終了
    20~21 - X'nnnn' SBCS GCSGID
    22~23 - X'nnnn' SBCS CPGID
    24 - X'80' Device-specific character set ID (デバイス固有の文字セット ID)
    25
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'1'
    B'0'
    B'0000'
    ロード不能文字セット
    単一面文字セット
    2 バイト・コード文字セット
    LCID 比較
    予約
    26 - X'F8' Local Character Set ID (ローカル文字セット ID)
    27 - X'18' 文字スロットの幅 (24 ドット)
    28 - X'18' 文字スロットの高さ (24 ドット)
    29 - X'41' DBCS の開始サブセクション
    30 - X'7F' DBCS の終了サブセクション
    31~32 - X'nnnn' DBCS の GCSGID
    33~34 - X'nnnn' DBCS の CPGID
    35 - X'01' デバイス固有の文字セット ID
    36
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'0'
    B'0000'
    ロード不能文字セット
    単一面文字セット
    2 バイト・コード文字セット
    LCID 比較
    予約
    37 - X'F1' ローカル文字セット ID
    38 - X'00' 文字スロットの幅 : デフォルト
    39 - X'00' 文字スロットの高さ : デフォルト
    40 - X'41' DBCS サブセクションの開始を指示します
    41 - X'7F' DBCS サブセクションの終了を指示します
    42~43 - X'03C3' APL GCSID (963)
    44~45 - X'0136' APL CPGID (310)

    Highlighting Query Reply

    表 16. Highlighting Query Reply (LU1)

    バイト ビット 内容 意味
    0~1 - X'000D' この構造の長さ
    2 - X'81' Query Reply
    3 - X'87' Highlighting (強調表示)
    4 - X'04' 属性 / アクションの対の数
    5~6 - X'00F0' デフォルトは通常の強調表示です
    7~8 - X'F1F1' 明滅は明滅です
    9~10 - X'F2F2' 反転は反転です
    11~12 - X'F4F4' 下線は下線です

    Field Outlining Query Reply

    表 17. Field Outlining Query Reply (LU1)

    バイト ビット 内容 意味
    0~1 - X'000A' この構造の長さ
    2 - X'81' Query Reply
    3 - X'8C' Field Outlining (フィールド・アウトライン)
    4 - X'00' 予約
    5
    0
    1~7
    B'0'
    B'0000000'
    分離 (サポートされません)
    予約
    6 -
    X'06'
    SBCS 文字の縦線の位置
    これは、X 方向の 7 番目のドットにドローされます (ハードコーディング)
    7 - X'00' 上線 / 下線の位置
    8 - X'00' 上線の位置 (分離はサポートされません)
    9 - X'00' 下線の位置 (分離はサポートされません)

    Begin/End of File の Query Reply

    表 18. Begin/End of File の Query Reply (LU1)

    バイト ビット 内容 意味
    0~1 - X'0005' この構造の長さ
    2 - X'81' Query Reply
    3 - X'9F' Begin/End of File (ファイルの開始/終了)
    4 - X'00' 予約

    Device Characteristics Query Reply

    表 19. Device Characteristics Query Reply (LU1)

    バイト ビット 内容 意味
    0~1 - X'000A' この構造の長さ
    2 - X'81' Query Reply
    3 - X'A0' Device Characteristics (デバイス特性)
    4~5 - X'000B' Length of Horizontal Dimensional Parameters (HDP) descriptor (水平寸法パラメーター (HDP) ディスクリプターの長さ)
    6~7 - X'FF01' HDP の ID
    8
    .
    0
    1~7
    FLAGS
    SPDSUP
    RES
    .
    B'1' SPD はサポートされます
    予約
    9~10 - X'0A50' Character Density (文字密度) および MPP (CPI=10, MPP=80)
    11~12 - X'0C60' Character Density (文字密度) および MPP (CPI=12、MPP=96)
    13~14 - X'1189' Character Density (文字密度) および MPP (CPI=17.1、MPP=137)
    15~16 - X'000F' Length of Vertical Dimensional Parameters (VDP) descriptor (垂直寸法パラメーター (VDP) ディスクリプターの長さ)
    17~18 - X'FF02' VDP ディスクリプターの ID
    19
    .
    0
    1~7
    FLAGS
    SLDSUP
    RES
    .
    B'1' SLD はサポートされます
    予約
    20~21 - X'247F' 活版印刷のポイント数と MPL (LPI=2、MPL=127)
    22~23 - X'187F' 活版印刷のポイント数と MPL (LPI=3、MPL=127)
    24~25 - X'127F' 活版印刷のポイント数と MPL (LPI=3、MPL=127)
    26~27 - X'0C7F' 活版印刷のポイント数と MPL (LPI=6、MPL=127)
    28~29 - X'0A7F' 活版印刷のポイント数と MPL (LPI=8、MPL=127)
    30~31 - X'0005' Length of Page Presentation Media (PPM) descriptor (ページ表示メディア (PPM) ディスクリプターの長さ)
    32~33 - X'FF03' PPM ディスクリプターの ID
    34
    .
    0
    1~7
    FLAGS
    PPMSUP
    RES
    .
    B'0' PPM はサポートされません
    予約
    35~36 - X'0005' Length of Set Text Orientation (STO) descriptor (テキスト方向設定 (STO) ディスクリプターの長 さ)
    37~38 - X'FF04' STO ディスクリプターの ID
    39
    .
    0
    1~7
    FLAGS
    STOSUP
    RES
    .
    B'0' STO はサポートされません
    予約

    LU3 セッション用の Query Reply

    Summary Query Reply

    表 20. Summary Query Reply (LU3 - SBCS)

    バイト ビット 内容 意味
    0~1 - X'000B' この構造の長さ
    2 - X'81' タイプ (Query Reply)
    3 - X'80' Summary (要約)
    4~n  
    X'80'
    X'81'
    X'85'
    X'87'
    X'88'
    X'9F'
    X'A6'
    Summary (要約)
    Usable Area (使用可能域)
    Character Sets (文字セット)
    Highlighting (強調表示)
    Reply Modes (応答モード)
    Begin/End of File (ファイルの開始/終了)
    Implicit Partition (暗黙パーティション)

    表 21. Summary Query Reply (LU3 - DBCS)

    バイト ビット 内容 意味
    0~1 - X'000D' この構造の長さ
    2 - X'81' タイプ (Query Reply)
    3 - X'80' Summary (要約)
    4~n  
    X'80'
    X'81'
    X'85'
    X'87'
    X'88'
    X'8C'
    X'91'
    X'9F'
    X'A6'
    Summary (要約)
    Usable Area (使用可能域)
    Character Sets (文字セット)
    Highlighting (強調表示)
    Reply Modes (応答モード)
    Field Outlining (フィールド・アウトライン)
    DBCS Asia (DBCS アジア)
    Begin/End of File (ファイルの開始/終了)
    Implicit Partition (暗黙パーティション)

    Usable Area Query Reply

    表 22. Usable Area Query Reply (LU3 - SBCS)

    バイト ビット 内容 意味
    0~1 - X'0017' この構造の長さ
    2 - X'81' Query Reply
    3 - X'81' Usable Area (使用可能域)
    4
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'1'
    B'0001'
    予約
    Pageprinter ではありません
    予約
    ハードコピー・デバイス
    12/14 ビット・アドレッシングが可能です
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    変数セルはサポートされません
    マトリックス文字
    バイト 6~9 (セル) の値
    予約
    6~7 - X'0000' LU3 では 0 に設定しなければなりません
    8~9 - X'0000' LU3 では 0 に設定しなければなりません
    10 - X'00' 計測単位 (インチ)
    11~14 -
    X'00010078'
    X 方向の 2 点間の距離
    (1/120) インチ
    15~18 -
    X'00010048'
    Y 方向の 2 点間の距離
    (1/72) インチ
    19 -
    X'0D'
    デフォルト・セル内の X 単位の数
    (13 ドット)
    20 -
    X'1C'
    デフォルト・セル内の Y 単位の数
    (28 ドット)
    21~22 - X'nnnn' Character Buffer Size (文字バッファー・サイズ)

    表 23. Usable Area Query Reply (LU3 - DBCS)

    バイト ビット 内容 意味
    0~1 - X'0017' この構造の長さ
    2 - X'81' Query Reply
    3 - X'81' Usable Area (使用可能域)
    4
    0
    1
    2
    3
    4~7
    B'0'
    B'0'
    B'0'
    B'1'
    B'0001'
    予約
    PagePrinter ではありません
    予約
    ハードコピー・デバイス
    12/14 ビット・アドレッシングが可能です
    5
    0
    1
    2
    3~7
    B'0'
    B'0'
    B'0'
    B'0000'
    変数セル (サポートされません)
    マトリックス文字
    バイト 6~9 (セル) の値
    予約
    6~7 - X'0000' LU3 では 0 に設定しなければなりません
    8~9 - X'0000' LU3 では 0 に設定しなければなりません
    10 - X'00' 計測単位: インチ
    11~14 -
    X'000100B4'
    X 方向の 2 点間の距離
    (1/180 インチ)
    15~18 -
    X'000100B4'
    Y 方向の 2 点間の距離
    (1/180 インチ)
    19 -
    X'0F'
    デフォルト・セル内の X 単位の数
    (15 ドット)
    20 -
    X'18'
    デフォルト・セル内の Y 単位の数
    (24 ドット)
    21~22 - X'nnnn' Character Buffer Size (文字バッファー・サイズ)

    Character Sets Query Reply

    LU1 および LU3 のどちらでも、これに対して同じ Query Reply が送られます。詳細は、『 Character Sets Query Reply』を参照してください。

    Highlighting Query Reply

    LU1 および LU 3 のどちらでも、これに対して同じ Query Reply が送られます。詳細は、『 Highlighting Query Reply』を参照してください。

    Reply Modes Query Reply

    表 24. Reply Modes Query Reply (LU3)

    バイト ビット 内容 意味
    0~1 - X'0007' この構造の長さ
    2 - X'81' Query Reply
    3 - X'88' Reply Modes (応答モード)
    4 - X'00' フィールド・モードがサポートされます
    5 - X'01' 拡張フィールド・モードがサポートされます
    6 - X'02' 文字モードがサポートされます

    Field Outlining Query Reply

    LU1 および LU 3 のどちらでも、これに対して同じ Query Reply が送られます。詳細は、『 Field Outlining Query Reply』を参照してください。

    DBCS Asia Query Reply

    表 25. DBCS Asia Query Reply (LU3)

    バイト ビット 内容 意味
    0~1 - X'000B' この構造の長さ
    2 - X'81' Query Reply
    3 - X'91' DBAC アジアの ID
    4 - X'00' 予約
    5 - X'03' SO/SI SDP の長さ
    6 - X'01' SO/SI
    7 - X'80' SO 文字セットの ID
    8 - X'03' 入力制御 SDP の長さ
    9 - X'02' 入力制御の ID
    10 - X'01' SO/SI の作成がサポートされます

    Begin/End of File の Query Reply

    LU1 と LU 3 は同じ Query Reply を使います。 詳細は、『Begin/End of File の Query Reply』を参照してください。

    Implicit Partition Query Reply

    表 26. Implicit Partition Query Reply (LU3)

    バイト ビット 内容 意味
    0~1 - X'0011' この構造の長さ
    2 - X'81' Query Reply の長さ
    3 - X'A6' Implicit Partition (暗黙パーティション)
    4~5 - X'0000' 予約
    6 - X'0B' この自己定義パラメーターの長さ
    7 - X'03' プリンターの区画サイズの ID
    8 - X'00' 予約
    9~12 - X'00000780' デフォルト・プリンター・バッファー・サイズ (=80*24)
    13~16 - X'nnnn' 代替プリンター・バッファー・サイズ (= 代替画面のバッファー・サイズ)


    機能管理ヘッダー 1 (FMH-1) のサポート

    以下のヘッダーは、FMH-1 (機能管理ヘッダー・タイプ 1) と呼ばれます。

    X'06 01 00 0B 60 00'
    (アウトバウンド・データの場合)
    X'06 01 00 8B 60 00'
    (インバウンド・データの場合) このヘッダーは、LU1 セッションに構造化フィールドを送信するときに使用します。 FMH-1 を使用するには、BIND パラメーターのバイト 6 のビット 1 を 1 に設定する必要があります。

    次のように、FMH-1 はデータ・ストリームの先頭に置かれ、 その後に 1 つ以上の構造化フィールドが続きます。

     +-------+------------------+-....-+------------------+
     | FMH-1 | 構造化フィールド | .... | 構造化フィールド |
     +-------+------------------+-....-+------------------+
    インバウンド・データ用の FMH-1 は、読み取りパーティション (Query) に対する応答に使われます。

    注: SNA 接続では、 形式標識 (RH 内の最初のバイトのビット 4) が使われて、 その後の RU 内に FMH が入っていることが示されます。ただし、Telnet 接続ではそれに対応する標識はないので、 Host On-Demand はレコードごとに最初の 6 バイトを調べて、 レコードに FMH-1 が入っているかどうかを判断します。

    構造化フィールド

    以下に、 アウトバウンド・データ・ストリーム内で FMH-1 と一緒に使われる構造化フィールドのリストを示します。

    以下に、読み取りパーティション (Query) 構造化フィールドに対する応答として、 インバウンド・データ・ストリーム内で FMH-1 と一緒に使われる構造化フィールドのリストを示します。


    構造化フィールドの一般形式は次のとおりです。

     +--------+------+-----------+
     |   長さ |タイプ |パラメーター|
     +--------+------+-----------+
    長さは、2 バイトで表され、長さそのものも含めて、 構造化フィールドの長さを指定します。 ただし、次に示すケースでは、X'0000' でもかまいません。これは、 すべてのデータが構造化フィールドに属することを意味します。

    SCS データ

    この構造化フィールドは、SCS データをプリンターに送るのに使われます。 同一レコード内で別の構造化フィールドが見つかった場合、SCS データ構造化フィールドを使って SCS データを送る必要があります。

    SCS データ構造化フィールドの形式は次のとおりです。

    表 27. SCS データ構造化フィールドの形式

    バイト 内容 説明
    0~1 X'nnnn' または X'0000' 長さ
    2 X'41' タイプ (SCS データ)
    3 X'00' 予約
    4~n データ SCS データ

    読み取りパーティション (Query)

    この構造化フィールドは、プリンターの特性と機能を検索するのに使われます。 Query Reply 構造化フィールドは、インバウンド・データ・ストリームに入れて戻されます。

    1. 1 つの FMH-1 に 3 つ以上の読み取りパーティション (Query) 構造化フィールドを組み込めない。
    2. 読み取りパーティション (Query) 構造化フィールドは、他の構造化フィールドと一緒に送られる場合、 最後に置かれている必要がある。

     

    読み取りパーティション (Query) の形式は、3270 データ・ストリームで使われるものと同じです。

    Begin/End of File

    Begin/End of File 構造化フィールド』を参照してください。

    Query Reply

    Query Reply』を参照してください。

    印刷ジョブの区切り

    Host On-Demand の 1 つのプリンター・セッションを通して、 複数のソースから多数の印刷ジョブを送ることができます。 また、複数のセッションとアプリケーションが 1 つのワークステーション・プリンターを共有できます。 プリンターを適切に共用し、 適切な時点でジョブの開始およびジョブの終了のストリングが送られるようにするため、 それぞれの印刷ジョブがいつ開始しいつ終了するかを Host On-Demand が知っている必要があります。 これを行うために、Host On-Demand は印刷ジョブを区切る数多くの方法を認識します。

    セッションによって
    デフォルトでは、 すべての印刷ジョブはプリンター・セッションで区切られるとプリンター・サポートで想定されています。 つまり、他のどの標識もない場合、印刷ジョブは、 プリンター・セッションが開始すると開始し、停止すると終了すると想定されます。 セッションの終了は、UNBIND データの受信によってか、 またはソケット接続の終了によって識別されます。
    PRINT-EOJ によって
    DATA-TYPE を PRINT-EOJ に設定した TN3270E を区切り文字として使用できます。 Host On-Demand は、ジョブの最初の印刷データを受信するとプリンターをオープンし、 そしてデータを処理して印刷します。 そして PRINT-EOJ を受信するとプリンターをクローズします。 さらに印刷データを受信した場合、プリンターを再びオープンし、 ジョブの処理を開始します。
    終了時刻によって
    印刷ジョブは、 Terminate Time (終了時刻) という名前のユーザー指定のタイムアウト間隔で区切ることができます。 これは、セッションの構成時に指定できます。
    構造化フィールド
    ホストは構造化フィールドを使って、 現行ファイルの完了や、新しいファイルの開始をデバイスに指示できます。 Begin of File 構造化フィールドは、新しいファイルを開始することをプリンターに指示し、 End of File 構造化フィールドは、現行ファイルを完了することを指示します。Host On-Demand は次のような標識をサポートします。

    構造化フィールド

    ホストは、Begin of File および End of File 構造化フィールドを使って、 ファイルが開始または終了することをデバイスに指示します。

    Begin of File または End of File の Query Reply

    Begin of File または End of File の Query Reply は、デバイスが、 印刷ジョブを区切るための Begin of File と End of file をサポートすることを示します。 Host On-Demand は、表 18 に示されている ように、Read Partition General Query に対する応答として、Query Reply を送ります。

    Begin of File/End of File 構造化フィールド

    Begin of File/End of File 構造化フィールドは、LU1 および LU3 のどちらのセッションでも受け入れられます。 表 28 はその形式を示しています。

    表 28. Begin/End of File 構造化フィールド

    バイト ビット 内容 説明
    0~1   X'0007' この構造の長さ
    2~3   X'0F85' Begin/End of File (ファイルの開始/終了)
    4   PID パーティション ID
    5
    0~1
    
    
    
    
    
    
    
    
    
    2~7
    FLAG1 1
    
    B'00'
    
    B'01'
    
    B'10'
    
    B'11'
    
    
    予約
    
    End of File が送られます
    
    Begin of File が送られます
    
    予約
    
    予約
    
    6   FLAG2 予約。0 に設定しなければなりません
    1 このバイトは、Begin of File または End of File を送るかどうかを指示します。

    Begin of File または End of File 構造化フィールドの処理

    Begin of File または End of File 構造化フィールドを PRINT-EOJ または Terminate Time と一緒に使用すると、 印刷ジョブの開始または終了の時期を決めるときに、 これらの構造化フィールドのほうが PRINT-EOJ または Terminate Time よりも優先されます。 次の例を参照してください。

    予測できる結果を生じるには、それぞれのデータ・ブロックを、 Begin of File および End of File 構造化フィールドで囲む必要があります。 次に示す例は、3 つの印刷ジョブを示したものであり、 すべて正しく区切られています。

    Begin of File Structured Field, ...Data1...,
    End of File Structured Field, (= end of job1)
    
    Begin of File Structured Field, ...Data2..., End of File Structured Field, (= end of job2)
    
    Begin of File Structured Field, ...Data3..., End of File Structured Field, (= end of job3)
    
    PRINT-EOJ (ignored)

    PRINT-EOJ および Terminate Time コマンドの追跡は常に Host On-Demand で行われています。 エミュレーターは、Begin of File 構造化フィールドを受信した後、 End of File 構造化フィールドを受信するまで、 PRINT-EOJ に対しても、Terminate Time のタイムアウトに対しても何もアクションをとりません。 有効な End of File 構造化フィールドの処理後、 デフォルトによってエミュレーターは、次の Begin of File 構造化フィールドの受信まで、 PRINT-EOJ またはタイムアウト間隔によってジョブを区切ります。

    Begin of File または End of File 構造化フィールドのエラー条件

    Host On-Demand は、 同一レコード内の 2 つの別々の印刷ジョブに属するデータの伝送を受け入れません。 エミュレーターに印刷ジョブを受け入れさせるには、 ファイルの Begin of File 構造化フィールドはレコードの最初の構造化フィールドでなければならず、 また、End of File 構造化フィールドは最後のものでなければなりません。

    SCS データ・ストリームの処理

    SCS データ・ストリームを処理するときに Host On-Demand では、 Begin of File または End of File 構造化フィールドは次のように扱われます。

    3270 データ・ストリームの処理

    3270 データ・ストリームを処理するときに Host On-Demand では Begin of File または End of File 構造化フィールドは次のように扱われます。

    Host On-Demand が、Begin of File 構造化フィールドと End of File 構造化フィールドを受信しても、 少なくとも、それらの構造化フィールドの間にはさまれた何らかの印刷データがないと、 その構造化フィールドは無視されます。

    SNA 文字ストリング・データ・ストリーム

    概説

    この項では、 Host On-Demand でサポートされる SCS コマンドについて説明します。

    次に示すリストと表に、 Host On-Demand でサポートされる SCS コマンドを要約しています。


    表 29. Host On-Demand でサポートされる SCS コマンド

    SCS 制御 コード SBCS DBCS
    Backspace (バックスペース) BS X'16' X X
    Bell (ベル) BEL X'2F' X X
    Carriage Return (復帰) CR X'0D' X X
    Enable Presentation (使用可 能表示) ENP X'14' X X
    Form Feed (用紙送り) FF X'0C' X X
    Graphic Escape (グラフィック・エスケープ) GE X'08' X X
    Horizontal Tab (水平タブ) HT X'05' X X
    Inhibit Presentation (使用禁止表示) INP X'24' X X
    Interchange Record Separator (交換レコード分離文字) IRS X'1E' X X
    Line Feed (改行) LF X'25' X X
    New Line (改行) NL X'15' X X
    Null (ヌル) NUL X'00' X X
    属性設定 SA X'28' X X
    Set Horizontal Format (水平方向の書式の設定) SHF X'2BC1xxyy...' X X
    Set Line Density (行密度の設定) SLD X'2BC6xxyy' X X
    Set Print Density (印刷密度設定) SPD X'2BD2xx29yy' X X
    Set Vertical Format (垂直方向の書式の設定) SVF X'2BC2xxyy...' X X
    Shift In (シフトイン) SI X'0F' - X
    Shift Out (シフトアウト) SO X'0E' - X
    Transparent (透過性) TRN X'35xx...' X X
    Vertical Channel Select (垂直チャネルの選択) VCS X'04xx' X X
    Vertical Tab (垂直タブ) VT X'0B' X X
    Word Underscore (語の下線) WUS X'23' X -

    表 30. Host On-Demand でサポートされる SA 制御

    SA 制御のタイプ SBCS DBCS
    Highlighting (強調表示) X'2841xx' X X
    文字セット X'2843xx' X X
    グリッド属性 X'28C2xx' - X
    リセット特性 X'2800xx' X X

    コマンドの説明

    この項では、各 SCS コマンドについて詳しく説明します。

    Backspace (BS) (バックスペース (BS))

    BS は、表示位置を水平に 1 つ左に移動します。 表示位置がカラム 1 にある場合、ファンクションはノーオペレーションになります。 左マージンの設定は無視されます。
    BS
    +----+
    | 16 |
    +----+
    以下の説明は DBCS にしか当てはまりません。

    DBCS 文字セットを指定する SO または SA を受信すると、 BS は、表示位置を水平方向に 2 文字分 (DBCS の 1 文字分) 左へ移動します。 表示カラムがカラム 2 の場合、BS はそれをカラム 1 に移動します。

    Bell (BEL) (ベル (BEL))

    BEL は、BEL 制御コードが PDT 内に定義されていれば、その制御コードを送ります。
    BEL
    +----+
    | 2F |
    +----+

    Carriage Return (CR) (復帰 (CR))

    CR は、表示位置を水平方向に同じ行の左マージンへ移動します。 現在位置がすでに左マージンになっている場合、ファンクションはノーオペレーションになります。
    CR
    +----+
    | 0D |
    +----+

    Enable Presentation (ENP) (使用可能表示 (ENP))

    ENP は NUL として扱われます。
    ENP
    +----+
    | 14 |
    +----+

    Form Feed (FF) (用紙送り (FF))

    FF は、表示位置を、次の表示面の上端の左マージンに移動します。
    FF
    +----+
    | 0C |
    +----+

    Graphic Escape (GE) (グラフィック・エスケープ (GE))

    GE は、後に続く 1 バイトの値を、 APL 文字セット内のコード・ポイントと解釈するよう指示します。 Host On-Demand では、APL 文字はすべてハイフン ('-') として印刷されます。
    GE,VALUE
    +----+-------+
    | 08 | VALUE |
    +----+-------+
    |    |       |
    0----8-------16
    

    Horizontal Tab (HT) (水平タブ (HT))

    HT は、表示位置を、水平方向に次のタブ停止位置へ移動します。 水平タブ停止位置の値は、SHF (水平方向の書式設定) を使って設定できます。 現在の表示位置の右側には水平停止位置が設定されていない場合に HT を指定すると、 スペースが置かれます。
    HT
    +----+
    | 05 |
    +----+
    以下の説明は DBCS にしか当てはまりません。

    HT に起因するスペースは、グリッド印刷用のスペースとして扱われます。 つまり、HT に起因するスペースが、グリッドを開始するための SA の直後にある場合、そこからグリッド印刷が開始されます。 HT に起因するスペースが、グリッドを終了するための SA の直後にある場合、グリッド印刷はそこで終了されます。 グリッドは、HT に起因するスペース位置に印刷されます。

    Inhibit Presentation (INP) (使用禁止表示 (INP))

    INP は NUL (ヌル文字) として扱われます。
    INP
    +----+
    | 24 |
    +----+

    Interchange Record Separator (IRS) (交換レコード分離文字 (IRS))

    IRS は NL (改行文字) として扱われます。
    IRS
    +----+
    | 1E |
    +----+

    Line Feed (LF) (改行 (LF))

    LF は、表示位置を下へ次の行に移動します。 カラム位置は変更されません。
    LF
    +----+
    | 25 |
    +----+

    New Line (NL) (改行 (NL))

    NL は、表示位置を、水平方向に左マージンへ、そして下方向に次の行へ移動します。

    NL は、機能的には、CR の後に LF を続けることと同じです。

    NL
    +----+
    | 15 |
    +----+

    Null (NUL) (ヌル (NUL))

    NUL はノーオペレーションとして扱われます。
    NUL
    +----+
    | 00 |
    +----+

    Set Attribute (SA) (属性設定 (SA))

    SA は、次のように、 データ・ストリーム内の後続の図形文字に属性値を関連付けます。

    SA は次のようになります。

    SA,TYPE,VALUE
    +----+------+-------+
    | 28 | TYPE | VALUE |
    +----+------+-------+
    |    |      |       |
    0----8------16------23
    
    ここで、
    TYPE
    定義しようとする特性
    X'00'
    リセット特性
    X'41'
    Highlighting (強調表示)
    X'42'
    文字セット
    X'C2'
    グリッド属性 (DBCS のみ)

    VALUE
    タイプ・コードに従って、 後続の SCS 図形文字に関連付けたい属性値。

    以下に、タイプ別に値を示します。

    リセット特性
    X'00'
    値は X'00' に設定しなければなりません。 このタイプと値を指定した SA は、すべての属性値を X'00' にリセットします。
    強調表示
    X'00'
    デフォルト
    X'F0'
    なし
    X'F1'
    明滅
    X'F2'
    反転
    X'F4'
    下線
    X'00' の値は、Query Reply (強調表示) 構造化フィールドに示されるデバイスの デフォルトの強調表示を選択します。
    文字セット
    X'00'
    デフォルト (基本文字セット)
    X'F1'
    APL 文字セット
    X'F8'
    DBCS 文字セット (DBCS のみ)
    X'FF'
    予約

    グリッド属性 (DBCS のみ)
    X'00'
    なし
    X'01'
    下側部分
    X'02'
    右側部分
    X'03'
    下側および右側部分
    X'04'
    上側部分
    X'05'
    下側および上側部分
    X'06'
    上側および右側部分
    X'07'
    上側、右側、および下側部分
    X'08'
    左側部分
    X'09'
    左側および下側部分
    X'0A'
    左側および右側部分
    X'0B'
    左側、右側、および下側部分
    X'0C'
    左側および上側部分
    X'0D'
    左側、上側、および下側部分
    X'0E'
    左側、上側、および右側部分
    X'0F'
    長方形

    デフォルト値は次のとおりです。

     

    強調表示
    強調表示なし。グラフィックスの標準表示

    文字セット
    基本文字セット

    グリッド属性 (DBCS のみ)
    グリッドなし

    SA 値は、設定されている場合は、それぞれのタイプと関連付けられていて、 その関連性は同一タイプの別の SA 制御の受信まで続きます。 したがって、属性値の設定は、 それ以前に検出された SA 制御に指定されている属性の属性タイプと複合されたものになります。

    DBCS の場合、 以下に示す属性は、レコードの末尾でデフォルト値にリセットされます。

    文字セットの属性の場合、 SO および SI に設定される条件も適用できます。

    表 31. SBCS

    設定 強調表示 文字セット
    初期設定 デフォルト デフォルト
    SA 文字セット X'F1' デフォルト X'F1'
    SA 強調表示下線 下線 X'F1'

    未認識の属性値は、次のようにして扱われます。

     

    強調表示
    無効値は、否定応答とともにリジェクトされます。
    文字セット
    サポートされていない値は、否定応答とともにリジェクトされます。

    表 32. DBCS

    設定 グリッド 文字セット
    初期設定 デフォルト デフォルト
    SA グリッド上部 グリッド上部 デフォルト
    SA 文字セット X'F8' グリッド上部 X'F8'

    未認識の属性値は、次のようにして扱われます。

     

    グリッド属性
    次に示すケースは、否定応答とともにリジェクトされます。
    タイプ = X'43' で、値 = X'FF'
    タイプ = X'C2' で、値が X'00'~X'0F' の間にない
    タイプ = X'00' で、値が X'00' でない
    無効値は、否定応答とともにリジェクトされます。
    文字セット
    サポートされていない値は、否定応答とともにリジェクトされます。

    Set Horizontal Format (SHF) (水平方向の書式の設定 (SHF))

    SHF は、水平方向の書式制御を設定します。それには、 最大表示位置、左右のマージン、および水平タブ停止位置が含まれます。 1 バイトの 2 進カウントが SHF 制御の後に続きます。 これは、カウント・バイトも含め、SHF 順序の終わりまでのバイト数を示します。 カウントの後の最初の 3 つのパラメーターは、 それぞれ最大表示位置、左マージン、および右マージンを定義します。 タブ停止位置パラメーターは、 右マージン (RM) パラメーター位置の後に続きます。 SHF のパラメーターは、それぞれ 1 バイトであり、0~255 の範囲の 2 進数が入 っています。

    SHF 制御が受信されると、 水平方向の書式制御はすべてそれぞれのデフォルト値に設定されます。 送信できる最小有効シーケンスは、1 のカウントをもつ SHF です。 その場合、すべての水平方向の書式制御はデフォルト値になります。 他の SHF パラメーターのいずれかにゼロの値があると、 ノーオペレーションとなり、ファンクションはデフォルト値を保持することになります。 とられるデフォルト値は、下記のパラメーターの定義で説明されているものです。 SHF は次のようになります。

    CSP,CLASS,COUNT,MPP,LM,RM,T1,...Tn
    +----+----+-----+-----+----+----+----+-----+---+
    | 2B | C1 | CNT | MPP | LM | RM | T1 | ... | Tn|
    +----+----+-----+-----+----+----+----+-----+---+
    |    |    |     |     |    |    |    |     |   |
    0----8----16----24----32--40----48---56----n---+
    
    ここで、
    MPP
    最大表示位置は、表示面の水平範囲を指定します (たとえば、カラム 1 を原点とした、文字数単位の印刷行の長さ)。 有効な MPP 値は、デバイスの物理的な最大表示位置より小か等しくなります。 MPP のデフォルト値は、PDT の MAXIMUM_PRINT_POSITION 項目に定義されます。 これは、「拡張オプション」パネルでオーバーライドすることができます。
    LM
    左マージン値は、左端の表示位置のカラム値を指定します。 また LM は、最初の水平タブ停止位置としても使えます。 有効な LM 値は、MPP より小か等しくなります。 デフォルト値は 1 ですが、これは、PDT の LEFT_MARGIN 項目でオーバーライドすることができます。
    RM
    右マージンは無視されます。 有効な RM 値は、MPP より大きいか等しくなります。 RM のデフォルト値は MPP です。
    T1...Tn:
    水平タブ停止位置パラメーターは、 水平タブ (HT) 機能と一緒に使用するよう設定しなければなりません。 タブ・ストリングは、シーケンスの中になくてもかまいません。 ゼロ以外の有効タブ停止位置は、LM より大きいか等しく、しかも RM より小さいか等しい値です。

    LM パラメーターは最初の水平タブ停止位置です。 水平タブ停止位置パラメーター・シーケンスの中で LM 値を繰り返すと、 冗長になります。 現在の表示位置カラム値の右側にタブ停止位置値が設定されていないと、 HT ファンクションがスペース・ファンクションとして働きます。

    SHF を受信すると、次のようなアルゴリズムが実行されます。

    1. SHF パラメーターは、スキャンされ、妥当性を検査されてから、 SCS 制御ベクトルに保管される。
    2. エラーが検出されると、該当する否定応答が送られる。 保管されたパラメーターの効果は、アーキテクチャー内では定義されません。予測できる結果を生じるには、すべてのリカバリー・シーケンスに有効な SHF が入っている必要があります。

    SHF の処理が正常に完了すると、ただちに SHF パラメーターは有効になります。

    Set Line Density (SLD) (行密度の設定 (SLD))

    SLD は、LF または NL と同様に、垂直スペース内で単一行を移動する距離を指定します。 これには、1 バイトのカウント・フィールドと 1 バイトの 2 進数パラメーターが入っています。 2 進数パラメーターは、 標準活版印刷のポイント数 (1 ポイント = 1/72 インチ) 単位の垂直距離を表します。 12 ポイントの値はインチ当たり 6 行を、9 ポイントはインチ当たり 8 行を、 そして 72 ポイントはインチ当たり 1 行を示します。

    デバイスが SLD 制御を受信すると、 行密度がデフォルト値に設定されてから、カウント・フィールドと密度フィールドが分析されます。 次に示すパラメーター値は、リジェクトされないで受け入れられ、 デフォルト値が維持されます。

    カウント・バイト = X'02' で、ポイント・バイト = X'00'
    カウント・バイト = X'01' (ポイント・バイトを指示していません)
    X'01' および X'02' 以外のカウント値と、X'00' およびデバイスに実装されているもの以外のポイント値は、エラー応答とともにリジェクトされ、無効パラメーターが示されます。 SLD は次のようになります。
    CSP,CLASS,COUNT,POINTS
    +----+----+-----+------+
    | 2B | C6 | CNT | PNTS |
    +----+----+-----+------+
    |    |    |     |      |
    0----8----16----24-----32
             
    実装中のデバイスは、実装しているポイント値とデフォルト値を指定する必要があります。 デフォルト値は、Host On-Demand で「拡張オプション」パネルの設定から確定することができます。 その場合、上記のケースでは、ローカル確定された値がデフォルト値と見なされます。 フォームの保全性の喪失などの予測できない結果が生じないようにするには、 SLD の後に FF 制御を続けなければなりません。 FF 制御は SLD の直後に続く必要はありませんが、 間にデータや、形式制御 (たとえば、SLD、SHF) が動く原因となる制御コードがあったりしてはいけません。 順序の配列は、形式制御の実行に対して影響を与えません。

    FF 制御は、古い SLD パラメーターに関連した現在の表示面が終了する原因になりますが、 次の表示面での位置決めは、新しい SLD パラメーターに関連して行われます。

    SLD で指定される行密度は、SLD の受信時にただちに有効になります。

    次に示す規則を守らないと、 印刷出力のフォームにおいて位置がそろわなくなります。

    以下の説明は DBCS にしか当てはまりません。

    Host On-Demand では、次のようなポイント・パラメーター値が受け入れられま す。

    X'00'
    デフォルト設定 (6 LPI) の場合
    X'0C'
    6 LPI の設定の場合
    X'12'
    4 LPI の設定の場合
    X'18'
    3 LPI の設定の場合
    X'24'
    2 LPI の設定の場合
    SLD のポイント・パラメーターとして他の値が Host On-Demand で受信されると、 否定応答とともに SLD はリジェクトされます。

    Set Print Density (SPD) (印刷密度設定 (SPD))

    SPD は形式制御です。これは、 水平方向のインチ当たりの文字数を指定します。 SPD は次のようになります。
    CSP,CLASS,COUNT,TYPE,CHARACTER-DENSITY
    +----+----+-----+----+----+
    | 2B | D2 | CNT | 29 | CD |
    +----+----+-----+----+----+
    |    |    |     |    |    |
    0----8----16----24---32---47
    
    ここで、
    CD:
    文字密度は、 インチ当たりの印刷文字数を指定する 1 から 255 の 2 バイトの 2 進数です。

    Host On-Demand が扱える CD 値は 10、12、15、および 17 だけです。 それ以外の値を指定すると、Host On-Demand は密度をデフォルトの 10 にリセットします。

    256 から 65535 の数字は予約されています。 CNT = X'04' で CD = X'0000' であるか、または CNT = X'02' の場合、 デバイスのデフォルト値が使われます。

    SPD に指定した文字密度は、SPD の受信時にただちに有効になります。SPD コード X'2BD20229' が受信されると、 デバイスは文字密度をデフォルト値に設定します。 有効なカウントおよび文字密度の値が受信されない限り、 デフォルト値が保持されます。

    SBCS セッションでは、文字密度を変更した場合に SHF (水平方向の書式の設定) パラメーターを使ってそれを補正するために、LM、RM、および MPP を変更しないと、左右のマージンの位置合わせに誤りが生じることがあります。 DBCS セッションでは、 LM を設定するのに使った CPI 値が常に構成パネルで設定される値になるため、 SPD が左マージンの位置合わせの誤りの原因になることはありません。

    Set Vertical Format (SVF) (垂直方向の書式の設定 (SVF))

    SVF は、最大表示行 (ページ・サイズ)、上部マージン、下部マージン、および垂 直タブ停止位置を含めた、垂直方向の書式制御を設定します。 1 バイトの 2 進カウントが SVF 制御の後に続きます。 これは、カウント・バイトも含め、SVF 順序の終わりまでのバイト数を示します。 カウントの後の最初の 3 つのパラメーターは、 それぞれ最大表示行、上部マージン、および右マージンを定義します。 タブ停止位置パラメーターは、 下部マージン (BM) パラメーター位置の後に続きます。 パラメーターは、おのおの 1 バイトであり、0 から 255 の範囲の 2 進数が入っています。

    SVF 制御が受信されると、 垂直方向の書式制御はすべてそれぞれのデフォルト値に設定されます。 送信できる最小有効順序は、1 のカウントをもつ SVF です。 その場合、すべての垂直方向の書式制御はデフォルト値をもちます。 他の SVF パラメーターのいずれかにゼロの値があると、 ノーオペレーションとなり、ファンクションはデフォルト値を保持することになります。 とられるデフォルト値は、下記のパラメーターの定義で説明されているものです。 SHF は次のようになります。

    CSP,CLASS,COUNT,MPL,TM,BM,T1,...Tn
    +----+----+-----+-----+----+----+----+-----+---+
    | 2B | C2 | CNT | MPL | TM | BM | T1 | ... | Tn|
    +----+----+-----+-----+----+----+----+-----+---+
    |    |    |     |     |    |    |    |
    0----8----16----32----40---48---56---n
    
    ここで、
    MPL
    最大表示行は、 行 1 の原点を使って表示面の垂直範囲を指定します。 これは、プリンターのページ行数です。 1 から 255 までのすべての値が有効です。 SVF で定義されたページ・サイズのほうが、固定デバイス値よりも優先されます。 デフォルト値は、PDT の MAXIMUM_PAGE_LENGTH 項目に定義されます。 これは、「拡張オプション」パネルでオーバーライドすることができます。
    TM
    上部マージンは、ページの最上表示行として使われる行値を指定します。 TM も、最初の垂直タブ停止位置です。 有効な TM 値は、MPL に等しいかまたはそれより小さい値です。 TM のデフォルト値は 1 です。 これは、PDT 内の TOP_MARGIN 項目でオーバーライドできます。
    BM
    下部マージンは、行値を指定し、それよりも現在の行のほうが大きくなったら、 次の表示面の TM に自動的にスキップさせます。 BM は、TM より大きいか等しくなければならず、また、MPL より小さいか等しくなければなりません。 BM のデフォルト値は、MPL 値です。
    T1...Tn

    VT によって選ばれる垂直タブ停止位置、または VCS によって選ばれる垂直チャネル。

    垂直タブ停止位置はそれぞれ、 垂直タブ (VT) ファンクションと一緒に使うための単一行値を指定します。 有効な垂直タブ値は、TM (明示的に指定してはいけない最初の垂直タブ停止位置) に 等しいかそれより大きく、 BM または X'00' に等しいかまたはそれより小さい値です。 X'00' は使ってもよいタブ停止位置値ですが、非ゼロ値のみが処理されます。 有用な垂直タブ停止位置を使えるようにしたければ、 MPL には、1 より大きい値を指定しなければなりません。 予測可能な結果を VT ファンクションで得られるようにするには、 垂直タブを昇順でリストしなければなりません。 垂直タブ停止位置は、TM を除く任意の行から、 下部マージン (これも含む) までに設定することができます。

    タブ停止位置パラメーター 1~11 は、 対応する制御チャネル 2~12 の行値を設定するのにも使います。 ただし、チャネル 1 は TM によって設定されます。 そのため、垂直方向の書式設定は、 VT ファンクションの他に垂直チャネル選択 (1~12) ファンクションを使って行うこともできます。 値ゼロは、タブ停止位置 1~11 のどれに現れてもかまいません。 チャネル 2~12 のいずれかに対応してゼロの行値を指定した場合に、 そのチャネル番号用に選択チャネルを指定すると、 LF ファンクションがデフォルトになります。 選択チャネル 1 の場合、行位置は次の表示面の TM に移動し、 カラム位置は変わりません。 垂直タブの行値は、チャネル停止位置を設定するのに使用する場合、昇順にしなければなりません。ただし、値ゼロは、そのシーケンス外に現れてもかまいません。

    SVF を受信すると、次のようなアルゴリズムが実行されます。

    1. SVF パラメーターは、スキャンされ、妥当性を検査されてから、保管される。
    2. エラーが検出されると、該当する否定応答が送られる。 保管されたパラメーターの効果は、アーキテクチャー内では定義されません。予測できる結果を生じるには、リカバリー・シーケンスにはすべて有効な SVF を入れておかなければなりません。

    SHF が受信されると、SVF パラメーターはただちに有効になります。 フォームは、TM パラメーターで指定された行に合わせて位置をそろえられることがデバイスでは前提となります。

    使用するアプリケーションで常に TM = 1 を指定するのでない限り、 SVF の受信の前に、TM で指定された行に合わせてフォームの位置を手動でそろえる必要があります。 この規則を守らないと、 印刷出力のフォームにおいて位置がそろわなくなります。

    Shift In (SI) (シフトイン (SI))

    このコマンドは、DBCS の場合のみ適用されます。

    SI は、データを SBCS 文字として扱うことを指定します。

    SI
    +----+
    | 0F |
    +----+
    SI の後の文字データは、次のうちのいずれかが起きるまで SBCS 文字として扱われます。

    レコードの先頭から、上記の 2 つの条件のどちらかが満たされるまで、すべての文字データは SBCS として扱われます。SI は文字位置をとりません。

    Shift Out (SO) (シフトアウト (SO))

    このコマンドは、DBCS の場合のみ適用されます。

    SO は、データを DBCS 文字として扱うことを指定します。

    SI
    +----+
    | 0E |
    +----+

    SO の後の文字データは、次のうちのいずれかが起きるまで DBCS 文字として扱われます。

    SO の後、SCS 制御とそのパラメーターは、単一バイトとして扱われます。 DBCS データの第 1 バイトと第 2 バイトの間に制御を挿入することはできません。 挿入すると、無効文字として扱われ、2 バイトの塗りつぶしブロックとして印刷されます。

    SI は文字位置をとりません。

    Transparent (TRN) (透過性 (TRN))

    TRN は、透過データ・ストリームの先頭を示すデータ定義制御です。 次のように、2 つのタイプの透過データ・ストリームがあります。

    ATRN (ASCII TRN)
    すべてのコードを、EBCDIC から ASCII へのコード変換を行わずにプリンターに送ります。これは、SBCS セッションのデフォルトです。
    ETRN (EBCDIC TRN)
    EBCDIC から ASCII へのコード変換を行って、コードをプリンターに送りま す。コード・ポイント X'40' の下のコードは、常にハイフンとして印刷されます。 これは DBCS セッションのデフォルトです。
    TRN データ・ストリームの設定の変更法
    デフォルト設定は、PDT 内の TRANSPARENT_ON? 項目で変更できます。
       TRANSPARENT_ON? = YES         /* use ATRN mode */
       TRANSPARENT_ON? = NO          /* use ETRN mode */
    

    TRN は次のようになります。

    TRN,COUNT
    +----+-----+
    | 35 | CNT |
    +----+-----+
    |    |     |
    0----8-----15
    
    ここで、
    CNT
    これは、透過データのバイト数を示します (カウント・バイトを含みません)。

    TRN データの処理後、 表示位置は CNT 位置に移動しなければなりません。

    Vertical Channel Select (VCS) (垂直チャネル選択 (VCS))

    DBCS の場合、 SBCS のチャネル・パラメーターが有効な場合、 VCS は LF と同じです (X'81'~X'89'、X'7A'~X'7C')。

    SBCS の場合、VCS は、 表示面の垂直方向の書式を制御するために 12 個の垂直チャネルの中から 1 つを選ぶのに使われる形式制御です。

    VCS は次のようになります。

    SEL,CHANNEL-CODE
    +----+------+
    | 04 | CODE |
    +----+------+
    |    |      |
    0----8------15
    
    ただし、(以下の説明は、SBCS にのみ適用されます。)
    CODE
    X'81'
    選択チャネル 1
    X'82'
    選択チャネル 2
    X'83'
    選択チャネル 3
    X'84'
    選択チャネル 4
    X'85'
    選択チャネル 5
    X'86'
    選択チャネル 6
    X'87'
    選択チャネル 7
    X'88'
    選択チャネル 8
    X'89'
    選択チャネル 9
    X'7A'
    選択チャネル 10
    X'7B'
    選択チャネル 11
    X'7C'
    選択チャネル 12

    デフォルト値を使用するのでない限り、使用する各チャネルごとの行停止値は、これらの選択ファンクションを使用する前に指定しておく必要があります。 『Set Vertical Format (SVF) (垂直方向の書式の設定 (SVF))』を参照してください。

    現在行の番号のほうが、選択したチャネルに指定されている最大行値よりも大きくなった場合、 用紙送りが発行され、選択したチャネルに指定されている行値が次ページで使われます。 チャネルに指定されている行値がない場合、 そのチャネルの選択チャネル・ファンクションのデフォルトは LF (改行) になります。

    Vertical Tab (VT) (垂直タブ (VT))

    VT は、表示位置を下方向の次のタブ停止位置に移動する形式制御です。 垂直タブ停止位置の値は、SVF (垂直方向の書式設定) を使って設定できます。 現在行番号より下に垂直タブ停止位置が設定されていない場合、 VT のデフォルトは LF (改行) になります。 ゼロは使ってもよいタブ停止位置値ですが、非ゼロ値のみが処理されます。
    VT
    +----+
    | 0B |
    +----+

    Word Underscore (WUS) (語の下線 (WUS))

    WUS は、WUS 制御の直前の語全体に下線を引くデバイス制御です。 下線付きの語は、WUS コードの前からさかのぼって、スペース、下線、 またはいずれかの SCS 制御までの文字ストリングになります。

     WUS
    +-----------------------+----+
    | (任意のストリング)    | 23 |
    +-----------------------+----+
     8n 8n+7

    付録 B. 各国語サポート

       

    1. 中国語 (簡体字)
      1.  

      2. Windows ネイティブ・プリンター・インターフェース・モードを使用する Windows クライアント上での、3270 ホスト印刷の GB18030 サポート。
      3. この項目では、次のようなシナリオについて説明します。
        1. Host On-Demand クライアントが Windows プラットフォーム上で実行されている。
        2. ロケールは中国語 (簡体字)。
        3. ブラウザーは Java 2 対応のブラウザー。
        4. 3270 印刷セッションが Windows ネイティブ・プリンター・インターフェース・モード用に構成されている。つまり、 セッション・プロパティーの「プリンター (Printer)」タブで、次のように設定されています。
          • 「印刷先」は Windows Printer
          • 「プリンター定義テーブルの使用」は「いいえ」
        5. GB18030 サポートがクライアントにインストールされている。
          • 後述のように、IBM WorldType font Monotype Sans Duospace WT SC を使用するように 3270 印刷セッションを 構成した場合でも、このパッケージがインストールされている必要があるので注意してください。
        6. ホスト印刷ジョブに GB18030 文字が含まれている。

        すべての GB18030 文字を正しく印刷するためには、IBM WorldType font Monotype Sans Duospace WT SC を使用する必要があります。

        Microsoft GB18030 サポート・パッケージに付属して配布される SimSun-18030 フォントを使用すると、一部の GB18030 文字が印刷できないので注意してください。ただし、ここでお勧めするように IBM WorldType font Monotype Sans Duospace WT SC を使用する場合でも、Microsoft GB18030 サポート・パッケージ自体はインストールされている必要があります。

        IBM WorldType font Monotype Sans Duospace WT SC を使用する手順は、次のとおりです。

        1. フォントを入手し、インストールします。
          1. Host On-Demand サポート・ページ (http://www.ibm.com/software/webservers/hostondemand/support.html) からフォント・ファイルをダウンロードすることにより、IBM WorldType font Monotype Sans Duospace WT SC を入手する。 中国語 (簡体字) 用フォント・ファイルは mtsansds.ttf です。
          2. 次のようにしてフォントをインストールする。
            1. Windows ディレクトリーの下の Fonts ディレクトリーに進む。 つまり、Windows が以下のディレクトリーにインストールされている場合は、
              C:\Winnt
              次のディレクトリーに進みます。
              C:\Winnt\Fonts
            2. 「ファイル」>「新しいフォントのインストール...」をクリックする。
            3. 指示のとおりにフォントをインストールする。

        2. このフォントを使用するように 3270 プリンター・セッションを構成する。
          1. 3270 プリンターのプロパティー・パネルの「ページ・セットアップ (Page Setup)」をクリックする。
          2. 「フォントの選択... (Select Font...)」をクリックする。
          3. 「フォント (Font)」パネルで、フォントのリスト・ボックスをスクロールして、Monotype Sans Duospace WT SC を 選択する。
          4. 「OK」をクリックして「フォント (Font)」パネルを閉じる。

       

    2. 日本語
      1.  

      2. 日本語コード・ページのサポート
      3. Host On-Demand では、 日本語プリンターで使われる 3 つのコード・ページ (932、942、943) をサポートしています。 942 は IBM プリンターのデフォルトとして、 943 は他のプリンターのデフォルトとして使われます。 943 を使用している場合、IBM と NEC の間で重複しているコード・ポイントについては NEC のコード・ポイントがデフォルトで使われます。 対象となるプリンターが IBM プリンターであるかどうかを調べるために、 PDF では KANJI_CODE? ステートメントを使用します (SHIFT_JIS = IBM、JIS = その他)。

        通常はデフォルト値を変更する必要はありませんが、 プリンター・フォントのコード・ページ設定は「拡張オプション」パネルで変更できます。 ご使用のプリンターで使われるコード・ページを知りたいときは、そのプリンターのマニュアルを参照してください。

        さらに、Host On-Demand には日本語コード・ページのサポート用に、 以下に示す 2 つの PDF パラメーターが用意されています。

        OLD_JIS? YES/NO
        これを YES に設定すると、コード・ページの設定に関係なく旧 JIS 並びが使われます。 NO に設定すると新 JIS 並びが使われます。 コード・ページ 932 および 942 のデフォルト値は YES、 943 のデフォルト値は NO です。
        CP943_IBM? YES/NO
        これを YES に設定すると、IBM と NEC の間で重複している 13 のコード・ポイント (非漢字) について IBM のコード・ポイントが使われます。 NO に設定すると NEC のコード・ポイントが使われます。 コード・ページ 943 が使われていないときは、このオプションは無視されます。 KANJI_CODE? = SHIFT_JIS であればこのデフォルト値は YES、 それ以外の場合は NO です。

        KANJI_CODE? オプション OLD_JIS? オプション CP943_IBM? オプション 変換内容 プリンター
        SHIFT_JIS YES 該当なし 942/932 IBM プリンター
        SHIFT_JIS NO YES 943-IBM IBM 5577-s02/t02、 および CP 943 の使用時には PAGES モードのネットワーク・プリンター
        JIS YES 該当なし 942/932 LIPS 旧 JIS 配列モード
        JIS NO NO943-NEC ESC/P プリンター、LIPS プリンター


       

    3. ユーザー定義文字
      1.  

      2. ホスト印刷セッションで使われるユーザー定義文字
      3. Java ファイル・インターフェース・モードまたは Windows スプーラー・インターフェース・モードによるホスト印刷で ユーザー定義文字 (UDC) をサポートするには、UDC フォント・イメージ・ファイルを準備する必要があります。 サーバー上では、このファイルはクライアントからアクセスできるように fonts ディレクトリー (例: C:\Program Files\IBM\HostOnDemand\HOD\fonts) に配置しておく必要があります。 Windows ネイティブ印刷モードでは、ユーザーの Windows システムで UDC が定義されている場合はこれを行う必要はありません。

        UDC サポートは 2 バイト言語だけに適用することができます。

        Windows では、w32udcnv.exe ユーティリティーを実行して Windows ユーザー定義フォントを 使用可能なフォント・イメージ・ファイルに変換しなければなりません。 このユーティリティーは Host On-Demand CD の \UDC ディレクトリーに用意されており、インス トール時にはサーバーにコピーされません。 このユーティリティーの使い方は以下のとおりです。

        1. w32udcnv.exe を実行する。
        2. 変換」をクリックして変換を開始し、 フォント・イメージ・ファイルを生成する。

        3. 変換後、フォント・イメージ・ファイルはドライブ C: のルートに保管されます。 ファイルの名前は、実行中のオペレーティング・システムの言語に応じて以下のように付けられます。

          プラットフォーム フォント・イメージのファイル名
          日本語 Windows jpn24.fnt
          韓国語 Windows kor24.fnt
          中国語 (簡体字) Windows chs24.fnt
          中国語 (繁体字) Windows cht24.fnt

        4. このフォント・イメージ・ファイルを公開ディレクトリーの fonts サブディレクト リーにコピーする (例: C:\Program Files\IBM\HostOnDemand\HOD\fonts)。

        OS/2 サーバーでは、OS/2 フォント・イメージ・ファイル $SYS1Z24.FNT を 公開ディレクトリーの fonts サブディレクトリーにコピーして、上記の表に従って名前を変更しま す。

        制限

       

    4. ユーロ通貨記号
      1.  

      2. ユーロ通貨記号のサポート
      3. ユーロとは、欧州共同体の統一通貨の名前です。 Host On-Demand は、ディスプレイ・セッションでユーロ通貨記号をサポートしています。 PDT を使用して印刷するときには、プリンター・フォントにその記号が組み込まれている場合のみ、 ユーロ通貨をサポートできます。

        ヨーロッパの各言語でのディスプレイ・セッションのデフォルトのホスト・コード・ページは、 ユーロのサポートが組み込まれています。 プリンター・セッションでのデフォルトは非ユーロですが、 これは大部分のプリンターがユーロをまだサポートしていないためです。 しかし、必要に応じてユーロのコード・ページを選択することもできます。

        ご使用のプリンター・フォントにユーロ記号が組み込まれている場合は、 次の手順に従うことにより Host On-Demand のプリンター・セッションからその記号を印刷することができます。

        1. デフォルト・プリンター・フォントを、ユーロ記号の組み込まれているものに変更する。 この操作は、プリンターのタイプによって異なります。 ご使用のプリンターの資料を参照してください。

        2. 使用したい PDF を変更する。 次の 2 つのセクションを変更する必要があります。
          • 一部の PDF の START_JOB/END_JOB 項目では、 文字セットを切り替えるためのコマンドが定義されています。 そのコマンドを除去しなければなりません。 デフォルト・プリンター・フォントは、すでにステップ 1 で設定されていて、変更することができないためです。
          • たとえば、ホスト・データ・ストリームに入っている文字を解釈するためなどの、 特殊な目的のために文字定義が変更されていない限り、文字定義はすべて文字定義はすべて除去しなければなりません。

        3. 必要な変更を行った後、その PDT をコンパイルする。

        4. プリンター・セッションを構成する。 ユーロの使用可能なホスト・コード・ページとユーロの使用可能なプリンター・フォント・コード・ページの両方を指定しなければなりません。 ユーロの使用可能なプリンター・フォント・コード・ページには 858、923、および 1252 の 3 種類があります。 どれを使うとよいかを判断するには、プリンターの資料を参照してください。

    付録 C. 拡張構成オプション (3270)

    パラメーターの中には、 プリンター・セッションを構成するときに「ページ・セットアップ」および「拡張オプション」パネルで設定できるものがあります。 これらのパラメーターは PDT で設定した値をオーバーライドしますが、PDT を変更することはありません。

    下の表は、フィールド、範囲、およびそれに関連した PDT パラメーター値を示しています。

    表 34. 拡張オプション

    フィールド名 PDT パラメーター
    Best Fit Yes/No なし
    Characters per inch 10、12、17 DEFAULT_CPI?
    Concatenation time 整数: 0~32767 なし
    Draw field-attribute byte none、here、next なし
    FF takes space if before data Yes/No FORM_FEED_TAKES_POSITION?
    Font ストリング なし
    Form-feed position 任意の位置 / カラム 1 のみ FORM_FEED_ANY_POSITION?
    Ignore attributes Yes/No なし
    Ignore FF when at first position Yes/No IGNORE_FORM_FEED_AT_FIRST_POS?
    Inactivity time integer 0、10~255 INTERV_REQ_TIMER
    Inherit parameters Yes/No なし
    Lines per inch 2、3、4、6、8、10 DEFAULT_LPI?
    Maximum characters per line 整数: 1~255 MAXIMUM_PRINT_POSITION
    Maximum lines per page 整数: 1~255 MAXIMUM_PAGE_LENGTH
    Printer-font code-page 整数: (たとえば 850) なし
    Print nulls as spaces Yes/No OVERRIDE_FORMATTED_PRINT?
    SCS sense-code Yes/No なし
    Suppress NL if CR at MPP+1 Yes/No NO_AUTO_NL_IF_CR_AT_MPP_PLUS_1?
    Suppress NL if NL at MPP+1 Yes/No NO_AUTO_NL_IF_NL_AT_MPP_PLUS_1?
    Suppress null lines Yes/No COMPRESS_LINE_SPACING?
    Termination time 整数: 0~32767 なし
    Tractor feed Yes/No なし


    付録 D. トラブルシューティング

    印刷機能がどうしても失敗してしまう場合は、 最初にサーバー・コードの再インストールを試みてください。それでも 失敗する場合は、IBM サービス技術員にお問い合わせください。

    印刷した出力が予期どおりでないときに、本書の他の箇所を参照しても問題点を訂正できない場合は、 次のような情報が参考になるかもしれません。

    Windows 98 と Windows Me でのエラー状態

    Windows 98 および Windows Me は、プリンターのエラー状態が発生しても有効な情報を何も戻 しません (たとえば、物理プリンターがポートに接続されていない、プリンターの用紙切れ、プリ ンターがオフラインの場合など)。その結果、オペレーティング・システムからは何の警告もありませんが、 Host On-Demand の非活動タイマーはそのような状態が生じていることをユーザーに知らせます。

    非活動タイマー

    Host On-Demand には印刷ジョブをモニターする非活動タイマーがあり、 エラーが発生すると 'intervention required' というメッセージをポップアップ表示します。 メッセージが表示されたときは、以下の点を確認してください。

    エラーを解決すると印刷が再開され、メッセージは表示されなくなりますが、 「OK」をクリックすればいつでもメッセージを消すことができます。

    エラー状態を解決することができない場合は、 ブラウザーを閉じてから再起動してください。 場合によってはマシンのリブートが必要になります。

    非活動時間は、3270 プリンター・セッションの場合は「セッション・プロパティー (Session Properties)」>「接続 (Connection)」ウィンドウ、5250 プリンター・セッションの場合は「プロパティー (Properties)」>「プリンター (Printer)」ウィンドウ、PDT 内では INTERV_REQ_TIMER= セッション・パラメーターに設定した値によって制御されます。 デフォルト値は 25 秒 (025) ですが、この値はパネル上で、 あるいは PDF を変更してコンパイルすることにより、変更することができます。 値が 000 であればタイマーは無効になります。 値が 011 を下回る場合は、間隔が 10 秒に設定されます。 なお、最大値は 255 です。 印刷速度の遅いプリンターがある場合は、 この値を大きくする必要があるかもしれません。

    問題の解決

    印刷のトラブルシューティングに関連する追加情報については、「IBM Host On-Demand ト ラブルシューティング・ガイド」の『印刷のトラブルシューティング・ チェックリスト』を参照してください。

    プリンターに出力されない (3270)

    1. Host On-Demand なしで印刷できますか?
      プリンターのプロパティー・ウィンドウからテスト・ページを印刷できますか (Windows の場合)? OS/2 ウィンドウから ASCII ファイルを印刷できますか? プ リンターにファイルを送信できますか (AIX、UNIX の場合)?
    2. Host On-Demand のテスト・ページを印刷できますか?
      印刷できるかどうかを調べるために、プリンター・セッションを開始します。 メニューから「印刷」>「印刷テスト」の順にクリックします。 テスト・ページを印刷したという内容のメッセージが表示されますが、 「OK」をクリックするまでは印刷されない場合もあります。

      テスト・ページを印刷するのに、接続したセッションは必要ありません。

    3. ホスト文書をファイルに出力できますか?

    プリンターに出力されない (5250)

    1. Host On-Demand なしで印刷できますか?
      プリンターのプロパティー・ウィンドウからテスト・ページを印刷できますか (Windows の場合)? OS/2 ウィンドウから ASCII ファイルを印刷できますか? プ リンターにファイルを送信できますか (AIX、UNIX の場合)?

      ホスト iSeries システムで印刷を停止することができます。 プリンターの状況を検査するには、AS/400 コマンド・ラインで WRKWTR コマンドを使用してください。 プリンター・オペレーター・メッセージを表示するには、オプション 7 を使用してください。 「用紙タイプ '*STD' の装置をロードしてください」という旨のメッセージが頻繁に表示される場合には、iSeries のシステム管理者に ADDRPYLE SEQNBR(99999) MSGID(CPA3394) RPY('G') コマンドを実行してもらうことを検討してください。


    2. ホスト文書をファイルに出力できますか?

    3. Host On-Demand を使用している他のプリンターにホスト文書を出力できますか?
    4. ご使用の iSeries はそのプリンターをサポートしていますか?

    プリンターに出力されない (VT)

    1. Host On-Demand なしで印刷できますか?
      プリンターのプロパティー・ウィンドウからテスト・ページを印刷できますか (Windows の場合)? OS/2 ウィンドウから ASCII ファイルを印刷できますか? プ リンターにファイルを送信できますか (AIX、UNIX の場合)?

    2. ホスト・アプリケーションから印刷を行う際、VT セッションのステータス・バー にエラー・メッセージが表示されますか。

    3. VT セッションのステータス・バーに「プリンター開始」または「プリンター停止」のメッセージが表示されますか。

    4. プリンターがローカルに接続されているコンピューター・システムを確認します。 印刷準備ができており、エラー・メッセージが表示されていないことを確認します。

      以下を確認してください。
      問題を解決してから再試行してください。

    印刷出力のテキストに不要情報が入り込んでしまう

    AIX に接続したプリンターに対して文字属性が正しくない

    AIX に接続したプリンターにおける印刷出力の中の文字属性 (CPI や LPI など) が正しくない場合、 AIX のプリンター・ドライバーによって追加されたプリンター制御コードが問題の原因となっている可能性があります。 ホスト印刷ジョブをプリンターに無修正で送信するには、 AIX の splp コマンドに -p+ フラグを指定します。 splp コマンドについて詳しくは、 AIX コマンド解説 を参照してください。

    プリンター・セッションが接続しない (3270)

    プリンター・セッションを確立するには、iSeries Telnet サーバーが TN3270E をサポー トしており、LU1 または LU3 セッションを扱えるように構成されている必要があります。

    ディスプレイ・セッションを開始しても、 関連付けられたプリンター・セッションが開始しない (3270)

    関連付けられたプリンターをセッションがサポートしない (3270)

    ディスプレイ・セッションの開始時にこのメッセージを受け取った場合は、関連付けられ たプリンター・セッションがクライアント上のディスプレイ・セッション構成で指定されていますが 、そのセッションが接続されている Telnet サーバーが TN3270E をサポートしていません。 プリンター・セッションをサポートしているのは、 拡張 TN3270 プロトコルだけです。

    ファイルへの出力が機能しない

    エラーが発生したという内容のメッセージを受け取ったなら、 以下の点を確認してください。

    1. 指定したディスクは実在しますか?
    2. そのディスクに対して書き込みアクセスを有していますか?
    3. そのディスクに十分なスペースがありますか?
    4. 指定したファイル名がすでに存在している場合、 それが書き込み保護されているか、オペレーティング・システムが使用中ではないですか?
    5. システム入出力エラーや Java コンソールに出力されたエラーはありませんか?

    問題を解決してから再試行してください。

    エラー・メッセージが出なければ、 ファイルはそのディスクに書き込まれている可能性があります。

    1. パスを指定しなかった場合は、 ファイルはブラウザーのデフォルトのディレクトリーに書き込まれます。
    2. 名前を指定しなかった場合は、デフォルトの名前 default.prn が使われています。 プリンターをいくつかのファイルに対して構成すると、 それぞれの名前は default.prn.000、default.prn.001 のようになり、 ファイルを作成するごとに数字が大きくなります。

    セッションの「プロパティー (Properties)」>「ページ・セットアップ (Page Setup)」で選択可能な CPI 値が「10 CPI」しかない (3270 プリンター・セッションの場合)

    基本 ASCII テキスト・モードなどの PDT を使っている場合、 1 インチ当たり 10 文字しか選ぶことができません。 これは、PDT に文字密度ステートメントが定義されていないときのデフォルトだからです。 以下に示すオプションに有効な制御コードを指定して PDT に定義すると、 Host On-Demand は 1 インチ当たりでそれぞれ 10、12、17 文字をサポートします。

    SET_10_CHARACTERS_INCH
    SET_12_CHARACTERS_INCH
    SET_17_CHARACTERS_INCH
    

    ご使用のプリンターが上記の文字密度をサポートしており、 それを選択しようと考えている場合は、 提供されている他のいずれかの PDT を使うか、 これらの制御コードを定義した PDF を作成してコンパイルする必要があります。

    予期しない CPI を印刷ジョブで受け取ったなら、 START_JOB および END_JOB 制御コードを調べて、 それらが CPI 制御で定義されているかどうかを確認します。 LU1 セッションを使用している場合は、CPI に影響する SCS コマンドの Set Print Density が ホストから送信されているかどうかも確認してください。

    「拡張オプション」ウィンドウで選択可能な LPI 値が「6 LPI」しかない (3270)

    基本 ASCII テキスト・モードなどの PDT を使っている場合、 1 インチ当たり 6 行しか選ぶことができません。 これは、PDT に行密度ステートメントが定義されていないときのデフォルトだからです。 以下に示すオプションに有効な制御コードを指定して PDT に定義すると、 Host On-Demand は 1 インチ当たりでそれぞれ 2、3、4、6、8 行をサポートします。

    SET_2_LINES_INCH
    SET_3_LINES_INCH
    SET_4_LINES_INCH
    SET_6_LINES_INCH
    SET_8_LINES_INCH
    
    
    または
    
    
    SET_VARIABLE_LINE_DENSITY
    LINE_SPACING_RATIO
    

    ご使用のプリンターが上記の行密度をサポートしており、 それを使用しようと考えている場合は、 提供されている他のいずれかの PDT を使うか、 これらの制御コードを定義した PDF を作成してコンパイルする必要があります。

    予期しない LPI を印刷ジョブで受け取ったなら、 START_JOB および END_JOB 制御コードを調べて、 それらが CPI 制御で定義されているかどうかを確認します。 さらに、SET_VARIABLE_LINE_DENSITY や LINE_SPACING_RATIO は行密度がどのように制御されるかに影響します。 LU1 セッションを使用している場合は、LPI に影響する SCS コマンドの Set Line Density が ホストから送信されているかどうかも確認してください。

    要介入メッセージが表示される

    エラーが発生したという内容のメッセージを受け取ったなら、 以下の点を確認してください。

    1. 「プリンター名」は有効なポートまたは装置ですか?
    2. プリンターに用紙、インク、リボンなどはありますか?
    3. コンピューターとプリンターの間のケーブルは接続されていますか?
    4. プリンターは電源が入っていて、オンラインになっていますか?
    5. プリンター・エラーはありませんか?

    問題を解決してから「再試行」または「ジョブの取り消し」をクリックします。

    メッセージ・ボックスで唯一選択できる応答が「OK」である場合は、 このメッセージが出されます。 これは、非活動タイマーのタイムアウト期間中に活動がないことを Host On-Demand が認識するために生じます。 ご使用のプリンターが、印刷速度は遅いものの正常に機能しているように見えるときは、 「OK」をクリックします。 すると Host On-Demand は印刷を続行します。 さらに、タイムアウトを無効にしたり、 タイマーの時間設定を長くしたりすることも可能です。

    Windows 98 または Windows Me を使用している場合は、問題を解決できない ときにはブラウザーをいったんクローズしてから再起動しなければならないことがあります。場合によってはシステムのリブートが必要になるかもしれません。 この状態を解決することができるなら、「OK」をクリックして続行します。

    印刷されるのが最初のジョブだけで、その後のジョブは印刷されない

    Windows 98 上の Microsoft Internet Explorer に組み込まれている JVM の一部のバ ージョン、特に JVM build 2424 (Internet Explorer 4.01 の SP1 や Windows 98 に組み込まれて いる) には問題があります。 ローカルに接続された印刷装置 (LPT1 など) にいくつかのジョブを送ると、 最初のジョブだけが出力され、残りのジョブはキューに入ったままになります。

    この問題は JVM の新しいバージョン、 Microsoft Virtual Machine for Java 3.0 build 2829 以降では解消されています。 これは Microsoft の Web サイトから入手可能です。

    印刷ジョブの途中で印刷が停止する (3270)

    ファイルや装置に問題があり、非活動タイマーがアクティブになっている場合は、 エラーがあることを示すメッセージを受け取ります。 エラーを解決してからそのジョブをもう一度送信してください。

    ホスト・データ・ストリームに問題がある場合は、 エラー・コードはホストに戻されます。 エラーを解決してからそのジョブをもう一度送信してください。ただし、データ・ストリームが正しくなくてもとりあえず印刷したい場合には、 「拡張オプション」構成ウィンドウで「SNA センス・コード」を「いいえ」に変更します。 このオプションを設定すると、データ・ストリームにエラーがあっても印刷ジョブを続行します。

    接続に問題があるときは、「SNA センス・コード」を「いいえ」に変更しても効果がありません。 Java コンソールを調べて障害を示すものがないかを確認し、 必要であればトランスポート・トレースを実行して問題をさらに診断してください。

    予期しない改ページ

    Host On-Demand で 3270 ホスト指示印刷を使用中に予期しない改ページが起こった場合は、 問題の原因に対するこれらの指示を読んでください。

    スプーラー (Windows のプリンター状況ウィンドウな ど) からプリンター・ジョブの一時停止ができない

    印刷における現時点での Java の制限により、 Host On-Demand はプリンター装置やポートへの書き込みを、 Java ファイル・インターフェースを介して行っています。 Windows 98 および Windows Me では、ローカル・ポート (LPT1) をファイルとして 扱うと、印刷ジョブはスプーラーをバイパスします。 そのため、印刷する前にジョブを保留にしたい場合は、 内容をいったんファイルに出力した後、そのファイルをプリンターにコピーすることになります。 詳細については、『ホスト印刷の仕組み』を参照してください。

    AIX または UNIX からリモート・プリンターに直接印刷できない

    AIX または UNIX では、 装置名 (/dev/lp0 など) を入力すると印刷出力はプリンターに直接送られます。 ただし、 ネットワーク・プリンターへの印刷は次のような 2 段階のプロセスで行われます。

    1. セッションを構成し、「印刷出力先」を「ファイル」に、 また「ファイルを分離」を「はい」に設定します。その後、有効なファイル名を「ファイルのパスおよび名前」のところに入力します (たとえば、hprint.*)。
    2. 印刷ジョブが完了した時点でコマンド・プロンプトを表示させ、 適切なコマンドを入力してファイルをリモート・プリンターに送ります。たとえば、 lp -dprtq1 hprint.000 や lpr -Pprtq1 hprint.000 のように入力します (この例におけるリモート・プリンターの名前は Prtq1)。

    これは、ヘルプ項目『ホスト印刷ジョブ後の外部コマンドの実行』に記述 された機能を使用して自動化することができます。

    HP Deskjet 720 (およびその他) の LPT1 に出力できない

    一部の HP プリンターでは、 Performance Printing Architecture という新しい技術が使われています。 この技術は、HP PCL コマンドの処理をプリンターからプロセッサーに移すことによって性能を向上させるもので、 PC とプリンターとの間で独自のアーキテクチャー (PPA) を使っています。 Host On-Demand は HP PCL をサポートしていますが、印刷における Java の制限により、 プリンターのポートや装置への直接の書き込みは Java ファイル・インターフェースを介して行っています。 このような方法でローカル装置 (LPT1 など) に書き込みを行うと、Host On-Demand は PCL コマンドを PPA に変換する HP ソフトウェアをバイパスすることになり、結果としてローカル装置には出力できなくなります。

    この制限は、プリンターをリモート (ネットワーク) プリンターとして定義することで回避できます。 このようにすると、HP PCL コマンドは HP の装置ソフトウェアを通過することになります。

    これは、ヘルプ項目『ホスト印刷ジョブ後の外部コマンドの実行』に記述された機能を使用することによって解決できます。また、Windows ネイティブ印刷モードを使用してこの問題を解決することもできます。

    PA1 と PA2 が機能しない (3270)

    PA1 と PA2 は、LU1 プリンター・セッションで使われるプログラム・アテンション・キーです。 これらのキーをアクティブにしたいのであれば、 これらを受け取るホスト・アプリケーションがこれらのキーを処理できるようになっている必要があります。 そうなっているにもかかわらず、どちらのキーを押しても何も起こらない場合は、 セッションの接続先になっている Telnet サーバーがこれらのキーをサポートしているか確認してください。

    PA1 または PA2 キーを押すと、Host On-Demand はそれぞれ APAK 01 または APAK 02 を送ります。

    PA1 と PA2 は LU3 プリンター・セッションには適用できません。

    ネットワーク・プリンターが LPT1 に割り当てられている場合、 LPT1 上のローカル接続されたプリンターで印刷できない

    ローカル接続されたプリンターが LPT1 に割り当てられており、Windows 98、Windows Me、Windows NT、Windows 2000、または Windows XP 上でネットワーク・プリンターも LPT1 に割 り当てた場合は、どのアプリケーションから発行される印刷ジョブもネットワーク・プリン ターに送られます。ローカル接続プリンターへの印刷は、LPT1 へのネットワーク・プリンターの割り当てを削除してから行うことができます。

    問題が解決しないときは

    正しいタイプの PDT を使っていることは確かであるのに問題を解決できない場合は、IBM サポート・センターに連絡してください。 これを行う前に、以下に示す情報を準備してください。

    表 35. 問題判別

    問題 機能 コンポーネント トレース・レベル
    出力のフォーマット設定が誤っている HACL プリンター 3
    接続を設定できないかまたは失敗した HACL トランスポート 3
    出力が行われない HACL プリンター 3
    ホスト・データ・ストリーム HACL
    ホスト・メッセージを調べてください。
    トランスポート 3
    セッション・ハング HOD
    HACL
    Java ログまたはコンソール
    PrtTerminal
    プリンター
    3
    1
    誤った状況が表示される HOD PrtTerminal 3

    Windows ネイティブ・トレース・メッセージ (Windows プラットフォームのみ): Windows スプーラー・インターフェース・モード または Windows ネイティブ印刷モードに固有の問題が起こっている場合には、hodtracetool ユーティリティーを 使用して Windows ネイティブ・トレース・メッセージを入手してください。 このユーティリティーは、Host On-Demand の CD-ROM に入っています。

    「?」オプションを使用して hodtracetool ユーティリティーを呼び出すと、次のように、ツールの説明が表示されます。

    > hodtracetool ? usage: hodtracetool [-options] where options include; -L[trace_level] specifies the trace level (0-3) 0 means no trace 3 means all trace -F[file_name] specifies the output file name -M[max_entry] specifies the maximum number of trace entries example: hodtracetool -L3 -Fc:\temp\trace.txt -M10000

    オプションを使用しないで hodtracetool ユーティリティーを呼び出すと、 たとえば次のように、Windows ネイティブ・トレースに関する現在の設定値が表示されます。

    > hodtracetool Trace level: 0 Output filename: $HodNativeTrace.txt Maximum number of trace entries: 1000


    付録 E: 関連付けられたプリンター・セッション (3270)

    Telnet3270E 規格では、 ディスプレイ・セッションとプリンター・セッションの間に関連付けを指定できることになっています。 その規則は RFC2355 に定義されています。 これは Telnet に固有のものであり、SNA 環境では利用できません。 ディスプレイ・セッションを構成するときに、 関連付けるプリンター・セッションを Host On-Demand で指定できます。

    以下に示すように、関連付けの目的は簡便化にあります。

    関連付けは Telnet サーバーから開始します。 サーバーの構成においては、 関連付けられたプリンターを定義するとそれらは 1 対 1 で対応します。 各プリンター LU は、特定のディスプレイ LU に関連付けられたものとして構成されます。 ただし、Host On-Demand セッション構成では、 LU 名を指定していないプリンター・セッション構成を複数のディスプレイ・セッションに関連付けることができます。 これはディスプレイ・セッションの LU 名が、 それに関連付けられたプリンター・セッションを開始するのに使われるためです。

    関連付けられているということは、 ディスプレイ LU から印刷するために送られたデータが、 それに関連付けられた LU に自動的に送られるという意味ではありません。 ホスト・プログラムには常に、印刷を行う LU の名前を知らせる必要があります。

    Host On-Demand では以下に示すような方法も使えます。

    明示的な LU を使用している場合、ディスプレイ・セッションの LU 名を入力することができ、 サーバーはその後、このディスプレイに関連付けられたプリンター LU の名前を提供します。 さらに、プリンター LU の名前を入力することも可能です。 名前をブランクにした場合、 Host On-Demand はいずれかのアクティブなディスプレイ・セッションに関連付けられたプリンター・セッションを開始しようとします。


    付録 F. プリンター定義ファイルの例 (3270)

    以下に、IBM LaserPrinter PPDS のプリンター定義ファイルを示します。 これは単なる例であり、実際のファイルはこれとは異なることがあります。

    LaserPPDS.PDF

    
    /**********************************************************************/
    /*                                                                    */
    /*    PRINTER DEFINITION FILE FOR: IBM PPDS Level 2                   */
    /*                                                                    */
    /*    This PDF is for printers which support IBM PPDS Level 2 mode.   */
    /*    The User's Guide or Reference for the printer will list the     */
    /*    Emulation Mode or Language supported by the printer. Printers   */
    /*    which support PPDS Level 3 or 4 will work with this PDF.        */
    /*    Printers, such as the Proprinter, which do not support code     */
    /*    page selection should not use this PDF.                         */
    /*                                                                    */
    /**********************************************************************/
    /**********************************************************************/
    /*                                                                    */
    /*                        Macro Definitions                           */
    /*                                                                    */
    /* Define values here that will be used commonly throughout your      */
    /* definitions.  Then use the left hand side of the equate as you     */
    /* define characters and control strings.  The PDT compiler           */
    /* will substitute the right hand side of the equate for each         */
    /* occurrence of the left hand side throughout the file.              */
    /*                                                                    */
    /* Macro names must be three characters long and may not begin with   */
    /* a number.                                                          */
    /*                                                                    */
    /* Format                                                             */
    /* A macro name is associated with a value or string of values by the */
    /* EQU statement.  The right hand side of an EQU statement must be a  */
    /* string of zero or more two digit hexadecimal numbers.  If a macro  */
    /* definition is more than one line long, you may extend it to the    */
    /* next line by ending the first line with a comma.  In this manner,  */
    /* you may define a macro which is many lines long. Macro names are   */
    /* not allowed on the right hand side.                                */
    /**********************************************************************/
    
    BEGIN_MACROS
    /* Check your printer manual to verify that these values are correct  */
    /* for your printer.                                                  */
    NUL EQU 00             /* Nul character                               */
    BEL EQU 07             /* Beeper                                      */
    BAK EQU 08             /* Back Space                                  */
    TAB EQU 09             /* Tab                                         */
    LFF EQU 0A             /* Line Feed                                   */
    VTB EQU 0B             /* Vertical Tab                                */
    FFF EQU 0C             /* Form Feed                                   */
    CRR EQU 0D             /* Carriage Return                             */
    P05 EQU 1B 57 01       /* 5 Pitch-Characters/inch                     */
                           /* Same as Double Wide                         */
    SEL EQU 11             /* Select Printer                              */
    P10 EQU 12             /* 10 Pitch-Characters/inch                    */
    CDW EQU 1B 57 00       /* Cancel Double Wide contin.                  */
    CDL EQU 14             /* Cancel Double Wide line                     */
    ESC EQU 1B             /* Escape                                      */
    SPA EQU 20             /* Space                                       */
    P17 EQU 12 0F          /* 17.1 Pitch-Characters/inch                  */
    CS2 EQU 1B 36          /* Select Character Set 2                      */
    CS1 EQU 1B 37          /* Select Character Set 1                      */
    P12 EQU 1B 3A          /* 12 Pitch-characters/inch                    */
    SVT EQU 1B 42          /* Set Vertical Tabs                           */
    SFL EQU 1B 43 00       /* Set Form Length inches                      */
    SHT EQU 1B 44          /* Set Horizontal Tabs                         */
    SDS EQU 1B 47          /* Start Double Strike                         */
    CDS EQU 1B 48          /* Cancel Double Strike                        */
    SSP EQU 1B 4E          /* Set skip perforation                        */
    CSP EQU 1B 4F          /* Cancel skip perforation                     */
    CAT EQU 1B 52          /* Cancel all tabs Clears VT                   */
                           /* and sets HT every 8 position                */
    SUL EQU 1B 2D 01       /* Start Underline                             */
    CUL EQU 1B 2D 00       /* Cancel Underline                            */
    SCP EQU 1B 5B 54 04 00 00 00 /* ESC [ T : select code page            */
    CP8 EQU 1B 5B 54 04 00 00 00 03 52     /* select code page 850        */
    CP4 EQU 1B 5B 54 04 00 00 00 01 B5     /* select code page 437        */
    LL2 EQU 1B 41 24 1B 32 /* Set line length 2 lines/inch                */
    LL3 EQU 1B 41 18 1B 32 /* Set line length 3 lines/inch                */
    LL4 EQU 1B 41 12 1B 32 /* Set line length 4 lines/inch                */
    LL6 EQU 1B 41 0C 1B 32 /* Set line length 6 lines/inch                */
    LL8 EQU 1B 41 09 1B 32 /* Set line length 8 lines/inch                */
    LL0 EQU 1B 41 07 1B 32 /* Set line length 10 lines/inch               */
                           /* actually 7/72 inch                          */
    FRM EQU 1B 64          /* Forward Relative Movement                   */
    VLF EQU 1B 4A          /* Variable Line Feed 1/216 inch units         */
    END_MACROS
    
    
    /**********************************************************************/
    /*                                                                    */
    /*                     Session Parameters                             */
    /*                                                                    */
    /* These parameters determine the way in which output will be         */
    /* formatted for your printer.                                        */
    /**********************************************************************/
    
    /**********************************************************************/
    /* Numeric Parameters                                                 */
    /* These parameters should be defined with a two digit hex number     */
    /* or a three digit decimal number.  The range of the number is zero  */
    /* to 255 (decimal).                                                  */
    /**********************************************************************/
    MAXIMUM_PAGE_LENGTH=066              /* Printed lines per page        */
    MAXIMUM_PRINT_POSITION=080           /* Printed characters per line   */
    HORIZONTAL_PEL=120
    VERTICAL_PEL=216
    LINE_SPACING_RATIO=072
    INTERV_REQ_TIMER=025                 /* Wait time if no printer rsp   */
    TOP_MARGIN=
    LEFT_MARGIN=
    
    /**********************************************************************/
    /* YES/NO Parameters                                                  */
    /* These parameters should be defined with either "YES" or "NO" on the*/
    /* right hand side of the '='                                         */
    /**********************************************************************/
    COMPRESS_LINE_SPACING?=NO              /* Should blank or null lines  */
                                           /* be printed?                 */
    FORM_FEED_ANY_POSITION?=YES            /* Should the form feed be     */
                                           /* valid in any position?      */
    OVERRIDE_FORMATTED_PRINT?=YES          /* Should nulls be printed as  */
                                           /* blanks?                     */
    
    
    /**********************************************************************/
    /*                                                                    */
    /*                         Control Codes                              */
    /*                                                                    */
    /* These definitions tell the emulator what strings to send to        */
    /* your printer to issue control commands.                            */
    /*                                                                    */
    /* Format                                                             */
    /* The name of the control command should always be at the beginning  */
    /* of a line followed by a '=' and then a definition string.          */
    /* A Definition String is any combination of macro names, hexadecimal */
    /* numbers, or characters, separated by blanks.  A macro must have    */
    /* previously been defined in the macro definitions section above.    */
    /* A hexadecimal number must be two digits (0,..,F) long. A           */
    /* character must be preceded and followed by a blank.  If a          */
    /* definition string will not fit on a line, it may be continued on   */
    /* as many lines as you wish by ending each line except the last with */
    /* a comma. You may add any comments you wish by including            */
    /* them between a slash*  and a *slash where slash is the symbol /.   */
    /**********************************************************************/
    
    /* START_JOB is the control string which is sent to the printer       */
    /* at the beginning of each print job.                                */
    START_JOB=SEL CDW CDL CUL CDS CP8 CS2
    
    /* END_JOB is the string which is sent to the printer at the end      */
    /* of each print job.                                                 */
    END_JOB=CAT CDW CDL CUL CDS CP4
    
    /* PAGE_LENGTH_TYPE is used to determine the type of value for the    */
    /* value defined in the SET_PAGE_LENGTH command                       */
    PAGE_LENGTH_TYPE?=INCH
    
    BACKSPACE=BAK
    BEL=BEL
    CARRIAGE_RETURN=CRR
    NEW_LINE=CRR LFF
    LINE_FEED=LFF
    FORM_FEED=FFF
    HORIZONTAL_TAB=TAB
    VERTICAL_TAB=VTB
    DUP=*
    FIELD_MARK=;
    
    /**********************************************************************/
    /* The following control codes contain command strings that include   */
    /* one or more variable values. Place the word "value" in the         */
    /* position in your definition string where Host On-Demand should     */
    /* fill in the hexadecimal value(s) indicated.                        */
    /* For example, on the IBM Proprinter, the SET_HORIZONTAL_TABS        */
    /* definition is: SET_HORIZONTAL_TABS=ESC D values NUL                */
    /**********************************************************************/
    SET_HORIZONTAL_TABS=SHT values NUL     /* "values" are the tab stops  */
                                           /* in column numbers           */
    SET_VERTICAL_TABS=SVT values NUL       /* "values" are the tab stops  */
                                           /* in line numbers             */
    SET_HORIZONTAL_MARGINS=
    SET_PAGE_LENGTH=SFL value              /* "value"=inch of the page    */
    SET_AUTO_PERFORATION_SKIP=             /* "value"=number of lines to  */
                                           /* skip over the perforation   */
                                           /* between pages.  Used to set */
                                           /* top and bottom margins.     */
    SET_VARIABLE_LINE_DENSITY=ESC A value ESC 2
                                           /* "value"=number of points.   */
                                           /* A point is                  */
                                           /* 1/(LINE_SPACING_RATIO) inch.*/
    
    /**********************************************************************/
    /* The following control codes set the printer lines per inch and     */
    /* characters per inch to fixed amounts. If your printer does not     */
    /* support setting the line density in points, you may enter control  */
    /* strings for the following commands. Note that if you provide a     */
    /* command for the SET_VARIABLE_LINE_DENSITY command above, it will   */
    /* be used and any control strings you provide for the set lines per  */
    /* inch commands below will not be used.                              */
    /* When Host On-Demand gets a command from the host to set the        */
    /* lines per inch, it rounds it to the closest lines per inch         */
    /* setting that you provide.                                          */
    /**********************************************************************/
    SET_2_LINES_PER_INCH=LL2
    SET_3_LINES_PER_INCH=LL3
    SET_4_LINES_PER_INCH=LL4
    SET_6_LINES_PER_INCH=LL6
    SET_8_LINES_PER_INCH=LL8
    SET_10_LINES_PER_INCH=LL0              /* 7/72 inch or 9/96 inch      */
    SET_10_CHARACTERS_PER_INCH=P10
    SET_12_CHARACTERS_PER_INCH=P12
    SET_17_CHARACTERS_PER_INCH=P17         /* Condensed mode              */
    START_DOUBLE_WIDTH_CHARACTERS=P05
    END_DOUBLE_WIDTH_CHARACTERS=CDW
    
    /**********************************************************************/
    /* These control codes move the print position (Horizontal/Vertical)  */
    /**********************************************************************/
    FORWARD_HORIZONTAL_SKIP=FRM word-value(LH)
    FORWARD_VERTICAL_STEP_FEED=VLF byte-value
    
    /**********************************************************************/
    /*                        Highlight Specifications                    */
    /* These definitions determine how things which are sent by the       */
    /* host to be displayed or printed as underlined, reverse video, or   */
    /* blinking, will be highlighted on your printer.                     */
    /**********************************************************************/
    START_HIGHLIGHT_INTENSE=SDS           /* This is double strike        */
    END_HIGHLIGHT_INTENSE=CDS
    START_HIGHLIGHT_UNDERLINE=SUL
    END_HIGHLIGHT_UNDERLINE=CUL
    START_HIGHLIGHT_REVERSE_VIDEO=
    END_HIGHLIGHT_REVERSE_VIDEO=
    START_HIGHLIGHT_BLINK=
    END_HIGHLIGHT_BLINK=
    
    /**********************************************************************/
    /*                                                                    */
    /*                      Character Definitions                         */
    /*                                                                    */
    /* The remainder of the definitions are for printable characters.     */
    /* See the Host Printing Reference for the actual character referred  */
    /* to by each character name.                                         */
    /*                                                                    */
    /* Format                                                             */
    /* The format of a character definition is the same as for a control  */
    /* code.                                                              */
    /**********************************************************************/
    SPACE=SPA
    EXCLAMATION_POINT=21
    QUOTATION_MARKS=22
    NUMBER_SIGN=23
    DOLLAR_SIGN=24
    PERCENT_SIGN=25
    AMPERSAND=26
    APOSTROPHE=27
    LEFT_PARENTHESIS=28
    RIGHT_PARENTHESIS=29
    ASTERISK=2A
    PLUS_SIGN=2B
    COMMA=2C
    HYPHEN=2D
    PERIOD=2E
    SLASH=2F
    ZERO=0
    ONE=1
    TWO=2
    THREE=3
    FOUR=4
    FIVE=5
    SIX=6
    SEVEN=7
    EIGHT=8
    NINE=9
    COLON=3A
    SEMICOLON=3B
    LESS_THAN_SIGN=3C
    EQUAL_SIGN=3D
    GREATER_THAN_SIGN=3E
    QUESTION_MARK=3F
    AT_SIGN=40
    A_CAPITAL=A
    B_CAPITAL=B
    C_CAPITAL=C
    D_CAPITAL=D
    E_CAPITAL=E
    F_CAPITAL=F
    G_CAPITAL=G
    H_CAPITAL=H
    I_CAPITAL=I
    J_CAPITAL=J
    K_CAPITAL=K
    L_CAPITAL=L
    M_CAPITAL=M
    N_CAPITAL=N
    O_CAPITAL=O
    P_CAPITAL=P
    Q_CAPITAL=Q
    R_CAPITAL=R
    S_CAPITAL=S
    T_CAPITAL=T
    U_CAPITAL=U
    V_CAPITAL=V
    W_CAPITAL=W
    X_CAPITAL=X
    Y_CAPITAL=Y
    Z_CAPITAL=Z
    LEFT_BRACKET=5B
    BACKSLASH=5C
    RIGHT_BRACKET=5D
    CIRCUMFLEX_ACCENT=5E
    UNDERLINE=5F
    GRAVE_ACCENT=60
    A_SMALL=a
    B_SMALL=b
    C_SMALL=c
    D_SMALL=d
    E_SMALL=e
    F_SMALL=f
    G_SMALL=g
    H_SMALL=h
    I_SMALL=i
    J_SMALL=j
    K_SMALL=k
    L_SMALL=l
    M_SMALL=m
    N_SMALL=n
    O_SMALL=o
    P_SMALL=p
    Q_SMALL=q
    R_SMALL=r
    S_SMALL=s
    T_SMALL=t
    U_SMALL=u
    V_SMALL=v
    W_SMALL=w
    X_SMALL=x
    Y_SMALL=y
    Z_SMALL=z
    LEFT_BRACE=7B
    VERTICAL_BAR=7C
    RIGHT_BRACE=7D
    TILDE_ACCENT=7E
    C_CEDILLA_CAPITAL=80
    U_DIAERESIS_SMALL=81
    E_ACUTE_SMALL=82
    A_CIRCUMFLEX_SMALL=83
    A_DIAERESIS_SMALL=84
    A_GRAVE_SMALL=85
    A_OVERCIRCLE_SMALL=86
    C_CEDILLA_SMALL=87
    E_CIRCUMFLEX_SMALL=88
    E_DIAERESIS_SMALL=89
    E_GRAVE_SMALL=8A
    I_DIAERESIS_SMALL=8B
    I_CIRCUMFLEX_SMALL=8C
    I_GRAVE_SMALL=8D
    A_DIAERESIS_CAPITAL=8E
    A_OVERCIRCLE_CAPITAL=8F
    E_ACUTE_CAPITAL=90
    AE_DIPTHONG_SMALL=91
    AE_DIPTHONG_CAPITAL=92
    O_CIRCUMFLEX_SMALL=93
    O_DIAERESIS_SMALL=94
    O_GRAVE_SMALL=95
    U_CIRCUMFLEX_SMALL=96
    U_GRAVE_SMALL=97
    Y_DIAERESIS_SMALL=98
    O_DIAERESIS_CAPITAL=99
    U_DIAERESIS_CAPITAL=9A
    O_SLASH_SMALL=9B
    POUND_SIGN=9C
    O_SLASH_CAPITAL=9D
    MULTIPLY_SIGN=9E
    A_ACUTE_SMALL=A0
    I_ACUTE_SMALL=A1
    O_ACUTE_SMALL=A2
    U_ACUTE_SMALL=A3
    N_TILDE_SMALL=A4
    N_TILDE_CAPITAL=A5
    ORDINAL_INDICATOR_FEMININE=A6
    ORDINAL_INDICATOR_MASCULINE=A7
    QUESTION_MARK_INVERTED=A8
    REGISTERED_TRADEMARK_SYMBOL=A9
    LOGICAL_NOT=AA
    ONE_HALF=AB
    ONE_QUARTER=AC
    EXCLAMATION_POINT_INVERTED=AD
    LEFT_ANGLE_QUOTES=AE
    RIGHT_ANGLE_QUOTES=AF
    A_ACUTE_CAPITAL=B5
    A_CIRCUMFLEX_CAPITAL=B6
    A_GRAVE_CAPITAL=B7
    COPYRIGHT_SYMBOL=B8
    CENT_SIGN=BD
    YEN_SIGN=BE
    A_TILDE_SMALL=C6
    A_TILDE_CAPITAL=C7
    INTERNATIONAL_CURRENCY_SYMBOL=CF
    ETH_ICELANDIC_SMALL=D0
    ETH_ICELANDIC_CAPITAL=D1
    E_CIRCUMFLEX_CAPITAL=D2
    E_DIAERESIS_CAPITAL=D3
    E_GRAVE_CAPITAL=D4
    I_DOTLESS_SMALL=D5
    I_ACUTE_CAPITAL=D6
    I_CIRCUMFLEX_CAPITAL=D7
    I_DIAERESIS_CAPITAL=D8
    VERTICAL_LINE_BROKEN=DD
    I_GRAVE_CAPITAL=DE
    O_ACUTE_CAPITAL=E0
    SHARP_S_SMALL=E1
    O_CIRCUMFLEX_CAPITAL=E2
    O_GRAVE_CAPITAL=E3
    O_TILDE_SMALL=E4
    O_TILDE_CAPITAL=E5
    MICRO_SYMBOL=E6
    THORN_ICELANDIC_SMALL=E7
    THORN_ICELANDIC_CAPITAL=E8
    U_ACUTE_CAPITAL=E9
    U_CIRCUMFLEX_CAPITAL=EA
    U_GRAVE_CAPITAL=EB
    Y_ACUTE_SMALL=EC
    Y_ACUTE_CAPITAL=ED
    OVERLINE=EE
    ACUTE_ACCENT=EF
    SYLLABLE_HYPHEN=F0
    PLUS_OR_MINUS_SIGN=F1
    THREE_QUARTERS=F3
    PARAGRAPH_SYMBOL=F4
    SECTION_SYMBOL=F5
    DIVIDE_SIGN=F6
    CEDILLA=F7
    DEGREE_SYMBOL=F8
    DIAERESIS=F9
    MIDDLE_DOT_ACCENT=FA
    ONE_SUPERSCRIPT=FB
    THREE_SUPERSCRIPT=FC
    TWO_SUPERSCRIPT=FD
    REQUIRED_SPACE=SPA
    /**********************************************************************/
    /*                      End of Definition File                        */
    /**********************************************************************/
    

    付録 G: 特記事項

    本書は米国 IBM が提供する製品およびサービスについて作成したものであり、 本書に記載の製品、サービス、または機能が日本においては提供されていない場合があります。 日本で利用可能な製品、サービス、および機能については、日本 IBM の営業担当員にお尋ねください。 本書で IBM 製品、プログラム、またはサービスに言及していても、その IBM 製品、プログラム、または サービスのみが使用可能であることを意味するものではありません。これらに代えて、IBM の知的所有権を侵害することのない、機能的に同等の 製品、プログラム、またはサービスを使用することができます。 ただし、IBM 以外の製品とプログラムの操作またはサービスの 評価および検証は、お客様の責任で行っていただきます。

    IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有している場合があります。本書の提供は、お客様にこれらの特許権について 実施権を許諾することを意味するものではありません。 実施権についてのお問い合わせは、書面にて下記宛先にお送りください。

    〒106-8711
    東京都港区六本木 3-2-12
    日本アイ・ビー・エム株式会社
    法務・知的財産
    知的財産権ライセンス渉外





    以下の保証は、国または地域の法律に沿わない場合は、適用されません。 IBM および その直接または間接の子会社は、本書を特定物として現存するままの 状態で提供し、商品性の保証、特定目的適合性の保証および法律上の 瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものと します。国または地域によっては、法律の強行規定により、保証責任の制限が 禁じられる場合、強行規定の制限を受けるものとします。

    この情報には、技術的に不適切な記述や誤植を含む場合があります。 本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、 改良または変更を行うことがあります。

    この情報には、技術的に不適切な記述や誤植を含む場合があります。 本書は定期的に見直され、必要な変更は本書の次版に組み込まれます。 IBM は予告なしに、随時、この文書に記載されている製品またはプログラムに対して、 改良または変更を行うことがあります。

    本プログラムのライセンス保持者で、(i) 独自に作成したプログラムと その他のプログラム (本プログラムを含む) との間での情報交換、 および (ii) 交換された情報の相互利用を可能にすることを目的として、 本プログラムに関する情報を必要とする方は、下記に連絡してください。


    Department T01
    Building B062
    P.O. Box 12195
    Research Triangle Park, NC 27709-2195

    本プログラムに関する上記の情報は、適切な使用条件の下で使用すること ができますが、有償の場合もあります。

    本書で説明されているライセンス・プログラムまたはその他の ライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の条項に基づいて、 IBM より提供されます。

    IBM 以外の製品に関する情報は、その製品の供給者、出版物、 もしくはその他の公に利用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりません。したがって、 他社製品に関する実行性、互換性、またはその他の要求については確証できません。 IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願いします。

    本書において IBM 以外の Web サイトに言及している場合がありますが、 便宜のため記載しただけであり、決してそれらの Web サイトを推奨するものでは ありません。それらの Web サイトにある資料は、この IBM 製品の資料の一部では ありません。それらの Web サイトは、お客様の責任でご使用ください。

    IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、 自ら適切と信ずる方法で、使用もしくは配布することができるものとします。

    この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は 表示されない場合があります。

    商標

    IBM、IBM ロゴおよび ibm.com は、世界の多くの国で登録された International Business Machines Corp. の商標です。他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。現時点での IBM の商標リストについては、http://www.ibm.com/legal/copytrade.shtml をご覧ください。

    Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。

    Microsoft、Windows、Windows NT、および Windows ロゴは Microsoft Corporation の米国およびその他の国における商標です。

    UNIX は、The Open Group がライセンスしている米国およびその他の国における登録商標です。

    他の会社名、製品名およびサービス名等はそれぞれ各社の商標または登録商標です。