|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.font.GlyphVector
GlyphVector
オブジェクトは、最終的に GlyphVector
を表示するデバイスと対応するように変換された座標空間で各グリフを配置するための幾何学的な情報を含むグリフのコレクションです。
GlyphVector
は、自身が格納している一連のグリフの解釈を行いません。一連のグリフの中の隣り合うグリフの関係は、視覚座標空間の中でグリフの配置を決めるためにだけ使われます。
GlyphVector
のインスタンスは、Font
によって生成されます。
テキストの中間的な表現をキャッシュに格納できるテキスト処理アプリケーションでは、描画中に使用する GlyphVector
を作成してキャッシュに格納するのが、ユーザに文字の視覚表現を提供するためのもっとも速い方法です。
GlyphVector
は 1 つの Font
にだけ関連付けられていて、この Font
に関連して使用できるデータだけを提供します。また、GlyphVector
から取得されたメトリックスは、通常幾何学的にスケーリングはできません。これは、ピクセル化および間隔調整が、Font
内部のグリッド合わせアルゴリズムに依存するからです。GlyphVector
およびそのコンポーネントであるグリフを正確に測定できるようにするには、GlyphVector
を作成するときに、スケーリング変換、平滑化モード、および部分メトリックスモードを指定する必要があります。これらの特性は、転送先デバイスから導かれることがあります。
GlyphVector
の各グリフについて、以下の情報を取得できます。
GlyphVector
のコンテキストでのグリフのメトリックス。グリフのメトリックスは、別の変換、アプリケーションが指定した描画ヒント、および GlyphVector
内にあるグリフの特定のインスタンスなどの要素によって異なる場合がある
。GlyphVector
の生成に使用されたデータを変更しても、GlyphVector
の状態は変わりません。
ただし、グリフの挿入および削除といった、GlyphVector
での編集オペレーションの結果によって新しい GlyphVector
オブジェクトを作成するためのメソッドが提供されています。これらのメソッドは、既存のグリフから合字を作成したり、合字をその部分に分解したりして視覚的に表現するアプリケーションに最適です。
また、GlyphVector
内のグリフに新しい位置を指定した結果によって新しい GlyphVector
オブジェクトを作成するメソッドも提供されます。これらのメソッドは、グリフの表現のために位置揃えのオペレーションを実行するアプリケーションに最適です。
GlyphVector
全体、または GlyphVector
内にある個々のグリフの視覚および論理境界を両方とも返すメソッドが提供されます。
GlyphVector
の Shape
を返すメソッド、および GlyphVector
内にある個々のグリフの Shape
を返すメソッドが提供されます。
Font
,
GlyphMetrics
,
TextLayout
コンストラクタの概要 | |
GlyphVector()
|
メソッドの概要 | |
abstract boolean |
equals(GlyphVector set)
指定された GlyphVector がこの GlyphVector と厳密に等しいかどうかを判定します。 |
abstract Font |
getFont()
GlyphVector に関連した Font を返します。 |
abstract FontRenderContext |
getFontRenderContext()
GlyphVector に関連した FontRenderContext を返します。 |
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 を返します。 |
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 内の指定されたグリフの視覚境界を返します。 |
abstract Rectangle2D |
getLogicalBounds()
GlyphVector の論理境界を返します。 |
abstract int |
getNumGlyphs()
この GlyphVector 内のグリフの数を返します。 |
abstract Shape |
getOutline()
その内部がこの GlyphVector の視覚表現に対応する Shape を返します。 |
abstract Shape |
getOutline(float x,
float y)
その内部がこの GlyphVector の視覚表現に対応する Shape を返します。 |
abstract Rectangle2D |
getVisualBounds()
この GlyphVector の視覚境界を返します。 |
abstract void |
performDefaultLayout()
GlyphVector 内の各グリフにデフォルトの位置を割り当てます。 |
abstract void |
setGlyphPosition(int glyphIndex,
Point2D newPos)
この GlyphVector 内に指定されたグリフの位置を設定します。 |
abstract void |
setGlyphTransform(int glyphIndex,
AffineTransform newTX)
この GlyphVector 内の指定されたグリフの変換を設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public GlyphVector()
メソッドの詳細 |
public abstract Font getFont()
GlyphVector
に関連した Font
を返します。GlyphVector
の生成に使われる Font
Font
public abstract FontRenderContext getFontRenderContext()
GlyphVector
に関連した FontRenderContext
を返します。GlyphVector
の生成に使われる FontRenderContext
FontRenderContext
,
Font
public abstract void performDefaultLayout()
GlyphVector
内の各グリフにデフォルトの位置を割り当てます。形状決定、並べ替え、あるいはコンテキスト依存の代入は行いません。public abstract int getNumGlyphs()
GlyphVector
内のグリフの数を返します。ほかの情報取得オペレーションの結果によって指定される配列を作成するには、この情報を使います。GlyphVector
内のグリフの数public abstract int getGlyphCode(int glyphIndex)
Font
に対してだけ意味があり、既存の合字、およびその他のコンテキストに関わる情報を Font
オブジェクトに問い合わせるために使うことができます。glyphIndex
- グリフコードを取得するグリフに対応する、この GlyphVector
内のインデックスglyphIndex
に対応するグリフの glyphcodeIndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合public abstract int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
Font
に対してだけ意味があり、既存の合字、およびその他のコンテキストに関わる情報を Font
に問い合わせるために使うことができます。このメソッドを使うと、グリフコードの処理が容易かつ効率的になります。配列が渡されなかった場合は、新しく作成されます。beginGlyphIndex
- 対応するグリフのグリフコードの取得を開始する、この GlyphVector
内のインデックスnumEntries
- 取り出すグリフの数codeReturn
- グリフコードを受け取り、戻り値として返される配列IllegalArgumentException
- numEntries
が 0 未満の場合IndexOutOfBoundsException
- beginGlyphIndex
が 0 未満の場合IndexOutOfBoundsException
- beginGlyphIndex
と numEntries
の合計が GlyphVector
のグリフの数より多い場合public abstract Rectangle2D getLogicalBounds()
GlyphVector
の論理境界を返します。このメソッドは、この GlyphVector
を、視覚的に隣り合う GlyphVector
オブジェクトと関連して配置するときに使います。GlyphVector
の論理境界である Rectangle2D
public abstract Rectangle2D getVisualBounds()
GlyphVector
の視覚境界を返します。視覚境界は、この GlyphVector
の描画された表現のバックグラウンドでないすべてのピクセルを囲む最小の矩形です。GlyphVector
の最小の境界である Rectangle2D
public abstract Shape getOutline()
GlyphVector
の視覚表現に対応する Shape
を返します。GlyphVector
の輪郭である Shape
public abstract Shape getOutline(float x, float y)
GlyphVector
の視覚表現に対応する Shape
を返します。x, y の位置をオフセットとします。x, y
- 輪郭 Shape
の位置の座標GlyphVector
の輪郭である Shape
。指定された座標へのオフセットpublic abstract Shape getGlyphOutline(int glyphIndex)
GlyphVector
内の指定されたグリフの視覚表現に対応する Shape
を返します。glyphIndex
- この GlyphVector
内のインデックスGlyphVector
の指定された glyphIndex
のグリフの輪郭である Shape
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合public abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector
内に指定されたグリフの位置を返します。この位置はグリフのベースラインにあるリーディングエッジに対応します。glyphIndex
が GlyphVector
内のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を取得し、この位置を GlyphVector
全体の有効幅を定義するのに使用します。glyphIndex
- この GlyphVector
内のインデックスglyphIndex
のグリフの位置である Point2D
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数より大きい値の場合public abstract void setGlyphPosition(int glyphIndex, Point2D newPos)
GlyphVector
内に指定されたグリフの位置を設定します。この位置はグリフのベースラインにあるリーディングエッジに対応します。glyphIndex
が GlyphVector
内のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を設定し、この位置を GlyphVector
全体の有効幅を定義するのに使用します。glyphIndex
- この GlyphVector
内のインデックスnewPos
- 指定された glyphIndex
のグリフを配置する Point2D
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数より大きい値の場合public abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector
内に指定されたグリフの変換を返します。変換はグリフの位置を基準とします。特定の変換が適用されていない場合、null
を返すことができます。このような変換は恒等変換になります。glyphIndex
- この GlyphVector
内のインデックスglyphIndex
のグリフの変換である AffineTransform
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合public abstract void setGlyphTransform(int glyphIndex, AffineTransform newTX)
GlyphVector
内の指定されたグリフの変換を設定します。この変換はグリフの位置を基準とします。null
が引数の newTX
は、指定されたグリフに適用される特定の変換がないことを示します。このメソッドを使って、グリフの回転、反転、平行移動、およびスケーリングができます。変換を追加すると、性能に大きく影響する場合があります。glyphIndex
- この GlyphVector
内のインデックスnewTx
- 指定された glyphIndex
のグリフ変換が設定される変換IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合public abstract float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
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
内の指定されたグリフの視覚境界を返します。この視覚境界には全部で 4 個のエッジがあり、グリフの描画された表現のバックグラウンドでないピクセルを囲む、最小の多角形を表します。グリフのエッジは、論理境界のエッジと平行です。指定されたグリフのヒット検査を行うために使用されます。glyphIndex
- 可視境界の取得元のグリフに対応する、この GlyphVector
内のインデックスglyphIndex
のグリフの可視境界である Shape
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合getGlyphLogicalBounds(int)
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
- 判定される指定された GlyphVector
GlyphVector
がこの GlyphVector
と等しい場合は true
、そうでない場合は false
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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.