|
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 - 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()@Deprecated public int getMaxDecent()
getMaxDescent() を使用します。
Font の文字の最大ディセントgetMaxDescent()public int getMaxAdvance()
Font の文字の最大有効幅を返します。有効幅は、文字列のベースラインの左端の点から右端の点までの距離です。有効 String は、必ずしも文字の有効値の合計ではありません。
Font の任意の文字の最大有効幅。最大有効幅がわからない場合は -1public 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、そうでない場合は 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 表現を返します。
Object 内の toStringFontMetrics オブジェクトの 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 も参照してください。