- すべての実装されたインタフェース:
- Serializable
- 直系の既知のサブクラス:
- FontUIResource
public class Font extends Object implements Serializable
Fontクラスは、テキストを見えるように描画するために使用されるフォントを表します。 フォントは文字の連続をグリフの連続にマッピングするための情報、そしてそのグリフの連続をGraphicsやComponentオブジェクトに描画するための情報を提供します。 
 文字とグリフ
文字は英字、数字、句読点などのアイテムを抽象的に表すシンボルです。 たとえば、'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実行環境で物理フォントにマッピングされます。 マッピングは実装、そして通常ロケールに依存し、提供される外見やメトリックスもそれに応じて異なります。 通常はさまざまな文字をカバーするため、各論理フォント名が複数の物理フォントにマッピングされます。
 LabelやTextFieldなどのピアAWTコンポーネントは、論理フォントだけを使用できます。
 
物理フォントまたは論理フォントを使用することの相対的な長所と短所については、「Javaチュートリアル」ドキュメントの「物理フォントと論理フォント」を参照してください。
フォント・フェースとフォント名
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のインスタンスを直列化しても、これらの値は直列化されません。 したがって、そのようなストリームから直列化復元されたフォントは、直列化不可能な属性を含んでいる元のフォントと等しいものにはなりません。 通常、これらの属性は特殊な状況でのみ使用され、直列化されることはまれなので、これが問題になることはほとんどありません。 
 
- FOREGROUNDと- BACKGROUNDは- Paint値を使用します。 サブクラス- Colorは直列化可能ですが、- GradientPaintと- TexturePaintは直列化不可能です。
- CHAR_REPLACEMENTは- GraphicAttribute値を使用します。 サブクラス- ShapeGraphicAttributeと- ImageGraphicAttributeは直列化不可能です。
- INPUT_METHOD_HIGHLIGHTは- InputMethodHighlight値を使用します。これらの値は直列化不可能です。- InputMethodHighlightを参照してください。
ユーザーがPaintとGraphicAttributeのカスタム・サブクラスを作成する場合は、これらを直列化可能にして、この問題を回避することができます。 ユーザーがインプット・メソッドのハイライトを使用する場合は、回避策として、現在のプラットフォームでそのハイライトのプラットフォーム固有属性に変換し、それをフォントに設定することができます。 
 
MapベースのコンストラクタとderiveFont APIではFONT属性は無視され、フォントで保持されません。FONT属性が存在する場合は、static getFont(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>)メソッドを使用してください。 詳細は、TextAttribute.FONTを参照してください。 
いくつかの属性は、追加の描画オーバーヘッドを発生させ、レイアウトを呼び出す可能性があります。 Fontがそのような属性を持っている場合、hasLayoutAttributes()
ノート: フォントを回転するとテキストのベースラインが回転することがあります。 このまれな可能性に対処するために、フォントAPIは指定に従って「ベースラインを基準にした座標で」メトリックスを返したりパラメータを受け取ったりします。 この場合、x座標はベースラインに沿った有効幅(正のxはベースラインに沿って進む方向)、y座標はxでのベースラインに対する垂線に沿った距離(正のyはベースライン・ベクトルから時計回りに90度の方向)にマップされます。 これが特に重要となるAPIは、「ベースラインを基準にした座標」を持つAPIとして示されています。
- 関連項目:
- 直列化された形式
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intBOLD太字スタイル定数です。static intCENTER_BASELINEテキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。static StringDIALOG論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。static StringDIALOG_INPUT論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。static intHANGING_BASELINEテキストをレイアウトするときのDevanagariなどのスクリプトで使用されるベースライン。static intITALICイタリック・スタイル定数です。static intLAYOUT_LEFT_TO_RIGHT双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。static intLAYOUT_NO_LIMIT_CONTEXT文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。static intLAYOUT_NO_START_CONTEXT文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。static intLAYOUT_RIGHT_TO_LEFT双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。static StringMONOSPACED論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。protected Stringnameコンストラクタに渡される、このFontの論理名。static intPLAINプレーン・スタイル定数です。protected floatpointSizefloatで表された、このFontのポイント・サイズ。static intROMAN_BASELINEテキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。static StringSANS_SERIF論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。static StringSERIF論理フォント「Serif」の正規ファミリ名を表す文字列定数です。protected intsize整数に丸められた、このFontのポイント・サイズ。protected intstyleコンストラクタに渡される、このFontのスタイル。static intTRUETYPE_FONTTRUETYPE型のフォント・リソースを識別します。static intTYPE1_FONTTYPE1型のフォント・リソースを識別します。
- 
コンストラクタのサマリー
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleancanDisplay(char c)このFontに、指定された文字のグリフが含まれているかどうかをチェックします。booleancanDisplay(int codePoint)このFontに、指定された文字のグリフが含まれているかどうかをチェックします。intcanDisplayUpTo(char[] text, int start, int limit)このFontが、startで始まり、limitで終わる指定されたtext内の文字を表示できるかどうかを示します。intcanDisplayUpTo(String str)このFontが指定されたStringを表示できるかどうかを示します。intcanDisplayUpTo(CharacterIterator iter, int start, int limit)このFontが、startで始まり、limitで終わるiterによって指定されたテキストを表示できるかどうかを示します。static FontcreateFont(int fontFormat, File fontFile)指定されたフォント・タイプと指定されたフォント・ファイルを使用して、新しいFontを返します。static FontcreateFont(int fontFormat, InputStream fontStream)指定されたフォント・タイプと入力データを使用して、新しいFontを返します。static Font[]createFonts(File fontFile)指定されたファイルからデコードされたFontの新しい配列を返します。static Font[]createFonts(InputStream fontStream)指定されたストリームからデコードされたFontの新しい配列を返します。GlyphVectorcreateGlyphVector(FontRenderContext frc, char[] chars)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。GlyphVectorcreateGlyphVector(FontRenderContext frc, int[] glyphCodes)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。GlyphVectorcreateGlyphVector(FontRenderContext frc, String str)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。GlyphVectorcreateGlyphVector(FontRenderContext frc, CharacterIterator ci)このFont内のUnicode cmapに基づいて指定された文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。static Fontdecode(String str)str引数で説明されているFontを返します。FontderiveFont(float size)現在のFontオブジェクトを複製し、それに新しいサイズを適用することによって、新しいFontオブジェクトを作成します。FontderiveFont(int style)現在のFontオブジェクトを複製し、それに新しいスタイルを適用することによって、新しいFontオブジェクトを作成します。FontderiveFont(int style, float size)このFontオブジェクトを複製し、新しいスタイルとサイズを適用することによって、新しいFontオブジェクトを作成します。FontderiveFont(int style, AffineTransform trans)このFontオブジェクトを複製し、新しいスタイルと変形体を適用することによって、新しいFontオブジェクトを作成します。FontderiveFont(AffineTransform trans)現在のFontオブジェクトを複製し、それに新しい変形体を適用することによって、新しいFontオブジェクトを作成します。FontderiveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)現在のFontオブジェクトを複製し、それに新しいフォント属性のセットを適用することによって、新しいFontオブジェクトを作成します。booleanequals(Object obj)このFontオブジェクトを指定されたObjectと比較します。Map<TextAttribute,?>getAttributes()このFontで使用可能なフォント属性のマップを返します。AttributedCharacterIterator.Attribute[]getAvailableAttributes()このFontでサポートされているすべての属性のキーを返します。bytegetBaselineFor(char c)この文字の表示に適切なベースラインを返します。StringgetFamily()このFontのファミリ名を返します。StringgetFamily(Locale l)指定されたロケール向けにローカライズされた、このFontのファミリ名を返します。static FontgetFont(String nm)システムのプロパティ・リストからFontオブジェクトを返します。static FontgetFont(String nm, Font font)システムのプロパティ・リストから指定されたFontを取得します。static FontgetFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)属性に適したFontを返します。StringgetFontName()このFontのフォント・フェース名を返します。StringgetFontName(Locale l)指定されたロケール向けにローカライズされた、Fontのフォント・フェース名を返します。floatgetItalicAngle()このFontのイタリックの角度を返します。LineMetricsgetLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。LineMetricsgetLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。LineMetricsgetLineMetrics(String str, FontRenderContext frc)指定されたStringとFontRenderContextで作成されたLineMetricsオブジェクトを返します。LineMetricsgetLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。Rectangle2DgetMaxCharBounds(FontRenderContext frc)指定されたFontRenderContextで定義された、最大の境界を持つ文字の境界を返します。intgetMissingGlyphCode()このFontに、指定されたUnicodeコード・ポイントのグリフがないときに使用されるglyphCodeを返します。StringgetName()このFontの論理名を返します。intgetNumGlyphs()このFont内のグリフの数を返します。StringgetPSName()このFontのポストスクリプト名を返します。intgetSize()整数に丸められた、このFontのポイント・サイズを返します。floatgetSize2D()float値で表された、このFontのポイント・サイズを返します。Rectangle2DgetStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定された文字の配列の論理境界を返します。Rectangle2DgetStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定されたStringの論理境界を返します。Rectangle2DgetStringBounds(String str, FontRenderContext frc)指定されたFontRenderContext内の指定されたStringの論理境界を返します。Rectangle2DgetStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定されたCharacterIteratorでインデックスが付けられた文字の論理境界を返します。intgetStyle()このFontのスタイルを返します。AffineTransformgetTransform()このFontに関連付けられた変形体のコピーを返します。inthashCode()このFontのハッシュ・コードを返します。booleanhasLayoutAttributes()このFontに追加のレイアウト処理を必要とする属性が含まれている場合は、trueを返します。booleanhasUniformLineMetrics()このFontに均一のライン・メトリックスが含まれているかどうかをチェックします。booleanisBold()このFontオブジェクトのスタイルがBOLDであるかどうかを示します。booleanisItalic()このFontオブジェクトのスタイルがITALICであるかどうかを示します。booleanisPlain()このFontオブジェクトのスタイルがPLAINであるかどうかを示します。booleanisTransformed()このFontオブジェクトに、Size属性以外にサイズに影響を与える変形体が含まれているかどうかを示します。GlyphVectorlayoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)可能であればテキストの完全なレイアウトを実行して、新しいGlyphVectorオブジェクトを返します。static booleantextRequiresLayout(char[] chars, int start, int end)指定されたテキストの一部が、drawString(String,int,int)およびその他のテキスト・レンダリング・メソッドを使用するときに正しくレンダリングするために、実装がレイアウト処理を呼び出す必要がある複合スクリプトからのものである場合はtrueを返します。StringtoString()このFontオブジェクトをString表現に変換します。
- 
フィールド詳細- 
DIALOGpublic static final String DIALOG論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。 Fontの構築で、コンパイル時に名前を検証するために役立ちます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
DIALOG_INPUTpublic static final String DIALOG_INPUT論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。 Fontの構築で、コンパイル時に名前を検証するために役立ちます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
SANS_SERIFpublic static final String SANS_SERIF論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。 Fontの構築で、コンパイル時に名前を検証するために役立ちます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
SERIFpublic static final String SERIF論理フォント「Serif」の正規ファミリ名を表す文字列定数です。 Fontの構築で、コンパイル時に名前を検証するために役立ちます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
MONOSPACEDpublic static final String MONOSPACED論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。 Fontの構築で、コンパイル時に名前を検証するために役立ちます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
PLAINpublic static final int PLAINプレーン・スタイル定数です。- 関連項目:
- 定数フィールド値
 
- 
BOLDpublic static final int BOLD太字スタイル定数です。 ほかのスタイル定数(PLAINを除く)と組み合わせて、混合スタイルを生成することができます。- 関連項目:
- 定数フィールド値
 
- 
ITALICpublic static final int ITALICイタリック・スタイル定数です。 ほかのスタイル定数(PLAINを除く)と組み合わせて、混合スタイルを生成することができます。- 関連項目:
- 定数フィールド値
 
- 
ROMAN_BASELINEpublic static final int ROMAN_BASELINEテキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。- 関連項目:
- 定数フィールド値
 
- 
CENTER_BASELINEpublic static final int CENTER_BASELINEテキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。- 関連項目:
- 定数フィールド値
 
- 
HANGING_BASELINEpublic static final int HANGING_BASELINEテキストをレイアウトするときのDevanagariなどのスクリプトで使用されるベースライン。- 関連項目:
- 定数フィールド値
 
- 
TRUETYPE_FONTpublic static final int TRUETYPE_FONTTRUETYPE型のフォント・リソースを識別します。 TrueTypeフォント・リソースをcreateFont(int, java.io.InputStream)メソッドに指定する場合に使用します。 TrueType形式が拡張されてOpenType形式になり、それによってPostscriptアウトライン・フォントのサポートが追加されました。したがって、このタグは、このようなフォントとTrueTypeアウトライン・フォントの両方を参照します。- 導入されたバージョン:
- 1.3
- 関連項目:
- 定数フィールド値
 
- 
TYPE1_FONTpublic static final int TYPE1_FONTTYPE1型のフォント・リソースを識別します。 Type1フォント・リソースをcreateFont(int, java.io.InputStream)メソッドに指定する場合に使用します。- 導入されたバージョン:
- 1.5
- 関連項目:
- 定数フィールド値
 
- 
nameprotected String nameコンストラクタに渡される、このFontの論理名。- 導入されたバージョン:
- 1.0
- 関連項目:
- getName()
 
- 
styleprotected int styleコンストラクタに渡される、このFontのスタイル。 PLAIN、BOLD、ITALIC、またはBOLD+ITALICのいずれかです。- 導入されたバージョン:
- 1.0
- 関連項目:
- getStyle()
 
- 
sizeprotected int size整数に丸められた、このFontのポイント・サイズ。- 導入されたバージョン:
- 1.0
- 関連項目:
- getSize()
 
- 
pointSizeprotected float pointSizefloatで表された、このFontのポイント・サイズ。- 関連項目:
- getSize(),- getSize2D()
 
- 
LAYOUT_LEFT_TO_RIGHTpublic static final int LAYOUT_LEFT_TO_RIGHT双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。- 関連項目:
- 定数フィールド値
 
- 
LAYOUT_RIGHT_TO_LEFTpublic static final int LAYOUT_RIGHT_TO_LEFT双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。- 関連項目:
- 定数フィールド値
 
- 
LAYOUT_NO_START_CONTEXTpublic static final int LAYOUT_NO_START_CONTEXT文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。- 関連項目:
- 定数フィールド値
 
- 
LAYOUT_NO_LIMIT_CONTEXTpublic static final int LAYOUT_NO_LIMIT_CONTEXT文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。- 関連項目:
- 定数フィールド値
 
 
- 
- 
コンストラクタの詳細- 
Fontpublic 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です。 これらの名前にはすべて、定義済みの文字列定数が存在する。たとえば、- DIALOG。- nameが- nullの場合、- getName()によって返される新しい- Fontの論理フォント名は名前「Default」に設定される。
- style-- Fontのスタイル定数。スタイル引数は、- PLAIN、あるいは- BOLDと- ITALICをビット単位に結合した整数型ビット・マスク(- ITALICまたは- BOLD|ITALICなど)。 style引数が有効な整数型ビット・マスクでない場合、スタイルは- PLAINに設定される。
- size-- Fontのポイント・サイズ
- 導入されたバージョン:
- 1.0
- 関連項目:
- GraphicsEnvironment.getAllFonts(),- GraphicsEnvironment.getAvailableFontFamilyNames()
 
- 
Fontpublic Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)指定された属性を使用して、新しいFontを作成します。TextAttributeで定義されているキーだけが認識されます。 また、このコンストラクタではFONT属性は認識されません(getAvailableAttributes()を参照してください)。 有効な型の値を持つ属性だけが、新しいFontに影響を与えます。attributesがnullの場合、新しいFontはデフォルト値で初期化されます。- パラメータ:
- attributes- 新しい- Fontに割り当てる属性、または- null
- 関連項目:
- TextAttribute
 
- 
Fontprotected Font(Font font)指定されたfontから新しいFontを作成します。 このコンストラクタはサブクラスで使用します。- パラメータ:
- font- この- Fontの生成元のフォント。
- 例外:
- NullPointerException-- fontがnullである場合
- 導入されたバージョン:
- 1.6
 
 
- 
- 
メソッドの詳細- 
textRequiresLayoutpublic static boolean textRequiresLayout(char[] chars, int start, int end)指定されたテキストの一部が、drawString(String,int,int)およびその他のテキスト・レンダリング・メソッドを使用するときに正しくレンダリングするために、実装がレイアウト処理を呼び出す必要がある複合スクリプトからのものである場合はtrueを返します。 テキストの測定は同様に、同じ余分な処理を必要とすることがあります。startおよびendインデックスは、アプリケーションがテキストのサブセットのみを考慮できるように提供されます。 検査された最後のcharインデックスは"end-1"にあります。つまり、配列全体を調べるリクエストは
 アプリケーションは、この情報がパフォーマンスに影響を与えるコードで役立つことがあります。Font.textRequiresLayout(chars, 0, chars.length);このメソッドが falseを返しても、trueを返すhasLayoutAttributes()のFontと使用される時に起動されるレイアウト処理はまだ起動されるかもしれません。そのようなフォント属性を説明する回答を得るには、特定のフォントについてメソッドを調べる必要があります。- パラメータ:
- chars- テキスト。
- start- 調べる最初のcharのインデックス。
- end- 終了インデックス、排他的。
- 戻り値:
- 指定されたテキストに特別なレイアウトが必要な場合はtrue。
- 例外:
- NullPointerException-- charsがnullの場合。
- ArrayIndexOutOfBoundsException-- startが負の場合、または- endが- chars配列の長さより大きい場合。
- 導入されたバージョン:
- 9
 
- 
getFontpublic static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)属性に適したFontを返します。attributesに有効なFontを値として持つFONT属性が含まれている場合、残りの属性とマージされます。 詳細は、TextAttribute.FONTを参照してください。- パラメータ:
- attributes- 新しい- Fontに割り当てる属性
- 戻り値:
- 指定された属性で生成された新しいFont
- 例外:
- NullPointerException-- attributesがnullの場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- TextAttribute
 
- 
createFontspublic static Font[] createFonts(InputStream fontStream) throws FontFormatException, IOException指定されたストリームからデコードされたFontの新しい配列を返します。 返されるFont[]には少なくとも1つの要素があります。createFont(int, InputStream)メソッドにおけるこのバリエーションの明確な目的は、TrueType/OpenTypeフォント・コレクションを表すフォント・ソースをサポートし、そのコレクション内の個々のフォントをすべて返すことができるようにすることです。 したがって、データソースに少なくとも1つのTrueType/OpenTypeフォントが含まれていない場合、このメソッドはFontFormatExceptionをスローします。 コレクション内のいずれかのフォントに必要なフォント表が含まれていない場合、同じ例外がスローされます。条件"少なくても一つ"は、ストリームが単一のOpenType/TrueTypeフォントを表すことを可能にします。 つまり、それはコレクションである必要はありません。 返される配列の各 Font要素は、ポイント・サイズ1とスタイルPLAINで作成されます。 次に、このベース・フォントをこのクラスのderiveFontメソッドで使用すると、さまざまなサイズ、スタイル、変形体、およびフォント機能を持つ新しいFontオブジェクトを派生させることができます。このメソッドは InputStreamを閉じません。各 FontをFontコンストラクタで使用できるようにするには、GraphicsEnvironmentにregisterFont(Font)を呼び出すことで登録する必要があります。- パラメータ:
- fontStream- フォントまたはフォント・コレクションの入力データを表す- InputStreamオブジェクト。
- 戻り値:
- 新しいFont[]。
- 例外:
- FontFormatException-- fontStreamデータにコレクションのいずれかの要素に必要なフォント表が含まれていない場合、またはフォントがまったく含まれていない場合。
- IOException-- fontStreamを完全に読込みできない場合。
- 導入されたバージョン:
- 9
- 関連項目:
- GraphicsEnvironment.registerFont(Font)
 
- 
createFontspublic static Font[] createFonts(File fontFile) throws FontFormatException, IOException指定されたファイルからデコードされたFontの新しい配列を返します。 返されるFont[]には少なくとも1つの要素があります。createFont(int, File)メソッドにおけるこのバリエーションの明確な目的は、TrueType/OpenTypeフォント・コレクションを表すフォント・ソースをサポートし、そのコレクション内の個々のフォントをすべて返すことができるようにすることです。 したがって、データソースに少なくとも1つのTrueType/OpenTypeフォントが含まれていない場合、このメソッドはFontFormatExceptionをスローします。 コレクション内のいずれかのフォントに必要なフォント表が含まれていない場合、同じ例外がスローされます。条件"少なくても一つ"は、ストリームが単一のOpenType/TrueTypeフォントを表すことを可能にします。 つまり、それはコレクションである必要はありません。 返される配列の各 Font要素は、ポイント・サイズ1とスタイルPLAINで作成されます。 次に、このベース・フォントをこのクラスのderiveFontメソッドで使用すると、さまざまなサイズ、スタイル、変形体、およびフォント機能を持つ新しいFontオブジェクトを派生させることができます。各 FontをFontコンストラクタで使用できるようにするには、GraphicsEnvironmentにregisterFont(Font)を呼び出すことで登録する必要があります。- パラメータ:
- fontFile- フォントまたはフォント・コレクションの入力データを含む- Fileオブジェクト。
- 戻り値:
- 新しいFont[]。
- 例外:
- FontFormatException-- Fileにコレクションのいずれかの要素に必要なフォント表が含まれていない場合、またはフォントがまったく含まれていない場合。
- IOException-- fontFileを読込みできない場合。
- 導入されたバージョン:
- 9
- 関連項目:
- GraphicsEnvironment.registerFont(Font)
 
- 
createFontpublic static Font createFont(int fontFormat, InputStream fontStream) throws FontFormatException, IOException指定されたフォント・タイプと入力データを使用して、新しいFontを返します。 新しいFontは、1のポイント・サイズとスタイルPLAINで作成されます。 次に、このベース・フォントをこのクラスのderiveFontメソッドで使用すると、さまざまなサイズ、スタイル、変形体、およびフォント機能を持つ新しいFontオブジェクトを派生させることができます。 このメソッドはInputStreamを閉じません。FontをFontコンストラクタで使用できるようにするには、返されたFontをGraphicsEnvironmentにregisterFont(Font)を呼び出すことで登録する必要があります。- パラメータ:
- fontFormat-- Fontのタイプ。TrueTypeリソースを指定する場合は- TRUETYPE_FONT、Type 1リソースを指定する場合は- TYPE1_FONT。
- fontStream- フォントの入力データを表す- InputStreamオブジェクト。
- 戻り値:
- 指定されたフォント・タイプで作成された新しいFont。
- 例外:
- IllegalArgumentException-- fontFormatが- TRUETYPE_FONTまたは- TYPE1_FONTでない場合。
- FontFormatException-- fontStreamデータが、指定された形式に必要なフォント表を持っていない場合。
- IOException-- fontStreamを完全に読込みできない場合。
- 導入されたバージョン:
- 1.3
- 関連項目:
- GraphicsEnvironment.registerFont(Font)
 
- 
createFontpublic 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コンストラクタで使用できるようにするには、返された- Fontを- GraphicsEnvironmentに- registerFont(Font)を呼び出すことで登録する必要があります。
- fontFile- フォントの入力データを表す- Fileオブジェクト。
- 戻り値:
- 指定されたフォント・タイプで作成された新しいFont。
- 例外:
- IllegalArgumentException-- fontFormatが- TRUETYPE_FONTまたは- TYPE1_FONTでない場合。
- NullPointerException-- fontFileがnullの場合。
- IOException-- fontFileを読込みできない場合。
- FontFormatException-- fontFileが、指定された形式に必要なフォント表を持っていない場合。
- SecurityException- 実行するコードに、ファイルから読み取るアクセス権がない場合。
- 導入されたバージョン:
- 1.5
- 関連項目:
- GraphicsEnvironment.registerFont(Font)
 
- 
getTransformpublic AffineTransform getTransform()このFontに関連付けられた変形体のコピーを返します。 この変形体は、フォントの構築に使用されるものとは限りません。 フォントにアルゴリズムによる上付き処理や幅の調整が行われる場合、これは返されるAffineTransformに組み込まれます。通常、フォントは変形されません。 一般に、クライアントでは、まず isTransformed()を呼び出し、isTransformedからtrueが返された場合のみこのメソッドを呼び出すようにしてください。- 戻り値:
- このFontオブジェクトの変形体属性を表すAffineTransformオブジェクト。
 
- 
getFamilypublic String getFamily()このFontのファミリ名を返します。フォントのファミリ名はフォント固有です。 Helvetica ItalicとHelvetica Boldの2つのフォントにはHelveticaという同じファミリ名が付いていますが、これらのフォント・フェース名はHelvetica BoldとHelvetica Italicです。 使用可能なファミリ名のリストは、 GraphicsEnvironment.getAvailableFontFamilyNames()メソッドを使用して取得できる可能性があります。フォントの論理名を取得するには getNameを使用します。 フォントのフォント・フェース名を取得するにはgetFontNameを使用します。- 戻り値:
- このFontのファミリ名を表すString。
- 導入されたバージョン:
- 1.1
- 関連項目:
- getName(),- getFontName()
 
- 
getFamily指定されたロケール向けにローカライズされた、このFontのファミリ名を返します。フォントのファミリ名はフォント固有です。 Helvetica ItalicとHelvetica Boldの2つのフォントにはHelveticaという同じファミリ名が付いていますが、これらのフォント・フェース名はHelvetica BoldとHelvetica Italicです。 使用可能なファミリ名のリストは、 GraphicsEnvironment.getAvailableFontFamilyNames()メソッドを使用して取得できる可能性があります。フォントのフォント・フェース名を取得するには getFontNameを使用します。- パラメータ:
- l- ファミリ名を取得するロケール
- 戻り値:
- 指定されたロケール向けにローカライズされた、フォントのファミリ名を表すString。
- 導入されたバージョン:
- 1.2
- 関連項目:
- getFontName(),- Locale
 
- 
getPSNamepublic String getPSName()このFontのポストスクリプト名を返します。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントのフォント・フェース名を取得するにはgetFontNameを使用します。- 戻り値:
- このFontのポストスクリプト名を表すString。
- 導入されたバージョン:
- 1.2
 
- 
getNamepublic String getName()このFontの論理名を返します。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントのフォント・フェース名を取得するにはgetFontNameを使用します。- 戻り値:
- このFontの論理名を表すString。
- 導入されたバージョン:
- 1.0
- 関連項目:
- getFamily(),- getFontName()
 
- 
getFontNamepublic String getFontName()このFontのフォント・フェース名を返します。 たとえば、フォント・フェース名としてHelvetica Boldが返されます。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントの論理名を取得するにはgetNameを使用します。- 戻り値:
- このFontのフォント・フェース名を表すString。
- 導入されたバージョン:
- 1.2
- 関連項目:
- getFamily(),- getName()
 
- 
getFontName指定されたロケール向けにローカライズされた、Fontのフォント・フェース名を返します。 たとえば、フォント・フェース名としてHelvetica Fettが返されます。 フォントのファミリ名を取得するにはgetFamilyを使用します。- パラメータ:
- l- フォント・フェース名を取得するロケール
- 戻り値:
- 指定されたロケール向けにローカライズされた、フォント・フェース名を表すString。
- 関連項目:
- getFamily(),- Locale
 
- 
getStylepublic int getStyle()このFontのスタイルを返します。 PLAIN、BOLD、ITALIC、またはBOLD+ITALICのいずれかです。- 戻り値:
- このFontのスタイル
- 導入されたバージョン:
- 1.0
- 関連項目:
- isPlain(),- isBold(),- isItalic()
 
- 
getSizepublic int getSize()整数に丸められた、このFontのポイント・サイズを返します。 ほとんどのユーザーは、ポイント・サイズでのフォントのグリフ・サイズの指定に慣れています。 このポイント・サイズは、シングル・スペースのテキスト・ドキュメント上の、ある行のベースラインから次の行のベースラインまでの距離を定義します。 ポイント・サイズは文字体裁のポイントをベースにしており、およそ1/72インチです。Java (TM) 2D APIの規約では、1ポイントがユーザー座標の1単位に相当します。 ユーザー空間座標からデバイス空間座標への変換に標準化された変換を使用する場合、72ユーザー空間単位がデバイス空間の1インチと等しくなります。 この場合、1ポイントは1/72インチです。 - 戻り値:
- 1/72インチ単位で表した、このFontのポイント・サイズ。
- 導入されたバージョン:
- 1.0
- 関連項目:
- getSize2D(),- GraphicsConfiguration.getDefaultTransform(),- GraphicsConfiguration.getNormalizingTransform()
 
- 
getSize2Dpublic float getSize2D()float値で表された、このFontのポイント・サイズを返します。- 戻り値:
- float値で表された、この- Fontのポイント・サイズ。
- 導入されたバージョン:
- 1.2
- 関連項目:
- getSize()
 
- 
isPlainpublic boolean isPlain()このFontオブジェクトのスタイルがPLAINであるかどうかを示します。- 戻り値:
- このFontのスタイルがPLAINの場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.0
- 関連項目:
- getStyle()
 
- 
isBoldpublic boolean isBold()このFontオブジェクトのスタイルがBOLDであるかどうかを示します。- 戻り値:
- このFontオブジェクトのスタイルがBOLDの場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.0
- 関連項目:
- getStyle()
 
- 
isItalicpublic boolean isItalic()このFontオブジェクトのスタイルがITALICであるかどうかを示します。- 戻り値:
- このFontオブジェクトのスタイルがITALICの場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.0
- 関連項目:
- getStyle()
 
- 
isTransformedpublic boolean isTransformed()このFontオブジェクトに、Size属性以外にサイズに影響を与える変形体が含まれているかどうかを示します。- 戻り値:
- このFontオブジェクトが非恒等AffineTransform属性を持つ場合はtrue、それ以外の場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- getTransform()
 
- 
hasLayoutAttributespublic boolean hasLayoutAttributes()このFontに追加のレイアウト処理を必要とする属性が含まれている場合は、trueを返します。- 戻り値:
- フォントがレイアウト属性を持っている場合はtrue
- 導入されたバージョン:
- 1.6
 
- 
getFontシステムのプロパティ・リストからFontオブジェクトを返します。nmは取得するシステム・プロパティの名前として扱われます。 このプロパティのString値は、Font.decode(String)の仕様に従って、Fontオブジェクトとして解釈されます。指定されたプロパティが見つからない場合、または実行するコードにプロパティを読み取るアクセス権がない場合は、nullを返します。- パラメータ:
- nm- プロパティ名
- 戻り値:
- プロパティ名が記述するFontオブジェクト、または該当するプロパティが存在しない場合はnull。
- 例外:
- NullPointerException- nmがnullである場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- decode(String)
 
- 
decodestr引数で説明されているFontを返します。 必要なフォントをメソッドが確実に返すためには、strパラメータの書式を次のいずれかに設定します- fontname-style-pointsize
- fontname-pointsize
- fontname-style
- fontname
- fontname style pointsize
- fontname pointsize
- fontname style
- fontname
 "PLAIN"、"BOLD"、"BOLDITALIC"、"ITALIC"のいずれかです(大文字または小文字のどちらでも指定可能)。pointsizeは正の10進数の整数で表したポイント・サイズです。 太字でポイント・サイズ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()メソッドを使用します。strがnullの場合、ファミリ名が「Dialog」、サイズが12、スタイルがPLAINの新しいFontが返されます。- パラメータ:
- str- フォント名、または- null
- 戻り値:
- strで指定される- Fontオブジェクト。- strが- nullの場合は新しいデフォルト- Font。
- 導入されたバージョン:
- 1.1
- 関連項目:
- getFamily()
 
- 
getFontシステムのプロパティ・リストから指定されたFontを取得します。SystemのgetPropertyメソッドの場合と同じように、最初の引数は取得するシステム・プロパティの名前として扱われます。 このプロパティのString値は、Fontオブジェクトとして解釈されます。プロパティ値は Font.decode(String)によって受け入れられる形式のいずれかです。指定されたプロパティが見つからない場合、または実行するコードにプロパティを読み取るアクセス権がない場合は、font引数が返されます。- パラメータ:
- nm- プロパティ名。大文字と小文字は区別されない
- font-プロパティ- nmが定義されていない場合に返されるデフォルトの- Font
- 戻り値:
- プロパティのFont値。
- 例外:
- NullPointerException- nmがnullである場合。
- 関連項目:
- decode(String)
 
- 
hashCodepublic int hashCode()このFontのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このFontのハッシュ・コード値。
- 導入されたバージョン:
- 1.0
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalspublic boolean equals(Object obj)このFontオブジェクトを指定されたObjectと比較します。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- 比較する- Object
- 戻り値:
- オブジェクトが同じ場合、または引数がこのオブジェクトと同じフォントを指定しているFontオブジェクトである場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.0
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
toStringpublic String toString()このFontオブジェクトをString表現に変換します。
- 
getNumGlyphspublic int getNumGlyphs()このFont内のグリフの数を返します。 このFontのグリフ・コードの範囲は、0からgetNumGlyphs()- 1です。- 戻り値:
- このFontのグリフ数。
- 導入されたバージョン:
- 1.2
 
- 
getMissingGlyphCodepublic int getMissingGlyphCode()このFontに、指定されたUnicodeコード・ポイントのグリフがないときに使用されるglyphCodeを返します。- 戻り値:
- このFontのglyphCode。
- 導入されたバージョン:
- 1.2
 
- 
getBaselineForpublic byte getBaselineFor(char c)この文字の表示に適切なベースラインを返します。大きなフォントはさまざまな書記法をサポートでき、各書記法は別々のベースラインを使用できます。 文字引数は、使用する書記法を決めます。 クライアントは、すべての文字が同じベースラインを使用すると仮定することはできません。 - パラメータ:
- c- 書記法を識別するための文字
- 戻り値:
- 指定された文字に対して適切なベースライン
- 導入されたバージョン:
- 1.2
- 関連項目:
- LineMetrics.getBaselineOffsets(),- ROMAN_BASELINE,- CENTER_BASELINE,- HANGING_BASELINE
 
- 
getAttributespublic Map<TextAttribute,?> getAttributes()このFontで使用可能なフォント属性のマップを返します。 属性には、合字やグリフの代用などが含まれます。- 戻り値:
- このFontの属性マップ。
 
- 
getAvailableAttributespublic AttributedCharacterIterator.Attribute[] getAvailableAttributes()このFontでサポートされているすべての属性のキーを返します。 それらの属性は、ほかのフォントを派生させるために使用できます。- 戻り値:
- このFontがサポートするすべての属性のキーが格納されている配列。
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(int style, float size)このFontオブジェクトを複製し、新しいスタイルとサイズを適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- style- 新しい次のものに対するスタイル:- Font
- size- 新しい- Fontのサイズ
- 戻り値:
- 新しいFontオブジェクト。
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(int style, AffineTransform trans)このFontオブジェクトを複製し、新しいスタイルと変形体を適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- style- 新しい次のものに対するスタイル:- Font
- trans- 新しい- Fontに関連付けられた- AffineTransform
- 戻り値:
- 新しいFontオブジェクト。
- 例外:
- IllegalArgumentException-- transが- nullの場合
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(float size)現在のFontオブジェクトを複製し、それに新しいサイズを適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- size- 新しい- Fontのサイズ。
- 戻り値:
- 新しいFontオブジェクト。
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(AffineTransform trans)現在のFontオブジェクトを複製し、それに新しい変形体を適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- trans- 新しい- Fontに関連付けられた- AffineTransform
- 戻り値:
- 新しいFontオブジェクト。
- 例外:
- IllegalArgumentException-- transが- nullの場合
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(int style)現在のFontオブジェクトを複製し、それに新しいスタイルを適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- style- 新しい次のものに対するスタイル:- Font
- 戻り値:
- 新しいFontオブジェクト。
- 導入されたバージョン:
- 1.2
 
- 
deriveFontpublic Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)現在のFontオブジェクトを複製し、それに新しいフォント属性のセットを適用することによって、新しいFontオブジェクトを作成します。- パラメータ:
- attributes- 新しい- Fontに使用可能な属性のマップ
- 戻り値:
- 新しいFontオブジェクト。
- 導入されたバージョン:
- 1.2
 
- 
canDisplaypublic boolean canDisplay(char c)このFontに、指定された文字のグリフが含まれているかどうかをチェックします。ノート: このメソッドは、補助文字を処理できません。 補助文字を含むすべてのUnicode文字をサポートするには、 canDisplay(int)メソッドまたはcanDisplayUpToメソッドを使用してください。- パラメータ:
- c- グリフが必要な文字
- 戻り値:
- このFontがこの文字のグリフを持つ場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.2
 
- 
canDisplaypublic boolean canDisplay(int codePoint)このFontに、指定された文字のグリフが含まれているかどうかをチェックします。- パラメータ:
- codePoint- グリフが必要な文字(Unicodeコード・ポイント)。
- 戻り値:
- このFontがこの文字のグリフを持つ場合はtrue、そうでない場合はfalse。
- 例外:
- IllegalArgumentException- コード・ポイントが有効なUnicodeコード・ポイントでない場合。
- 導入されたバージョン:
- 1.5
- 関連項目:
- Character.isValidCodePoint(int)
 
- 
canDisplayUpTopublic int canDisplayUpTo(String str)このFontが指定されたStringを表示できるかどうかを示します。 Unicodeエンコーディング文字列の場合、特定のフォントで文字列を表示できるかどうかを確認することが重要になります。 このメソッドは、Stringstr内のオフセットを返します。このオフセットは、欠如しているグリフ・コードを使用しないかぎりこのFontでは表示できない最初の文字を示します。 このFontですべての文字を表示できる場合は、-1が返されます。- パラメータ:
- str-- Stringオブジェクト
- 戻り値:
- このFontが表示できないstr内の最初の文字を指すstrへのオフセット、またはこのFontがstr内のすべての文字を表示できる場合は-1。
- 導入されたバージョン:
- 1.2
 
- 
canDisplayUpTopublic int canDisplayUpTo(char[] text, int start, int limit)このFontが、startで始まり、limitで終わる指定されたtext内の文字を表示できるかどうかを示します。 このメソッドは簡易オーバーロードです。- パラメータ:
- text-- char値の指定された配列
- start- 指定された- char値の配列内の指定された開始オフセット(- char数)
- limit- 指定された- char値の配列内の指定された終了オフセット(- char数)
- 戻り値:
- このFontが表示できないtext内の最初の文字を指すtextへのオフセット、またはこのFontがtext内のすべての文字を表示できる場合は-1。
- 導入されたバージョン:
- 1.2
 
- 
canDisplayUpTopublic int canDisplayUpTo(CharacterIterator iter, int start, int limit)このFontが、startで始まり、limitで終わるiterによって指定されたテキストを表示できるかどうかを示します。- パラメータ:
- iter-- CharacterIteratorオブジェクト
- start- 指定された- CharacterIterator内の指定された開始オフセット。
- limit- 指定された- CharacterIterator内の指定された終了オフセット。
- 戻り値:
- このFontが表示できないiter内の最初の文字を指すiterへのオフセット、またはこのFontがiter内のすべての文字を表示できる場合は-1。
- 導入されたバージョン:
- 1.2
 
- 
getItalicAnglepublic float getItalicAngle()このFontのイタリックの角度を返します。 イタリックの角度とはこのFontのポスチャ(傾き)にもっとも一致するキャレットの逆傾斜です。- 戻り値:
- このFontのITALICスタイルの角度。
- 関連項目:
- TextAttribute.POSTURE
 
- 
hasUniformLineMetricspublic boolean hasUniformLineMetrics()このFontに均一のライン・メトリックスが含まれているかどうかをチェックします。 論理Fontは、複合フォントの場合があります。複合フォントは、複数のコード範囲を網羅するために複数の物理フォントで構成されています。 それらの各フォントは、別々のLineMetricsを持つ場合があります。 論理Fontが単一のフォントの場合、メトリックスは均一です。- 戻り値:
- このFontが均一のライン・メトリックスを持つ場合はtrue、そうでない場合はfalse。
 
- 
getLineMetricspublic LineMetrics getLineMetrics(String str, FontRenderContext frc)指定されたStringとFontRenderContextで作成されたLineMetricsオブジェクトを返します。- パラメータ:
- str- 指定された- String
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定されたStringとFontRenderContextで作成されたLineMetricsオブジェクト。
 
- 
getLineMetricspublic LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。- パラメータ:
- str- 指定された- String
- beginIndex- 次の初期オフセット:- str
- limit- 次の終了オフセット:- str
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定された引数で作成されたLineMetricsオブジェクト。
 
- 
getLineMetricspublic LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。- パラメータ:
- chars- 文字の配列
- beginIndex- 次の初期オフセット:- chars
- limit- 次の終了オフセット:- chars
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定された引数で作成されたLineMetricsオブジェクト。
 
- 
getLineMetricspublic LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)指定された引数で作成されたLineMetricsオブジェクトを返します。- パラメータ:
- ci- 指定された- CharacterIterator
- beginIndex- 次の初期オフセット:- ci
- limit- 次の終了オフセット:- ci
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定された引数で作成されたLineMetricsオブジェクト。
 
- 
getStringBoundspublic Rectangle2D getStringBounds(String str, FontRenderContext frc)指定されたFontRenderContext内の指定されたStringの論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています( class notesを参照してください)。- パラメータ:
- str- 指定された- String
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定されたFontRenderContextで、指定されたStringのバウンディング・ボックスを表すRectangle2D。
- 導入されたバージョン:
- 1.2
- 関連項目:
- FontRenderContext,- createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
 
- 
getStringBoundspublic Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定されたStringの論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています( class notesを参照してください)。- パラメータ:
- str- 指定された- String
- beginIndex- 次の初期オフセット:- str
- limit- 次の終了オフセット:- str
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定されたFontRenderContextで、指定されたStringのバウンディング・ボックスを表すRectangle2D。
- 例外:
- IndexOutOfBoundsException-- beginIndexが0より小さいか、- limitが- strの長さより大きいか、または- beginIndexが- limitより大きい場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- FontRenderContext,- createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
 
- 
getStringBoundspublic Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定された文字の配列の論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています( class notesを参照してください)。- パラメータ:
- chars- 文字の配列
- beginIndex- 文字配列の開始オフセット
- limit- 文字配列の終了オフセット
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定されたFontRenderContextで、指定された文字配列のバウンディング・ボックスを表すRectangle2D。
- 例外:
- IndexOutOfBoundsException-- beginIndexが0より小さいか、- limitが- charsの長さより大きいか、または- beginIndexが- limitより大きい場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- FontRenderContext,- createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
 
- 
getStringBoundspublic Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)指定されたFontRenderContext内の指定されたCharacterIteratorでインデックスが付けられた文字の論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています( class notesを参照してください)。- パラメータ:
- ci- 指定された- CharacterIterator
- beginIndex- 次の初期オフセット:- ci
- limit-- ciの終了オフセット
- frc- 指定された- FontRenderContext
- 戻り値:
- 指定されたFontRenderContextで、指定されたCharacterIterator内のインデックス付き文字のバウンディング・ボックスを表すRectangle2D。
- 例外:
- IndexOutOfBoundsException-- beginIndexが- ciの開始インデックスより小さい場合、- limitが- ciの終了インデックスより大きい場合、または- beginIndexが- limitより大きい場合
- 導入されたバージョン:
- 1.2
- 関連項目:
- FontRenderContext,- createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
 
- 
getMaxCharBoundspublic Rectangle2D getMaxCharBounds(FontRenderContext frc)指定されたFontRenderContextで定義された、最大の境界を持つ文字の境界を返します。ノート: 返された境界は、ベースラインを基準にした座標で表されています( class notesを参照してください)。- パラメータ:
- frc- 指定された- FontRenderContext
- 戻り値:
- 最大の境界を持つ文字のバウンディング・ボックスであるRectangle2D。
 
- 
createGlyphVectorpublic GlyphVector createGlyphVector(FontRenderContext frc, String str)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
- frc- 指定された- FontRenderContext
- str- 指定された- String
- 戻り値:
- 指定されたStringと指定されたFontRenderContextで作成された新しいGlyphVector。
 
- 
createGlyphVectorpublic GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
- frc- 指定された- FontRenderContext
- chars- 指定された文字配列
- 戻り値:
- 指定された文字配列と指定されたFontRenderContextで作成された新しいGlyphVector。
 
- 
createGlyphVectorpublic GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)このFont内のUnicode cmapに基づいて指定された文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
- frc- 指定された- FontRenderContext
- ci- 指定された- CharacterIterator
- 戻り値:
- 指定されたCharacterIteratorと指定されたFontRenderContextで作成された新しいGlyphVector。
 
- 
createGlyphVectorpublic GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
- frc- 指定された- FontRenderContext
- glyphCodes- 指定された整数配列
- 戻り値:
- 指定された整数配列と指定されたFontRenderContextで作成された新しいGlyphVector。
 
- 
layoutGlyphVectorpublic 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
 
 
-