|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.awt.FontMetrics
FontMetrics クラスは、特定の画面での特定のフォントの描画に関する情報をカプセル化するフォントメトリックスオブジェクトを定義します。このクラスでの各メソッドの実装はあまり効率的ではないため、通常は、より効率的なツールキット特有の実装でオーバーライドされていることに注意してください。
サブクラスについての注意: これらのメソッドの多くは相互に再帰的な閉じたループを形成するため、サブクラスを使用するとき無限の再帰を避けるためにこのようなループの各々に最低 1 つのメソッドを実装するように留意する必要があります。とりわけ、次のものは正確さを保証し無限の再帰を避けるために、オーバーライドが推奨されるメソッドの最小限のセットです (ほかのサブセットも同様に実行可能)。
アプリケーションが AWT に対して座標 (x, y) に文字を配置するように要求すると、文字はその参照ポイント (添付イメージでドットとして表示されている) がその位置に置かれるように配置されます。参照ポイントは、文字の「ベースライン」と呼ばれる水平ラインを指定します。通常の出力では、文字のベースラインの位置揃えをしてください。
さらに、フォントのすべての文字は「アセント」、「ディセント」、および「有効幅」を持ちます。アセントは、ベースラインから文字の上端までの量のことです。ディセントは、ベースラインから文字の下端までの量のことです。有効幅は、AWT による次の文字の配置位置を示します。
現在の文字が、座標 (x, y) の参照ポイントに配置され、その文字の有効幅が w の場合、新しい文字は参照ポイントの位置を (x + w, y) として配置されます。有効幅は、文字のバウンディングボックスの幅と同じになる場合がありますが、必ずしも同じである必要はありません。特に、斜体およびイタリックのフォントには、その右上隅が有効幅を少しはみ出してしまう文字があります。
文字の配列または文字列もアセント、ディセント、および有効幅を持つことがあります。配列のアセントは、配列内の文字の最大アセントです。ディセントは、配列内の文字の最大ディセントです。有効幅は、配列内の各文字の有効幅の合計です。
Font, 直列化された形式| フィールドの概要 | |
protected Font |
font
フォントメトリックスの作成側となる実際の Font です。 |
| コンストラクタの概要 | |
protected |
FontMetrics(Font font)
指定された Font の高さと幅、およびその Font の特定の文字グリフを調べるための新しい FontMetrics オブジェクトを作成します。 |
| メソッドの概要 | |
int |
bytesWidth(byte[] data,
int off,
int len)
指定された byte 配列をこの Font で表示するための有効幅の合計を返します。 |
int |
charsWidth(char[] data,
int off,
int len)
指定された文字配列をこの Font で表示するための有効幅の合計を返します。 |
int |
charWidth(char ch)
指定された文字のこの Font での有効幅を返します。 |
int |
charWidth(int ch)
指定された文字のこの Font での有効幅を返します。 |
int |
getAscent()
この FontMetrics オブジェクトが記述する Font の「フォントアセント」を判定します。 |
int |
getDescent()
この FontMetrics オブジェクトが記述する Font の「フォントディセント」を判定します。 |
Font |
getFont()
この FontMetrics オブジェクトが記述する Font を取得します。 |
int |
getHeight()
このフォントのテキスト 1 行の標準の高さを取得します。 |
int |
getLeading()
この FontMetrics オブジェクトが記述する Font の「標準レディング」を判定します。 |
LineMetrics |
getLineMetrics(char[] chars,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された文字配列の LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された CharacterIterator の LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(String str,
Graphics context)
指定された Graphics コンテキストで、指定された String の LineMetrics オブジェクトを返します。 |
LineMetrics |
getLineMetrics(String str,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された String の LineMetrics オブジェクトを返します。 |
int |
getMaxAdvance()
この Font の任意の文字の最大有効幅を取得します。 |
int |
getMaxAscent()
この FontMetrics オブジェクトが記述する Font の最大アセントを判定します。 |
Rectangle2D |
getMaxCharBounds(Graphics context)
指定された Graphics コンテキストで、最大の境界を持つ文字の境界を返します。 |
int |
getMaxDecent()
推奨されません。 JDK バージョン 1.1.1 以降は、 getMaxDescent() に置き換えられました。 |
int |
getMaxDescent()
この FontMetrics オブジェクトが記述する Font の最大ディセントを判定します。 |
Rectangle2D |
getStringBounds(char[] chars,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された文字配列の境界を返します。 |
Rectangle2D |
getStringBounds(CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された CharacterIterator 内のインデックス付き文字列の境界を返します。 |
Rectangle2D |
getStringBounds(String str,
Graphics context)
指定された Graphics コンテキストで、指定された String の境界を返します。 |
Rectangle2D |
getStringBounds(String str,
int beginIndex,
int limit,
Graphics context)
指定された Graphics コンテキストで、指定された String の境界を返します。 |
int[] |
getWidths()
Font の最初の 256 文字の有効幅を取得します。 |
boolean |
hasUniformLineMetrics()
Font が均一のラインメトリックスを持つかどうかを判定します。 |
int |
stringWidth(String str)
指定された String を、この Font で表示するための有効幅の合計を返します。 |
String |
toString()
この FontMetrics オブジェクトの値の String 表現を返します。 |
| クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
| フィールドの詳細 |
protected Font font
Font です。null を指定することはできません。getFont()| コンストラクタの詳細 |
protected FontMetrics(Font font)
Font の高さと幅、およびその Font の特定の文字グリフを調べるための新しい FontMetrics オブジェクトを作成します。font - FontFont| メソッドの詳細 |
public Font getFont()
FontMetrics オブジェクトが記述する Font を取得します。FontMetrics オブジェクトが記述する Fontpublic int getLeading()
FontMetrics オブジェクトが記述する Font の「標準レディング」を判定します。標準レディング (行間の間隔) は、テキストのある行のディセントとその次の行のアセントの間で確保される論理的な量です。高さのメトリックスは、この余分な空間を含めて計算されます。Font の標準レディングgetHeight(),
getAscent(),
getDescent()public int getAscent()
FontMetrics オブジェクトが記述する Font の「フォントアセント」を判定します。フォントアセントは、フォントのベースラインからほとんどの英数字の上端までの距離です。Font の文字によっては、フォントのアセントラインからはみ出す場合があります。Font のフォントアセントgetMaxAscent()public int getDescent()
FontMetrics オブジェクトが記述する Font の「フォントディセント」を判定します。フォントディセントは、フォントのベースラインからディセンダを持つほとんどの英数字の下端までの距離です。Font の文字によっては、フォントのディセントラインからはみ出す場合があります。Font のフォントディセントgetMaxDescent()public int getHeight()
getLeading(),
getAscent(),
getDescent()public int getMaxAscent()
FontMetrics オブジェクトが記述する Font の最大アセントを判定します。文字は、この高さからはみ出すことはありません。Font の文字の最大アセントgetAscent()public int getMaxDescent()
FontMetrics オブジェクトが記述する Font の最大ディセントを判定します。文字は、この高さからはみ出すことはありません。Font の文字の最大ディセントgetDescent()public int getMaxDecent()
getMaxDescent() に置き換えられました。getMaxDescent()public int getMaxAdvance()
Font の任意の文字の最大有効幅を取得します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する量のことです。Font の任意の文字の最大有効幅。最大有効幅がわからない場合は -1public int charWidth(int ch)
Font での有効幅を返します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。ch - 計測される文字FontMetrics オブジェクトが記述する Font の指定された char の有効幅charsWidth(char[], int, int),
stringWidth(String)public int charWidth(char ch)
Font での有効幅を返します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。ch - 計測される文字FontMetrics オブジェクトが記述する Font の指定された char の有効幅charsWidth(char[], int, int),
stringWidth(String)public int stringWidth(String str)
String を、この Font で表示するための有効幅の合計を返します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。str - 計測される StringFontMetrics が記述する Font の指定された String の有効幅bytesWidth(byte[], int, int),
charsWidth(char[], int, int)
public int charsWidth(char[] data,
int off,
int len)
Font で表示するための有効幅の合計を返します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。data - 計測される文字配列off - 配列中の文字の開始オフセットlen - 配列から計測される文字数FontMetrics オブジェクトが記述するフォントの指定された char 配列の部分配列の有効幅charWidth(int),
charWidth(char),
bytesWidth(byte[], int, int),
stringWidth(String)
public int bytesWidth(byte[] data,
int off,
int len)
Font で表示するための有効幅の合計を返します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。data - 計測されるバイト配列off - 配列中のバイトの開始オフセットlen - 配列から計測されるバイト数FontMetrics オブジェクトが記述する Font の指定された byte 配列の部分配列の有効幅charsWidth(char[], int, int),
stringWidth(String)public int[] getWidths()
Font の最初の 256 文字の有効幅を取得します。有効幅とは、テキスト行で、ある文字から次の文字へ現在の位置が移動する長さのことです。FontMetrics オブジェクトが記述する Font の文字の有効幅が格納されている配列public boolean hasUniformLineMetrics()
Font が均一のラインメトリックスを持つかどうかを判定します。複合フォントは、さまざまな文字セットを網羅するために複数のフォントで構成されることがあります。その場合、FontLineMetrics オブジェクトは均一ではありません。フォントごとに、別々のアセント、ディセント、メトリックスなどを持つことがあります。この情報は、行の寸法決定および行分割に必要になる場合があります。true、そうでない場合は falseFont.hasUniformLineMetrics()
public LineMetrics getLineMetrics(String str,
Graphics context)
Graphics コンテキストで、指定された String の LineMetrics オブジェクトを返します。str - Stringcontext - Graphics コンテキストString および Graphics コンテキストで作成された LineMetrics オブジェクトFont.getLineMetrics(String, FontRenderContext)
public LineMetrics getLineMetrics(String str,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された String の LineMetrics オブジェクトを返します。str - StringbeginIndex - str の最初のオフセットlimit - str の長さcontext - Graphics コンテキストString および Graphics コンテキストで作成された LineMetrics オブジェクトFont.getLineMetrics(String, int, int, FontRenderContext)
public LineMetrics getLineMetrics(char[] chars,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された文字配列の LineMetrics オブジェクトを返します。chars - 文字配列beginIndex - chars の最初のオフセットlimit - chars の長さcontext - Graphics コンテキストGraphics コンテキストで作成された LineMetrics オブジェクトFont.getLineMetrics(char[], int, int, FontRenderContext)
public LineMetrics getLineMetrics(CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された CharacterIterator の LineMetrics オブジェクトを返します。ci - CharacterIteratorbeginIndex - ci の最初のオフセットlimit - ci の終了インデックスcontext - Graphics コンテキストLineMetrics オブジェクトFont.getLineMetrics(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getStringBounds(String str,
Graphics context)
Graphics コンテキストで、指定された String の境界を返します。この境界は、String を配置するために使用されます。str - Stringcontext - Graphics コンテキストGraphics コンテキストを持ち、指定された String のバウンディングボックスを表す Rectangle2DFont.getStringBounds(String, FontRenderContext)
public Rectangle2D getStringBounds(String str,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された String の境界を返します。この境界は、String を配置するために使用されます。str - StringbeginIndex - str の最初のオフセットlimit - str の長さcontext - Graphics コンテキストGraphics コンテキストを持ち、指定された String のバウンディングボックスを表す Rectangle2DFont.getStringBounds(String, int, int, FontRenderContext)
public Rectangle2D getStringBounds(char[] chars,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された文字配列の境界を返します。この境界は、指定された文字配列、beginIndex、および limit で作成された String を配置するために使用されます。chars - 文字配列beginIndex - 文字配列の最初のオフセットlimit - 文字配列の長さcontext - Graphics コンテキストGraphics コンテキストを持ち、指定された文字配列のバウンディングボックスを表す Rectangle2DFont.getStringBounds(char[], int, int, FontRenderContext)
public Rectangle2D getStringBounds(CharacterIterator ci,
int beginIndex,
int limit,
Graphics context)
Graphics コンテキストで、指定された CharacterIterator 内のインデックス付き文字列の境界を返します。ci - CharacterIteratorbeginIndex - ci の最初のオフセットlimit - ci の終了インデックスcontext - Graphics コンテキストGraphics コンテキストを持ち、指定された CharacterIterator 内のインデックス付き文字列のバウンディングボックスを表す Rectangle2DFont.getStringBounds(CharacterIterator, int, int, FontRenderContext)public Rectangle2D getMaxCharBounds(Graphics context)
Graphics コンテキストで、最大の境界を持つ文字の境界を返します。context - Graphics コンテキストRectangle2DFont.getMaxCharBounds(FontRenderContext)public String toString()
FontMetrics オブジェクトの値の String 表現を返します。FontMetrics オブジェクトの String 表現
|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||