A Giava, Font è una classe che appartiene a java.awt pacchetto. Implementa l'interfaccia Serializable. FontUIResource è la sottoclasse conosciuta diretta della classe Java Font.
Rappresenta il carattere utilizzato per visualizzare il testo. In Java, ci sono due termini tecnici utilizzati per rappresentare i caratteri caratteri E Glifi .
Tipi di caratteri in Java
In Java esistono due tipi di caratteri:
- Caratteri fisici
- Font logici
Caratteri fisici
I caratteri fisici sono una vera e propria libreria di caratteri Java. Contiene tabelle che mappano la sequenza di caratteri in sequenze di glifi utilizzando la tecnologia dei caratteri come Caratteri TrueType (TTF) e Carattere PostScript tipo 1 . Tieni presente che tutta l'implementazione di Java deve supportare TTF. L'utilizzo di altre tecnologie dei caratteri dipende dall'implementazione. Il carattere fisico include il nome come Helvetica, Palatino, HonMincho , altri nomi di caratteri.
La proprietà del carattere fisico è che utilizza un insieme limitato di sistemi di scrittura come Caratteri latini o solo giapponese E Latino di base caratteri. Può variare per quanto riguarda le modifiche alla configurazione. Se un'applicazione richiede un carattere specifico, l'utente può raggruppare e creare un'istanza di quel carattere utilizzando il file creaFont() metodo della classe Java Font.
Font logici
Java definisce cinque famiglie di caratteri logici che sono Serif, SansSerif, Monospazio, Finestra di dialogo, E DialogInput . Deve essere supportato dalla JRE. Tieni presente che JRE associa i nomi dei caratteri logici ai caratteri fisici poiché queste non sono le librerie di caratteri effettive. Di solito, l'implementazione della mappatura dipende dalla locale. Ciascun nome di carattere logico è associato a diversi caratteri fisici per coprire un'ampia gamma di caratteri.
Ad esempio, componenti AWT come Etichetta E Campo di testo utilizza solo caratteri logici.
Facce e nomi dei caratteri
Un carattere può avere molti volti come pesante, regolare, medio, obliquo, gotico, ecc. Tutti i caratteri hanno un design tipografico simile.
Un oggetto Font ha tre nomi diversi che sono:
La classe Java Font rappresenta un'istanza di un carattere da una raccolta di caratteri presenti nelle risorse di sistema del sistema host. Esempi di tipi di carattere sono Arial Bold, Courier Bold Italic, ecc. Un tipo di carattere (ciascuno diverso per dimensione, stile, trasformazione e caratteristica del carattere) può essere associato a diversi oggetti Font.
Campi classe carattere
Modificatore | Campo | Descrizione |
---|---|---|
interno statico | GRASSETTO | La costante dello stile audace. |
interno statico | CENTRO_BASELINE | La linea di base utilizzata negli script ideografici come cinese, giapponese e coreano durante la disposizione del testo. |
stringa statica | DIALOGO | Una costante String per il nome di famiglia canonico del carattere logico 'Dialog'. |
stringa statica | DIALOG_INPUT | Una costante String per il nome della famiglia canonica del carattere logico 'DialogInput'. |
interno statico | HANGING_BASELINE | La linea di base utilizzata in Devanigiri e script simili durante la disposizione del testo. |
interno statico | CORSIVO | La costante di stile in corsivo. |
interno statico | DISPOSIZIONE_LEFT_TO_RIGHT | Un flag su layoutGlyphVector che indica che il testo è da sinistra a destra come determinato dall'analisi Bidi. |
interno statico | LAYOUT_NO_LIMIT_CONTEXT | Un flag su layoutGlyphVector che indica che il testo nell'array di caratteri dopo il limite indicato non deve essere esaminato. |
interno statico | LAYOUT_NO_START_CONTEXT | Un flag su layoutGlyphVector che indica che il testo nell'array di caratteri prima dell'inizio indicato non deve essere esaminato. |
interno statico | DISPOSIZIONE_RIGHT_TO_LEFT | Un flag su layoutGlyphVector che indica che il testo è da destra a sinistra come determinato dall'analisi Bidi. |
stringa statica | MONOSPAZIATO | Una costante String per il nome di famiglia canonico del carattere logico 'Monospaced'. |
stringa statica | nome | Il nome logico di questo Font, come passato al costruttore. |
interno statico | PIANURA | La costante dello stile semplice. |
galleggiante statico | puntoDimensione | La dimensione in punti di questo carattere in float. |
interno statico | LINEA BASE_ROMANA | La linea di base utilizzata nella maggior parte delle scritture latine per la disposizione del testo. |
stringa statica | SENZA SERIF | Una costante String per il nome di famiglia canonico del carattere logico 'SansSerif'. |
stringa statica | SERIF | Una costante String per il nome di famiglia canonico del carattere logico 'Serif'. |
interno protetto | misurare | La dimensione in punti di questo carattere, arrotondata al numero intero. |
interno protetto | stile | Lo stile di questo Font, come passato al costruttore. |
interno statico | TRUETYPE_FONT | Identificare una risorsa carattere di tipo TRUETYPE. |
interno statico | TIPO1_FONT | Identificare una risorsa carattere di tipo TYPE1. |
Costruttori di classi di caratteri
Costruttore | Descrizione |
---|---|
Carattere(Carattere carattere) | Crea un nuovo carattere dal carattere specificato. |
Carattere (attributi della mappa) | Crea un nuovo Font con gli attributi specificati. |
Carattere (nome stringa, stile int, dimensione int) | Crea un nuovo carattere dal nome, dallo stile e dalla dimensione in punti specificati. |
Metodi di classe dei caratteri
Metodi | Descrizione |
---|---|
canDisplay(carattere c) | Controlla se questo carattere ha un glifo per il carattere specificato. |
canDisplay(int codePoint) | Controlla se questo carattere ha un glifo per il carattere specificato. |
canDisplayUpTo(char[] testo, int inizio, int limite) | Indica se questo carattere può visualizzare o meno i caratteri nel testo specificato iniziando dall'inizio e terminando al limite. |
canDisplayUpTo(percorso CharacterIterator, int inizio, int limite) | Indica se questo Font può visualizzare o meno il testo specificato dall'iter che inizia all'inizio e termina al limite. |
canDisplayUpTo(String str) | Indica se questo carattere può visualizzare o meno una stringa specificata. |
createFont(int fontFormat, File fontFile) | Restituisce un nuovo Font utilizzando il tipo di font specificato e il file di font specificato. |
createFont(int fontFormat, InputStream fontStream) | Restituisce un nuovo carattere utilizzando il tipo di carattere e i dati di input specificati. |
createGlyphVector(FontRenderContext frc, char[] caratteri) | Crea un GlyphVector mappando i caratteri sui glifi uno a uno in base al cmap Unicode in questo carattere. |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | Crea un GlyphVector mappando i caratteri specificati sui glifi uno a uno in base al cmap Unicode in questo carattere. |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | Crea un GlyphVector mappando i caratteri sui glifi uno a uno in base al cmap Unicode in questo carattere. |
createGlyphVector(FontRenderContext frc, String str) | Crea un GlyphVector mappando i caratteri sui glifi uno a uno in base al cmap Unicode in questo carattere. |
decodificare(String str) | Restituisce il carattere descritto dall'argomento str. |
derivaFont(AffineTransform trans) | Crea un nuovo oggetto Font replicando l'oggetto Font corrente e applicandovi una nuova trasformazione. |
derivaFont(dimensione float) | Crea un nuovo oggetto Font replicando l'oggetto Font corrente e applicandogli una nuova dimensione. |
derivaFont(stile int) | Crea un nuovo oggetto Font replicando l'oggetto Font corrente e applicandovi un nuovo stile. |
derivaFont(int style, AffineTransform trans) | Crea un nuovo oggetto Font replicando questo oggetto Font e applicando un nuovo stile e trasformazione. |
derivaFont(stile int, dimensione float) | Crea un nuovo oggetto Font replicando questo oggetto Font e applicando un nuovo stile e dimensione. |
derivaFont(Attributi della mappa) | Crea un nuovo oggetto Font replicando l'oggetto Font corrente e applicandovi un nuovo set di attributi del carattere. |
è uguale a(Oggetto oggetto) | Confronta questo oggetto Font con l'oggetto specificato. |
ottieniAttributi() | Restituisce una mappa degli attributi dei caratteri disponibili in questo Font. |
getAttributiDisponibili() | Restituisce le chiavi di tutti gli attributi supportati da questo Font. |
getBaselineFor(char c) | Restituisce la linea di base appropriata per visualizzare questo carattere. |
getFamiglia() | Restituisce il nome della famiglia di questo carattere. |
getFamily(Impostazioni internazionali l) | Restituisce il nome della famiglia di questo carattere, localizzato per la locale specificata. |
getFont(Attributi della mappa) | Restituisce un Font appropriato per gli attributi. |
getFont(Stringa nm) | Restituisce un oggetto Font dall'elenco delle proprietà di sistema. |
getFont(String nm, Carattere carattere) | Ottiene il carattere specificato dall'elenco delle proprietà di sistema. |
getNomeFont() | Restituisce il nome del carattere di questo carattere. |
getFontName(Locale l) | Restituisce il nome del carattere del Font, localizzato per la locale specificata. |
getItalicAngle() | Restituisce l'angolo corsivo di questo Font. |
getLineMetrics(char[] caratteri, int BeginIndex, int limite, FontRenderContext frc) | Restituisce un oggetto LineMetrics creato con gli argomenti specificati. |
getLineMetrics(CharacterIterator ci, int BeginIndex, int limit, FontRenderContext frc) | Restituisce un oggetto LineMetrics creato con gli argomenti specificati. |
getLineMetrics(String str, FontRenderContext frc) | Restituisce un oggetto LineMetrics creato con String e FontRenderContext specificati. |
getLineMetrics(String str, int BeginIndex, int limit, FontRenderContext frc) | Restituisce un oggetto LineMetrics creato con gli argomenti specificati. |
getMaxCharBounds(FontRenderContext frc) | Restituisce i limiti del carattere con i limiti massimi definiti nel FontRenderContext specificato. |
getMissingGlyphCode() | Restituisce il glyphCode che viene utilizzato quando questo carattere non ha un glifo per un punto di codice unicode specificato. |
getNome() | Restituisce il nome logico di questo Font. |
getNumGlyphs() | Restituisce il numero di glifi in questo Font. |
getPeer() | Il rendering dei caratteri è ora indipendente dalla piattaforma. |
getPSNome() | Restituisce il nome postscript di questo font. |
ottienidimensione() | Restituisce la dimensione in punti di questo Font, arrotondata a un numero intero. |
ottieniDimensione2D() | Restituisce la dimensione in punti di questo carattere in valore float. |
getStringBounds(char[] caratteri, int BeginIndex, int limite, FontRenderContext frc) | Restituisce i limiti logici della matrice di caratteri specificata nel FontRenderContext specificato. |
getStringBounds(CharacterIterator ci, int BeginIndex, int limit, FontRenderContext frc) | Restituisce i limiti logici dei caratteri indicizzati nel CharacterIterator specificato nel FontRenderContext specificato. |
getStringBounds(String str, FontRenderContext frc) | Restituisce i limiti logici della String specificata nel FontRenderContext specificato. |
getStringBounds(String str, int BeginIndex, int limit, FontRenderContext frc) | Restituisce i limiti logici della String specificata nel FontRenderContext specificato. |
getStyle() | Restituisce lo stile di questo Font. |
getTrasforma() | Restituisce una copia della trasformazione associata a questo Font. |
codice hash() | Restituisce un hashcode per questo carattere. |
haAttributiLayout() | Restituisce true se questo carattere contiene attributi che richiedono un'ulteriore elaborazione del layout. |
hasUniformLineMetrics() | Controlla se questo carattere ha o meno una metrica di linea uniforme. |
è in grassetto() | Indica se lo stile di questo oggetto Font è BOLD o meno. |
corsivo() | Indica se lo stile di questo oggetto Font è ITALIC o meno. |
èPiano() | Indica se lo stile di questo oggetto Font è PLAIN o meno. |
ètrasformato() | Indica se questo oggetto Font ha o meno una trasformazione che influisce sulla sua dimensione oltre all'attributo Size. |
layoutGlyphVector(FontRenderContext frc, char[] testo, int inizio, int limite, int flag) | Restituisce un nuovo oggetto GlyphVector, eseguendo il layout completo del testo, se possibile. |
accordare() | Converte questo oggetto Font in una rappresentazione String. |
Vediamo un esempio di Java Font.
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); } }
Per eseguire il programma sopra, seguire i passaggi indicati di seguito:
io. Copia e incolla il codice sopra e salva il file con il nome JavaFontExample.java.
ii. Crea un file HTM e scrivi il seguente codice.
JavaFontExample.html
iii. Apri il prompt dei comandi ed esegui i seguenti comandi:
JavaFontExample.java appletviewer JavaFontExample.java
Uscita 1:
Per ottenere il seguente output, apportare le modifiche nella seguente istruzione:
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
Uscita 2: