モジュール java.desktop
パッケージ java.awt.font

クラスGlyphMetrics

java.lang.Object
java.awt.font.GlyphMetrics

public final class GlyphMetrics extends Object
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();
 

関連項目: