JavaTM Platform
Standard Ed. 6

java.awt
クラス Font

java.lang.Object
  上位を拡張 java.awt.Font
すべての実装されたインタフェース:
Serializable
直系の既知のサブクラス:
FontUIResource

public class Font
extends Object
implements Serializable

Font クラスは、テキストを目に見える形に描画するために使用されるフォントを表します。フォントは「文字」の連続を「グリフ」の連続にマッピングするための情報、そしてそのグリフの連続を GraphicsComponent オブジェクトに描画するための情報を提供します。

文字とグリフ

「文字」は英字、数字、句読点などのアイテムを抽象的に表すシンボルです。「g」 (ラテン小文字の G) が文字の例として挙げられます。

「グリフ」は文字または一連の文字を描画するために使用される図形です。ラテン文字のような単純な書記法では、通常 1 つのグリフが 1 つの文字に対応します。ところがグリフと文字の対応は、一般的には 1 対 1 ではありません。たとえば「á」 (アクセント記号付きのラテン小文字の A) のような文字は「a」と「´」に対応する 2 つのグリフで表されます。一方で 2 つの文字「fi」を、合字の 1 つのグリフで表すこともできます。アラビア語、南アジア、および東南アジアの言語のような複雑な書記法では、文字とグリフの関係はもっと複雑になり、コンテキストに応じてグリフの選択や並べ替えが必要になります。 フォントは選択された文字セットの描画で必要なグリフの集合、および文字の連続を対応するグリフの連続にマッピングするために必要なテーブルをカプセル化します。

物理フォントと論理フォント

Java プラットフォームでは「物理」フォントと「論理」フォントを区別します。

「物理」フォントは実際のフォントライブラリであり、グリフデータおよび文字列とグリフ列のマッピングテーブルを含みます。 TrueType や PostScript Type 1 などのフォントテクノロジが使用されます。 Java が実装されるすべてのプラットフォームで TrueType フォントがサポートされている必要があります。 ほかのフォントテクノロジのサポートは実装に依存します。物理フォントには Helvetica、Palatino、HonMincho などの任意のフォント名を使用します。通常、各物理フォントは、ラテン文字だけ、または日本語と基本的なヨーロッパ系の言語だけなどのように、特定の書記法だけをサポートします。有効な物理フォントのセットは設定によって異なります。特定のフォントが必要な場合、アプリケーション側でフォントをバンドルし、createFont メソッドでインスタンス化できます。

「論理」フォントは Java プラットフォームで定義される、Serif、SansSerif、Monospaced、Dialog、および DialogInput の 5 つのフォントファミリです。すべての Java 実行環境でこの 5 つがサポートされていなければいけません。これらの論理フォントは実際のフォントライブラリではなく、論理フォント名は Java 実行環境で物理フォントにマッピングされます。マッピングは実装、そして通常ロケールに依存し、提供される外見やメトリックスもそれに応じて異なります。通常はさまざまな文字をカバーするため、各論理フォント名が複数の物理フォントにマッピングされます。

LabelTextField などのピア AWT コンポーネントは、論理フォントだけを使用できます。

物理フォントと論理フォントの使用に関する、相対的な長所と短所については、『Internationalization FAQ』ドキュメントを参照してください。

フォントフェースとフォント名

Font は、多くのフェース (heavy、medium、oblique、gothic、および regular など) を持つ場合があり、これらすべてのフェースが、同じような文字体裁デザインを持っています。

Font オブジェクトからは 3 つの異なる名称を取得できます。「論理フォント名」は単なるフォント構築のための名称です。「フォントフェース名」は単に「フォント名」と呼ばれることもあり、Helvetica Bold などの特定のフォント名を指します。「ファミリ名」はフォントファミリの名称であり、複数のフェースの文字体裁デザインを決定します。 たとえば Helvetica がこれに該当します。

Font クラスは、ホストシステムのシステムリソースにあるフォントフェースのコレクションの中の、あるフォントフェースのインスタンスを表します。たとえば、Arial Bold および Courier Bold Italic はフォントフェースです。サイズ、スタイル、変形体、およびフォントの特徴の違いにより、1 つのフォントフェースに関連付けられた Font オブジェクトは複数あります。

GraphicsEnvironment クラスの getAllFonts メソッドは、システムで有効なすべてのフォントフェースの配列を返します。これらのフォントフェースは、サイズ 1、恒等変換、およびデフォルトフォントの特徴を持つ Font オブジェクトとして返されます。ベースとなるこれらのフォントは、このクラスの deriveFont メソッドを介して、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font オブジェクトを派生させるために使用できます。

Font と TextAttribute

 

Font ではほとんどの TextAttribute がサポートされます。これにより、TextLayout を明示的に構築する必要がなくなるため、下線付きテキストの描画などの操作が簡単になります。TextAttribute 値の Map を使用してフォントを構築するか派生させることによって、フォントに属性を設定できます。  

一部の TextAttributes の値は直列化不可能なので、そのような値を持つ Font のインスタンスを直列化しても、これらの値は直列化されません。したがって、そのようなストリームから直列化復元されたフォントは、直列化不可能な属性を含んでいる元のフォントと等しいものにはなりません。通常、これらの属性は特殊な状況でのみ使用され、直列化されることはまれなので、これが問題になることはほとんどありません。

ユーザーが PaintGraphicAttribute のカスタムサブクラスを作成する場合は、これらを直列化可能にして、この問題を回避することができます。ユーザーがインプットメソッドのハイライトを使用する場合は、回避策として、現在のプラットフォームでそのハイライトのプラットフォーム固有属性に変換し、それをフォントに設定することができます。

 

Map ベースのコンストラクタと deriveFont API では FONT 属性は無視され、フォントで保持されません。FONT 属性が存在する場合は、static getFont(java.util.Map) メソッドを使用するべきです。詳細は、TextAttribute.FONT を参照してください。

 

いくつかの属性は、追加の描画オーバーヘッドを発生させ、レイアウトを呼び出す可能性があります。Font がそのような属性を持っている場合、hasLayoutAttributes メソッドは true を返します。

 

注:フォントを回転するとテキストのベースラインが回転することがあります。このまれな可能性に対処するために、フォント API は指定に従って「ベースラインを基準にした座標で」メトリックスを返したりパラメータを受け取ったりします。この場合、x 座標はベースラインに沿った有効幅 (正の x はベースラインに沿って進む方向)、y 座標は x でのベースラインに対する垂線に沿った距離 (正の y はベースラインベクトルから時計回りに 90 度の方向) にマップされます。これが特に重要となる API は、「ベースラインを基準にした座標」を持つ API として示されています。

関連項目:
直列化された形式

フィールドの概要
static int BOLD
          ボールドスタイル定数です。
static int CENTER_BASELINE
          テキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。
static String DIALOG
          論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。
static String DIALOG_INPUT
          論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。
static int HANGING_BASELINE
          テキストを配置するときに、ナーガリー文字などの書体に使用されるベースラインです。
static int ITALIC
          イタリックスタイル定数です。
static int LAYOUT_LEFT_TO_RIGHT
          双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。
static int LAYOUT_NO_LIMIT_CONTEXT
          文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。
static int LAYOUT_NO_START_CONTEXT
          文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。
static int LAYOUT_RIGHT_TO_LEFT
          双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。
static String MONOSPACED
          論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。
protected  String name
          コンストラクタに渡される、この Font の論理名です。
static int PLAIN
          プレーンスタイル定数です。
protected  float pointSize
          float で表された、この Font のポイントサイズです。
static int ROMAN_BASELINE
          テキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。
static String SANS_SERIF
          論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。
static String SERIF
          論理フォント「Serif」の正規ファミリ名を表す文字列定数です。
protected  int size
          整数に丸められた、この Font のポイントサイズです。
protected  int style
          コンストラクタに渡される、この Font のスタイルです。
static int TRUETYPE_FONT
          TRUETYPE 型のフォントリソースを識別します。
static int TYPE1_FONT
          TYPE1 型のフォントリソースを識別します。
 
コンストラクタの概要
protected Font(Font font)
          指定された font から新しい Font を生成します。
  Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
          指定された属性で新しい Font を生成します。
  Font(String name, int style, int size)
          指定された名前、スタイル、およびポイントサイズから新しい Font を生成します。
 
メソッドの概要
 boolean canDisplay(char c)
          この Font が指定された文字のグリフを持つかどうかを判定します。
 boolean canDisplay(int codePoint)
          この Font が指定された文字のグリフを持つかどうかを判定します。
 int canDisplayUpTo(char[] text, int start, int limit)
          指定された text 内の start から始まり limit で終わる文字列を、この Font で表示できるかどうかを示します。
 int canDisplayUpTo(CharacterIterator iter, int start, int limit)
          この Font で、start から始まり limit で終わる iter によって指定されたテキストを表示できるかどうかを示します。
 int canDisplayUpTo(String str)
          指定された String を、この Font で表示できるかどうかを示します。
static Font createFont(int fontFormat, File fontFile)
          指定されたフォントタイプと指定されたフォントファイルを使用して新しい Font を返します。
static Font createFont(int fontFormat, InputStream fontStream)
          指定されたフォントタイプと入力データを使用して新しい Font を返します。
 GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)
          この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。
 GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)
          この Font の Unicode cmap をベースにして、指定された文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。
 GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)
          この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。
 GlyphVector createGlyphVector(FontRenderContext frc, String str)
          この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。
static Font decode(String str)
          str 引数で指定される名称の Font を返します。
 Font deriveFont(AffineTransform trans)
          現在の Font オブジェクトを複製し新しい変換を適用することにより、新しい Font オブジェクトを生成します。
 Font deriveFont(float size)
          現在の Font オブジェクトを複製し新しいサイズを適用することにより、新しい Font オブジェクトを生成します。
 Font deriveFont(int style)
          現在の Font オブジェクトを複製し新しいスタイルを適用することにより、新しい Font オブジェクトを生成します。
 Font deriveFont(int style, AffineTransform trans)
          この Font オブジェクトを複製し、新しいスタイルおよび変換を適用することにより、新しい Font オブジェクトを生成します。
 Font deriveFont(int style, float size)
          この Font オブジェクトを複製し新しいスタイルおよびサイズを適用することにより、新しい Font オブジェクトを生成します。
 Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
          現在の Font オブジェクトを複製し新しいフォント属性を適用することにより、新しい Font オブジェクトを生成します。
 boolean equals(Object obj)
          この Font オブジェクトを、指定された Object と比較します。
protected  void finalize()
          ネイティブ Font オブジェクトを破棄します。
 Map<TextAttribute,?> getAttributes()
          この Font で有効なフォント属性のマップを返します。
 AttributedCharacterIterator.Attribute[] getAvailableAttributes()
          この Font がサポートするすべての属性のキーを返します。
 byte getBaselineFor(char c)
          この文字の表示に適切なベースラインを返します。
 String getFamily()
          この Font のファミリ名を返します。
 String getFamily(Locale l)
          指定されたロケール向けにローカライズされた、この Font のファミリ名を返します。
static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
          属性に適した Font を返します。
static Font getFont(String nm)
          システムのプロパティーリストから Font オブジェクトを返します。
static Font getFont(String nm, Font font)
          システムのプロパティーリストから指定された Font を返します。
 String getFontName()
          この Font のフォントフェース名を返します。
 String getFontName(Locale l)
          指定されたロケール向けにローカライズされた、Font のフォントフェース名を返します。
 float getItalicAngle()
          この Font のイタリックの角度を返します。
 LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)
          指定された引数で生成された LineMetrics オブジェクトを返します。
 LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
          指定された引数で生成された LineMetrics オブジェクトを返します。
 LineMetrics getLineMetrics(String str, FontRenderContext frc)
          指定された String および FontRenderContext によって作成された LineMetrics オブジェクトを返します。
 LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)
          指定された引数で生成された LineMetrics オブジェクトを返します。
 Rectangle2D getMaxCharBounds(FontRenderContext frc)
          指定された FontRenderContext で、最大の境界を持つ文字の境界を返します。
 int getMissingGlyphCode()
          この Font が指定された Unicode コードポイントに対してグリフを持たない場合に使用される glyphCode を返します。
 String getName()
          この Font の論理名を返します。
 int getNumGlyphs()
          この Font のグリフ数を返します。
 java.awt.peer.FontPeer getPeer()
          推奨されていません。 フォントの描画は現在はどのプラットフォームでも同じです。
 String getPSName()
          この Font のポストスクリプト名を返します。
 int getSize()
          この Font のポイントサイズを整数値で返します。
 float getSize2D()
          この Font のポイントサイズを float 値で返します。
 Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)
          指定された FontRenderContext の指定された文字配列の論理バウンドを返します。
 Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
          指定された FontRenderContext の指定された CharacterIterator にインデックス付けされた文字の論理バウンドを返します。
 Rectangle2D getStringBounds(String str, FontRenderContext frc)
          指定された FontRenderContext の指定された String の論理バウンドを返します。
 Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)
          指定された FontRenderContext の指定された String の論理バウンドを返します。
 int getStyle()
          この Font のスタイルを返します。
 AffineTransform getTransform()
          この Font に関連付けられた変形体のコピーを返します。
 int hashCode()
          この Font のハッシュコードを返します。
 boolean hasLayoutAttributes()
          この Font に追加のレイアウト処理を必要とする属性が含まれている場合は、true を返します。
 boolean hasUniformLineMetrics()
          この Font が均一のラインメトリックスを持つかどうかを判定します。
 boolean isBold()
          この Font オブジェクトのスタイルが BOLD かどうかを示します。
 boolean isItalic()
          この Font オブジェクトのスタイルが ITALIC かどうかを示します。
 boolean isPlain()
          この Font オブジェクトのスタイルが PLAIN どうかを示します。
 boolean isTransformed()
          この Font オブジェクトが、Size 属性以外にサイズに影響を与える変形体を持つかどうかを示します。
 GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)
          可能な場合にテキストの完全なレイアウトを行う、新しい GlyphVector オブジェクトを返します。
 String toString()
          この Font オブジェクトを String 表現に変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

DIALOG

public static final String DIALOG
論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。Font の構築で、コンパイル時に名前を検証するために役立ちます。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

DIALOG_INPUT

public static final String DIALOG_INPUT
論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。Font の構築で、コンパイル時に名前を検証するために役立ちます。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

SANS_SERIF

public static final String SANS_SERIF
論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。Font の構築で、コンパイル時に名前を検証するために役立ちます。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

SERIF

public static final String SERIF
論理フォント「Serif」の正規ファミリ名を表す文字列定数です。Font の構築で、コンパイル時に名前を検証するために役立ちます。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

MONOSPACED

public static final String MONOSPACED
論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。Font の構築で、コンパイル時に名前を検証するために役立ちます。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

PLAIN

public static final int PLAIN
プレーンスタイル定数です。

関連項目:
定数フィールド値

BOLD

public static final int BOLD
ボールドスタイル定数です。ほかのスタイル定数 (PLAIN を除く) と組み合わせて、混合スタイルを生成することができます。

関連項目:
定数フィールド値

ITALIC

public static final int ITALIC
イタリックスタイル定数です。ほかのスタイル定数 (PLAIN を除く) と組み合わせて、混合スタイルを生成することができます。

関連項目:
定数フィールド値

ROMAN_BASELINE

public static final int ROMAN_BASELINE
テキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。

関連項目:
定数フィールド値

CENTER_BASELINE

public static final int CENTER_BASELINE
テキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。

関連項目:
定数フィールド値

HANGING_BASELINE

public static final int HANGING_BASELINE
テキストを配置するときに、ナーガリー文字などの書体に使用されるベースラインです。

関連項目:
定数フィールド値

TRUETYPE_FONT

public static final int TRUETYPE_FONT
TRUETYPE 型のフォントリソースを識別します。TrueType フォントリソースを createFont(int, java.io.InputStream) メソッドに指定する場合に使用します。

導入されたバージョン:
1.3
関連項目:
定数フィールド値

TYPE1_FONT

public static final int TYPE1_FONT
TYPE1 型のフォントリソースを識別します。Type1 フォントリソースを createFont(int, java.io.InputStream) メソッドに指定する場合に使用します。

導入されたバージョン:
1.5
関連項目:
定数フィールド値

name

protected String name
コンストラクタに渡される、この Font の論理名です。

導入されたバージョン:
JDK1.0
関連項目:
getName()

style

protected int style
コンストラクタに渡される、この Font のスタイルです。PLAIN、BOLD、ITALIC、または BOLD+ITALIC のいずれかです。

導入されたバージョン:
JDK1.0
関連項目:
getStyle()

size

protected int size
整数に丸められた、この Font のポイントサイズです。

導入されたバージョン:
JDK1.0
関連項目:
getSize()

pointSize

protected float pointSize
float で表された、この Font のポイントサイズです。

関連項目:
getSize(), getSize2D()

LAYOUT_LEFT_TO_RIGHT

public static final int LAYOUT_LEFT_TO_RIGHT
双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。

関連項目:
定数フィールド値

LAYOUT_RIGHT_TO_LEFT

public static final int LAYOUT_RIGHT_TO_LEFT
双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVector に対するフラグです。

関連項目:
定数フィールド値

LAYOUT_NO_START_CONTEXT

public static final int LAYOUT_NO_START_CONTEXT
文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。

関連項目:
定数フィールド値

LAYOUT_NO_LIMIT_CONTEXT

public static final int LAYOUT_NO_LIMIT_CONTEXT
文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVector に対するフラグです。

関連項目:
定数フィールド値
コンストラクタの詳細

Font

public Font(String name,
            int style,
            int size)
指定された名前、スタイル、およびポイントサイズから新しい Font を生成します。

フォント名にはフォントフェース名またはフォントファミリ名を指定できます。フォント名をスタイルとともに使用して、適切なフォントフェースを見つけます。フォントファミリ名を指定した場合、style 引数を使用して、ファミリからもっとも適切なフェースを選択します。フォントフェース名を指定した場合、フェースのスタイルと style 引数をマージして、同じファミリからもっとも適合するフォントを見つけます。たとえば、Font.ITALIC でフェース名 "Arial Bold" を指定すると、フォントシステムは Arial ファミリで、太字で斜体のフェースを探し、物理フォントフェース Arial Bold Italic にフォントインスタンスを関連付けることもできます。style 引数は指定されたフェーススタイルにマージされ、加算または減算されません。つまり、太字フェースおよび太字スタイルを指定しても、フォントは 2 倍の太さにならず、また太字フェースとプレーンスタイルを指定しても、フォントは細くなりません。

要求されたスタイルのフェースが見つからない場合、フォントシステムは目的のスタイルを実現するためにアルゴリズムスタイルを適用することがあります。たとえば、ITALIC が要求されていても、斜体フェースを使用できない場合、プレーンフェースのグリフがアルゴリズムによって傾斜されます。

フォント名の検索は US ロケールの大文字と小文字を区別しない規則が使用され、大文字と小文字が区別されません。

name が論理フォント以外のものを表す場合、つまり、物理フォントフェースまたはファミリと解釈される場合で、実装によってこれを物理フォントまたは互換の代替フォントにマップできないときは、フォントシステムは Font インスタンスを「Dialog」にマップします。たとえば、getFamily によって報告されるファミリは「Dialog」になります。

パラメータ:
name - フォント名。これはフォントフェース名またはフォントファミリ名を指定でき、この GraphicsEnvironment に見つかった論理フォントまたは物理フォントを表す。論理フォントのファミリ名は、Dialog、DialogInput、Monospaced、Serif、または SansSerif。これらの名前にはすべて、定義済みの文字列定数が存在する。たとえば、@see #DIALOG。namenull の場合、getName() によって返される新しい Font の「論理フォント名」は名前「Default」に設定される
style - Font のスタイル定数。スタイル引数は、PLAIN、あるいは BOLD と ITALIC をビット単位に結合した整数型ビットマスク (ITALIC または BOLD|ITALIC など)。style 引数が有効な整数型ビットマスクでない場合、スタイルは PLAIN に設定される
size - Font のポイントサイズ
導入されたバージョン:
JDK1.0
関連項目:
GraphicsEnvironment.getAllFonts(), GraphicsEnvironment.getAvailableFontFamilyNames()

Font

public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
指定された属性で新しい Font を生成します。TextAttribute で定義されているキーだけが認識されます。また、このコンストラクタでは FONT 属性は認識されません (getAvailableAttributes() を参照)。有効な型の値を持つ属性だけが、新しい Font に影響を与えます。

attributesnull の場合、新しい Font はデフォルト値で初期化されます。

パラメータ:
attributes - 新しい Font に割り当てる属性、または null
関連項目:
TextAttribute

Font

protected Font(Font font)
指定された font から新しい Font を生成します。このコンストラクタはサブクラスで使用します。

パラメータ:
font - この Font の生成元のフォント
例外:
NullPointerException - font が null の場合
導入されたバージョン:
1.6
メソッドの詳細

getPeer

@Deprecated
public java.awt.peer.FontPeer getPeer()
推奨されていません。 フォントの描画は現在はどのプラットフォームでも同じです。

この Font のピアを取得します。

戻り値:
Font のピア
導入されたバージョン:
JDK1.1

getFont

public static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
属性に適した Font を返します。attributes に、有効な Font を値として持つ FONT 属性が含まれている場合、この属性はその他の属性とマージされます。詳細は、TextAttribute.FONT を参照してください。

パラメータ:
attributes - 新しい Font に割り当てる属性
戻り値:
指定された属性で生成された新しい Font
例外:
NullPointerException - attributes が null の場合
導入されたバージョン:
1.2
関連項目:
TextAttribute

createFont

public static Font createFont(int fontFormat,
                              InputStream fontStream)
                       throws FontFormatException,
                              IOException
指定されたフォントタイプと入力データを使用して新しい Font を返します。新しい Font はポイントサイズ 1、スタイル PLAIN で生成されます。このクラスの deriveFont メソッドでベースとなるフォントを使って、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font オブジェクトを派生させることができます。このメソッドは InputStream を閉じません。

Font コンストラクタで Font を使用できるようにするには、registerFont(Font) を呼び出して、返された FontGraphicsEnviroment に登録する必要があります。

パラメータ:
fontFormat - Font のタイプ。TrueType リソースを指定する場合は TRUETYPE_FONT、Type 1 リソースを指定する場合は TYPE1_FONT
fontStream - フォントの入力データを表す InputStream オブジェクト
戻り値:
指定されたフォントタイプで新しく生成された Font
例外:
IllegalArgumentException - fontFormatTRUETYPE_FONT または TYPE1_FONT ではない場合
FontFormatException - fontStream データが、指定された形式に必要なフォントテーブルを持っていない場合
IOException - fontStream を完全に読み込みできない場合
導入されたバージョン:
1.3
関連項目:
GraphicsEnvironment.registerFont(Font)

createFont

public static Font createFont(int fontFormat,
                              File fontFile)
                       throws FontFormatException,
                              IOException
指定されたフォントタイプと指定されたフォントファイルを使用して新しい Font を返します。新しい Font はポイントサイズ 1、スタイル PLAIN で生成されます。このクラスの deriveFont メソッドでベースとなるフォントを使って、サイズ、スタイル、変形体、およびフォントの特徴が異なる新しい Font オブジェクトを派生させることができます。

パラメータ:
fontFormat - Font のタイプ。TrueType リソースを指定する場合は TRUETYPE_FONT、Type 1 リソースを指定する場合は TYPE1_FONT。返されたフォントまたはその派生フォントが参照されるかぎり、実装では fontFile にアクセスし続け、フォントデータを取得できる。そのため、ファイルが変更された場合の結果は不定で、アクセスできなくなる

Font コンストラクタで Font を使用できるようにするには、registerFont(Font) を呼び出して、返された FontGraphicsEnviroment に登録する必要があります。

fontFile - フォントの入力データを表す File オブジェクト
戻り値:
指定されたフォントタイプで新しく生成された Font
例外:
IllegalArgumentException - fontFormatTRUETYPE_FONT または TYPE1_FONT ではない場合
NullPointerException - fontFile が null の場合
IOException - fontFile を読み込みできない場合
FontFormatException - fontFile が、指定された形式に必要なフォントテーブルを持っていない場合
SecurityException - 実行するコードに、ファイルから読み取るアクセス権がない場合
導入されたバージョン:
1.5
関連項目:
GraphicsEnvironment.registerFont(Font)

getTransform

public AffineTransform getTransform()
この Font に関連付けられた変形体のコピーを返します。この変形体は、フォントの構築に使用されるものとは限りません。フォントにアルゴリズムによる上付き処理や幅の調整が行われる場合、これは返される AffineTransform に組み込まれます。

通常、フォントは変形されません。一般に、クライアントでは、まず isTransformed() を呼び出し、isTransformed から true が返された場合のみこのメソッドを呼び出すようにしてください。

戻り値:
この Font オブジェクトの変形体属性を表す AffineTransform オブジェクト

getFamily

public String getFamily()
この Font のファミリ名を返します。  

フォントのファミリ名はフォント固有です。Helvetica Italic と Helvetica Bold の 2 つのフォントのファミリ名はともに Helvetica ですが、フォントフェース名はそれぞれ Helvetica Bold と Helvetica Italic になります。GraphicsEnvironment.getAvailableFontFamilyNames() メソッドで有効なファミリ名のリストを取得できます。  

getName を使用すると、フォントの論理名を取得できます。フォントフェース名の取得には getFontName を使用します。

戻り値:
この Font のファミリ名を表す String
導入されたバージョン:
JDK1.1
関連項目:
getName(), getFontName()

getFamily

public String getFamily(Locale l)
指定されたロケール向けにローカライズされた、この Font のファミリ名を返します。  

フォントのファミリ名はフォント固有です。Helvetica Italic と Helvetica Bold の 2 つのフォントのファミリ名はともに Helvetica ですが、フォントフェース名はそれぞれ Helvetica Bold と Helvetica Italic になります。GraphicsEnvironment.getAvailableFontFamilyNames() メソッドで有効なファミリ名のリストを取得できます。  

フォントフェース名の取得には getFontName を使用します。

パラメータ:
l - ファミリ名を取得するロケール
戻り値:
指定されたロケール向けにローカライズされた、フォントのファミリ名を表す String
導入されたバージョン:
1.2
関連項目:
getFontName(), Locale

getPSName

public String getPSName()
この Font のポストスクリプト名を返します。getFamily を使用すると、フォントのファミリ名を取得できます。フォントフェース名の取得には getFontName を使用します。

戻り値:
この Font のポストスクリプト名を表す String
導入されたバージョン:
1.2

getName

public String getName()
この Font の論理名を返します。getFamily を使用すると、フォントのファミリ名を取得できます。フォントフェース名の取得には getFontName を使用します。

戻り値:
この Font の論理名を表す String
導入されたバージョン:
JDK1.0
関連項目:
getFamily(), getFontName()

getFontName

public String getFontName()
この Font のフォントフェース名を返します。たとえば、フォントフェース名として Helvetica Bold が返されます。getFamily を使用すると、フォントのファミリ名を取得できます。getName を使用すると、フォントの論理名を取得できます。

戻り値:
この Font のフォントフェース名を表す String
導入されたバージョン:
1.2
関連項目:
getFamily(), getName()

getFontName

public String getFontName(Locale l)
指定されたロケール向けにローカライズされた、Font のフォントフェース名を返します。たとえば、フォントフェース名として Helvetica Fett が返されます。getFamily を使用すると、フォントのファミリ名を取得できます。

パラメータ:
l - フォントフェース名を取得するロケール
戻り値:
指定されたロケール向けにローカライズされた、フォントフェース名を表す String
関連項目:
getFamily(), Locale

getStyle

public int getStyle()
この Font のスタイルを返します。PLAIN、BOLD、ITALIC、または BOLD+ITALIC のいずれかです。

戻り値:
この Font のスタイル
導入されたバージョン:
JDK1.0
関連項目:
isPlain(), isBold(), isItalic()

getSize

public int getSize()
この Font のポイントサイズを整数値で返します。ほとんどのユーザーは、「ポイントサイズ」でのフォントのグリフサイズの指定に慣れています。このポイントサイズは、シングルスペースのテキストドキュメント上の、ある行のベースラインから次の行のベースラインまでの距離を定義します。ポイントサイズは「文字体裁のポイント」をベースにしており、およそ 1/72 インチです。

Java (TM) 2D API の規約では、1 ポイントがユーザー座標の 1 単位に相当します。ユーザー空間座標からデバイス空間座標への変換に標準化された変換を使用する場合、72 ユーザー空間単位がデバイス空間の 1 インチと等しくなります。この場合、1 ポイントは 1/72 インチです。

戻り値:
1/72 インチ単位で表した、この Font のポイントサイズ
導入されたバージョン:
JDK1.0
関連項目:
getSize2D(), GraphicsConfiguration.getDefaultTransform(), GraphicsConfiguration.getNormalizingTransform()

getSize2D

public float getSize2D()
この Font のポイントサイズを float 値で返します。

戻り値:
float 値で表された、この Font のポイントサイズ
導入されたバージョン:
1.2
関連項目:
getSize()

isPlain

public boolean isPlain()
この Font オブジェクトのスタイルが PLAIN どうかを示します。

戻り値:
この Font のスタイルが PLAIN の場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0
関連項目:
getStyle()

isBold

public boolean isBold()
この Font オブジェクトのスタイルが BOLD かどうかを示します。

戻り値:
この Font オブジェクトのスタイルが BOLD の場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0
関連項目:
getStyle()

isItalic

public boolean isItalic()
この Font オブジェクトのスタイルが ITALIC かどうかを示します。

戻り値:
この Font オブジェクトのスタイルが ITALIC の場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0
関連項目:
getStyle()

isTransformed

public boolean isTransformed()
この Font オブジェクトが、Size 属性以外にサイズに影響を与える変形体を持つかどうかを示します。

戻り値:
この Font オブジェクトが非恒等 AffineTransform 属性を持つ場合は true、そうでない場合は false
導入されたバージョン:
1.4
関連項目:
getTransform()

hasLayoutAttributes

public boolean hasLayoutAttributes()
この Font に追加のレイアウト処理を必要とする属性が含まれている場合は、true を返します。

戻り値:
フォントがレイアウト属性を持っている場合は true
導入されたバージョン:
1.6

getFont

public static Font getFont(String nm)
システムのプロパティーリストから Font オブジェクトを返します。 nm は取得するシステムプロパティーの名前として扱われます。このプロパティーの String 値は、Font.decode(String) の仕様に従って、Font オブジェクトとして解釈されます。 指定されたプロパティーが見つからない場合、または実行するコードにプロパティーを読み取るアクセス権がない場合は、null を返します。

パラメータ:
nm - プロパティー名
戻り値:
プロパティー名が記述する Font オブジェクト、または該当するプロパティーが存在しない場合は null
例外:
NullPointerException - nm が null の場合
導入されたバージョン:
1.2
関連項目:
decode(String)

decode

public static Font decode(String str)
str 引数で指定される名称の Font を返します。必要なフォントを確実に取得するためには、str パラメータの書式を次のいずれかに設定します。 

この場合の stylePLAINBOLDBOLDITALIC、または ITALIC のいずれかです (大文字または小文字のどちらでも指定可能)。pointsize は正の十進数の整数で表したポイントサイズです。太字でポイントサイズ 18 の Arial フォントが必要な場合、Arial-BOLD-18 を指定してこのメソッドを呼び出します。これは Font コンストラクタ new Font("Arial", Font.BOLD, 18); の呼び出しと等しく、値はそのコンストラクタによって指定されたものとして解釈されます。

あとに続く有効なフィールドは常にポイントサイズとして解釈されます。そのため、フォント名のみの形式では、うしろに 10 進値が付いたフォント名を使用しないでください。

スタイル名フィールドが有効なスタイル文字列でない場合、それはフォント名の一部として解釈され、デフォルトのスタイルが使われます。

' ' または '-' のどちらか 1 つ を使用して、入力のフィールドを区切ります。識別されるセパレータは有効なポイントサイズまたは有効なスタイル名を残りの文字列から区切る文字列の末尾にもっとも近いものです。null (空) のポイントサイズおよびスタイルフィールドはそのフィールドにデフォルト値を持つ有効なフィールドとして扱われます。

フォント名にはセパレータ文字 ' ' または '-' が含まれることがあります。str が 3 つの成分から構成されていない、つまり style または pointsize フィールドが str に存在せず、fontname にも区切り文字として特定される文字が含まれる場合、fontname の一部として意図されたこれらの文字は、セパレータとして解釈され、正しく認識されないことがあります。

デフォルトのサイズは 12、デフォルトのスタイルは PLAIN になります。str で有効なサイズを指定しない場合、返される Font のサイズは 12 になります。 str で有効なスタイルを指定しない場合、返されるフォントのスタイルは PLAIN になります。str 引数に有効なフォント名を指定しない場合、ファミリ名が「dialog」のフォントが返されます。システム上で有効なフォントファミリ名を判定するためには、GraphicsEnvironment.getAvailableFontFamilyNames() メソッドを使用します。strnull の場合、ファミリ名が「dialog」、サイズが 12、スタイルが PLAIN の新しい Font が返されます。

パラメータ:
str - フォント名、または null
戻り値:
str で指定される Font オブジェクト。strnull の場合は新しいデフォルト Font
導入されたバージョン:
JDK1.1
関連項目:
getFamily()

getFont

public static Font getFont(String nm,
                           Font font)
システムのプロパティーリストから指定された Font を返します。SystemgetProperty メソッドの場合と同じように、最初の引数は取得するシステムプロパティーの名前として扱われます。このプロパティーの String 値は、Font オブジェクトとして解釈されます。

プロパティー値は Font.decode(String) によって受け付けられた形式のいずれかです。 指定されたプロパティーが見つからない場合、または実行するコードにプロパティーを読み取るアクセス権がない場合は、font 引数が返されます。

パラメータ:
nm - プロパティー名。大文字と小文字は区別されない
font - プロパティー nm が定義されていない場合に返されるデフォルトの Font
戻り値:
プロパティーの Font
例外:
NullPointerException - nm が null の場合
関連項目:
decode(String)

hashCode

public int hashCode()
この Font のハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この Font のハッシュコード値
導入されたバージョン:
JDK1.0
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
この Font オブジェクトを、指定された Object と比較します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象の Object
戻り値:
オブジェクトが同じ場合、または引数がこのオブジェクトと同じフォントを指定している Font オブジェクトである場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0
関連項目:
Object.hashCode(), Hashtable

toString

public String toString()
この Font オブジェクトを String 表現に変換します。

オーバーライド:
クラス Object 内の toString
戻り値:
この Font オブジェクトの String 表現
導入されたバージョン:
JDK1.0

getNumGlyphs

public int getNumGlyphs()
この Font のグリフ数を返します。この Font のグリフコードの範囲は、0 〜 getNumGlyphs() - 1 です。

戻り値:
この Font のグリフ数
導入されたバージョン:
1.2

getMissingGlyphCode

public int getMissingGlyphCode()
この Font が指定された Unicode コードポイントに対してグリフを持たない場合に使用される glyphCode を返します。

戻り値:
この Font の glyphCode
導入されたバージョン:
1.2

getBaselineFor

public byte getBaselineFor(char c)
この文字の表示に適切なベースラインを返します。

大きなフォントはさまざまな書記法をサポートでき、各書記法は別々のベースラインを使用できます。文字引数は、使用する書記法を決めます。クライアントは、すべての文字が同じベースラインを使用すると仮定することはできません。

パラメータ:
c - 書記法を識別するための文字
戻り値:
指定された文字に対して適切なベースライン
導入されたバージョン:
1.2
関連項目:
LineMetrics.getBaselineOffsets(), ROMAN_BASELINE, CENTER_BASELINE, HANGING_BASELINE

getAttributes

public Map<TextAttribute,?> getAttributes()
この Font で有効なフォント属性のマップを返します。属性には、合字やグリフの代用などが含まれます。

戻り値:
この Font の属性マップ

getAvailableAttributes

public AttributedCharacterIterator.Attribute[] getAvailableAttributes()
この Font がサポートするすべての属性のキーを返します。それらの属性は、ほかのフォントを派生させるために使用できます。

戻り値:
この Font がサポートするすべての属性のキーが格納されている配列
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(int style,
                       float size)
この Font オブジェクトを複製し新しいスタイルおよびサイズを適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
style - 新しい Font のスタイル
size - 新しい Font のサイズ
戻り値:
新しい Font オブジェクト
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(int style,
                       AffineTransform trans)
この Font オブジェクトを複製し、新しいスタイルおよび変換を適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
style - 新しい Font のスタイル
trans - 新しい Font に関連付けられた AffineTransform
戻り値:
新しい Font オブジェクト
例外:
IllegalArgumentException - transnull の場合
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(float size)
現在の Font オブジェクトを複製し新しいサイズを適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
size - 新しい Font のサイズ
戻り値:
新しい Font オブジェクト
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(AffineTransform trans)
現在の Font オブジェクトを複製し新しい変換を適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
trans - 新しい Font に関連付けられた AffineTransform
戻り値:
新しい Font オブジェクト
例外:
IllegalArgumentException - transnull の場合
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(int style)
現在の Font オブジェクトを複製し新しいスタイルを適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
style - 新しい Font のスタイル
戻り値:
新しい Font オブジェクト
導入されたバージョン:
1.2

deriveFont

public Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
現在の Font オブジェクトを複製し新しいフォント属性を適用することにより、新しい Font オブジェクトを生成します。

パラメータ:
attributes - 新しい Font に使用可能な属性のマップ
戻り値:
新しい Font オブジェクト
導入されたバージョン:
1.2

canDisplay

public boolean canDisplay(char c)
この Font が指定された文字のグリフを持つかどうかを判定します。  

注: このメソッドは、補助文字を処理できません。補助文字を含むすべての Unicode 文字をサポートするには、canDisplay(int) メソッドまたは canDisplayUpTo メソッドを使用します。

パラメータ:
c - グリフが必要な文字
戻り値:
この Font がこの文字のグリフを持つ場合は true、そうでない場合は false
導入されたバージョン:
1.2

canDisplay

public boolean canDisplay(int codePoint)
この Font が指定された文字のグリフを持つかどうかを判定します。

パラメータ:
codePoint - グリフが必要な文字 (Unicode コードポイント)
戻り値:
この Font が文字のグリフを持つ場合は true、そうでない場合は false
例外:
IllegalArgumentException - コードポイントが有効な Unicode コードポイントでない場合
導入されたバージョン:
1.5
関連項目:
Character.isValidCodePoint(int)

canDisplayUpTo

public int canDisplayUpTo(String str)
指定された String を、この Font で表示できるかどうかを示します。Unicode エンコーディング文字列の場合、特定のフォントで文字列を表示できるかどうかを確認することが重要になります。このメソッドは、String str 内のオフセットを返します。 このオフセットは、欠如しているグリフコードを使用しないかぎりこの Font では表示できない最初の文字を示します。この Font ですべての文字を表示できる場合は、-1 が返されます。

パラメータ:
str - String オブジェクト
戻り値:
この Font で表示できない str 内の最初の文字を示す str 内のオフセット。str 内のすべての文字をこの Font で表示できる場合は -1
導入されたバージョン:
1.2

canDisplayUpTo

public int canDisplayUpTo(char[] text,
                          int start,
                          int limit)
指定された text 内の start から始まり limit で終わる文字列を、この Font で表示できるかどうかを示します。このメソッドは簡易オーバーロードです。

パラメータ:
text - char 値の指定された配列
start - 指定された char 値の配列内の指定された (char の) 開始オフセット
limit - 指定された char 値の配列内の指定された (char の) 終了オフセット
戻り値:
この Font で表示できない text 内の最初の文字を示す text 内のオフセット。text 内のすべての文字をこの Font で表示できる場合は -1
導入されたバージョン:
1.2

canDisplayUpTo

public int canDisplayUpTo(CharacterIterator iter,
                          int start,
                          int limit)
この Font で、start から始まり limit で終わる iter によって指定されたテキストを表示できるかどうかを示します。

パラメータ:
iter - CharacterIterator オブジェクト
start - 指定された CharacterIterator 内の指定された開始オフセット
limit - 指定された CharacterIterator 内の指定された終了オフセット
戻り値:
この Font で表示できない iter 内の最初の文字を示す iter 内のオフセット。iter 内のすべての文字をこの Font で表示できる場合は -1
導入されたバージョン:
1.2

getItalicAngle

public float getItalicAngle()
この Font のイタリックの角度を返します。イタリックの角度とはこの Font のポスチャー (傾き) にもっとも一致するキャレットの逆傾斜です。

戻り値:
この Font の ITALIC スタイルの角度
関連項目:
TextAttribute.POSTURE

hasUniformLineMetrics

public boolean hasUniformLineMetrics()
この Font が均一のラインメトリックスを持つかどうかを判定します。論理 Font は、複合フォントの場合があります。 複合フォントは、複数のコード範囲を網羅するために複数の物理フォントで構成されています。それらの各フォントは、別々の LineMetrics を持つ場合があります。論理 Font が単一のフォントの場合、メトリックスは均一です。

戻り値:
この Font のスタイルが均一のラインメトリックスを持つ場合は true、そうでない場合は false

getLineMetrics

public LineMetrics getLineMetrics(String str,
                                  FontRenderContext frc)
指定された String および FontRenderContext によって作成された LineMetrics オブジェクトを返します。

パラメータ:
str - 指定された String
frc - 指定された FontRenderContext
戻り値:
指定された String および FontRenderContext によって作成された LineMetrics オブジェクト

getLineMetrics

public LineMetrics getLineMetrics(String str,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。

パラメータ:
str - 指定された String
beginIndex - str の開始オフセット
limit - str の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された引数で作成された LineMetrics オブジェクト

getLineMetrics

public LineMetrics getLineMetrics(char[] chars,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。

パラメータ:
chars - 文字配列
beginIndex - chars の開始オフセット
limit - chars の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された引数で作成された LineMetrics オブジェクト

getLineMetrics

public LineMetrics getLineMetrics(CharacterIterator ci,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)
指定された引数で生成された LineMetrics オブジェクトを返します。

パラメータ:
ci - 指定された CharacterIterator
beginIndex - ci の開始オフセット
limit - ci の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された引数で作成された LineMetrics オブジェクト

getStringBounds

public Rectangle2D getStringBounds(String str,
                                   FontRenderContext frc)
指定された FontRenderContext の指定された String の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayoutgetBounds メソッドを使います。 

注:境界は、ベースラインを基準にした座標で返されます (class notes を参照)。

パラメータ:
str - 指定された String
frc - 指定された FontRenderContext
戻り値:
指定された FontRenderContext で、指定された String のバウンディングボックスを表す Rectangle2D
導入されたバージョン:
1.2
関連項目:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(String str,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)
指定された FontRenderContext の指定された String の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayoutgetBounds メソッドを使います。 

注:境界は、ベースラインを基準にした座標で返されます (class notes を参照)。

パラメータ:
str - 指定された String
beginIndex - str の開始オフセット
limit - str の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された FontRenderContext で、指定された String のバウンディングボックスを表す Rectangle2D
例外:
IndexOutOfBoundsException - beginIndex が 0 より小さい場合、limitstr より大きい場合、または beginIndexlimit より大きい場合
導入されたバージョン:
1.2
関連項目:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(char[] chars,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)
指定された FontRenderContext の指定された文字配列の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayoutgetBounds メソッドを使います。 

注:境界は、ベースラインを基準にした座標で返されます (class notes を参照)。

パラメータ:
chars - 文字配列
beginIndex - 文字配列の初期オフセット
limit - 文字配列の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された FontRenderContext で、指定された文字配列のバウンディングボックスを表す Rectangle2D
例外:
IndexOutOfBoundsException - beginIndex が 0 より小さい場合、limitchars より大きい場合、または beginIndexlimit より大きい場合
導入されたバージョン:
1.2
関連項目:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(CharacterIterator ci,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)
指定された FontRenderContext の指定された CharacterIterator にインデックス付けされた文字の論理バウンドを返します。レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。論理バウンドは常にすべてのテキストを含むとは限りません。たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。すべてのテキストを含み、目で確認できるバウンディングボックスを得るためには、TextLayoutgetBounds メソッドを使います。 

注:境界は、ベースラインを基準にした座標で返されます (class notes を参照)。

パラメータ:
ci - 指定された CharacterIterator
beginIndex - ci の開始オフセット
limit - ci の終了オフセット
frc - 指定された FontRenderContext
戻り値:
指定された FontRenderContext で、指定された CharacterIterator 内のインデックス付き文字のバウンディングボックスを表す Rectangle2D
例外:
IndexOutOfBoundsException - beginIndex が開始インデックス ci より小さい場合、limit が終了インデックス ci より大きい場合、または beginIndexlimit より大きい場合
導入されたバージョン:
1.2
関連項目:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getMaxCharBounds

public Rectangle2D getMaxCharBounds(FontRenderContext frc)
指定された FontRenderContext で、最大の境界を持つ文字の境界を返します。 

注:境界は、ベースラインを基準にした座標で返されます (class notes を参照)。

パラメータ:
frc - 指定された FontRenderContext
戻り値:
最大の境界を持つ文字のバウンディングボックスを表す Rectangle2D

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     String str)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。

パラメータ:
frc - 指定された FontRenderContext
str - 指定された String
戻り値:
指定された String および FontRenderContext で作成された新しい GlyphVector

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     char[] chars)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。

パラメータ:
frc - 指定された FontRenderContext
chars - 指定された文字配列
戻り値:
指定された文字配列および FontRenderContext で作成された新しい GlyphVector

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     CharacterIterator ci)
この Font の Unicode cmap をベースにして、指定された文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。

パラメータ:
frc - 指定された FontRenderContext
ci - 指定された CharacterIterator
戻り値:
指定された CharacterIterator および FontRenderContext で作成された新しい GlyphVector

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     int[] glyphCodes)
この Font の Unicode cmap をベースにして、文字とグリフを 1 対 1 にマッピングし、GlyphVector を生成します。このメソッドではマッピング以外の処理を行いません。このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置き換えが必要な言語ではこのメソッドを使用できません。

パラメータ:
frc - 指定された FontRenderContext
glyphCodes - 指定された整数配列
戻り値:
指定された整数配列および FontRenderContext で作成された新しい GlyphVector

layoutGlyphVector

public GlyphVector layoutGlyphVector(FontRenderContext frc,
                                     char[] text,
                                     int start,
                                     int limit,
                                     int flags)
可能な場合にテキストの完全なレイアウトを行う、新しい GlyphVector オブジェクトを返します。アラビア語やヒンディー語などの複雑な文字では、完全なレイアウトが必要です。ほかの文字のサポートはフォントと実装で決定されます。

レイアウトを決定するためには Bidi による双方向分析が必要です。また同一方向に記述されるテキストだけがレイアウト可能です。記述方向はフラグのパラメータで示されます。 LAYOUT_RIGHT_TO_LEFT は右から左に記述されることを示し (アラビア語やヘブライ語など)、LAYOUT_LEFT_TO_RIGHT は左から右に記述されることを示します (英語)。

さらに、アラビア語の整形などでは、最初の文字と最後の文字を正しく整形するためにコンテキストが必要です。指定範囲外のバッファーのデータが有効なデータでない場合があります。フラグパラメータに LAYOUT_NO_START_CONTEXT および LAYOUT_NO_LIMIT_CONTEXT を追加すると、開始位置より前のデータ、終了位置より後のデータをコンテキスト検査の対象外にできます。

これ以外のフラグパラメータの値はすべて予約されています。

パラメータ:
frc - 指定された FontRenderContext
text - レイアウトするテキスト
start - GlyphVector で使用するテキストの開始位置
limit - GlyphVector で使用するテキストの終了位置
flags - 先に述べた制御フラグ
戻り値:
開始位置と終了位置の間のテキストを表す、新しい GlyphVector。テキストがもっとも見やすくなるようにグリフが選択、配置される
例外:
ArrayIndexOutOfBoundsException - 開始位置または終了位置が範囲外の場合
導入されたバージョン:
1.4
関連項目:
Bidi, LAYOUT_LEFT_TO_RIGHT, LAYOUT_RIGHT_TO_LEFT, LAYOUT_NO_START_CONTEXT, LAYOUT_NO_LIMIT_CONTEXT

finalize

protected void finalize()
                 throws Throwable
ネイティブ Font オブジェクトを破棄します。

オーバーライド:
クラス Object 内の finalize
例外:
Throwable - このメソッドで生じた Exception

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。