[ESC]シーケンス(1/2)

ESC シーケンスの拡張制御命令は、54種類あります。

VFUの簡易セット([ESC] v)

ページ長、ボトム領域(ミシン目スキップ行数)、垂直タブ位置(VFUのチャネル2)をパラメータによって設定します。
JIS
ESC v <ページ長(2バイト)>,<ボトム領域(2バイト)>,<垂直タブ位置1(2バイト)>,…,<垂直タブ位置n(2バイト)>.
16進数
1Bh 76h <ページ長(2バイト)> 2Ch <ボトム領域(2バイト)>2Ch <垂直タブ位置1(2バイト)> 2Ch…2Ch <垂直タブ位置n(2バイト)> 2Eh
<ページ長(2バイト)>
1ページの行数を指定します。
単位:
6LPI(1インチあたり6行)
範囲:
00~99(10進数)
「00」を指定すると、VFUが初期化されます。この場合、ボトム位置以降のパラメータを指定しても印字データとなります。
<ボトム領域(2バイト)>
ページ下端で印字しない行数(ミシン目スキップ行数)を指定します。
単位:
6LPI(1インチあたり6行)
範囲:
00~99(10進数)
指定を省略すると、ボトム領域は初期化されます。
<垂直タブ位置1(2バイト)>…<垂直タブ位置n(2バイト)>
垂直タブを2行目から最終行までの任意の行に設定します。
単位:
6LPI(1インチあたり6行)
範囲:
02~99(10進数)
指定を省略すると、垂直タブ位置は初期化されます。
パラメータが正しくない場合、VFUは初期化されます。

パイカモードの指定([ESC] N)

1バイトコード文字に対してパイカモードを設定します。
JIS
ESC N
16進数
1Bh 4Eh
パイカモードでは、文字間隔が1インチあたり10文字(10cpi)印字されます。本制御命令は、ほかの印字方式(コンデンス、エリート、プロポーショナル、漢字横印字/縦印字)が設定されるまで有効です。
パイカモードの設定は、本制御命令のほかに パイカモードの指定([ESC] H)でも可能です。

パイカモードの指定([ESC] H)

1バイトコード文字に対してパイカモードを設定します。
JIS
ESC H
16進数
1Bh 48h
パイカモードでは、文字間隔が1インチあたり10文字(10cpi)印字されます。本制御命令は、ほかの印字方式(コンデンス、エリート、プロポーショナル、漢字横印字/縦印字)が設定されるまで有効です。
パイカモードの設定は、本制御命令のほかにパイカモードの指定([ESC] N)でも可能です。

コンデンスモードの指定([ESC] Q)

1バイトコード文字に対してコンデンスモードを設定します。
JIS
ESC Q
16進数
1Bh 51h
コンデンスモードでは、文字間隔が1インチあたり17文字(17cpi)印字されます。本制御命令は、ほかの印字方式(パイカ、エリート、プロポーショナル、漢字横印字/縦印字)が設定されるまで有効です。

エリートモードの指定([ESC] E)

1バイトコード文字に対してエリートモードを設定します。
JIS
ESC E
16進数
1Bh 45h
エリートモードでは、文字間隔が1インチあたり12文字(12cpi)印字されます。本制御命令は、ほかの印字方式(パイカ、コンデンス、プロポーショナル、漢字横印字/縦印字)が設定されるまで有効です。

プロポーショナルモードの指定([ESC] P)

1バイトコード文字に対してプロポーショナルモードを設定します。
JIS
ESC P
16進数
1Bh 50h
プロポーショナルモードでは、文字が文字パターンの幅に応じた間隔(1/26.7~10.7インチ)で印字されます。本制御命令は、ほかの印字方式(パイカ、コンデンス、エリート、漢字横印字/縦印字)が設定されるまで有効です。

漢字横印字モードの指定([ESC] K)

2バイトコード文字(漢字)を横書きで印字します。
JIS
ESC K
16進数
1Bh 4Bh
2バイト(漢字)コード表に定義されていないコードを受信すると、漢字文字幅分のスペースとして処理します。
本制御命令は、ほかの印字方式(パイカ、コンデンス、エリート、プロポーショナル、漢字縦印字)が設定されるまで有効です。

漢字縦印字モードの指定([ESC] t)

2バイトコード文字(漢字)を縦書きで印字します。
JIS
ESC t
16進数
1Bh 74h
2バイト(漢字)コード表に定義されていないコードを受信すると、漢字文字幅分のスペースとして処理します。
本制御命令は、ほかの印字方式(パイカ、コンデンス、エリート、プロポーショナル、漢字横印字)が設定されるまで有効です。

カタカナモードの指定([ESC] $)

1バイトコード文字に対して、カタカナモードを設定します。
JIS
ESC $
16進数
1Bh 24h
本制御命令は、ひらがなモードが設定されるまで有効です。

ひらがなモードの指定([ESC] &)

1バイトコード文字に対して、ひらがなモードを設定します。
JIS
ESC &
16進数
1Bh 26h
本制御命令は、カタカナモードが設定されるまで有効です。

スーパースクリプト文字の指定([ESC] s 1)

1バイトコード文字に対して、スーパースクリプト(上付き)文字を設定します。
JIS
ESC s 1
16進数
1Bh 73h 31h
スーパースクリプト文字は、1バイトコード文字の現在の縦方向の倍率を1/2に縮小し、現在の縦倍率の文字の上端に合わせて印字されます。例えば、標準の文字に対してスーパースクリプト文字は次のように印字されます。
本制御命令は、サブスクリプト文字が設定されるか、またはスクリプト文字が解除されるまで有効です。サブスクリプト文字の指定([ESC] s 2)スクリプト文字の解除([ESC] s 0)
スーパースクリプト文字で印字できるのは、パイカ、コンデンス、エリート、プロポーショナル文字(1バイトコード文字)に限ります。

サブスクリプト文字の指定([ESC] s 2)

1バイトコード文字に対して、サブスクリプト(下付き)文字を設定します。
JIS
ESC s 2
16進数
1Bh 73h 32h
サブスクリプト文字は、1バイトコード文字の現在の縦方向の倍率を1/2に縮小し、現在の縦倍率の文字の下端に合わせて印字されます。例えば、標準の文字に対してサブスクリプト文字は次のように印字されます。
本制御命令は、スーパースクリプト文字が設定されるか、またはスクリプト文字が解除されるまで有効です。スーパースクリプト文字の指定([ESC] s 1)スクリプト文字の解除([ESC] s 0)
サブスクリプト文字で印字できるのは、パイカ、コンデンス、エリート、プロポーショナル文字(1バイトコード文字)に限ります。

スクリプト文字の解除([ESC] s 0)

1バイトコード文字に設定したスーパースクリプト(上付き)文字またはサブスクリプト(下付き)文字を解除します。スーパースクリプト文字の指定([ESC] s 1)サブスクリプト文字の指定([ESC] s 2)
JIS
ESC s 0
16進数
1Bh 73h 30h

文字の登録(16×16ドット構成)([ESC] *)

指定の文字コードに16×16ドット構成の文字を登録します。
JIS
ESC *<登録文字コード(2バイト)> (登録文字パターンデータ(32バイト))EOT
16進数
1Bh 2Ah <登録文字コード(2バイト)> (登録文字パターンデータ(32バイト))04h
<登録文字コード(2バイト)>
文字パターンを登録する文字コードを指定します。
範囲:
76h 20h~76h 7Fh
77h 20h~77h 7Fh
78h 20h~78h 5Fh
(登録文字パターンデータ(32バイト))
文字パターンを16×2バイトの16進数で指定します。
登録文字パターンデータと印字結果は次のようになります。
登録文字の印字は、漢字モードと同じ方法で行われます。文字が登録されていないコードが送られた場合は、漢字の幅のスペースが印字されます。なお、本エミュレーションモードでは、登録文字の各ドットは1/160インチのサイズで印字されます。

文字の登録(24×24ドット構成)([ESC] +)

指定の文字コードに24×24ドット構成の文字を登録します。
JIS
ESC + <登録文字コード(2バイト)> (登録文字パターンデータ(72バイト)) EOT
16進数
1Bh 2Bh <登録文字コード(2バイト)> (登録文字パターンデータ(72バイト))04h
<登録文字コード(2バイト)>
文字パターンを登録する文字コードを指定します。
範囲:
76h 20h~76h 7Fh
77h 20h~77h 7Fh
78h 20h~78h 5Fh
(登録文字パターンデータ(72バイト))
文字パターンを24×3バイトの16進数で指定します。
登録文字パターンデータと印字結果は次のようになります。
登録文字の印字は、漢字モードと同じ方法で行われます。文字が登録されていないコードが送られた場合は、漢字の幅のスペースが印字されます。なお、本エミュレーションモードでは、登録文字の各ドットは1/160インチのサイズで印字されます。

1バイトコード文字の登録(プロポーショナルモード時)([ESC] l)

プロポーショナルモードの1バイトコード文字を登録します。
JIS
ESC [登録モード(1バイト)] <左側スペース量(1バイト)> <文字幅(2バイト)> <右側スペース量(1バイト)> <登録コード(1バイト)> (登録パターンデータ)
16進数
1Bh 6Ch[登録モード(1バイト)] <左側スペース量(1バイト)> <文字幅(2バイト)> <右側スペース量(1バイト)> <登録コード(1バイト)>(登録パターンデータ)
[登録モード(1バイト)]
カタカナまたはひらがなを指定します。
設定内容
5
プロポーショナルモード時のカタカナを登録します。
E
プロポーショナルモード時のひらがなを登録します。
<左側スペース量(1バイト)>
文字の左側に付加するスペース量をドット数で指定します。
範囲:
0~9(10進数)
<文字幅(2バイト)>
登録する文字の幅をドット数で指定します。
範囲:
1~16(10進数)
<右側スペース量(1バイト)>
文字の右側に付加するスペース量をドット数で指定します。
範囲:
0~9(10進数)
ただし、<左側スペース量> + <文字幅> + <右側スペース量> ≦ 16
<登録文字コード(1バイト)>
文字パターンを登録する文字コードを指定します。
範囲:
21h~FFh
(登録文字パターンデータ)
文字パターンのデータ量は、<文字幅>×3バイトです。
ただし、最大有効データ量は48バイトです。データ量が48バイトを超えた場合、48バイト以降のデータは無視されます。

1バイトコード文字の登録(HDパイカ/エリート/コンデンスモード時)([ESC] l)

HDパイカ/エリート/コンデンスモードの1バイトコード文字を登録します。
JIS
ESC [登録モード(1バイト)]<登録コード(1バイト)> (登録パターンデータ)
16進数
1Bh 6Ch[登録モード(1バイト)] <登録コード(1バイト)> (登録パターンデータ)
[登録モード(1バイト)] <登録コード(1バイト)> (登録パターンデータ)
カタカナまたはひらがなのモードで、文字を登録するコードの範囲、および文字パターンデータの量は次のとおりです。
文字種
内容
登録コード
パターンデータ量
カタカナ
1
HDパイカ
21h~FFh
54バイト
2
HDパイカ
54バイト
3
エリート
45バイト
4
コンデンス
42バイト
ひらがな
A
HDパイカ
54バイト
B
HDパイカ
54バイト
C
エリート
45バイト
D
コンデンス
42バイト
登録する1文字分の文字パターンデータは16進数で指定します。
HDパイカでは、54バイトのパターンデータを読み込みますが、最初の48バイトだけを有効データとして受け取り、残りの6バイトは無視します。
エリート/コンデンス文字の登録では、文字パターンデータはすべて有効です。HDパイカでの登録文字パターンデータと印字結果は次のようになります。

登録文字の印字([ESC] l +)

登録文字のコードが送られた場合に、登録文字を印字します。
JIS
ESC
16進数
1Bh 6Ch 2Bh
文字が登録されていない場合は、キヤノン複合機/プリンター内の文字を印字します。

プリンター内文字の印字([ESC] l -)

文字コードに対応したキヤノン複合機/プリンター内の文字を印字します。
JIS
ESC
16進数
1Bh 6Ch 2Dh
電源を入れたときは、登録文字の印字ではなく、キヤノン複合機/プリンター内の文字の印字が選択されています。

登録文字の全消去([ESC] l 0)

登録した文字をすべて消去し、未登録の状態に戻します。
JIS
ESC 0
16進数
1Bh 6Ch 30h

文字の拡大指定([ESC] e)

1バイトコード文字および2バイトコード文字の縦横の倍率を指定して拡大印字します。
JIS
ESC e <縦の倍率(1バイト)> <横の倍率(1バイト)>
16進数
1Bh 65h <縦の倍率(1バイト)> <横の倍率(1バイト)>
<縦の倍率(1バイト)> <横の倍率(1バイト)>
縦方向および横方向の倍率を指定します。
範囲
:1,2,3,4,6,8
たとえば、縦横の倍率を組み合わせると次のような拡大が行われます。
縦の値
横の値
倍率(縦×横)
印字例
1
1
1×1
1
2
1×2
2
1
2×1
2
2
2×2
縦方向を2倍に拡大した場合、文字のベースライン位置は1行分だけ下がり、文字の下端が揃って印字されます。
PC-PR201/80Aでは縦拡大印字時に次の問題が生じます。
n/120インチ改行幅の設定命令を使って、18/120インチより改行幅をせまく設定した場合、縦拡大文字が正常に印字されません。これに対し、本エミュレーションモードでは、設定された改行幅で縦拡大印字が正しく行われます。
用紙の下端付近で縦拡大文字を印字するとき、残りの行数(最小改行単位)が拡大文字の高さに満たない場合、文字の上半分と下半分が分断されます。これに対し、本エミュレーションモードでは、文字のベースラインがボトム位置を越えると自動的に改ページし、残りの改行が行われて印字されます。ただし、この場合、印字データが有効印字領域の上端を越えている場合は印字しません。
行バッファーがいっぱいになったとき、この行に縦拡大文字があると自動的に1行改行されるため垂直位置がずれてしまいます。本エミュレーションモードでも同様の現象がおきますが、行バッファーがいっぱいになるタイミングが異なるため印字結果も異なります。

文字の繰り返し印字([ESC] R)

指定した文字を指定した回数だけ繰り返し印字(キャラクタリピート)します。
JIS
ESC R <繰り返し回数(3バイト)> <文字コード(1/2バイト)>
16進数
1Bh 52h <繰り返し回数(3バイト)> <文字コード(1/2バイト)>
<繰り返し回数(3バイト)>
繰り返す回数を3桁の10進数で指定します。
範囲:
001~999
<文字コード(1/2バイト)>
繰り返す文字を16進数で指定します。
指定する文字が1バイトコード文字の場合は1バイトで指定し、2バイトコード文字の場合は2バイトで指定します。

強調印字の指定([ESC] !)

強調印字モードを設定します。
JIS
ESC !
16進数
1Bh 21h
PC-PR201/80Aでは、文字を2度印字してドットを濃くしていますが、本エミュレーションモードでは、文字およびイメージのドットを水平方向に右にずらして重ね印字して強調させます。文字およびイメージのそれぞれのドットのずらし量は次のようになります。
展開時の解像度
文字
イメージ
8ポイント
10、12ポイント
Fmode 4、7、8
Fmode 1、2、3、6
300 dpi
1ドット
2ドット
1ドット
2ドット
600 dpi
3ドット
4ドット
3ドット
4ドット

強調印字の解除([ESC] ")

強調印字モードを解除します。
JIS
ESC "
16進数
1Bh 22h
以降、文字およびイメージの強調印字は解除され、標準印字になります。

ライン印字モードの指定([ESC] X)

文字にアンダーラインまたはアッパーラインを付加して印字します。
JIS
ESC X
16進数
1Bh 58h
ラインの設定([ESC] _)でアンダーラインまたはアッパーラインが設定されていない場合は、アンダーラインを引きます。また、文字の拡大指定([ESC] e)で文字の縦方向を拡大しても、ラインの太さは変わりません。

ライン印字モードの解除([ESC] Y)

アンダーラインまたはアッパーラインを印字するモードを解除します。
JIS
ESC Y
16進数
1Bh 59h
ラインの設定([ESC] _)でアンダーラインまたはアッパーラインが設定されていない場合は、アンダーラインを引きます。また、文字の拡大指定([ESC] e)で文字の縦方向を拡大しても、ラインの太さは変わりません。

ラインの設定([ESC] _)

ライン印字モードで付加するラインをアンダーラインまたはアッパーラインから選択します。
JIS
ESC _[ライン種別(1バイト)]
16進数
1Bh 5Fh[ライン種別(1バイト)]
[ライン種別(1バイト)]
アンダーラインまたはアッパーラインを指定します。
設定内容
1
アンダーライン
2
アッパーライン
842H-125