logo

Java-Schriftart

In Java, Schriftart ist eine Klasse, die zu der gehört java.awt Paket. Es implementiert die Serializable-Schnittstelle. FontUIResource ist die direkt bekannte Unterklasse der Java-Font-Klasse.

Es stellt die Schriftart dar, die zum Rendern des Textes verwendet wird. In Java gibt es zwei Fachbegriffe, die zur Darstellung von Schriftarten verwendet werden Figuren Und Glyphen .

Arten von Schriftarten in Java

In Java gibt es zwei Arten von Schriftarten:

  • Physische Schriftarten
  • Logische Schriftarten

Physische Schriftarten

Physische Schriftarten sind echte Java-Schriftartenbibliotheken. Es enthält Tabellen, die Zeichenfolgen mithilfe der Schriftartentechnologie Glyphensequenzen zuordnen, z TrueType-Schriftarten (TTF) und PostScript Type 1-Schriftart . Beachten Sie, dass alle Java-Implementierungen TTF unterstützen müssen. Die Verwendung anderer Schriftarttechnologien ist abhängig von der Implementierung. Die physische Schriftart umfasst den Namen, z Helvetica, Palatino, HonMincho , andere Schriftartnamen.

Java-Tutorial für Anfänger

Die Eigenschaft der physischen Schriftart besteht darin, dass sie die begrenzte Anzahl von Schriftsystemen wie z Lateinische Schriftzeichen oder nur japanisch Und Grundlegendes Latein Figuren. Aufgrund von Konfigurationsänderungen kann es zu Abweichungen kommen. Wenn eine Anwendung eine bestimmte Schriftart erfordert, kann der Benutzer diese Schriftart mithilfe von bündeln und instanziieren createFont() Methode der Java-Font-Klasse.

Logische Schriftarten

Java definiert fünf logische Schriftfamilien, die es gibt Serif, SansSerif, Monospaced, Dialog, Und DialogInput . Es muss von der JRE unterstützt werden. Beachten Sie, dass JRE die logischen Schriftartennamen physischen Schriftarten zuordnet, da es sich dabei nicht um die eigentlichen Schriftartenbibliotheken handelt. Normalerweise ist die Mapping-Implementierung vom Gebietsschema abhängig. Jeder logische Schriftartname wird mehreren physischen Schriftarten zugeordnet, um einen großen Zeichenbereich abzudecken.

Beispielsweise können AWT-Komponenten wie z Etikett Und Textfeld verwendet nur logische Schriftarten.

Protokolle der Datenverbindungsschicht

Schriftarten und Namen

Eine Schriftart kann viele Schriftarten haben, z. B. schwere, normale, mittlere, schräge, gotische Schriftart usw. Alle Schriftarten haben ein ähnliches typografisches Design.

Ein Font-Objekt hat drei verschiedene Namen:

    Logischer Schriftartname:Es ist der Name, der zum Erstellen der Schriftart verwendet wird.Name der Schriftart:Es ist der Name einer bestimmten Schriftart. Zum Beispiel Helvetica Bold.Familienname:Es ist der Name der Schriftfamilie. Es bestimmt das typografische Design zwischen mehreren Gesichtern.

Die Java-Font-Klasse stellt eine Instanz einer Schriftart aus einer Sammlung von Schriftarten dar, die in den Systemressourcen des Hostsystems vorhanden sind. Beispiele für Schriftarten sind Arial Bold, Courier Bold Italic usw. Eine Schriftart (jeweils unterschiedlich in Größe, Stil, Transformation und Schriftartfunktion) kann mit mehreren Schriftartobjekten verknüpft sein.

Schriftartklassenfelder

Modifikator Feld Beschreibung
statisch int DEUTLICH Die kühne Stilkonstante.
statisch int CENTER_BASELINE Die Grundlinie, die in ideografischen Schriften wie Chinesisch, Japanisch und Koreanisch beim Layouten von Text verwendet wird.
statischer String DIALOG Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Dialog“.
statischer String DIALOG_INPUT Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „DialogInput“.
statisch int HANGING_BASELINE Die Grundlinie, die in Devanigiri und ähnlichen Skripten beim Layouten von Text verwendet wird.
statisch int KURSIV Die kursive Stilkonstante.
statisch int LAYOUT_LEFT_TO_RIGHT Ein Flag für „layoutGlyphVector“, das angibt, dass der Text gemäß der Bidi-Analyse von links nach rechts verläuft.
statisch int LAYOUT_NO_LIMIT_CONTEXT Ein Flag für „layoutGlyphVector“, das angibt, dass Text im char-Array nach dem angegebenen Grenzwert nicht untersucht werden soll.
statisch int LAYOUT_NO_START_CONTEXT Ein Flag für layoutGlyphVector, das angibt, dass Text im char-Array vor dem angegebenen Anfang nicht untersucht werden soll.
statisch int LAYOUT_RIGHT_TO_LEFT Ein Flag für „layoutGlyphVector“, das angibt, dass der Text gemäß der Bidi-Analyse von rechts nach links geschrieben ist.
statischer String EINFACH Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Monospaced“.
statischer String Name Der logische Name dieser Schriftart, wie er an den Konstruktor übergeben wurde.
statisch int SCHMUCKLOS Die schlichte Stilkonstante.
statischer Schwimmer pointSize Die Punktgröße dieser Schriftart in Float.
statisch int ROMAN_BASELINE Die Grundlinie, die in den meisten lateinischen Schriften beim Layouten von Texten verwendet wird.
statischer String SERIFENLOS Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „SansSerif“.
statischer String SERIF Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Serif“.
geschützt int Größe Die Punktgröße dieser Schriftart, gerundet auf eine Ganzzahl.
geschützt int Stil Der Stil dieser Schriftart, wie er an den Konstruktor übergeben wird.
statisch int TRUETYPE_FONT Identifizieren Sie eine Schriftartressource vom Typ TRUETYPE.
statisch int TYPE1_FONT Identifizieren Sie eine Schriftartressource vom Typ TYPE1.

Konstruktoren von Schriftartklassen

Konstrukteur Beschreibung
Schriftart (Schriftart) Erstellt eine neue Schriftart aus der angegebenen Schriftart.
Schriftart (Map-Attribute) Erstellt eine neue Schriftart mit den angegebenen Attributen.
Schriftart (Stringname, Int-Stil, Int-Größe) Erstellt eine neue Schriftart aus dem angegebenen Namen, Stil und der angegebenen Punktgröße.

Methoden der Schriftartenklasse

Methoden Beschreibung
canDisplay(char c) Es prüft, ob diese Schriftart eine Glyphe für das angegebene Zeichen enthält.
canDisplay(int codePoint) Es prüft, ob diese Schriftart eine Glyphe für das angegebene Zeichen enthält.
canDisplayUpTo(char[] text, int start, int limit) Es gibt an, ob diese Schriftart die Zeichen im angegebenen Text beginnend am Anfang und endend am Limit anzeigen kann oder nicht.
canDisplayUpTo(CharacterIterator path, int start, int limit) Es gibt an, ob diese Schriftart den vom Iter angegebenen Text beginnend beim Start und endend beim Limit anzeigen kann oder nicht.
canDisplayUpTo(String str) Es gibt an, ob diese Schriftart einen bestimmten String anzeigen kann oder nicht.
createFont(int FontFormat, File FontFile) Es gibt eine neue Schriftart zurück, die den angegebenen Schriftarttyp und die angegebene Schriftartdatei verwendet.
createFont(int FontFormat, InputStream FontStream) Es gibt eine neue Schriftart mit dem angegebenen Schriftarttyp und den angegebenen Eingabedaten zurück.
createGlyphVector(FontRenderContext frc, char[] chars) Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Es erstellt einen GlyphVector, indem es die angegebenen Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart.
createGlyphVector(FontRenderContext frc, String str) Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart.
decode(String str) Es gibt die Schriftart zurück, die das str-Argument beschreibt.
deriveFont(AffineTransform trans) Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und eine neue Transformation darauf anwendet.
deriveFont(Float-Größe) Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und ihm eine neue Größe zuweist.
deriveFont(int style) Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und einen neuen Stil darauf anwendet.
deriveFont(int style, AffineTransform trans) Es erstellt ein neues Font-Objekt, indem es dieses Font-Objekt repliziert und einen neuen Stil und eine neue Transformation anwendet.
deriveFont(int-Stil, Float-Größe) Es erstellt ein neues Font-Objekt, indem es dieses Font-Objekt repliziert und einen neuen Stil und eine neue Größe anwendet.
deriveFont(Map-Attribute) Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und einen neuen Satz von Font-Attributen darauf anwendet.
equal(Objekt obj) Es vergleicht dieses Font-Objekt mit dem angegebenen Objekt.
getAttributes() Es gibt eine Karte der in dieser Schriftart verfügbaren Schriftartattribute zurück.
getAvailableAttributes() Es gibt die Schlüssel aller von dieser Schriftart unterstützten Attribute zurück.
getBaselineFor(char c) Es gibt die für die Anzeige dieses Zeichens geeignete Grundlinie zurück.
getFamily() Es gibt den Familiennamen dieser Schriftart zurück.
getFamily(Locale l) Es gibt den Familiennamen dieser Schriftart zurück, lokalisiert für das angegebene Gebietsschema.
getFont(Map-Attribute) Es gibt eine den Attributen entsprechende Schriftart zurück.
getFont(String nm) Es gibt ein Font-Objekt aus der Systemeigenschaftenliste zurück.
getFont(String nm, Schriftart) Ruft die angegebene Schriftart aus der Systemeigenschaftenliste ab.
getFontName() Es gibt den Namen der Schriftart dieser Schriftart zurück.
getFontName(Locale l) Es gibt den Schriftartnamen der Schriftart zurück, lokalisiert für das angegebene Gebietsschema.
getItalicAngle() Es gibt den Kursivwinkel dieser Schriftart zurück.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde.
getLineMetrics(String str, FontRenderContext frc) Es gibt ein LineMetrics-Objekt zurück, das mit dem angegebenen String und FontRenderContext erstellt wurde.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde.
getMaxCharBounds(FontRenderContext frc) Es gibt die Grenzen für das Zeichen mit den maximalen Grenzen zurück, wie im angegebenen FontRenderContext definiert.
getMissingGlyphCode() Es gibt den glyphCode zurück, der verwendet wird, wenn diese Schriftart kein Glyph für einen angegebenen Unicode-Codepunkt hat.
getName() Es gibt den logischen Namen dieser Schriftart zurück.
getNumGlyphs() Es gibt die Anzahl der Glyphen in dieser Schriftart zurück.
getPeer() Das Rendern von Schriftarten ist jetzt plattformunabhängig.
getPSName() Es gibt den Postscript-Namen dieser Schriftart zurück.
getSize() Es gibt die Punktgröße dieser Schriftart zurück, gerundet auf eine ganze Zahl.
getSize2D() Es gibt die Punktgröße dieser Schriftart im Float-Wert zurück.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Es gibt die logischen Grenzen des angegebenen Zeichenarrays im angegebenen FontRenderContext zurück.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Es gibt die logischen Grenzen der im angegebenen CharacterIterator im angegebenen FontRenderContext indizierten Zeichen zurück.
getStringBounds(String str, FontRenderContext frc) Es gibt die logischen Grenzen des angegebenen Strings im angegebenen FontRenderContext zurück.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Es gibt die logischen Grenzen des angegebenen Strings im angegebenen FontRenderContext zurück.
getStyle() Es gibt den Stil dieser Schriftart zurück.
getTransform() Es gibt eine Kopie der dieser Schriftart zugeordneten Transformation zurück.
Hash-Code() Es gibt einen Hashcode für diese Schriftart zurück.
hasLayoutAttributes() Es gibt „true“ zurück, wenn diese Schriftart Attribute enthält, die eine zusätzliche Layoutverarbeitung erfordern.
hasUniformLineMetrics() Es prüft, ob diese Schriftart einheitliche Linienmaße hat oder nicht.
isBold() Es gibt an, ob der Stil dieses Font-Objekts BOLD ist oder nicht.
kursiv() Es gibt an, ob der Stil dieses Schriftartobjekts kursiv ist oder nicht.
isPlain() Es gibt an, ob der Stil dieses Font-Objekts PLAIN ist oder nicht.
isTransformed() Es gibt an, ob dieses Font-Objekt zusätzlich zum Size-Attribut über eine Transformation verfügt, die sich auf seine Größe auswirkt.
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) Es gibt ein neues GlyphVector-Objekt zurück und führt, wenn möglich, das vollständige Layout des Textes durch.
toString() Es konvertiert dieses Font-Objekt in eine String-Darstellung.

Sehen wir uns ein Beispiel einer Java-Schriftart an.

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); } } 

Um das obige Programm auszuführen, befolgen Sie die folgenden Schritte:

ich. Kopieren Sie den obigen Code, fügen Sie ihn ein und speichern Sie die Datei unter dem Namen JavaFontExample.java.

myflixr

ii. Erstellen Sie eine HTM-Datei und schreiben Sie den folgenden Code.

JavaFontExample.html

 

iii. Öffnen Sie die Eingabeaufforderung und führen Sie die folgenden Befehle aus:

 JavaFontExample.java appletviewer JavaFontExample.java 

Ausgabe 1:

Java-Schriftart

Um die folgende Ausgabe zu erhalten, nehmen Sie die Änderungen in der folgenden Anweisung vor:

 Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed 

Ausgabe 2:

Java-Schriftart