|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.font.GlyphVector
public abstract class 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 を使って、グラフィックス内にこの 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
を使って、グラフィックス内にこの 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
- この GlyphVector
内のインデックス
GlyphVector
の
指定された glyphIndex
にあるグリフの輪郭である Shape
IndexOutOfBoundsException
- glyphIndex
が 0 未満、
またはこの GlyphVector
内のグリフの数と等しいか、
それより大きい値の場合public Shape getGlyphOutline(int glyphIndex, float x, float y)
GlyphVector
内の指定されたグリフの視覚表現に対応する Shape
を、x, y からの位置のオフセットとして返します。このメソッドが返す輪郭は、個々のグリフの原点を中心に配置されます。
glyphIndex
- この GlyphVector
内のインデックスx
- この GlyphVector
の位置の X 座標y
- この GlyphVector
の位置の Y 座標
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_GLYPHS
,
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
が使用されます。デフォルトの実装は、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
- 判定される指定された GlyphVector
GlyphVector
が この GlyphVector
と等しい場合は true
、
そうでない場合は false
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。