テキスト文字列
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
テキスト文字列は、引用符で区切られたリテラル文字の文字列です。 Unidrv ミニドライバーで使用される文字列は、次の 2 つの場所のいずれかに配置できます:
リソース ファイルへの配置が可能です。 ミニドライバーでのリソース DLL の使用の説明に従って、ユーザー インターフェイス テキストなどのローカライズを必要とする文字列をリソース ファイルに配置する必要があります。
GPD ファイルに含めることができます。 プリンター コマンドで使用するエスケープ シーケンスを表す文字列は通常ローカライズする必要がないため、GPD ファイル内に含まれます。
文字列は、次の規則に従う必要があります:
文字列はこのように引用符で区切る ("...") 必要があります。
16 進数のバイト値は、<03> または <1B> のように山括弧 (<...>) で 16 進数を括ることで、文字列に配置することができます。 山括弧で括ると、数字の各ペアは別の 16 進バイト値として解釈されます。 したがって <03><1B>、<03 1B>、<031B> はすべて同じ値になります。
パーセント記号 (%) はエスケープ文字として使用されます。 文字列に引用符または左山括弧 (", <) を記述する場合、その前にパーセント記号を付けます。 パーセント記号で終わる文字列を指定する場合、"<25>" のように % の 16 進数の値を指定する必要があります。
さらに、printer コマンドを表すテキスト文字列にパーセント記号を含める場合、その前にもう一つパーセント記号を付ける必要があります。 パーセント記号で終わるプリンター コマンドを指定する場合、次のように 16 進の % 値を 2 つ指定する必要があります。
"command-string<25 25>"
文字列の例は、Canon BJC-600 プリンターのレター サイズの用紙を選択するコマンドです。 バイト シーケンス 1B 28 67 03 00 6E 01 72 であるこのコマンドは、次のように指定できます。
"<1B>(g<03 00>n<01>r"
文字列に含まれる各 ASCII 文字は、対応する 1 バイトの 16 進数に変換されます。
GPD ファイルに含まれる文字列は、次の追加規則に従う必要があります。
文字列が複数行にわたる場合、2 行目以降の先頭に行連結文字 (+) を付け、各行のテキストを引用符で括ります。
string 値は、複数のテキスト文字列で構成することができます。 例えば、次の 2 つの GPD エントリは同義です。
*Name: "abc""def" *% Comment + "gh" "ijk" *Name: "abcdefghijk"
リソース ファイルで定義されている文字列に関連するその他の規則については、Microsoft Windows SDK ドキュメントの STRINGTABLE ステートメントの説明を参照してください。
printer コマンドのエスケープ シーケンスの指定に関する詳細については、「コマンド文字列形式」を参照してください。