Javaでは、 フォント に属するクラスです java.awt パッケージ。 Serializable インターフェイスを実装します。 FontUIResource は、Java Font クラスの直接の既知のサブクラスです。
テキストのレンダリングに使用されるフォントを表します。 Java では、フォントを表すために使用される 2 つの専門用語があります。 キャラクター そして グリフ 。
Javaのフォントの種類
Java には 2 種類のフォントがあります。
- 物理フォント
- ロジカルフォント
物理フォント
物理フォントは実際の Java フォント ライブラリです。これには、次のようなフォント テクノロジを使用して、文字シーケンスをグリフ シーケンスにマップするテーブルが含まれています。 TrueType フォント (TTF) と PostScript Type 1 フォント 。 Java のすべての実装は TTF をサポートする必要があることに注意してください。他のフォント テクノロジの使用は実装に依存します。物理フォントには次のような名前が含まれます。 ヘルベチカ、パラティーノ、本明朝 、他のフォント名。
物理フォントの特性は、次のような限られた書記体系セットを使用することです。 ラテン文字 またはのみ 日本語 そして 基本ラテン語 文字。構成変更により異なる場合があります。アプリケーションが特定のフォントを必要とする場合、ユーザーは、 フォント作成() Java Fontクラスのメソッド。
ロジカルフォント
Java の定義 五 論理フォント ファミリ セリフ、サンセリフ、等幅、ダイアログ、 そして ダイアログ入力 。 JRE でサポートされている必要があります。これらは実際のフォント ライブラリではないため、JRE は論理フォント名を物理フォントにマップすることに注意してください。通常、マッピングの実装はロケールに依存します。広範囲の文字をカバーするために、各論理フォント名はいくつかの物理フォントにマップされます。
たとえば、次のような AWT コンポーネント ラベル そして テキストフィールド 論理フォントのみを使用します。
フォントフェイスと名前
フォントには、ヘビー、レギュラー、ミディアム、オブリーク、ゴシックなど、多くのフォント フェイスがある場合があります。すべてのフォント フェイスは、同様のタイポグラフ デザインを持っています。
Font オブジェクトには、次の 3 つの異なる名前があります。
Java Font クラスは、ホスト システムのシステム リソースに存在するフォント フェイスのコレクションからのフォント フェイスのインスタンスを表します。フォント フェイスの例は、Arial Bold、Courier Bold Italic などです。フォント フェイス (サイズ、スタイル、変換、およびフォント機能がそれぞれ異なります) は、複数の Font オブジェクトに関連付けられている場合があります。
フォントクラスフィールド
修飾子 | 分野 | 説明 |
---|---|---|
静的整数 | 大胆な | 太字スタイルの定数。 |
静的整数 | センター_ベースライン | 中国語、日本語、韓国語などの表意文字でテキストをレイアウトするときに使用されるベースライン。 |
静的文字列 | ダイアログ | 論理フォント「Dialog」の正規ファミリー名を表す文字列定数。 |
静的文字列 | DIALOG_INPUT | 論理フォント「DialogInput」の正規ファミリ名の文字列定数。 |
静的整数 | HANGING_BASELINE | デヴァニギリおよび同様のスクリプトでテキストをレイアウトするときに使用されるベースライン。 |
静的整数 | イタリック | イタリック体のスタイル定数。 |
静的整数 | LAYOUT_LEFT_TO_RIGHT | Bidi 分析によって決定されたテキストが左から右であることを示す、layoutGlyphVector へのフラグ。 |
静的整数 | LAYOUT_NO_LIMIT_CONTEXT | 指定された制限を超えた文字配列内のテキストを検査しないことを示す、layoutGlyphVector へのフラグ。 |
静的整数 | LAYOUT_NO_START_CONTEXT | 指定された開始位置より前の char 配列内のテキストを検査しないことを示す、layoutGlyphVector へのフラグ。 |
静的整数 | LAYOUT_RIGHT_TO_LEFT | Bidi 分析によって決定されたテキストが右から左であることを示す、layoutGlyphVector へのフラグ。 |
静的文字列 | 等幅 | 論理フォント「等幅」の正規ファミリ名の文字列定数。 |
静的文字列 | 名前 | コンストラクターに渡される、このフォントの論理名。 |
静的整数 | 無地 | プレーンなスタイルの定数。 |
静的フロート | ポイントサイズ | このフォントのポイント サイズ (float 単位)。 |
静的整数 | ROMAN_BASELINE | ほとんどのローマ字でテキストをレイアウトするときに使用されるベースライン。 |
静的文字列 | サンセリフ | 論理フォント「SansSerif」の正規ファミリー名を表す文字列定数。 |
静的文字列 | セリフ | 論理フォント「Serif」の正規ファミリー名を表す文字列定数。 |
保護された整数 | サイズ | このフォントのポイント サイズ。整数に丸められます。 |
保護された整数 | スタイル | コンストラクターに渡される、このフォントのスタイル。 |
静的整数 | TRUETYPE_FONT | TRUETYPE タイプのフォント リソースを特定します。 |
静的整数 | TYPE1_FONT | タイプ TYPE1 のフォント リソースを特定します。 |
フォントクラスのコンストラクター
コンストラクタ | 説明 |
---|---|
フォント(フォントフォント) | 指定されたフォントから新しいフォントを作成します。 |
フォント(マップ属性) | 指定された属性を持つ新しいフォントを作成します。 |
フォント(文字列名、intスタイル、intサイズ) | 指定された名前、スタイル、ポイント サイズから新しいフォントを作成します。 |
フォントクラスのメソッド
メソッド | 説明 |
---|---|
canDisplay(char c) | このフォントに指定された文字のグリフがあるかどうかを確認します。 |
canDisplay(int codePoint) | このフォントに指定された文字のグリフがあるかどうかを確認します。 |
canDisplayUpTo(char[] テキスト、int 開始、int 制限) | このフォントが、指定されたテキスト内の文字の開始位置から限界位置までを表示できるかどうかを示します。 |
canDisplayUpTo(CharacterIterator パス、int 開始、int 制限) | このフォントが、start で始まり、limit で終わるイターによって指定されたテキストを表示できるかどうかを示します。 |
canDisplayUpTo(文字列 str) | このフォントが指定された文字列を表示できるかどうかを示します。 |
createFont(int fontFormat, ファイル fontFile) | 指定されたフォント タイプと指定されたフォント ファイルを使用して、新しいフォントを返します。 |
createFont(int fontFormat, InputStream fontStream) | 指定されたフォント タイプと入力データを使用して、新しいフォントを返します。 |
createGlyphVector(FontRenderContext frc, char[] chars) | このフォントの Unicode cmap に基づいて文字をグリフに 1 対 1 でマッピングすることにより、GlyphVector を作成します。 |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | このフォントの Unicode cmap に基づいて、指定された文字をグリフに 1 対 1 でマッピングすることにより、GlyphVector を作成します。 |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | このフォントの Unicode cmap に基づいて文字をグリフに 1 対 1 でマッピングすることにより、GlyphVector を作成します。 |
createGlyphVector(FontRenderContext frc, String str) | このフォントの Unicode cmap に基づいて文字をグリフに 1 対 1 でマッピングすることにより、GlyphVector を作成します。 |
デコード(文字列str) | str 引数で記述されたフォントを返します。 |
派生フォント(AffineTransform trans) | 現在の Font オブジェクトを複製し、それに新しい変換を適用することで、新しい Font オブジェクトを作成します。 |
派生フォント(浮動小数点サイズ) | 現在の Font オブジェクトを複製し、それに新しいサイズを適用することで、新しい Font オブジェクトを作成します。 |
派生フォント(int スタイル) | 現在の Font オブジェクトを複製し、それに新しいスタイルを適用することで、新しい Font オブジェクトを作成します。 |
派生フォント(int スタイル、AffineTransform trans) | この Font オブジェクトを複製し、新しいスタイルと変換を適用することで、新しい Font オブジェクトを作成します。 |
派生フォント(int スタイル、float サイズ) | この Font オブジェクトを複製し、新しいスタイルとサイズを適用することにより、新しい Font オブジェクトを作成します。 |
派生フォント(マップ属性) | 現在の Font オブジェクトを複製し、それに新しいフォント属性のセットを適用することで、新しい Font オブジェクトを作成します。 |
等しい(オブジェクトオブジェクト) | この Font オブジェクトを指定された Object と比較します。 |
getAttributes() | このフォントで利用可能なフォント属性のマップを返します。 |
getAvailableAttributes() | このフォントでサポートされているすべての属性のキーを返します。 |
getBaselineFor(char c) | この文字を表示するのに適したベースラインを返します。 |
getFamily() | このフォントのファミリー名を返します。 |
getFamily(ロケール l) | 指定されたロケールにローカライズされた、このフォントのファミリー名を返します。 |
getFont(マップ属性) | 属性に適切なフォントを返します。 |
getFont(文字列nm) | システム プロパティ リストから Font オブジェクトを返します。 |
getFont(文字列nm, フォントフォント) | システムプロパティリストから指定されたフォントを取得します。 |
getフォント名() | この Font のフォント フェイス名を返します。 |
getFontName(ロケール l) | 指定されたロケールにローカライズされたフォントのフォント フェイス名を返します。 |
getItalicAngle() | このフォントの斜体の角度を返します。 |
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) | 指定された引数を使用して作成された LineMetrics オブジェクトを返します。 |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | 指定された引数を使用して作成された LineMetrics オブジェクトを返します。 |
getLineMetrics(String str, FontRenderContext frc) | 指定された String と FontRenderContext で作成された LineMetrics オブジェクトを返します。 |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) | 指定された引数を使用して作成された LineMetrics オブジェクトを返します。 |
getMaxCharBounds(FontRenderContext frc) | 指定された FontRenderContext で定義されている最大境界を持つ文字の境界を返します。 |
getMissingGlyphCode() | このフォントに指定された Unicode コード ポイントのグリフがない場合に使用される glyphCode を返します。 |
getName() | このフォントの論理名を返します。 |
getNumGlyphs() | このフォントのグリフの数を返します。 |
getPeer() | フォントのレンダリングはプラットフォームに依存しなくなりました。 |
getPSName() | このフォントのポストスクリプト名を返します。 |
getSize() | このフォントのポイント サイズを整数に丸めて返します。 |
getSize2D() | このフォントのポイント サイズを float 値で返します。 |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) | 指定された FontRenderContext 内の指定された文字配列の論理境界を返します。 |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | 指定された FontRenderContext 内の指定された CharacterIterator でインデックス付けされた文字の論理境界を返します。 |
getStringBounds(String str, FontRenderContext frc) | 指定された FontRenderContext 内の指定された String の論理境界を返します。 |
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) | 指定された FontRenderContext 内の指定された String の論理境界を返します。 |
getStyle() | このフォントのスタイルを返します。 |
getTransform() | このフォントに関連付けられた変換のコピーを返します。 |
ハッシュコード() | このフォントのハッシュコードを返します。 |
hasLayoutAttributes() | このフォントに追加のレイアウト処理が必要な属性が含まれている場合、true を返します。 |
hasUniformLineMetrics() | このフォントが均一なラインメトリクスを持っているかどうかをチェックします。 |
isBold() | この Font オブジェクトのスタイルが BOLD であるかどうかを示します。 |
イタリック() | この Font オブジェクトのスタイルが ITALIC であるかどうかを示します。 |
isPlain() | この Font オブジェクトのスタイルが PLAIN であるかどうかを示します。 |
isTransformed() | これは、この Font オブジェクトに Size 属性に加えてそのサイズに影響を与える変換があるかどうかを示します。 |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) | 新しい GlyphVector オブジェクトを返し、可能であればテキストの完全なレイアウトを実行します。 |
toString() | この Font オブジェクトを String 表現に変換します。 |
Java フォントの例を見てみましょう。
JavaFontExample.java
import java.applet.Applet; import java.awt.Font; import java.awt.Graphics; public class JavaFontExample extends Applet { public void paint(Graphics gph) { //creating a constructor of the font class and passing name, style, and size of the font //we can change these three parameters accordingly Font font= new Font('Courier', Font.PLAIN, 20); //setting font by invoking the setFont() method gph.setFont(font); gph.drawString('Javatpoint is the best learning platform.', 12, 45); } }
上記のプログラムを実行するには、以下の手順に従います。
私。上記のコードをコピーして貼り付け、名前を付けてファイルを保存します JavaFontExample.java.
ii. HTM ファイルを作成し、次のコードを記述します。
JavaFontExample.html
iii.コマンド プロンプトを開き、次のコマンドを実行します。
JavaFontExample.java appletviewer JavaFontExample.java
出力 1:
次の出力を取得するには、次のステートメントを変更します。
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
成果 2: