- java.lang.Object
-
- java.awt.Font
-
- すべての実装されたインタフェース:
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属性が存在する場合は、staticgetFont(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>)
メソッドを使用してください。 詳細は、TextAttribute.FONT
を参照してください。いくつかの属性は、追加の描画オーバーヘッドを発生させ、レイアウトを呼び出す可能性があります。
Font
がそのような属性を持っている場合、
メソッドはtrueを返します。hasLayoutAttributes()
注: フォントを回転するとテキストのベースラインが回転することがあります。 このまれな可能性に対処するために、フォント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
テキストをレイアウトするときのDevanagariなどのスクリプトで使用されるベースライン。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型のフォント・リソースを識別します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 boolean
canDisplay(char c)
このFont
に、指定された文字のグリフが含まれているかどうかをチェックします。boolean
canDisplay(int codePoint)
このFont
に、指定された文字のグリフが含まれているかどうかをチェックします。int
canDisplayUpTo(char[] text, int start, int limit)
このFont
が、start
で始まり、limit
で終わる指定されたtext
内の文字を表示できるかどうかを示します。int
canDisplayUpTo(String str)
このFont
が指定されたString
を表示できるかどうかを示します。int
canDisplayUpTo(CharacterIterator iter, int start, int limit)
このFont
が、start
で始まり、limit
で終わるiter
によって指定されたテキストを表示できるかどうかを示します。static Font
createFont(int fontFormat, File fontFile)
指定されたフォント・タイプと指定されたフォント・ファイルを使用して、新しいFont
を返します。static Font
createFont(int fontFormat, InputStream fontStream)
指定されたフォント・タイプと入力データを使用して、新しいFont
を返します。static Font[]
createFonts(File fontFile)
指定されたファイルからデコードされたFont
の新しい配列を返します。static Font[]
createFonts(InputStream fontStream)
指定されたストリームからデコードされたFont
の新しい配列を返します。GlyphVector
createGlyphVector(FontRenderContext frc, char[] chars)
この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
を作成します。GlyphVector
createGlyphVector(FontRenderContext frc, CharacterIterator ci)
このFont
内のUnicode cmapに基づいて指定された文字からグリフに1対1にマッピングすることによって、GlyphVector
を作成します。static Font
decode(String str)
str
引数で説明されているFont
を返します。Font
deriveFont(float size)
現在のFont
オブジェクトを複製し、それに新しいサイズを適用することによって、新しいFont
オブジェクトを作成します。Font
deriveFont(int style)
現在のFont
オブジェクトを複製し、それに新しいスタイルを適用することによって、新しいFont
オブジェクトを作成します。Font
deriveFont(int style, float size)
このFont
オブジェクトを複製し、新しいスタイルとサイズを適用することによって、新しいFont
オブジェクトを作成します。Font
deriveFont(int style, AffineTransform trans)
このFont
オブジェクトを複製し、新しいスタイルと変形を適用することによって、新しいFont
オブジェクトを作成します。Font
deriveFont(AffineTransform trans)
現在のFont
オブジェクトを複製し、それに新しい変形を適用することによって、新しいFont
オブジェクトを作成します。Font
deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
現在のFont
オブジェクトを複製し、それに新しいフォント属性のセットを適用することによって、新しいFont
オブジェクトを作成します。boolean
equals(Object obj)
このFont
オブジェクトを指定されたObject
と比較します。Map<TextAttribute,?>
getAttributes()
このFont
で使用可能なフォント属性のマップを返します。AttributedCharacterIterator.Attribute[]
getAvailableAttributes()
このFont
でサポートされているすべての属性のキーを返します。byte
getBaselineFor(char c)
この文字の表示に適切なベースラインを返します。String
getFamily()
このFont
のファミリ名を返します。String
getFamily(Locale l)
指定されたロケール向けにローカライズされた、このFont
のファミリ名を返します。static Font
getFont(String nm)
システムのプロパティ・リストからFont
オブジェクトを返します。static Font
getFont(String nm, Font font)
システムのプロパティ・リストから指定されたFont
を取得します。static Font
getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
属性に適した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(String str, int beginIndex, int limit, FontRenderContext frc)
指定された引数で作成されたLineMetrics
オブジェクトを返します。LineMetrics
getLineMetrics(String str, FontRenderContext frc)
指定されたString
とFontRenderContext
で作成されたLineMetrics
オブジェクトを返します。LineMetrics
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
指定された引数で作成されたLineMetrics
オブジェクトを返します。Rectangle2D
getMaxCharBounds(FontRenderContext frc)
指定されたFontRenderContext
で定義された、最大の境界を持つ文字の境界を返します。int
getMissingGlyphCode()
このFont
に、指定されたUnicodeコード・ポイントのグリフがないときに使用されるglyphCodeを返します。String
getName()
このFont
の論理名を返します。int
getNumGlyphs()
このFont
内のグリフの数を返します。String
getPSName()
このFont
のポストスクリプト名を返します。int
getSize()
整数に丸められた、このFont
のポイント・サイズを返します。float
getSize2D()
float
値で表された、このFont
のポイント・サイズを返します。Rectangle2D
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)
指定されたFontRenderContext
内の指定された文字の配列の論理境界を返します。Rectangle2D
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)
指定されたFontRenderContext
内の指定されたString
の論理境界を返します。Rectangle2D
getStringBounds(String str, FontRenderContext frc)
指定されたFontRenderContext
内の指定されたString
の論理境界を返します。Rectangle2D
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)
指定されたFontRenderContext
内の指定されたCharacterIterator
でインデックスが付けられた文字の論理境界を返します。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
オブジェクトを返します。static boolean
textRequiresLayout(char[] chars, int start, int end)
指定されたテキストの一部が、drawString(String,int,int)
およびその他のテキスト・レンダリング・メソッドを使用するときに正しくレンダリングするために、実装がレイアウト処理を呼び出す必要がある複合スクリプトからのものである場合はtrueを返します。String
toString()
このFont
オブジェクトをString
表現に変換します。
-
-
-
フィールドの詳細
-
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
テキストをレイアウトするときのDevanagariなどのスクリプトで使用されるベースライン。- 関連項目:
- 定数フィールド値
-
TRUETYPE_FONT
public static final int TRUETYPE_FONT
TRUETYPE型のフォント・リソースを識別します。 TrueTypeフォント・リソースをcreateFont(int, java.io.InputStream)
メソッドに指定する場合に使用します。 TrueType形式が拡張されてOpenType形式になり、それによってPostscriptアウトライン・フォントのサポートが追加されました。したがって、このタグは、このようなフォントとTrueTypeアウトライン・フォントの両方を参照します。- 導入されたバージョン:
- 1.3
- 関連項目:
- 定数フィールド値
-
TYPE1_FONT
public static final int TYPE1_FONT
TYPE1型のフォント・リソースを識別します。 Type1フォント・リソースをcreateFont(int, java.io.InputStream)
メソッドに指定する場合に使用します。- 導入されたバージョン:
- 1.5
- 関連項目:
- 定数フィールド値
-
style
protected int style
コンストラクタに渡される、このFont
のスタイル。 PLAIN、BOLD、ITALIC、またはBOLD+ITALICのいずれかです。- 導入されたバージョン:
- 1.0
- 関連項目:
getStyle()
-
size
protected int size
整数に丸められた、このFont
のポイント・サイズ。- 導入されたバージョン:
- 1.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です。 これらの名前にはすべて、定義済みの文字列定数が存在する。たとえば、DIALOG
。name
がnull
の場合、getName()
によって返される新しいFont
の論理フォント名は名前「Default」に設定される。style
-Font
のスタイル定数。スタイル引数は、PLAIN
、あるいはBOLD
とITALIC
をビット単位に結合した整数型ビット・マスク(ITALIC
またはBOLD|ITALIC
など)。 style引数が有効な整数型ビット・マスクでない場合、スタイルはPLAIN
に設定される。size
-Font
のポイント・サイズ- 導入されたバージョン:
- 1.0
- 関連項目:
GraphicsEnvironment.getAllFonts()
,GraphicsEnvironment.getAvailableFontFamilyNames()
-
Font
public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
指定された属性を使用して、新しいFont
を作成します。TextAttribute
で定義されているキーだけが認識されます。 また、このコンストラクタではFONT属性は認識されません(getAvailableAttributes()
を参照してください)。 有効な型の値を持つ属性だけが、新しいFont
に影響を与えます。attributes
がnull
の場合、新しいFont
はデフォルト値で初期化されます。- パラメータ:
attributes
- 新しいFont
に割り当てる属性、またはnull
- 関連項目:
TextAttribute
-
Font
protected Font(Font font)
指定されたfont
から新しいFont
を作成します。 このコンストラクタはサブクラスで使用します。- パラメータ:
font
- このFont
の生成元のフォント。- 例外:
NullPointerException
-font
がnullの場合- 導入されたバージョン:
- 1.6
-
-
メソッドの詳細
-
textRequiresLayout
public 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
-
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
-
createFonts
public 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)
-
createFonts
public 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)
-
createFont
public 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)
-
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コンストラクタで使用できるようにするには、返された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)
-
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
。 - 導入されたバージョン:
- 1.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
。 - 導入されたバージョン:
- 1.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
のスタイル - 導入されたバージョン:
- 1.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
のポイント・サイズ。 - 導入されたバージョン:
- 1.0
- 関連項目:
getSize2D()
,GraphicsConfiguration.getDefaultTransform()
,GraphicsConfiguration.getNormalizingTransform()
-
getSize2D
public float getSize2D()
float
値で表された、このFont
のポイント・サイズを返します。- 戻り値:
float
値で表された、このFont
のポイント・サイズ。- 導入されたバージョン:
- 1.2
- 関連項目:
getSize()
-
isPlain
public boolean isPlain()
このFont
オブジェクトのスタイルがPLAINであるかどうかを示します。- 戻り値:
- この
Font
のスタイルがPLAINの場合はtrue
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.0
- 関連項目:
getStyle()
-
isBold
public boolean isBold()
このFont
オブジェクトのスタイルがBOLDであるかどうかを示します。- 戻り値:
- この
Font
オブジェクトのスタイルがBOLDの場合はtrue
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.0
- 関連項目:
getStyle()
-
isItalic
public boolean isItalic()
このFont
オブジェクトのスタイルがITALICであるかどうかを示します。- 戻り値:
- この
Font
オブジェクトのスタイルがITALICの場合はtrue
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.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
パラメータの書式を次のいずれかに設定します- 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
public static Font getFont(String nm, Font font)
システムのプロパティ・リストから指定されたFont
を取得します。System
のgetProperty
メソッドの場合と同じように、最初の引数は取得するシステム・プロパティの名前として扱われます。 このプロパティのString
値は、Font
オブジェクトとして解釈されます。プロパティ値は
Font.decode(String)
によって受け入れられる形式のいずれかです。指定されたプロパティが見つからない場合、または実行するコードにプロパティを読み取るアクセス権がない場合は、font
引数が返されます。- パラメータ:
nm
- プロパティ名。大文字と小文字は区別されないfont
-プロパティnm
が定義されていない場合に返されるデフォルトのFont
- 戻り値:
- プロパティの
Font
値。 - 例外:
NullPointerException
- nmがnullである場合。- 関連項目:
decode(String)
-
hashCode
public int hashCode()
このFont
のハッシュ・コードを返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- この
Font
のハッシュ・コード値。 - 導入されたバージョン:
- 1.0
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
このFont
オブジェクトを指定されたObject
と比較します。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 比較するObject
- 戻り値:
- オブジェクトが同じ場合、または引数がこのオブジェクトと同じフォントを指定している
Font
オブジェクトである場合はtrue
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.0
- 関連項目:
Object.hashCode()
、HashMap
-
toString
public String toString()
このFont
オブジェクトをString
表現に変換します。
-
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
-trans
がnull
の場合- 導入されたバージョン:
- 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
-trans
がnull
の場合- 導入されたバージョン:
- 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)
このFont
が指定されたString
を表示できるかどうかを示します。 Unicodeエンコーディング文字列の場合、特定のフォントで文字列を表示できるかどうかを確認することが重要になります。 このメソッドは、String
str
内のオフセットを返します。このオフセットは、欠如しているグリフ・コードを使用しないかぎりこのFont
では表示できない最初の文字を示します。 このFont
ですべての文字を表示できる場合は、-1が返されます。- パラメータ:
str
-String
オブジェクト- 戻り値:
- この
Font
が表示できないstr
内の最初の文字を指すstr
へのオフセット、またはこのFont
がstr
内のすべての文字を表示できる場合は-1
。 - 導入されたバージョン:
- 1.2
-
canDisplayUpTo
public 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
-
canDisplayUpTo
public 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
-
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
の論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayout
のgetBounds
メソッドを使用します。注: 返された境界は、ベースラインを基準にした座標で表されています(
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
の論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、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)
-
getStringBounds
public 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)
-
getStringBounds
public 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)
-
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
-
-