フォント

本エミュレーションモードでは、Stickフォントを使用して一連の直線と円弧(ベジェ曲線)で描画することができます。
本エミュレーションモードで印字できるのは、Stickフォントのみです。BitmapフォントやScalableフォントを使用することはできません。

Stickフォントの種類

文字セット

本エミュレーションが搭載しているStickフォントの文字セットは、次の23種類です。
Roman8
Norwegian v1
Roman Extensions
French v1
Italian
JIS ASCII
ECMA-94 LATIN.1
Swedish for Names
ANSI US ASCII
Norwegian v2
United Kingdom
French v2
German
Katakana
Spanish
International Reference Version
Swedish
Portuguese
Kana-8
HP-GL Drafting
HP-GL Special Symbols
JIS Kanji-1
JIS Kanji-2

タイプフェース

本エミュレーションが搭載しているStickフォントのタイプフェースは、次の3種類です。
ベクタフォント:
文字を直線のみで描画するフォント
ドラフティングフォント:
文字を直線のみで描画するフォント
アークフォント:
文字を直線と円弧で描画するフォント
DJ800と本エミュレーションのドラフティングフォントでは、デザインが異なります。

文字ピッチ

本エミュレーションが搭載しているStickフォントの文字ピッチは、次の2種類です。
固定ピッチフォント:
全ての文字の文字幅が同じであるフォント
可変ピッチフォント:
文字ごとに文字幅が異なるフォント(たとえば、「M」の文字ピッチは大きいが、「i」の文字ピッチは小さいなど)

内蔵フォント

本エミュレーションが搭載している内蔵フォントは、次の5種類です。
固定ベクタ1フォント
固定ベクタ3フォント
固定ドラフティング2フォント
固定アークフォント
可変アークフォント

内蔵フォントの種類

1バイトフォント

文字セット
タイプフェース
ベクタ(48)
ドラフティング(49)
アーク(50)
名称
7 / 8 bit code
固定ベクタ1
固定ベクタ2
固定ベクタ3
固定ドラフティング1
固定ドラフティング2
固定アーク
可変アーク
Roman8
0/277
8
Norwegian v1
4
7
Roman Extensions
5
7
French v1
6
7
Italian
9
7
JIS ASCII
11
7
ECMA-94 LATIN.1
14
8
Swedish for Names
19
7
ANSI US ASCII
21
7
Norwegian v2
36
7
United Kingdom
37
7
French v2
38
7
German
39
7
Katakana
43
7
Spanish
83
7
International Reference Version
85
7
Swedish
115
7
Portuguese
147
7
Kana-8
267
8
HP-GL Drafting
563
7
HP-GL Special Symbols
595
7

2バイトフォント

文字セット
タイプフェース
ベクタ(48)
ドラフティング(49)
アーク(50)
名称
7 / 8 bit code
固定ベクタ1
固定ベクタ2
固定ベクタ3
固定ドラフティング1
固定ドラフティング2
固定アーク
可変アーク
JIS Kanji-1*
1611
JIS Kanji-2*
1643
* JIS Kanji-1はJIS90の第一水準漢字のみサポートしている文字セットです。また、JIS Kanji-2はJIS90の第一水準漢字と第二水準漢字をサポートしている文字セットです。
本エミュレーションモードとHP Designjet 800では、文字セットによって内蔵フォントが異なるため、印刷結果が若干異なります。詳しくは、付録の「HP-GL/2モードの注意と制限」を参照してください。

Stickフォントの構成要素

ここでは、Stickフォントの文字の構成要素について、固定ベクタ1フォントを例に説明します。
1文字が占める空間はCharacter Plot Cell(CPセル)と呼ばれる矩形領域です。CP Cell Width(CPセル幅)は1文字印字した後の文字原点の移動量であり、Line Feed(CPセル高)は改行した後の文字原点の移動量です以下にCPセルの構成要素について説明します。
構成要素名
説明
Character Origin(文字原点)
CPセルの左下隅
Baseline(ベースライン)
基本的な文字の一番下の線
Character Width(文字幅)
基本的な文字枠の幅
Cap Height(文字高)
基本的な文字枠の高さ
CP Cell Width(CPセル幅)
現在の文字の文字原点から次の文字の文字原点までの長さ
Line Feed(CPセル高)
現在のベースラインの位置から次行のベースラインまでの長さ
Point Size(文字のポイントサイズ)
ポイントサイズ= 基本的な文字高 + ディセンダの深さ
可変ピッチフォントの文字サイズはポイントサイズで決まる
各フォントの構成要素の値は次のとおりです。(単位はグリッド)
構成要素名
固定ベクタ1/固定ドラフティング1/固定ドラフティング2
固定ベクタ2/固定ベクタ3
固定アーク
可変アーク
Character Width (文字幅)*1
基本的な文字の幅
32
55
30
*2
行内最終文字の幅
48
29
Cap Height(文字高)
32
32
36
36
CP Cell Width(CPセル幅)
48
64
45
文字幅+10
Line Feed(CPセル高)
64
64
72
72
Point Size(文字のポイントサイズ)
48
48
54
54
*1
固定ベクタ2フォント、固定ベクタ3フォント、固定アークフォントでは、LBコマンドの行内最終文字とSMコンドの印字文字の文字幅だけはそれ以外の文字の文字幅と異なるグリッド数で計算し、印字位置を決めています。これは印字位置を決める際の仕様であり、実際の文字は基本的な文字幅で印字します。たとえば、LO9で固定ベクタ2フォントを印字すると、カレントペン位置よりも7グリッド分だけ右側にはみ出て印字されます。
*2
可変アークフォントの文字幅は文字ごとに異なります。ただし、可変アークフォントの基本的な文字幅は28グリッドです。スペース、タブの文字幅とSI/SRコマンドによって指定する文字幅は28グリッドであり、LOコマンドのパラメータで11~19を指定したときのオフセット量は28グリッドの1/2(14グリッド)であり、DVコマンドによって縦置きを指定したときの改行ピッチは28グリッドの2倍(56グリッド)です。

固定ベクタ1フォント

固定ベクタ1フォントの文字は基本的に32×32のグリッドの文字枠にデザインされています。文字によってはバランスをとるため基本的な文字枠を上下左右にはみ出してデザインしている文字もあります。基本的な文字枠の一番下の線を「Baseline(ベースライン)」と呼びます。たとえば、「g」、「j」、「y」などの文字の一部はベースラインを下にはみ出してデザインされています。このとき、ベースラインより下にはみ出ている部分を「ディセンダ」と呼びます。以下は固定ベクタ1フォントの「A」と「y」のデザイン例です。

固定ベクタ2フォント

固定ベクタ2フォントの文字は55×40のグリッドの文字枠にデザインされています。
文字によってはバランスをとるため文字枠を上下左右にはみ出してデザインしている文字もあります。固定ベクタ2フォントには、固定ベクタ1フォントにあるベースラインとディセンダの概念はありません。55×40の文字枠は文字をデザインするためだけに使用しており、基本的な文字枠は55×32グリッドです。ただし、LBコマンドの行内最終文字とSMコマンドの印字文字だけは48×32グリッドの文字枠を使用して印字位置を決定し、印字します。以下は固定ベクタ2フォントの「y」と「鯵」のデザイン例です。

固定ベクタ3フォント

固定ベクタ3フォントの文字は127×127のグリッドの文字枠にデザインされています。
127×127の文字枠を55×40の文字枠に変換し、固定ベクタ2フォントと同じように取り扱います。55×40の文字枠に変換した後の文字データは座標値が少数値となります。

固定ドラフティング1フォント

固定ドラフティングフォントの文字は固定ベクタ1フォントと同様に基本的に32×32のグリッドの文字枠にデザインされています。固定ドラフティング1フォントと固定ベクタ1フォントは文字枠の取り扱いは同じですが、デザインのみ異なります。

固定ドラフティング2フォント

固定ドラフティング2フォントの文字は32×32のグリッドの文字枠に小数値でデザインされています。したがって、各文字の各座標点はグリッド位置に適合しません。

可変アークフォント

可変アークフォントの文字高は36グリッドです。
可変アークフォントの文字幅は文字ごとに異なります。ただし、タブやスペースは1文字の文字幅を28グリッドとして扱い、SI/SRコマンドの文字幅(widthパラメータ)は28グリッドの文字幅を指定します。基本的な文字高の一番下の線を「Baseline(ベースライン)」と呼びます。文字によってはバランスをとるため基本的な文字高より上にはみ出したり、ベースラインよりも下にはみ出してデザインされたりする文字もあります。たとえば、「g」、「j」、「y」などの文字の一部はベースラインを下にはみ出してデザインされています。このとき、ベースラインよりも下にはみ出ている部分を「ディセンダ」と呼びます。以下は可変アークフォントの「B」と「y」のデザイン例です。
文字セットがRoman8とRoman Extensionsの場合の、可変アークフォントの各文字の文字幅は次のとおりです。

固定アークフォント

固定アークフォントの基本的な文字枠は30×36グリッドです。ただし、LBコマンドの行内最終文字とSMコマンドの印字文字のみ29×36グリッドの文字枠を使用して印字位置を決定してから印字します。固定アークフォントは、可変アークフォントの文字枠(36×X)を固定アークフォントの文字枠(36×30)に左詰めにしたものです。たとえば、「I」という文字の可変アークフォントの文字幅は1グリッドですが、固定アークフォントではこれを左詰めにし、右側に29グリッドの余白を置いて文字幅を30グリッドとして扱います。可変アークフォントの文字幅が30グリッドを超える場合も左詰めにし、固定アークフォントの文字幅を30グリッドとして扱います。以下は固定アークフォントの「B」と「y」のデザイン例です。

ダウンロードフォント

DLコマンドによりユーザーがデザインしたダウンロード文字をcharacter set 531(HP-GL Download)に登録することができます。character set 531 ( H P - G L Download)のフォントを「ダウンロードフォント」と呼びます。ダウンロードフォントはLBコマンドとSMコマンドで使用できます。DLコマンドでは登録する文字コードと1つ以上のX、Y座標値(絶対X/Y座標値ペア)を指定します。以下はダウンロードフォントの特徴です。
ダウンロードフォントは1バイトフォントです。つまり、character set 531(HP-GL Download)は1バイトフォントの文字セットです。
登録可能な文字コードは0x21~0x7Eであり、最大94文字を登録できます。
ダウンロード文字は固定ピッチフォントです。CPセルの各構成要素の値は固定ベクタ1フォントと同じです。
ダウンロード文字のX、Y座標値は-127~127の範囲の整数値を指定できます。つまり、基本的な文字枠は32×32ですが、その文字枠をはみ出してデザインできます。
ダウンロードフォントは固定ピッチフォントと同等に動作します。すべての文字属性(つまりsize, slant, direction, label origin)はダウンロード文字にも適用されます。
パラメータなしのDLコマンドにより、ダウンロード文字をすべて削除します。登録文字コードのみでX、Y座標値のないDLコマンドはその文字コードのダウンロード文字を削除します。また、INコマンド、DFコマンドでもすべてのダウンロード文字を削除します。
ダウンロード文字は、あくまで一時的に登録されるものです。したがって、ジョブ終了時にすべてのダウンロード文字は削除されます。