|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjava.awt.FontMetrics
public abstract class 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 codePoint)
この 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()
@Deprecated public int getMaxDecent()
getMaxDescent()
を使用します。
Font
の文字の最大ディセントgetMaxDescent()
public int getMaxAdvance()
Font
の文字の最大有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効値の合計ではありません。
Font
の任意の文字の最大有効幅。最大有効幅がわからない場合は -1
public int charWidth(int codePoint)
Font
の指定した文字の有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効幅の合計ではないことに注意してください。
このメソッドは指定された文字が有効な Unicode コードポイントであるかどうかを検証しません。呼び出し側で、必要に応じて Character.isValidCodePoint
を使用して、文字値を検証する必要があります。
codePoint
- 測定する文字 (Unicode コードポイント)
FontMetrics
オブジェクトが記述する Font
の指定された文字の有効幅charsWidth(char[], int, int)
,
stringWidth(String)
public int charWidth(char ch)
Font
の指定した文字の有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String
は、必ずしも文字の有効幅の合計ではないことに注意してください。
注: このメソッドは補助文字を処理できません。補助文字を含むすべての Unicode 文字をサポートするには、charWidth(int)
メソッドを使用します。
ch
- 測定対象の文字
FontMetrics
オブジェクトが記述する Font
の指定された文字の有効幅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 Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。