|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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
の 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 を使って Graphics 内にこの GlyphVector |
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 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 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
内の各グリフにデフォルトの位置を割り当てます。これにより、この 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
を使って Graphics
内にこの GlyphVector が描画されるときのインデックスの位置にあるグリフのピクセル境界を返します。renderFRC はこの GlyphVector
の FontRenderContext
と同じでなくてもよく、null でもかまいません。null の場合、この GlyphVector
の FontRenderContext
が使用されます。
- パラメータ:
renderFRC
- Graphics
の FontRenderContext
x
- この GlyphVector
を描画する X 座標y
- この GlyphVector
を描画する Y 座標
- 戻り値:
- 影響を受けるピクセルの境界を示す
Rectangle
- 導入されたバージョン:
- 1.4
public abstract Shape getOutline()
GlyphVector
の視覚表現に対応する Shape
を返します。
GlyphVector
の輪郭である Shape
public abstract Shape getOutline(float x, float y)
GlyphVector
の視覚表現に対応する Shape
を返します。
GlyphVector
の輪郭である Shape
public abstract Shape getGlyphOutline(int glyphIndex)
GlyphVector
内の指定されたグリフの視覚表現に対応する Shape
を返します。このメソッドが返す輪郭は、個々のグリフの原点を中心に配置されます。
glyphIndex
- この GlyphVector
内のインデックス
GlyphVector
の指定された glyphIndex
のグリフの輪郭である Shape
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合public Shape getGlyphOutline(int glyphIndex, float x, float y)
GlyphVector
内の指定されたグリフの視覚表現に対応する Shape
を、x, y からの位置のオフセットとして返します。このメソッドが返す輪郭は、個々のグリフの原点を中心に配置されます。
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
内のグリフの数より大きい値の場合setGlyphPosition(int, java.awt.geom.Point2D)
public abstract void setGlyphPosition(int glyphIndex, Point2D newPos)
GlyphVector
内の指定されたグリフの位置を設定します。glyphIndex
が GlyphVector
のグリフの数と等しい場合、このメソッドは最後のグリフのあとの位置を設定します。この位置は、GlyphVector
全体の有効幅を定義するのに使用されます。
glyphIndex
- この GlyphVector
内のインデックスnewPos
- 指定された glyphIndex
のグリフを配置する Point2D
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数より大きい値の場合getGlyphPosition(int)
public abstract AffineTransform getGlyphTransform(int glyphIndex)
GlyphVector
内に指定されたグリフの変換を返します。変換はグリフの位置を基準とします。特定の変換が適用されていない場合、null
を返すことができます。null が返された場合は恒等変換になります。
glyphIndex
- この GlyphVector
内のインデックス
glyphIndex
のグリフの変換である AffineTransform
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合setGlyphTransform(int, java.awt.geom.AffineTransform)
public abstract void setGlyphTransform(int glyphIndex, AffineTransform newTX)
GlyphVector
内の指定されたグリフの変換を設定します。この変換はグリフの位置を基準とします。null
が引数の newTX
は、指定されたグリフに適用される特定の変換がないことを示します。このメソッドを使って、グリフの回転、反転、平行移動、およびスケーリングができます。変換を追加すると、性能に大きく影響する場合があります。
glyphIndex
- この GlyphVector
内のインデックスnewTX
- glyphIndex
に対応するグリフの新しい変換
IndexOutOfBoundsException
- glyphIndex
が 0 未満、またはこの GlyphVector
内のグリフの数と等しいか、それより大きい値の場合getGlyphTransform(int)
public int getLayoutFlags()
FLAG_HAS_POSITION_ADJUSTMENTS
,
FLAG_HAS_TRANSFORMS
,
FLAG_RUN_RTL
,
#FLAG_COMPLEX
,
FLAG_MASK
public abstract float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
beginGlyphIndex + position/2
で求められます。1 の位置から始まる奇数の配列エントリはグリフの Y 座標であり、beginGlyphIndex + (position-1)/2
で求められます。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
が使用されます。
- パラメータ:
index
- グリフのインデックスrenderFRC
- Graphics
の FontRenderContext
- 戻り値:
- 影響を受けるピクセルの境界を示す
Rectangle
- 導入されたバージョン:
- 1.4
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.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.