- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
FontUIResource
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がそのような属性を持っている場合、メソッドはtrueを返します。 hasLayoutAttributes()
ノート: フォントを回転するとテキストのベースラインが回転することがあります。 このまれな可能性に対処するために、フォントAPIは指定に従って「ベースラインを基準にした座標で」メトリックスを返したりパラメータを受け取ったりします。 この場合、x座標はベースラインに沿った有効幅(正のxはベースラインに沿って進む方向)、y座標はxでのベースラインに対する垂線に沿った距離(正のyはベースライン・ベクトルから時計回りに90度の方向)にマップされます。 これが特に重要となるAPIは、「ベースラインを基準にした座標」を持つAPIとして示されています。
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int太字スタイル定数です。static final intテキストを配置するときに、中国語、日本語、および韓国語などの表意文字の書体で使用されるベースラインです。static final String論理フォント「Dialog」の正規ファミリ名を表す文字列定数です。static final String論理フォント「DialogInput」の正規ファミリ名を表す文字列定数です。static final intテキストをレイアウトするときにDevanagariおよび類似スクリプトで使用されるベースライン。static final intイタリック・スタイル定数です。static final int双方向分析でテキストが左から右に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。static final int文字配列の、指定された終了位置以降のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。static final int文字配列の、指定された開始位置以前のテキストを検査しないことを示す、layoutGlyphVectorに対するフラグです。static final int双方向分析でテキストが右から左に記述されていると判定されたことを示す、layoutGlyphVectorに対するフラグです。static final String論理フォント「Monospaced」の正規ファミリ名を表す文字列定数です。protected Stringコンストラクタに渡される、このFontの論理名。static final intプレーン・スタイル定数です。protected floatfloatで表された、このFontのポイント・サイズ。static final intテキストを配置するときに、ローマ字の書体で通常使用されるベースラインです。static final String論理フォント「SansSerif」の正規ファミリ名を表す文字列定数です。static final String論理フォント「Serif」の正規ファミリ名を表す文字列定数です。protected int整数に丸められた、このFontのポイント・サイズ。protected intコンストラクタに渡される、このFontのスタイル。static final intTRUETYPE型のフォント・リソースを識別します。static final intTYPE1型のフォント・リソースを識別します。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明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の新しい配列を返します。createGlyphVector(FontRenderContext frc, char[] chars) このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。createGlyphVector(FontRenderContext frc, int[] glyphCodes) このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。createGlyphVector(FontRenderContext frc, String str) このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。このFont内のUnicode cmapに基づいて指定された文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。static Fontstr引数で説明されているFontを返します。deriveFont(float size) 現在のFontオブジェクトを複製し、それに新しいサイズを適用することによって、新しいFontオブジェクトを作成します。deriveFont(int style) 現在のFontオブジェクトを複製し、それに新しいスタイルを適用することによって、新しいFontオブジェクトを作成します。deriveFont(int style, float size) このFontオブジェクトを複製し、新しいスタイルとサイズを適用することによって、新しいFontオブジェクトを作成します。deriveFont(int style, AffineTransform trans) このFontオブジェクトを複製し、新しいスタイルと変形体を適用することによって、新しいFontオブジェクトを作成します。deriveFont(AffineTransform trans) 現在のFontオブジェクトを複製し、それに新しい変形体を適用することによって、新しいFontオブジェクトを作成します。deriveFont(Map<? extends AttributedCharacterIterator.Attribute, ?> attributes) 現在のFontオブジェクトを複製し、それに新しいフォント属性のセットを適用することによって、新しいFontオブジェクトを作成します。booleanこのFontオブジェクトを指定されたObjectと比較します。Map<TextAttribute, ?> このFontで使用可能なフォント属性のマップを返します。このFontでサポートされているすべての属性のキーを返します。bytegetBaselineFor(char c) この文字の表示に適切なベースラインを返します。このFontのファミリ名を返します。指定されたロケール向けにローカライズされた、このFontのファミリ名を返します。static Fontシステムのプロパティ・リストからFontオブジェクトを返します。static Fontシステムのプロパティ・リストから指定されたFontを取得します。static FontgetFont(Map<? extends AttributedCharacterIterator.Attribute, ?> attributes) 属性に適したFontを返します。このFontのフォント・フェース名を返します。指定されたロケール向けにローカライズされた、Fontのフォント・フェース名を返します。floatこのFontのイタリックの角度を返します。getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) 指定された引数で作成されたLineMetricsオブジェクトを返します。getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) 指定された引数で作成されたLineMetricsオブジェクトを返します。getLineMetrics(String str, FontRenderContext frc) 指定されたStringとFontRenderContextで作成されたLineMetricsオブジェクトを返します。getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) 指定された引数で作成されたLineMetricsオブジェクトを返します。指定されたFontRenderContextで定義された、最大の境界を持つ文字の境界を返します。intこのFontに、指定されたUnicodeコード・ポイントのグリフがないときに使用されるglyphCodeを返します。getName()このFontの論理名を返します。intこのFont内のグリフの数を返します。このFontのポストスクリプト名を返します。intgetSize()整数に丸められた、このFontのポイント・サイズを返します。floatfloat値で表された、このFontのポイント・サイズを返します。getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) 指定されたFontRenderContext内の指定された文字の配列の論理境界を返します。getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) 指定されたFontRenderContext内の指定されたStringの論理境界を返します。getStringBounds(String str, FontRenderContext frc) 指定されたFontRenderContext内の指定されたStringの論理境界を返します。getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) 指定されたFontRenderContext内の指定されたCharacterIteratorでインデックスが付けられた文字の論理境界を返します。intgetStyle()このFontのスタイルを返します。このFontに関連付けられた変形体のコピーを返します。inthashCode()このFontのハッシュ・コードを返します。booleanこのFontに追加のレイアウト処理を必要とする属性が含まれている場合は、trueを返します。booleanこのFontに均一のライン・メトリックスが含まれているかどうかをチェックします。booleanisBold()このFontオブジェクトのスタイルがBOLDであるかどうかを示します。booleanisItalic()このFontオブジェクトのスタイルがITALICであるかどうかを示します。booleanisPlain()このFontオブジェクトのスタイルがPLAINであるかどうかを示します。booleanこのFontオブジェクトに、Size属性以外にサイズに影響を与える変形体が含まれているかどうかを示します。layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) 可能であればテキストの完全なレイアウトを実行して、新しいGlyphVectorオブジェクトを返します。static booleantextRequiresLayout(char[] chars, int start, int end) 指定されたテキストの一部が、drawString(String,int,int)および他のテキスト・レンダリング・メソッドの使用時に正しくレンダリングするために実装でレイアウト処理を起動する必要がある複合スクリプトからのものである場合、trueを返します。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_FONTTRUETYPE型のフォント・リソースを識別します。 TrueTypeフォント・リソースをcreateFont(int, java.io.InputStream)メソッドに指定する場合に使用します。 TrueType形式が拡張されてOpenType形式になり、それによってPostscriptアウトライン・フォントのサポートが追加されました。したがって、このタグは、このようなフォントとTrueTypeアウトライン・フォントの両方を参照します。- 導入されたバージョン:
- 1.3
- 関連項目:
-
TYPE1_FONT
public static final int TYPE1_FONTTYPE1型のフォント・リソースを識別します。 Type1フォント・リソースをcreateFont(int, java.io.InputStream)メソッドに指定する場合に使用します。- 導入されたバージョン:
- 1.5
- 関連項目:
-
name
protected String nameコンストラクタに渡される、このFontの論理名。- 導入されたバージョン:
- 1.0
- 関連項目:
-
style
protected int styleコンストラクタに渡される、このFontのスタイル。 PLAIN、BOLD、ITALIC、またはBOLD+ITALICのいずれかです。- 導入されたバージョン:
- 1.0
- 関連項目:
-
size
protected int size整数に丸められた、このFontのポイント・サイズ。- 導入されたバージョン:
- 1.0
- 関連項目:
-
pointSize
protected float pointSizefloatで表された、このFontのポイント・サイズ。- 関連項目:
-
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
- 関連項目:
-
Font
public Font(Map<? extends AttributedCharacterIterator.Attribute, ?> attributes) 指定された属性を使用して、新しいFontを作成します。TextAttributeで定義されているキーだけが認識されます。 また、このコンストラクタではFONT属性は認識されません(getAvailableAttributes()を参照してください)。 有効な型の値を持つ属性だけが、新しいFontに影響を与えます。attributesがnullの場合、新しいFontはデフォルト値で初期化されます。- パラメータ:
attributes- 新しいFontに割り当てる属性、またはnull- 関連項目:
-
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を返す場合でも、レイアウト処理は、hasLayoutAttributes()がtrueを返す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
- 関連項目:
-
createFonts
public static Font[] createFonts(InputStream fontStream) throws FontFormatException, IOException 指定されたストリームからデコードされたFontの新しい配列を返します。 戻されたFont[]には、少なくとも1つの要素が含まれます。createFont(int, InputStream)メソッドでのこのバリエーションの明示的な目的は、TrueType/OpenTypeフォント・コレクションを表すフォント・ソースをサポートし、そのコレクション内の個々のフォントをすべて返すことです。 したがって、データ・ソースにTrueType/OpenTypeフォントが少なくとも1つ含まれていない場合、このメソッドはFontFormatExceptionをスローします。 コレクション内のいずれかのフォントに必要なフォント表が含まれていない場合も、同じ例外がスローされます。条件"少なくても一つ"を使用すると、ストリームは単一のOpenType/TrueTypeフォントを表現できます。 つまり、コレクションである必要はありません。 返される配列の各
Font要素は、ポイント・サイズ1とスタイルPLAINで作成されます。 次に、このベース・フォントをこのクラスのderiveFontメソッドで使用すると、さまざまなサイズ、スタイル、変形体、およびフォント機能を持つ新しいFontオブジェクトを派生させることができます。このメソッドは
InputStreamを閉じません。各
FontをFontコンストラクタで使用できるようにするには、GraphicsEnvironmentにregisterFont(Font)を呼び出すことで登録する必要があります。- パラメータ:
fontStream- フォントまたはフォント・コレクションの入力データを表すInputStreamオブジェクト。- 戻り値:
- 新しい
Font[]。 - スロー:
FontFormatException- コレクションの要素に必要なフォント表がfontStreamデータに含まれていない場合、またはフォントがまったく含まれていない場合。IOException-fontStreamを完全に読込みできない場合。- 導入されたバージョン:
- 9
- 関連項目:
-
createFonts
public static Font[] createFonts(File fontFile) throws FontFormatException, IOException 指定されたファイルからデコードされたFontの新しい配列を返します。 戻されたFont[]には、少なくとも1つの要素が含まれます。createFont(int, File)メソッドでのこのバリエーションの明示的な目的は、TrueType/OpenTypeフォント・コレクションを表すフォント・ソースをサポートし、そのコレクション内の個々のフォントをすべて返すことです。 したがって、データ・ソースにTrueType/OpenTypeフォントが少なくとも1つ含まれていない場合、このメソッドはFontFormatExceptionをスローします。 コレクション内のいずれかのフォントに必要なフォント表が含まれていない場合も、同じ例外がスローされます。条件"少なくても一つ"を使用すると、ストリームは単一のOpenType/TrueTypeフォントを表現できます。 つまり、コレクションである必要はありません。 返される配列の各
Font要素は、ポイント・サイズ1とスタイルPLAINで作成されます。 次に、このベース・フォントをこのクラスのderiveFontメソッドで使用すると、さまざまなサイズ、スタイル、変形体、およびフォント機能を持つ新しいFontオブジェクトを派生させることができます。各
FontをFontコンストラクタで使用できるようにするには、GraphicsEnvironmentにregisterFont(Font)を呼び出すことで登録する必要があります。- パラメータ:
fontFile- フォントまたはフォント・コレクションの入力データを含むFileオブジェクト。- 戻り値:
- 新しい
Font[]。 - スロー:
FontFormatException- コレクションの要素に必要なフォント表がFileに含まれていない場合、またはフォントがまったく含まれていない場合。IOException-fontFileを読込みできない場合。- 導入されたバージョン:
- 9
- 関連項目:
-
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
- 関連項目:
-
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
- 関連項目:
-
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
- 関連項目:
-
getFamily
指定されたロケール向けにローカライズされた、このFontのファミリ名を返します。フォントのファミリ名はフォント固有です。 Helvetica ItalicとHelvetica Boldの2つのフォントにはHelveticaという同じファミリ名が付いていますが、これらのフォント・フェース名はHelvetica BoldとHelvetica Italicです。 使用可能なファミリ名のリストは、
GraphicsEnvironment.getAvailableFontFamilyNames()メソッドを使用して取得できる可能性があります。フォントのフォント・フェース名を取得するには
getFontNameを使用します。- パラメータ:
l- ファミリ名を取得するロケール- 戻り値:
- 指定されたロケール向けにローカライズされた、フォントのファミリ名を表す
String。 - 導入されたバージョン:
- 1.2
- 関連項目:
-
getPSName
public String getPSName()このFontのポストスクリプト名を返します。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントのフォント・フェース名を取得するにはgetFontNameを使用します。- 戻り値:
- この
Fontのポストスクリプト名を表すString。 - 導入されたバージョン:
- 1.2
-
getName
public String getName()このFontの論理名を返します。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントのフォント・フェース名を取得するにはgetFontNameを使用します。- 戻り値:
- この
Fontの論理名を表すString。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
getFontName
public String getFontName()このFontのフォント・フェース名を返します。 たとえば、フォント・フェース名としてHelvetica Boldが返されます。 フォントのファミリ名を取得するにはgetFamilyを使用します。 フォントの論理名を取得するにはgetNameを使用します。- 戻り値:
- この
Fontのフォント・フェース名を表すString。 - 導入されたバージョン:
- 1.2
- 関連項目:
-
getFontName
指定されたロケール向けにローカライズされた、Fontのフォント・フェース名を返します。 たとえば、フォント・フェース名としてHelvetica Fettが返されます。 フォントのファミリ名を取得するにはgetFamilyを使用します。- パラメータ:
l- フォント・フェース名を取得するロケール- 戻り値:
- 指定されたロケール向けにローカライズされた、フォント・フェース名を表す
String。 - 関連項目:
-
getStyle
public int getStyle()このFontのスタイルを返します。 PLAIN、BOLD、ITALIC、またはBOLD+ITALICのいずれかです。- 戻り値:
- この
Fontのスタイル - 導入されたバージョン:
- 1.0
- 関連項目:
-
getSize
public int getSize()整数に丸められた、このFontのポイント・サイズを返します。 ほとんどのユーザーは、ポイント・サイズでのフォントのグリフ・サイズの指定に慣れています。 このポイント・サイズは、シングル・スペースのテキスト・ドキュメント上の、ある行のベースラインから次の行のベースラインまでの距離を定義します。 ポイント・サイズは文字体裁のポイントをベースにしており、およそ1/72インチです。Java (TM) 2D APIの規約では、1ポイントがユーザー座標の1単位に相当します。 ユーザー空間座標からデバイス空間座標への変換に標準化された変換を使用する場合、72ユーザー空間単位がデバイス空間の1インチと等しくなります。 この場合、1ポイントは1/72インチです。
- 戻り値:
- 1/72インチ単位で表した、この
Fontのポイント・サイズ。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
getSize2D
public float getSize2D()float値で表された、このFontのポイント・サイズを返します。- 戻り値:
float値で表された、このFontのポイント・サイズ。- 導入されたバージョン:
- 1.2
- 関連項目:
-
isPlain
public boolean isPlain()このFontオブジェクトのスタイルがPLAINであるかどうかを示します。- 戻り値:
- この
FontのスタイルがPLAINの場合はtrue、そうでない場合はfalse。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
isBold
public boolean isBold()このFontオブジェクトのスタイルがBOLDであるかどうかを示します。- 戻り値:
- この
FontオブジェクトのスタイルがBOLDの場合はtrue、そうでない場合はfalse。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
isItalic
public boolean isItalic()このFontオブジェクトのスタイルがITALICであるかどうかを示します。- 戻り値:
- この
FontオブジェクトのスタイルがITALICの場合はtrue、そうでない場合はfalse。 - 導入されたバージョン:
- 1.0
- 関連項目:
-
isTransformed
public boolean isTransformed()このFontオブジェクトに、Size属性以外にサイズに影響を与える変形体が含まれているかどうかを示します。- 戻り値:
- この
Fontオブジェクトが非恒等AffineTransform属性を持つ場合はtrue、それ以外の場合はfalse。 - 導入されたバージョン:
- 1.4
- 関連項目:
-
hasLayoutAttributes
public 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
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
- 関連項目:
-
getFont
システムのプロパティ・リストから指定されたFontを取得します。SystemのgetPropertyメソッドの場合と同じように、最初の引数は取得するシステム・プロパティの名前として扱われます。 このプロパティのString値は、Fontオブジェクトとして解釈されます。プロパティ値は
Font.decode(String)によって受け入れられる形式のいずれかです。指定されたプロパティが見つからない場合、または実行するコードにプロパティを読み取るアクセス権がない場合は、font引数が返されます。- パラメータ:
nm- プロパティ名。大文字と小文字は区別されないfont-プロパティnmが定義されていない場合に返されるデフォルトのFont- 戻り値:
- プロパティの
Font値。 - スロー:
NullPointerException- nmがnullである場合。- 関連項目:
-
hashCode
public int hashCode()このFontのハッシュ・コードを返します。 -
equals
public boolean equals(Object obj) このFontオブジェクトを指定されたObjectと比較します。 -
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
- 関連項目:
-
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
- 関連項目:
-
canDisplayUpTo
public int canDisplayUpTo(String str) このFontが指定されたStringを表示できるかどうかを示します。 Unicodeエンコーディング文字列の場合、特定のフォントで文字列を表示できるかどうかを確認することが重要になります。 このメソッドは、Stringstr内のオフセットを返します。このオフセットは、欠如しているグリフ・コードを使用しないかぎりこの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スタイルの角度。 - 関連項目:
-
hasUniformLineMetrics
public boolean hasUniformLineMetrics()このFontに均一のライン・メトリックスが含まれているかどうかをチェックします。 論理Fontは、複合フォントの場合があります。複合フォントは、複数のコード範囲を網羅するために複数の物理フォントで構成されています。 それらの各フォントは、別々のLineMetricsを持つ場合があります。 論理Fontが単一のフォントの場合、メトリックスは均一です。- 戻り値:
- この
Fontが均一のライン・メトリックスを持つ場合はtrue、そうでない場合はfalse。
-
getLineMetrics
public LineMetrics getLineMetrics(String str, FontRenderContext frc) 指定されたStringとFontRenderContextで作成されたLineMetricsオブジェクトを返します。- パラメータ:
str- 指定されたStringfrc- 指定されたFontRenderContext- 戻り値:
- 指定された
StringとFontRenderContextで作成されたLineMetricsオブジェクト。
-
getLineMetrics
public LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) 指定された引数で作成されたLineMetricsオブジェクトを返します。- パラメータ:
str- 指定されたStringbeginIndex-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- 指定されたCharacterIteratorbeginIndex-ciの初期オフセットlimit-ciの終了オフセットfrc- 指定されたFontRenderContext- 戻り値:
- 指定された引数で作成された
LineMetricsオブジェクト。
-
getStringBounds
public Rectangle2D getStringBounds(String str, FontRenderContext frc) 指定されたFontRenderContext内の指定されたStringの論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています(
class notesを参照してください)。- パラメータ:
str- 指定されたStringfrc- 指定されたFontRenderContext- 戻り値:
- 指定された
FontRenderContextで、指定されたStringのバウンディング・ボックスを表すRectangle2D。 - 導入されたバージョン:
- 1.2
- 関連項目:
-
getStringBounds
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) 指定されたFontRenderContext内の指定されたStringの論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています(
class notesを参照してください)。- パラメータ:
str- 指定されたStringbeginIndex-strの初期オフセットlimit-strの終了オフセットfrc- 指定されたFontRenderContext- 戻り値:
- 指定された
FontRenderContextで、指定されたStringのバウンディング・ボックスを表すRectangle2D。 - スロー:
IndexOutOfBoundsException-beginIndexが0より小さいか、limitがstrの長さより大きいか、またはbeginIndexがlimitより大きい場合。- 導入されたバージョン:
- 1.2
- 関連項目:
-
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
- 関連項目:
-
getStringBounds
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) 指定されたFontRenderContext内の指定されたCharacterIteratorでインデックスが付けられた文字の論理境界を返します。 レディングを含む起点、アセント、有効幅、および高さが論理バウンドの内容です。 論理バウンドは常にすべてのテキストを含むとは限りません。 たとえば言語やフォントによっては、アクセントのマークがアセントの上、またはディセントの下に来ることがあります。 すべてのテキストを囲む、目で確認できるバウンディング・ボックスを取得するには、TextLayoutのgetBoundsメソッドを使用します。ノート: 返された境界は、ベースラインを基準にした座標で表されています(
class notesを参照してください)。- パラメータ:
ci- 指定されたCharacterIteratorbeginIndex-ciの初期オフセットlimit-ciの終了オフセットfrc- 指定されたFontRenderContext- 戻り値:
- 指定された
FontRenderContextで、指定されたCharacterIterator内のインデックス付き文字のバウンディング・ボックスを表すRectangle2D。 - スロー:
IndexOutOfBoundsException-beginIndexがciの開始インデックスより小さい場合、limitがciの終了インデックスより大きい場合、またはbeginIndexがlimitより大きい場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
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- 指定されたFontRenderContextstr- 指定されたString- 戻り値:
- 指定された
Stringと指定されたFontRenderContextで作成された新しいGlyphVector。
-
createGlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, char[] chars) このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
frc- 指定されたFontRenderContextchars- 指定された文字配列- 戻り値:
- 指定された文字配列と指定された
FontRenderContextで作成された新しいGlyphVector。
-
createGlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci) このFont内のUnicode cmapに基づいて指定された文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
frc- 指定されたFontRenderContextci- 指定されたCharacterIterator- 戻り値:
- 指定された
CharacterIteratorと指定されたFontRenderContextで作成された新しいGlyphVector。
-
createGlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes) このFont内のUnicode cmapに基づいて文字からグリフに1対1にマッピングすることによって、GlyphVectorを作成します。 このメソッドではマッピング以外の処理を行いません。 このため、アラビア語、ヘブライ語、タイ語、およびインド語派の言語などの、再配置、整形、および合字の置換えが必要な言語ではこのメソッドを使用できません。- パラメータ:
frc- 指定されたFontRenderContextglyphCodes- 指定された整数配列- 戻り値:
- 指定された整数配列と指定された
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- 指定されたFontRenderContexttext- レイアウトするテキストstart-GlyphVectorで使用するテキストの開始位置limit-GlyphVectorで使用するテキストの終了位置flags- 先に述べた制御フラグ- 戻り値:
- 開始位置と終了位置の間のテキストを表す、新しい
GlyphVector。テキストがもっとも見やすくなるようにグリフが選択、配置される - スロー:
ArrayIndexOutOfBoundsException- 開始位置または終了位置が範囲外の場合- 導入されたバージョン:
- 1.4
- 関連項目:
-