|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.FontMetrics
FontMetrics
クラスは、特定の画面での特定のフォントに関する描画情報をカプセル化するフォントメトリックオブジェクトを定義します。
サブクラスについての注意: これらのメソッドの多くは相互に再帰的な閉じたループを形成するため、サブクラスを使用するとき無限の再帰を避けるためにこのようなループの各々に少なくとも 1 つのメソッドを実装するように留意する必要があります。とりわけ、次のものは正確さを保証し無限の再帰を避けるために、オーバーライドが推奨されるメソッドの最小限のセットです (ほかのサブセットも同様に実行可能)。
このクラスの各メソッドでの実装は効率的ではないため、通常は、より効率的なツールキット特有の実装でオーバーライドされていることに注意してください。
アプリケーションが AWT に対して座標 (x, y) に文字を配置するように要求すると、文字はその参照ポイント (添付イメージでドットとして表示されている) がその位置に置かれるように配置されます。参照ポイントは、文字の「ベースライン」と呼ばれる水平ラインを指定します。通常の出力では、文字のベースラインの位置揃えをしてください。
さらに、フォントのすべての文字は「アセント」、「ディセント」、および「有効幅」を持ちます。アセントは、ベースラインから文字の上端までの量のことです。ディセントは、ベースラインから文字の下端までの量のことです。有効幅は、AWT による次の文字の配置位置を示します。
文字配列または文字列も、アセント、ディセント、および有効幅を持つことがあります。配列のアセントは、配列内の文字の最大アセントです。ディセントは配列内の文字の最大ディセントです。有効幅は、配列内の各文字の有効幅の合計です。有効 String
は String
のベースラインに沿った距離です。この距離は、String
のセンタリングまたは、右揃えのために使用される幅です。文字の幅はそのコンテキストによりばらつきがあるため、有効 String
は必ずしも単独で測定した文字の合計ではないことに注意してください。たとえば、アラビア語のテキストの場合、他の文字と結合するために文字の形が変わります。他のスクリプトの場合でも、特定の文字シーケンスは合字 という単一形状で表現されます。個々に文字をカウントすると、こういう変換はカウントされません。
Font
, 直列化された形式フィールドの概要 | |
protected Font |
font
フォントメトリックスの作成側となる実際の Font です。 |
コンストラクタの概要 | |
protected |
FontMetrics(Font font)
指定された Font の高さと幅、およびその Font の特定の文字グリフを調べるための新しい FontMetrics オブジェクトを作成します。 |
メソッドの概要 | |
int |
bytesWidth(byte[] data,
int off,
int len)
指定された文字配列をこの 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
メソッドの詳細 |
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
の文字の最大有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではありません。Font
の任意の文字の最大有効幅。最大有効幅がわからない場合は -1
public int charWidth(int ch)
Font
の文字の有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではないことに注意してください。ch
- 測定対象の文字FontMetrics
オブジェクトが記述する Font
の指定された char
の有効幅charsWidth(char[], int, int)
,
stringWidth(String)
public int charWidth(char ch)
Font
の指定した文字の有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではないことに注意してください。FontMetrics
オブジェクトが記述する Font
の指定された char
の有効幅charsWidth(char[], int, int)
,
stringWidth(String)
public int stringWidth(String str)
String
を、この Font
で表示するための有効幅の合計を返します。有効幅とは、文字列のベースライン上の左端の点から右端の点までの距離です。
このメソッドで返される有効幅の合計は描画コンテキストを考慮していないことに注意してください。したがって、アンチエイリアスおよび部分メトリックスヒントが有効幅に影響を与えることがあります。アンチエイリアスおよび部分メトリックスヒントを有効にするには、このメソッドではなく getStringBounds (String, Graphics)
を使用してください。有効 String
は必ずしも文字の有効値の合計ではありません。
str
- 計測される String
FontMetrics
が記述する Font
の指定された String
の有効幅bytesWidth(byte[], int, int)
,
charsWidth(char[], int, int)
,
getStringBounds(String, Graphics)
public int charsWidth(char[] data, int off, int len)
Font
で表示するための有効幅の合計を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではありません。これは指定した範囲で文字の String
を計測することと同じです。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
で表示するための有効幅の合計を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではありません。これは指定した範囲で文字の String
を計測することと同じです。data
- 計測されるバイトの配列off
- 配列中のバイトの開始オフセットlen
- 配列から計測されるバイト数FontMetrics
オブジェクトが記述する Font
の指定された byte
配列の部分配列の有効幅charsWidth(char[], int, int)
,
stringWidth(String)
public int[] getWidths()
Font
の最初の 256 文字の有効幅を取得します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではないことに注意してください。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
表現を返します。Object
内の toString
FontMetrics
オブジェクトの String
表現
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.