2. 用語

FONT ライブラリで使用する用語を定義します。ここでの定義は独自のものであり、一般的な意味と異なることがあります。

2.1. 文字に関連する用語

文字に関連する用語をまとめたものを下表に示します。

表 2-1. 文字に関連する用語
用語 説明
文字 描画の対象となる図形。視覚的に認識できる図形に加え、その周囲の空白領域も含みます。
文字コード 文字をコンピュータで扱うために、それぞれの文字に割り当てられる数値。
文字セット 文字と文字コードのペアの集合。
文字列エンコーディング 文字コードを変換・配置して文字列をバイト列として表すための方法。
ISO 8859-1

ASCII 文字にいくつかの欧州文字や記号を追加した文字セットで、Latin-1 とも呼ばれています。

使われる文字コードの範囲は 0x00~0xFF ですが、0x00~0x1F と 0x80~0x9F には、表示することのできない制御文字が割り当てられています。

CP1252(Code Page 1252) Windows のために Microsoft 社によって定義された欧州文字セット。ISO 8859-1 のうち、制御文字に割り当てられている 0x80~0x9F の範囲を表示可能な文字に置き換えたものですので、ISO 8859-1 で表示可能な文字はすべて CP1252 で表示することができます。
JIS X 0201 JIS 規格で定められている日本語文字セット。いわゆる全角文字で、ひらがな・カタカナ・漢字等を含んでいます。
JIS X 0208 JIS 規格で定められている日本語文字セット。いわゆる半角文字で、ASCII と半角カタカナを含んでいます。
ShiftJIS 日本語環境での標準的な文字列エンコーディング。JIS X 0201 と JIS X 0208 に含まれている文字を使用することができます。
Unicode 全世界の文字を、単一の文字セットで表現することを目的とした文字体系。文字セットおよび文字列エンコーディング双方の定義を含んでいます。
UTF16

Unicode で定義されている文字列エンコーディング。すべての文字が 2 バイトで表現されているため、ほかの文字列エンコーディングのほとんどが持っている、ASCII との互換性を持っていません。

エンディアンの違いで、UTF16-BE と UTF16-LE のように表記することがあります。

UTF8 Unicode で定義されている文字列エンコーディング。文字によって 1 文字に対応するバイト数が異なります。ASCII 文字が 1 バイトで表現されるため、UTF16 とは異なり、ASCII との互換性を持っています。

2.2. グリフに関連する用語

視覚的に認識できる文字の形を「グリフ」と定義し、この節では、そのグリフの表示に関する用語を説明します。

下図は、グリフの表示に関連するパラメータを示したものです。黄色い領域がグリフ、グリフと緑色の領域を合わせたものが文字です。黒字は FONT ライブラリが提供するグリフが持っているパラメータ、青字は FONT ライブラリが提供するフォントが持っているパラメータ、赤字はグリフを文字列として表示する際にアプリケーション側で設定するパラメータです。

図 2-1. グリフ

文字幅 文字間 左スペース幅 グリフ幅 右スペース幅 アセンダライン ベースライン位置 セルの高さ アセント ディセント フォントの高さ 改行幅 ベースライン ディセンダライン

表 2-2. グリフに関連する用語
用語 説明
グリフイメージ 画像としての面を特に強調して、グリフを指す言葉。セルと呼ばれることもあります。
セルの高さ グリフイメージの高さ。フォント全体で共通です。
グリフ幅 グリフに外接する矩形の幅。図中では黄色い領域の幅です。
左スペース幅 グリフと直前の文字との間に空ける空白の幅。
右スペース幅 グリフと直後の文字との間に空ける空白の幅。
文字幅 文字の幅。グリフ幅と左右のスペース幅を足し合わせたものです。
文字幅情報 文字の幅に関する情報。左スペース幅、右スペース幅、グリフ幅、文字幅の 4 つの情報をまとめたものです。
ベースライン 文字を横に並べて配置する(=文字列を描画する)際に、各グリフの上下方向の配置の基準となる位置。
アセンダライン 文字列が占めるべき領域の上端となるライン。
ディセンダライン 文字列が占めるべき領域の下端となるライン。
アセント ベースラインとアセンダラインの距離。
ディセント ベースラインとディセンダラインの距離。
フォントの高さ アセンダラインとディセンダラインの距離。
フォントの幅 タブ幅の基準となる、文字によらない文字幅。

2.3. フォントのリソースに関する用語

フォントデータなど、フォントのリソースに関連する用語をまとめたものを下表に示します。

表 2-3. フォントのリソースに関連する用語
用語 説明
bcfnt(Binary Ctr FoNT) FONT ライブラリで使用する通常のフォントデータ。また、そのフォントデータを格納したファイルの拡張子。
bcfna(Binary Ctr FoNt Archived)

FONT ライブラリで使用する圧縮されたフォントデータ。また、そのフォントデータを格納したファイルの拡張子。

グリフの集合単位で抽出・展開して使用することができます。表示するフォントを言語ごとにグループで分ける場合や、一部のフォントだけ書体を切り替えたい場合などに利用します。

フォントリソース FONT ライブラリで使用する通常のフォントデータ。bcfnt と同義です。
アーカイブフォント FONT ライブラリで使用する圧縮されたフォントデータ。bcfna と同義です。
ctr_FontConverter bcfnt および bcfna を作成するための Windows ツール。GUI 版と CUI 版が用意されています。
代替文字 フォントに含まれていない文字の情報が要求された場合に、代わりに使用される文字。

2.3.1. グリフグループ

グループ分けされたグリフの集合を「グリフグループ」と定義します。また、グリフグループの集合を「グループセット」と呼びます。

FONT ライブラリでは、グループセット内の任意のグループを組み合わせて、フォントを構築する機能を提供しています。例えば「ascii」、「latin」、「greek」、「cyrillic」の 4 つのグループからなるグループセットから、ラテン語圏向けには「ascii」と「latin」の組み合わせ、ロシア語圏向けには「ascii」と「cyrillic」の組み合わせというように、表示に必要なグリフが含まれるグループだけでフォントを構築することができます。

図 2-2. グリフグループの例

ascii latin greek cyrillic

 

2.3.2. シート

グリフイメージが描かれているテクスチャを「シート」と定義します。テクスチャ 1 枚がシート 1 枚に対応し、1 枚のシートには、複数のグリフイメージが並べられています。

図 2-3. シートの例

 

2.4. その他の用語

そのほかの、FONT ライブラリに関連する用語をまとめたものを下表に示します。

表 2-4. その他の用語
用語 説明
タグ文字列

描画に関する命令を組み込んだ文字列。

FONT ライブラリではタグ文字列を処理する枠組みを提供します。文字列に埋め込まれたタグに対する実際の処理はアプリケーションで用意しなければなりません。