JavaTM 2 Platform
Std. Ed. v1.3

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 があります。

GlyphMetrics で利用可能なほかのメトリックスには、有効幅、境界、および右側相対位置と右側相対位置があります。

グリフの有効幅は、グリフの原点から、次のグリフの原点までの距離です。GlyphVector では、グリフからその次のグリフまでの距離は、グリフの有効幅ではありません。

境界は、グリフの可視部分を完全に囲む最小の矩形です。境界の矩形は、グリフの原点を基準にしています。左側相対位置は、グリフの原点から、その境界の矩形の左側までの距離です。左側相対位置が負の値である場合、グリフの一部は、グリフの原点の左側に描かれます。右側相対位置は、境界の矩形の右側から、次のグリフの原点までの距離です。つまり、原点に有効幅を足した値になります。この値が負の数である場合は、グリフの一部が次のグリフの原点の右側まで描かれています。

GlyphMetrics のインスタンスは直接に生成できますが、通常は GlyphVector から取得します。いったん生成した GlyphMetrics オブジェクトは不変です。

:

Font に、グリフ情報を照会します。

 Font font = ...;
 int glyphIndex = ...;
 GlyphMetrics metrics = GlyphVector.getGlyphMetrics(glyphIndex);
 int isStandard = metrics.isStandard();
 float glyphAdvance = metrics.getAdvance();
 

関連項目:
Font, GlyphVector

フィールドの概要
static byte COMBINING
          ウムラウトのような結合文字のグリフを示します。
static byte COMPONENT
          対応する文字がバッキングストアにないグリフを示します。
static byte LIGATURE
          複数の文字を合字として表すグリフを示します。
static byte STANDARD
          単一の標準文字を表すグリフを示します。
static byte WHITESPACE
          視覚表現のないグリフを示します。
 
コンストラクタの概要
GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType)
          GlyphMetrics オブジェクトを構築します。
 
メソッドの概要
 float getAdvance()
          グリフの有効幅または高さを返します。
 Rectangle2D getBounds2D()
          グリフのブラックボックス境界を返します。
 float getLSB()
          グリフの左側 (上端) 相対位置を返します。
 float getRSB()
          グリフの右側 (下端) 相対位置を返します。
 int getType()
          グリフタイプコードそのものを返します。
 boolean isCombining()
          結合グリフの場合に、true を返します。
 boolean isComponent()
          コンポーネントグリフの場合に、true を返します。
 boolean isLigature()
          合字グリフの場合に、true を返します。
 boolean isStandard()
          標準グリフの場合に、true を返します。
 boolean isWhitespace()
          空白文字グリフの場合に、true を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

STANDARD

public static final byte STANDARD
単一の標準文字を表すグリフを示します。

LIGATURE

public static final byte LIGATURE
複数の文字を合字として表すグリフを示します。合字は、「fi」や「ffi」などです。この次には、残りの文字を埋めるフィラーグリフが続きます。フィラーグリフ、および結合グリフを混用して、論理的には前にある合字の上に付くアクセント記号の位置を制御することもできます。

COMBINING

public static final byte COMBINING
ウムラウトのような結合文字のグリフを示します。このグリフとその前のグリフの間には、キャレット位置はありません。

COMPONENT

public static final byte COMPONENT
対応する文字がバッキングストアにないグリフを示します。このグリフは、論理的に前にある、文字コンポーネントでないグリフによって示される文字と関連付けられます。こうしたグリフは、kashida の位置揃えや、既存のグリフの視覚的な変更に使われます。このグリフとその前のグリフの間には、キャレット位置はありません。

WHITESPACE

public static final byte WHITESPACE
視覚表現のないグリフを示します。これは、不可視のグリフを示す他のコード値に追加できます。
コンストラクタの詳細

GlyphMetrics

public GlyphMetrics(float advance,
                    Rectangle2D bounds,
                    byte glyphType)
GlyphMetrics オブジェクトを構築します。
パラメータ:
advance - グリフの有効幅または高さ
bounds - グリフのブラックボックス境界
glyphType - グリフのタイプ
メソッドの詳細

getAdvance

public float getAdvance()
グリフの有効幅または高さを返します。
戻り値:
グリフの有効幅

getBounds2D

public Rectangle2D getBounds2D()
グリフのブラックボックス境界を返します。
戻り値:
グリフの境界である Rectangle2D

getLSB

public float getLSB()
グリフの左側 (上端) 相対位置を返します。

LSB は、(0, 0) の位置から、グリフの境界の左 (上端) までの距離です。グリフの境界が原点の左 (上) にある場合、結果は負の数になります。

戻り値:
グリフの左側相対位置

getRSB

public float getRSB()
グリフの右側 (下端) 相対位置を返します。

RSB は、グリフの境界の右 (下端) から有効幅までの距離です。グリフの境界が有効幅の右 (下) にある場合、結果は負の数になります。

戻り値:
グリフの右側相対位置

getType

public int getType()
グリフタイプコードそのものを返します。
戻り値:
グリフタイプコードそのもの

isStandard

public boolean isStandard()
標準グリフの場合に、true を返します。
戻り値:
標準グリフの場合は true、そうでない場合は false

isLigature

public boolean isLigature()
合字グリフの場合に、true を返します。
戻り値:
合字グリフの場合は true、そうでない場合は false

isCombining

public boolean isCombining()
結合グリフの場合に、true を返します。
戻り値:
結合グリフの場合は true、そうでない場合は false

isComponent

public boolean isComponent()
コンポーネントグリフの場合に、true を返します。
戻り値:
コンポーネントグリフの場合は true、そうでない場合は false

isWhitespace

public boolean isWhitespace()
空白文字グリフの場合に、true を返します。
戻り値:
空白グリフの場合は true、そうでない場合は false

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.