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 - 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のグリフを配置するPoint2DIndexOutOfBoundsException - 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_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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。