Java プラットフォーム 1.2

java.awt.font
クラス GlyphVector

java.lang.Object
  |
  +--java.awt.font.GlyphVector

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 内にある個々のグリフの視覚および論理境界を両方とも返すメソッドが提供されます。

GlyphVectorShape を返すメソッド、および 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
 

コンストラクタの詳細

GlyphVector

public GlyphVector()
メソッドの詳細

getFont

public abstract Font getFont()
GlyphVector に関連付けられている Font を返します。
戻り値:
GlyphVector の作成に使われる Font
関連項目:
Font

getFontRenderContext

public abstract FontRenderContext getFontRenderContext()
GlyphVector に関連付けられている FontRenderContext を返します。
戻り値:
GlyphVector の作成に使われている FontRenderContext
関連項目:
FontRenderContext, Font

performDefaultLayout

public abstract void performDefaultLayout()
GlyphVector 内の各グリフにデフォルトの位置を割り当てます。形状決定、並べ替え、あるいはコンテキスト依存の代入は行いません。

getNumGlyphs

public abstract int getNumGlyphs()
この GlyphVector 内のグリフの数を返します。ほかの情報取得オペレーションの結果によって指定される配列を作成するには、この情報を使います。
戻り値:
この GlyphVector 内のグリフの数

getGlyphCode

public abstract int getGlyphCode(int glyphIndex)
指定されたグリフのグリフコードを返します。この戻り値は Font に対してだけ意味があり、既存の合字、およびその他のコンテキストに関わる情報を Font オブジェクトに問い合わせるために使うことができます。
パラメータ:
glyphIndex - グリフコードを取得するグリフに対応する、この GlyphVector 内のインデックス
戻り値:
指定された glyphIndex に対応するグリフのグリフコード

getGlyphCodes

public abstract int[] getGlyphCodes(int beginGlyphIndex,
                                    int numEntries,
                                    int[] codeReturn)
指定された複数のグリフのグリフコードの配列を返します。この戻り値の内容は Font に対してだけ意味があり、既存の合字、およびその他のコンテキストに関わる情報を Font に問い合わせるために使うことができます。このメソッドを使うと、グリフコードの処理が容易かつ効率的になります。配列が渡されなかった場合は、新しく作成されます。
パラメータ:
beginGlyphIndex - 対応するグリフのグリフコードの取得を開始する、この GlyphVector 内のインデックス
numEntries - グリフコードの取得を終了する beginGlyphIndex からのオフセット
codeReturn - グリフコードを受け取り、戻り値として返される配列
戻り値:
指定されたグリフのグリフコードの配列

getLogicalBounds

public abstract Rectangle2D getLogicalBounds()
GlyphVector の論理境界を返します。このメソッドは、この GlyphVector を、視覚的に隣り合う GlyphVector オブジェクトと関連して配置するときに使います。
戻り値:
この GlyphVector の論理境界である Rectangle2D

getVisualBounds

public abstract Rectangle2D getVisualBounds()
この GlyphVector の視覚境界を返します。視覚境界は、この GlyphVector の描画された表現のバックグラウンドでないすべてのピクセルを囲む最小の矩形です。
戻り値:
この GlyphVector の最小の境界である Rectangle2D

getOutline

public abstract Shape getOutline()
その内部がこの GlyphVector の視覚表現に対応する Shape を返します。
戻り値:
この GlyphVector の輪郭である Shape

getOutline

public abstract Shape getOutline(float x,
                                 float y)
その内部がこの GlyphVector の視覚表現に対応する Shape を返します。x, y の位置をオフセットとします。
パラメータ:
x, y - 輪郭 Shape の位置の座標
戻り値:
この GlyphVector の輪郭である Shape。指定された座標へのオフセット

getGlyphOutline

public abstract Shape getGlyphOutline(int glyphIndex)
その内部がこの GlyphVector 内の指定されたグリフの視覚表現に対応する Shape を返します。
パラメータ:
glyphIndex - この GlyphVector 内のインデックス
戻り値:
この GlyphVector の指定された glyphIndex のグリフの輪郭である Shape

getGlyphPosition

public abstract Point2D getGlyphPosition(int glyphIndex)
GlyphVector 内の指定されたグリフの位置を返します。この位置は、グリフのベースラインにあるリーディングエッジに対応します。
パラメータ:
glyphIndex - この GlyphVector 内のインデックス
戻り値:
指定された glyphIndex のグリフの位置である Point2D

setGlyphPosition

public abstract void setGlyphPosition(int glyphIndex,
                                      Point2D newPos)
この GlyphVector 内の指定されたグリフの位置を設定します。この位置は、グリフのベースラインにあるリーディングエッジに対応します。
パラメータ:
glyphIndex - この GlyphVector 内のインデックス
newPos - 指定された glyphIndex のグリフを配置する Point2D

getGlyphTransform

public abstract AffineTransform getGlyphTransform(int glyphIndex)
この GlyphVector 内の指定されたグリフの変換を取得します。
パラメータ:
glyphIndex - この GlyphVector 内のインデックス
戻り値:
指定された glyphIndex のグリフの変換である AffineTransform

setGlyphTransform

public abstract void setGlyphTransform(int glyphIndex,
                                       AffineTransform newTX)
この GlyphVector 内の指定されたグリフの変換を設定します。このメソッドを使って、グリフの回転、鏡映、平行移動、およびスケーリングができます。変換を追加すると、性能に大きく影響する場合があります。
パラメータ:
glyphIndex - この GlyphVector 内のインデックス
newTx - 指定された glyphIndex のグリフ変換が設定される変換

getGlyphPositions

public abstract float[] getGlyphPositions(int beginGlyphIndex,
                                          int numEntries,
                                          float[] positionReturn)
指定された複数のグリフのグリフ位置を配列として返します。各グリフの位置は、グリフのベースラインにあるリーディングエッジに対応します。このメソッドを使うと、グリフ位置の処理が容易かつ効率的になります。配列が渡されなかった場合は、新しく作成されます。ゼロの位置から始まる偶数の配列エントリはグリフの X 座標であり、beginGlyphIndex + position/2 で求められます。1 の位置から始まる奇数の配列エントリはグリフの Y 座標であり、beginGlyphIndex + (position-1)/2 で求められます。
パラメータ:
beginGlyphIndex - グリフ位置の取得を開始するインデックス
numEntries - グリフ位置の取得を終了する beginGlyphIndex からのオフセット
positionReturn - グリフ位置を受け取り、戻り値として返される配列
戻り値:
beginGlyphIndex および numEntries で指定されたグリフ位置の配列

getGlyphLogicalBounds

public abstract Shape getGlyphLogicalBounds(int glyphIndex)
この GlyphVector 内の指定されたグリフの論理境界を返します。この論理境界には全部で 4 個のエッジがあり、そのうちの 2 つはグリフ変換されてもベースラインと平行を保ち、ほかの 2 つは隣り合うグリフがあればそれらと共有されます。このメソッドは、指定されたグリフのヒット検査、グリフのリーディングエッジまたはトレーリングエッジへのキャレットの配置、および指定されたグリフの周囲へのハイライト領域の描画を行うために使用されます。
パラメータ:
glyphIndex - 論理境界の取得元のグリフに対応する、この GlyphVector 内のインデックス
戻り値:
指定された glyphIndex のグリフの論理境界である Shape
関連項目:
getGlyphVisualBounds(int)

getGlyphVisualBounds

public abstract Shape getGlyphVisualBounds(int glyphIndex)
GlyphVector 内の指定されたグリフの視覚境界を返します。この視覚境界には全部で 4 個のエッジがあり、グリフの描画された表現のバックグラウンドでないピクセルを囲む、最小の多角形を表します。グリフのエッジは、論理境界のエッジと平行です。指定されたグリフのヒット検査を行うために使用されます。
パラメータ:
glyphIndex - 視覚境界の取得元のグリフに対応する、この GlyphVector 内のインデックス
戻り値:
指定された glyphIndex のグリフの視覚境界である Shape
関連項目:
getGlyphLogicalBounds(int)

getGlyphMetrics

public abstract GlyphMetrics getGlyphMetrics(int glyphIndex)
この GlyphVector 内の指定されたインデックスのグリフのメトリックスを返します。
パラメータ:
glyphIndex - メトリックスの取得元のグリフに対応する、この GlyphVector 内のインデックス
戻り値:
この GlyphVector 内の指定された glyphIndex のグリフのメトリックスを表す GlyphMetrics オブジェクト

getGlyphJustificationInfo

public abstract GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
この GlyphVector 内の指定されたインデックスのグリフの位置揃えプロパティを返します。
パラメータ:
glyphIndex - 位置揃え情報の取得元のグリフに対応する、この GlyphVector 内のインデックス
戻り値:
この GlyphVector 内の指定された glyphIndex のグリフの位置揃えプロパティを表す GlyphJustificationInfo オブジェクト

equals

public abstract boolean equals(GlyphVector set)
指定された GlyphVector がこの GlyphVector と厳密に等しいかどうかを判定します。
パラメータ:
set - 判定される GlyphVector
戻り値:
指定された GlyphVector がこの GlyphVector と等しい場合は true、そうでない場合は false

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.