|
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
- Font
Font
メソッドの詳細 |
public Font getFont()
FontMetrics
オブジェクトが記述する Font
を取得します。FontMetrics
オブジェクトが記述する Font
public 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
の任意の文字の最大有効幅。最大有効幅がわからない場合は -1
public 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
- 計測される String
FontMetrics
が記述する 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
、そうでない場合は false
Font.hasUniformLineMetrics()
public LineMetrics getLineMetrics(String str, Graphics context)
Graphics
コンテキストで、指定された String
の LineMetrics
オブジェクトを返します。str
- String
context
- Graphics
コンテキストString
および Graphics
コンテキストで作成された LineMetrics
オブジェクトFont.getLineMetrics(String, FontRenderContext)
public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context)
Graphics
コンテキストで、指定された String
の LineMetrics
オブジェクトを返します。str
- String
beginIndex
- 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
- CharacterIterator
beginIndex
- ci
の最初のオフセットlimit
- ci
の終了インデックスcontext
- Graphics
コンテキストLineMetrics
オブジェクトFont.getLineMetrics(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getStringBounds(String str, Graphics context)
Graphics
コンテキストで、指定された String
の境界を返します。この境界は、String
を配置するために使用されます。str
- String
context
- Graphics
コンテキストGraphics
コンテキストを持ち、指定された String
のバウンディングボックスを表す Rectangle2D
Font.getStringBounds(String, FontRenderContext)
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context)
Graphics
コンテキストで、指定された String
の境界を返します。この境界は、String
を配置するために使用されます。str
- String
beginIndex
- str
の最初のオフセットlimit
- str
の長さcontext
- Graphics
コンテキストGraphics
コンテキストを持ち、指定された String
のバウンディングボックスを表す Rectangle2D
Font.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
コンテキストを持ち、指定された文字配列のバウンディングボックスを表す Rectangle2D
Font.getStringBounds(char[], int, int, FontRenderContext)
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Graphics
コンテキストで、指定された CharacterIterator
内のインデックス付き文字列の境界を返します。ci
- CharacterIterator
beginIndex
- ci
の最初のオフセットlimit
- ci
の終了インデックスcontext
- Graphics
コンテキストGraphics
コンテキストを持ち、指定された CharacterIterator
内のインデックス付き文字列のバウンディングボックスを表す Rectangle2D
Font.getStringBounds(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getMaxCharBounds(Graphics context)
Graphics
コンテキストで、最大の境界を持つ文字の境界を返します。context
- Graphics
コンテキストRectangle2D
Font.getMaxCharBounds(FontRenderContext)
public String toString()
FontMetrics
オブジェクトの値の String
表現を返します。FontMetrics
オブジェクトの String
表現
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |