|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.FontMetrics
public abstract class FontMetrics
FontMetrics
クラスは、特定の画面での特定のフォントに関する描画情報をカプセル化するフォントメトリックオブジェクトを定義します。
サブクラスについての注意:これらのメソッドの多くは相互に再帰的な閉じたループを形成するため、サブクラスを使用するときは無限の再帰を避けるために、このようなループの各々に少なくとも 1 つのメソッドを実装するように留意する必要があります。特に次に挙げるものは、正確さを保証し無限の再帰を避けるために、オーバーライドが推奨される最低限のメソッドです (同様のメソッドは他にもあります)。
このクラスの各メソッドでの実装は効率的ではないため、通常は、より効率的なツールキット特有の実装でオーバーライドされていることに注意してください。
アプリケーションが座標 (x, y) に文字を配置するように要求すると、文字はその参照ポイント (添付イメージでドットとして表示されている) がその位置に置かれるように配置されます。参照ポイントは、文字の「ベースライン」と呼ばれる水平ラインを指定します。通常の出力では、文字のベースラインの位置揃えをしてください。
さらに、フォントのすべての文字は「アセント」、「ディセント」、および「有効幅」を持ちます。アセントは、ベースラインから文字の上端までの量のことです。ディセントは、ベースラインから文字の下端までの量のことです。有効幅は、AWT による次の文字の配置位置を示します。
文字配列または文字列も、アセント、ディセント、および有効幅を持つことができます。配列のアセントは、配列内の文字の最大アセントです。ディセントは配列内の文字の最大ディセントです。有効幅は、配列内の各文字の有効幅の合計です。有効 String
は String
のベースラインに沿った距離です。この距離は、String
のセンタリングまたは、右揃えのために使用される幅です。
文字の幅はそのコンテキストによりばらつきがあるため、有効 String
は必ずしも単独で測定した文字の合計ではないことに注意してください。たとえば、アラビア語のテキストの場合、ほかの文字と結合するために文字の形が変わります。ほかのスクリプトの場合でも、特定の文字シーケンスは「合字」という単一形状で表現されます。個々に文字をカウントするときには、このような変換はカウントされません。
フォントメトリックスはベースラインを基準にしています。つまり、通常は、フォントに適用される回転には依存しません (可能なグリッドヒンティング効果を法とする)。Font
を参照してください。
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 を返します。 |
FontRenderContext |
getFontRenderContext()
テキストを測定するためにこの FontMetrics オブジェクトで使用される FontRenderContext を取得します。 |
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 Version 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 FontRenderContext getFontRenderContext()
FontMetrics
オブジェクトで使用される FontRenderContext
を取得します。
Graphics
パラメータを取るこのクラスのメソッドは、この FontRenderContext
ではなく、その Graphics
オブジェクトの FontRenderContext
を使用してテキストを測定します。
FontMetrics
オブジェクトが使用する FontRenderContext
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
で表示するための有効幅の合計を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。
有効 String
は、必ずしも文字の有効幅の合計ではないことに注意してください。
str
- 測定される String
FontMetrics
が記述する Font
の指定された String
の有効幅
NullPointerException
- str が null の場合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
配列の部分配列の有効幅
NullPointerException
- data
が null の場合
IndexOutOfBoundsException
- off
および len
引数インデックスによる文字列が data
配列の範囲外となる場合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
配列の部分配列の有効幅
NullPointerException
- data
が null の場合
IndexOutOfBoundsException
- off
および len
引数インデックスによるバイトが data
配列の範囲外となる場合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
を配置するために使用されます。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
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
を配置するために使用されます。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
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
を配置するために使用されます。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
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
内のインデックス付き文字列の境界を返します。 注:境界は、ベースラインを基準にした座標で返されます (class notes
を参照)。
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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。