public abstract class GlyphVector extends Object implements Cloneable
GlyphVector オブジェクトは、最終的に GlyphVector を表示するデバイスと対応するように変換された座標空間で各グリフを配置するための幾何学的な情報を含むグリフのコレクションです。
GlyphVector は、自身が格納している一連のグリフの解釈を行いません。一連のグリフの中の隣り合うグリフの関係は、視覚座標空間の中でグリフの配置を決めるためにだけ使われます。
GlyphVector のインスタンスは、Font によって生成されます。
テキストの中間的な表現をキャッシュに格納できるテキスト処理アプリケーションでは、描画中に使用する GlyphVector を作成してキャッシュに格納するのが、ユーザーに文字の視覚表現を提供するためのもっとも速い方法です。
GlyphVector は 1 つの Font にだけ関連付けられていて、この Font に関連して使用できるデータだけを提供します。また、GlyphVector から取得されたメトリックスは、通常幾何学的にスケーリングはできません。これは、ピクセル化および間隔調整が、Font 内部のグリッド合わせアルゴリズムに依存するからです。GlyphVector およびそのコンポーネントであるグリフを正確に測定できるようにするには、GlyphVector を作成するときに、スケーリング変換、平滑化モード、および部分メトリックスモードを指定する必要があります。これらの特性は、転送先デバイスから導かれることがあります。
GlyphVector の各グリフについて、次の情報を取得できます。
GlyphVector のコンテキストでのグリフのメトリックス。グリフのメトリックスは、別の変換、アプリケーションが指定した描画ヒント、および GlyphVector 内にあるグリフの特定のインスタンスなどの要素によって異なる場合がある。
GlyphVector の生成に使用されたデータを変更しても、GlyphVector の状態は変わりません。
GlyphVector 内にあるグリフの位置を調整するメソッドが提供されます。これらのメソッドは、グリフの表現のために位置揃えのオペレーションを実行するアプリケーションに最適です。
GlyphVector 内にある個々のグリフを変換するメソッドも提供されます。これらのメソッドは、特に特殊効果に役立ちます。
GlyphVector 全体、または GlyphVector 内にある個々のグリフの視覚、論理、およびピクセル境界を両方とも返すメソッドが提供されます。
GlyphVector の Shape を返すメソッド、および GlyphVector 内にある個々のグリフの Shape を返すメソッドが提供されます。
Font, GlyphMetrics, TextLayout| 修飾子と型 | フィールドと説明 |
|---|---|
static int |
FLAG_COMPLEX_GLYPHS
getLayoutFlags で使用するフラグで、この
GlyphVector のグリフから文字へのマッピングが複雑であることを示します (ランの方向に沿って、厳密に昇順または降順にグリフが文字に 1 対 1 でマッピングされない)。 |
static int |
FLAG_HAS_POSITION_ADJUSTMENTS
getLayoutFlags で使用するフラグで、この
GlyphVector に位置調整があることを示します。 |
static int |
FLAG_HAS_TRANSFORMS
getLayoutFlags で使用するフラグで、この
GlyphVector にグリフごとの変換があることを示します。 |
static int |
FLAG_MASK
getLayoutFlags でサポートされるフラグのマスクです。
|
static int |
FLAG_RUN_RTL
getLayoutFlags で使用するフラグで、この
GlyphVector のランの方向が右から左であることを示します。 |
| コンストラクタと説明 |
|---|
GlyphVector() |
| 修飾子と型 | メソッドと説明 |
|---|---|
abstract boolean |
equals(GlyphVector set)
指定された
GlyphVector がこの GlyphVector と厳密に等しいかどうかを判定します。 |
abstract Font |
getFont()
この
GlyphVector に関連付けられた Font を返します。 |
abstract FontRenderContext |
getFontRenderContext()
この
GlyphVector に関連付けられた FontRenderContext を返します。 |
int |
getGlyphCharIndex(int glyphIndex)
指定されたグリフの文字インデックスを返します。
|
int[] |
getGlyphCharIndices(int beginGlyphIndex, int numEntries, int[] codeReturn)
指定されたグリフの文字インデックスを返します。
|
abstract int |
getGlyphCode(int glyphIndex)
指定されたグリフのグリフコードを返します。
|
abstract int[] |
getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
指定された複数のグリフのグリフコードの配列を返します。
|
abstract GlyphJustificationInfo |
getGlyphJustificationInfo(int glyphIndex)
この
GlyphVector 内の指定されたインデックスのグリフの位置揃えプロパティーを返します。 |
abstract Shape |
getGlyphLogicalBounds(int glyphIndex)
この
GlyphVector 内の指定されたグリフの論理境界を返します。 |
abstract GlyphMetrics |
getGlyphMetrics(int glyphIndex)
この
GlyphVector 内の指定されたインデックスのグリフのメトリックスを返します。 |
abstract Shape |
getGlyphOutline(int glyphIndex)
その内部がこの
GlyphVector 内の指定されたグリフの視覚表現に対応する Shape を返します。 |
Shape |
getGlyphOutline(int glyphIndex, float x, float y)
その内部がこの
GlyphVector 内の指定されたグリフの視覚表現に対応する Shape を、x,y からの位置のオフセットとして返します。 |
Rectangle |
getGlyphPixelBounds(int index, FontRenderContext renderFRC, float x, float y)
指定された位置で指定された
FontRenderContext を使って Graphics 内にこの GlyphVector が描画されるときのインデックスの位置にあるグリフのピクセル境界を返します。 |
abstract Point2D |
getGlyphPosition(int glyphIndex)
この
GlyphVector の原点に対する、指定されたグリフの相対位置を返します。 |
abstract float[] |
getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
指定された複数のグリフのグリフ位置を配列として返します。
|
abstract AffineTransform |
getGlyphTransform(int glyphIndex)
この
GlyphVector 内に指定されたグリフの変換を返します。 |
abstract Shape |
getGlyphVisualBounds(int glyphIndex)
GlyphVector 内の指定されたグリフの視覚境界を返します。 |
int |
getLayoutFlags()
GlyphVector のグローバルな状態を記述するフラグを返します。
|
abstract Rectangle2D |
getLogicalBounds()
GlyphVector の論理境界を返します。 |
abstract int |
getNumGlyphs()
この
GlyphVector 内のグリフの数を返します。 |
abstract Shape |
getOutline()
その内部がこの
GlyphVector の視覚表現に対応する Shape を返します。 |
abstract Shape |
getOutline(float x, float y)
x, y で描画されたときに、その内部がこの
GlyphVector の視覚表現に対応する Shape を返します。 |
Rectangle |
getPixelBounds(FontRenderContext renderFRC, float x, float y)
指定された位置にある指定された
FontRenderContext を使用してグラフィックス内に描画されるときの、この GlyphVector のピクセル境界を返します。 |
abstract Rectangle2D |
getVisualBounds()
この
GlyphVector の視覚境界を返します。視覚境界は、GlyphVector の輪郭のバウンディングボックスです。 |
abstract void |
performDefaultLayout()
この
GlyphVector 内の各グリフにデフォルトの位置を割り当てます。 |
abstract void |
setGlyphPosition(int glyphIndex, Point2D newPos)
この
GlyphVector 内の指定されたグリフの位置を設定します。 |
abstract void |
setGlyphTransform(int glyphIndex, AffineTransform newTX)
この
GlyphVector 内の指定されたグリフの変換を設定します。 |
public static final int FLAG_HAS_TRANSFORMS
GlyphVector にグリフごとの変換があることを示します。public static final int FLAG_HAS_POSITION_ADJUSTMENTS
GlyphVector に位置調整があることを示します。これが true である場合、グリフの位置はグリフのデフォルトの有効幅を累積した位置と一致しません (たとえば、カーニングが行われた場合など)。public static final int FLAG_RUN_RTL
GlyphVector のランの方向が右から左であることを示します。これはグリフから文字へのマッピングに関するもので、グリフの視覚的な位置は一般にこの順序になるとはいえ、必ずしもそうであるとはかぎりません。public static final int FLAG_COMPLEX_GLYPHS
GlyphVector のグリフから文字へのマッピングが複雑であることを示します (ランの方向に沿って、厳密に昇順または降順にグリフが文字に 1 対 1 でマッピングされない)。public static final int FLAG_MASK
public abstract Font getFont()
GlyphVector に関連付けられた Font を返します。GlyphVector の生成に使われる Font。Fontpublic abstract FontRenderContext getFontRenderContext()
GlyphVector に関連付けられた FontRenderContext を返します。GlyphVector の生成に使われる FontRenderContext。FontRenderContext, Fontpublic abstract void performDefaultLayout()
GlyphVector 内の各グリフにデフォルトの位置を割り当てます。これにより、この GlyphVector の初期レイアウト時に生成された情報が破棄されることがあります。public abstract int getNumGlyphs()
GlyphVector 内のグリフの数を返します。GlyphVector 内のグリフの数。public abstract int getGlyphCode(int glyphIndex)
GlyphVector を生成した Font オブジェクトに対してだけ意味があります。glyphIndex - グリフコードを取得するグリフに対応する、この GlyphVector 内のインデックス。glyphIndex に対応するグリフのグリフコード。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合public abstract int[] getGlyphCodes(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
GlyphVector の生成に使用した Font に対してだけ意味があります。このメソッドを使うと、グリフコードの処理が容易かつ効率的になります。配列が渡されなかった場合は、新しく作成されます。beginGlyphIndex - グリフコードの取得を開始する、この GlyphVector 内のインデックス。numEntries - 取り出すグリフコードの数codeReturn - グリフコードを受け取り、戻り値として返される配列IllegalArgumentException - numEntries が 0 より小さい場合IndexOutOfBoundsException - beginGlyphIndex が 0 より小さい場合IndexOutOfBoundsException - beginGlyphIndex と numEntries の合計が、この GlyphVector 内のグリフの数より大きい場合public int getGlyphCharIndex(int glyphIndex)
glyphIndex - グリフのインデックスpublic int[] getGlyphCharIndices(int beginGlyphIndex,
int numEntries,
int[] codeReturn)
beginGlyphIndex - 最初のグリフのインデックスnumEntries - グリフのインデックスの数codeReturn - 文字インデックスを格納する配列public abstract Rectangle2D getLogicalBounds()
GlyphVector の論理境界を返します。このメソッドは、この GlyphVector を、視覚的に隣り合う GlyphVector オブジェクトと関連して配置するときに使います。GlyphVector の論理境界である Rectangle2D。public abstract Rectangle2D getVisualBounds()
GlyphVector の視覚境界を返します。視覚境界は、GlyphVector の輪郭のバウンディングボックスです。ラスター化やピクセル調整があるため、この GlyphVector の描画によって影響を受けるピクセルの一部がボックス内に納まらない場合もあります。GlyphVector のバウンディングボックスである Rectangle2D。public Rectangle getPixelBounds(FontRenderContext renderFRC, float x, float y)
FontRenderContext を使用してグラフィックス内に描画されるときの、この GlyphVector のピクセル境界を返します。renderFRC はこの GlyphVector の FontRenderContext と同じでなくてもよく、null でもかまいません。null の場合は、この GlyphVector の FontRenderContext が使われます。デフォルトの実装は、x, y からのオフセットおよび次の整数値に丸められた視覚境界を返し (つまり、視覚境界を囲む整数値の矩形を返す)、FRC を無視します。サブクラスはこのメソッドをオーバーライドする必要があります。renderFRC - Graphics の FontRenderContext。x - この GlyphVector を描画する X 座標。y - この GlyphVector を描画する Y 座標。Rectangle。public abstract Shape getOutline()
GlyphVector の視覚表現に対応する Shape を返します。GlyphVector の輪郭である Shape。public abstract Shape getOutline(float x, float y)
GlyphVector の視覚表現に対応する Shape を返します。x - この GlyphVector の X 座標。y - この GlyphVector の Y 座標。GlyphVector の輪郭である Shape。public abstract Shape getGlyphOutline(int glyphIndex)
GlyphVector 内の指定されたグリフの視覚表現に対応する Shape を返します。このメソッドが返す輪郭は、個々のグリフの原点を中心に配置されます。glyphIndex - 次に対するインデックス: GlyphVectorGlyphVector の指定された glyphIndex にあるグリフの輪郭である Shape。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合public Shape getGlyphOutline(int glyphIndex, float x, float y)
GlyphVector 内の指定されたグリフの視覚表現に対応する Shape を返します。このメソッドが返す輪郭は、個々のグリフの原点を中心に配置されます。glyphIndex - 次に対するインデックス: GlyphVectorx - この GlyphVector の位置の X 座標y - この GlyphVector の位置の Y 座標GlyphVector の指定された glyphIndex にあるグリフの輪郭である Shape。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合public abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector の原点に対する、指定されたグリフの相対位置を返します。glyphIndex がこの GlyphVector 内のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を返します。この位置は、GlyphVector 全体の有効幅を定義するのに使用されます。glyphIndex - 次に対するインデックス: GlyphVectorglyphIndex のグリフの位置である Point2D オブジェクト。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数より大きい値の場合setGlyphPosition(int, java.awt.geom.Point2D)public abstract void setGlyphPosition(int glyphIndex,
Point2D newPos)
GlyphVector 内の指定されたグリフの位置を設定します。glyphIndex がこの GlyphVector 内のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を設定します。この位置は、GlyphVector 全体の有効幅を定義するのに使用されます。glyphIndex - 次に対するインデックス: GlyphVectornewPos - 指定された glyphIndex のグリフを配置する Point2DIndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数より大きい値の場合getGlyphPosition(int)public abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector 内に指定されたグリフの変換を返します。この変換はグリフの位置を基準とします。特定の変換が適用されていない場合、null を返すことができます。null が返された場合は恒等変換になります。glyphIndex - 次に対するインデックス: GlyphVectorglyphIndex のグリフの変換である AffineTransform。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合setGlyphTransform(int, java.awt.geom.AffineTransform)public abstract void setGlyphTransform(int glyphIndex,
AffineTransform newTX)
GlyphVector 内の指定されたグリフの変換を設定します。この変換はグリフの位置を基準とします。null が引数の newTX は、指定されたグリフに適用される特定の変換がないことを示します。このメソッドを使って、グリフの回転、反転、平行移動、およびスケーリングができます。変換を追加すると、性能に大きく影響する場合があります。glyphIndex - 次に対するインデックス: GlyphVectornewTX - glyphIndex に対応するグリフの新しい変換IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合getGlyphTransform(int)public int getLayoutFlags()
FLAG_HAS_POSITION_ADJUSTMENTS, FLAG_HAS_TRANSFORMS, FLAG_RUN_RTL, FLAG_COMPLEX_GLYPHS, FLAG_MASKpublic abstract float[] getGlyphPositions(int beginGlyphIndex,
int numEntries,
float[] positionReturn)
beginGlyphIndex + position/2 で指定されるグリフの X 座標です。position 1 から始まる奇数の配列エントリは、beginGlyphIndex + (position-1)/2 で指定されるグリフの Y 座標です。beginGlyphIndex がこの GlyphVector 内のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を取得して、この位置を GlyphVector 全体の有効幅を定義するのに使用します。beginGlyphIndex - グリフ位置の取得を開始するインデックスnumEntries - 取り出すグリフの数positionReturn - グリフ位置を受け取り、戻り値として返される配列。beginGlyphIndex および numEntries で指定されたグリフ位置の配列。IllegalArgumentException - numEntries が 0 より小さい場合IndexOutOfBoundsException - beginGlyphIndex が 0 より小さい場合IndexOutOfBoundsException - beginGlyphIndex と numEntries の合計が、この GlyphVector 内のグリフの数に 1 を加えた数より大きい場合public abstract Shape getGlyphLogicalBounds(int glyphIndex)
GlyphVector 内の指定されたグリフの論理境界を返します。この論理境界には全部で 4 個のエッジがあり、そのうちの 2 つはグリフ変換されてもベースラインと平行を保ち、ほかの 2 つは隣り合うグリフがあればそれらと共有されます。このメソッドは、指定されたグリフの当たり判定、グリフのリーディングエッジまたはトレーリングエッジへのキャレットの配置、および指定されたグリフの周囲へのハイライト領域の描画を行うために使用されます。glyphIndex - 論理境界の取得元のグリフに対応する、この GlyphVector 内のインデックスglyphIndex のグリフの論理境界である Shape。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合getGlyphVisualBounds(int)public abstract Shape getGlyphVisualBounds(int glyphIndex)
GlyphVector 内の指定されたグリフの視覚境界を返します。このメソッドが返す境界は、個々のグリフの原点を中心に配置されます。glyphIndex - 視覚境界の取得元のグリフに対応する、この GlyphVector 内のインデックスglyphIndex のグリフの視覚境界である Shape。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合getGlyphLogicalBounds(int)public Rectangle getGlyphPixelBounds(int index, FontRenderContext renderFRC, float x, float y)
FontRenderContext を使って Graphics 内にこの GlyphVector が描画されるときのインデックスの位置にあるグリフのピクセル境界を返します。renderFRC はこの GlyphVector の FontRenderContext と同じでなくてもよく、null でもかまいません。null の場合は、この GlyphVector の FontRenderContext が使われます。デフォルトの実装は、x, y からのオフセットおよび次の整数値に丸められたグリフの視覚境界を返し、FRC を無視します。サブクラスはこのメソッドをオーバーライドする必要があります。index - グリフのインデックス。renderFRC - Graphics の FontRenderContext。x - この GlyphVector を描画する X 位置。y - この GlyphVector を描画する Y 位置。Rectangle。public abstract GlyphMetrics getGlyphMetrics(int glyphIndex)
GlyphVector 内の指定されたインデックスのグリフのメトリックスを返します。glyphIndex - メトリックスの取得元のグリフに対応する、この GlyphVector 内のインデックスGlyphVector 内の指定された glyphIndex のグリフのメトリックスを表す GlyphMetrics オブジェクト。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合public abstract GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
GlyphVector 内の指定されたインデックスのグリフの位置揃えプロパティーを返します。glyphIndex - 位置揃えプロパティーの取得元のグリフに対応する、この GlyphVector 内のインデックスGlyphVector 内の指定された glyphIndex のグリフの位置揃えプロパティーを表す GlyphJustificationInfo オブジェクト。IndexOutOfBoundsException - glyphIndex が 0 未満、またはこの GlyphVector 内のグリフの数と等しいか、それより大きい値の場合public abstract boolean equals(GlyphVector set)
GlyphVector がこの GlyphVector と厳密に等しいかどうかを判定します。set - テストされる指定された GlyphVectorGlyphVector がこの GlyphVector の場合は true、それ以外の場合は false。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.