GlyphMetricsクラスは、単一のグリフの情報を表します。 グリフとは、1つまたは複数の文字の視覚的な表現です。 単一文字または複数の文字の組み合わせを表現するために、さまざまな多くのグリフを使うことができます。 GlyphMetricsのインスタンスはFontによって生成され、特定のFontの特定のグリフに適用されます。 
 グリフには、STANDARD、LIGATURE、COMBINING、およびCOMPONENTがあります。
- STANDARD (標準)は、1文字を表すのに一般に使われるグリフ。
- LIGATURE (合字)は、文字列を表すのに使われるグリフ。
- COMPONENT (コンポーネント)グリフはGlyphVectorにあり、このグリフは、テキスト・モデルの特定の文字とは対応しない。 代わりにCOMPONENTグリフは、たとえばアラビア語の位置揃えといった、印刷上の理由で追加される。
- COMBINING (結合)グリフは、STANDARDまたはLIGATUREのグリフを装飾する、たとえばアクセント記号などのグリフ。 COMBININGグリフの前には、キャレットは表示されない。
 GlyphMetricsで利用可能なほかのメトリックスには、有効幅の成分、視覚境界、および左側相対位置と右側相対位置があります。
 
 回転されたフォントのグリフ、またはグリフに回転を適用したGlyphVectorから取得されたグリフの有効幅には、X成分とY成分の両方がある場合があります。 通常、有効幅のコンポーネントは1つだけです。 
 
 グリフの有効幅は、グリフの原点から次のグリフの原点までの、垂直または水平のベースラインに沿った距離です。 GlyphVectorでは、カーニングやその他の位置調整のため、グリフからその次のグリフまでの距離はグリフの有効幅でない場合があります。 
 
境界は、グリフのアウトラインを完全に囲む最小の矩形です。 境界の矩形は、グリフの原点を基準に示されます。 左側相対位置は、グリフの原点から、その境界の矩形の左側までの距離です。 左側相対位置が負の値である場合、グリフの一部は、グリフの原点の左側に描かれます。 右側相対位置は、境界の矩形の右側から、次のグリフの原点までの距離です。つまり、原点に有効幅を足した値になります。 この値が負の数である場合は、グリフの一部が次のグリフの原点の右側まで描かれています。 ラスター化やピクセル調整があるため、グリフを描画するときに影響を受けるピクセルがすべて境界内に収まるわけではありません。
 GlyphMetricsのインスタンスは直接に生成できますが、通常はGlyphVectorから取得します。 いったん生成したGlyphMetricsオブジェクトは不変です。 
 
例:
 Fontに、グリフ情報を照会します。
 
Font font = ...; int glyphIndex = ...; GlyphMetrics metrics = GlyphVector.getGlyphMetrics(glyphIndex); int isStandard = metrics.isStandard(); float glyphAdvance = metrics.getAdvance();
- 関連項目:
- 
フィールドのサマリーフィールド修飾子と型フィールド説明static final byteウムラウトのような結合文字のグリフを示します。static final byte対応する文字がバッキング・ストアにないグリフを示します。static final byte複数の文字を合字として表すグリフを示します。合字は、「fi」や「ffi」などです。static final byte単一の標準文字を表すグリフを示します。static final byte視覚表現のないグリフを示します。
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType) GlyphMetricsオブジェクトを構築します。GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType) GlyphMetricsオブジェクトを構築します。
- 
メソッドのサマリー修飾子と型メソッド説明float水平または垂直のベースラインに沿った、グリフの有効幅を返します。floatグリフの有効幅のXコンポーネントを返します。floatグリフの有効幅のYコンポーネントを返します。グリフの境界を返します。floatgetLSB()グリフの左側(上端)相対位置を返します。floatgetRSB()グリフの右側(下端)相対位置を返します。intgetType()グリフ・タイプ・コードそのものを返します。boolean結合グリフの場合に、trueを返します。booleanコンポーネント・グリフの場合に、trueを返します。boolean合字グリフの場合に、trueを返します。boolean標準グリフの場合に、trueを返します。boolean空白文字グリフの場合に、trueを返します。
- 
フィールド詳細- 
STANDARDpublic static final byte STANDARD単一の標準文字を表すグリフを示します。- 関連項目:
 
- 
LIGATUREpublic static final byte LIGATURE複数の文字を合字として表すグリフを示します。合字は、「fi」や「ffi」などです。 この次には、残りの文字を埋めるフィラー・グリフが続きます。 フィラー・グリフと結合グリフを混用して、論理的に前にある合字の上に付くアクセント記号の位置を制御することもできます。- 関連項目:
 
- 
COMBININGpublic static final byte COMBININGウムラウトのような結合文字のグリフを示します。 このグリフとその前のグリフの間には、キャレット位置はありません。- 関連項目:
 
- 
COMPONENTpublic static final byte COMPONENT対応する文字がバッキング・ストアにないグリフを示します。 このグリフは、論理的に前にある、文字コンポーネントでないグリフによって示される文字と関連付けられます。 こうしたグリフは、kashidaの位置揃えや、既存のグリフの視覚的な変更に使われます。 このグリフとその前のグリフの間には、キャレット位置はありません。- 関連項目:
 
- 
WHITESPACEpublic static final byte WHITESPACE視覚表現のないグリフを示します。 これは、不可視のグリフを示すほかのコード値に追加できます。- 関連項目:
 
 
- 
- 
コンストラクタの詳細- 
GlyphMetricspublic GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType) GlyphMetricsオブジェクトを構築します。- パラメータ:
- advance- グリフの有効幅
- bounds- グリフのブラック・ボックス境界
- glyphType- グリフのタイプ
 
- 
GlyphMetricspublic GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType) GlyphMetricsオブジェクトを構築します。- パラメータ:
- horizontal- trueの場合、メトリックスは水平のベースライン用で、そうでない場合は垂直のベースライン用である
- advanceX- グリフの有効幅のX成分
- advanceY- グリフの有効幅のY成分
- bounds- グリフの視覚境界
- glyphType- グリフのタイプ
- 導入されたバージョン:
- 1.4
 
 
- 
- 
メソッドの詳細- 
getAdvancepublic float getAdvance()水平または垂直のベースラインに沿った、グリフの有効幅を返します。- 戻り値:
- グリフの有効幅
 
- 
getAdvanceXpublic float getAdvanceX()グリフの有効幅のXコンポーネントを返します。- 戻り値:
- グリフの有効幅のXコンポーネント
- 導入されたバージョン:
- 1.4
 
- 
getAdvanceYpublic float getAdvanceY()グリフの有効幅のYコンポーネントを返します。- 戻り値:
- グリフの有効幅のYコンポーネント
- 導入されたバージョン:
- 1.4
 
- 
getBounds2Dpublic Rectangle2D getBounds2D()グリフの境界を返します。 これは、グリフのアウトラインのバウンディング・ボックスです。 ラスター化やピクセル調整があるため、グリフを描画するときに影響を受けるピクセルがすべて境界内に納まるわけではありません。- 戻り値:
- グリフの境界であるRectangle2D。
 
- 
getLSBpublic float getLSB()グリフの左側(上端)相対位置を返します。これは、(0, 0)の位置から、グリフの境界の左(上端)までの距離です。 グリフの境界が原点の左(上)にある場合、結果は負の数になります。 - 戻り値:
- グリフの左側相対位置。
 
- 
getRSBpublic float getRSB()グリフの右側(下端)相対位置を返します。これは、グリフの境界の右(下端)から有効幅までの距離です。 グリフの境界が有効幅の右(下)にある場合、結果は負の数になります。 - 戻り値:
- グリフの右側相対位置。
 
- 
getTypepublic int getType()グリフ・タイプ・コードそのものを返します。- 戻り値:
- グリフ・タイプ・コードそのもの。
 
- 
isStandardpublic boolean isStandard()標準グリフの場合に、trueを返します。- 戻り値:
- 標準グリフの場合はtrue、そうでない場合はfalse。
 
- 
isLigaturepublic boolean isLigature()合字グリフの場合に、trueを返します。- 戻り値:
- 合字グリフの場合はtrue、そうでない場合はfalse。
 
- 
isCombiningpublic boolean isCombining()結合グリフの場合に、trueを返します。- 戻り値:
- 結合グリフの場合はtrue、そうでない場合はfalse。
 
- 
isComponentpublic boolean isComponent()コンポーネント・グリフの場合に、trueを返します。- 戻り値:
- コンポーネント・グリフの場合はtrue、そうでない場合はfalse。
 
- 
isWhitespacepublic boolean isWhitespace()空白文字グリフの場合に、trueを返します。- 戻り値:
- 空白文字グリフの場合はtrue、そうでない場合はfalse。
 
 
-