logo

Java-font

I Java, Font er en klasse som tilhører java.awt pakke. Den implementerer Serializable-grensesnittet. FontUIResource er den direkte kjente underklassen til Java Font-klassen.

Den representerer fonten som brukes til å gjengi teksten. I Java er det to tekniske termer som brukes til å representere fonten tegn og Glyfer .

Typer fonter i Java

Det er to typer fonter i Java:

  • Fysiske skrifter
  • Logiske skrifter

Fysiske skrifter

Fysiske skrifter er faktiske Java-fontbibliotek. Den inneholder tabeller som kartlegger tegnsekvens til glyphsekvenser ved å bruke skriftteknologien som f.eks TrueType-fonter (TTF) og PostScript Type 1-skrift . Merk at all implementering av Java må støtte TTF. Bruk av andre skriftteknologier er implementeringsavhengig. Fysisk skrift inkluderer navnet som f.eks Helvetica, Palatino, HonMincho , andre skriftnavn.

Egenskapen til den fysiske fonten er at den bruker det begrensede settet med skrivesystemer som f.eks latinske tegn eller bare japansk og Grunnleggende latin tegn. Det kan variere med hensyn til konfigurasjonsendringer. Hvis en applikasjon krever en spesifikk font, kan brukeren samle og instansiere den skriften ved å bruke createFont() metoden til Java Font-klassen.

Logiske skrifter

Java definerer fem logiske skriftfamilier som er Serif, SansSerif, Monospaced, Dialog, og Dialoginngang . Den må støttes av JRE. Merk at JRE tilordner de logiske skriftnavnene til fysisk skrift fordi disse ikke er de faktiske skriftbibliotekene. Vanligvis er kartimplementering stedsavhengig. Hvert logiske skriftnavn tilordner flere fysiske fonter for å dekke et stort spekter av tegn.

For eksempel AWT-komponenter som f.eks Merkelapp og Tekstfelt bruker kun logiske fonter.

Fontansikter og navn

En font kan ha mange ansikter som tung, vanlig, medium, skrå, gotisk, osv. Alle fonter har lignende typografdesign.

Et Font-objekt har tre forskjellige navn som er:

    Logisk skriftnavn:Det er navnet som brukes til å konstruere fonten.Skriftnavn:Det er navnet på en bestemt skrifttype. For eksempel Helvetica Bold.Familienavn:Det er navnet på skriftfamilien. Det bestemmer typografdesignet blant flere ansikter.

Java Font-klassen representerer en forekomst av en skrifttype fra en samling av skrifttyper som finnes i systemressursene til vertssystemet. Eksempler på skrifttyper er Arial Bold, Courier Bold Italic, osv. En skrifttype (hver forskjellig i størrelse, stil, transformasjon og skriftfunksjon) kan assosieres med flere skriftobjekter.

Fontklassefelt

Modifikator Felt Beskrivelse
statisk int DRISTIG Den dristige stilkonstanten.
statisk int CENTER_BASELINE Grunnlinjen som brukes i ideografiske skript som kinesisk, japansk og koreansk når du legger ut tekst.
statisk streng DIALOG En strengkonstant for det kanoniske familienavnet til den logiske fonten 'Dialog'.
statisk streng DIALOG_INPUT En strengkonstant for det kanoniske familienavnet til den logiske fonten 'DialogInput'.
statisk int HANGING_BASELINE Grunnlinjen som brukes i Devanigiri og lignende skript når du legger ut tekst.
statisk int KURSIV Den kursiviserte stilkonstanten.
statisk int LAYOUT_LEFT_TO_RIGHT Et flagg til layoutGlyphVector som indikerer at teksten er fra venstre til høyre som bestemt av Bidi-analyse.
statisk int LAYOUT_NO_LIMIT_CONTEXT Et flagg til layoutGlyphVector som indikerer at tekst i char-matrisen etter den angitte grensen ikke skal undersøkes.
statisk int LAYOUT_NO_START_CONTEXT Et flagg til layoutGlyphVector som indikerer at tekst i char array før den angitte starten ikke skal undersøkes.
statisk int LAYOUT_RIGHT_TO_LEFT Et flagg til layoutGlyphVector som indikerer at teksten er fra høyre til venstre som bestemt av Bidi-analyse.
statisk streng MONOSPACET En strengkonstant for det kanoniske familienavnet til den logiske fonten «Monospaced».
statisk streng Navn Det logiske navnet på denne skriften, som sendt til konstruktøren.
statisk int VANLIG Den enkle stilkonstanten.
statisk flyte pointSize Punktstørrelsen til denne skriften i flytende.
statisk int ROMAN_BASELINE Grunnlinjen som brukes i de fleste romerske skrifter ved utforming av tekst.
statisk streng SANS SERIF En strengkonstant for det kanoniske familienavnet til den logiske fonten 'SansSerif'.
statisk streng SERIF En strengkonstant for det kanoniske familienavnet til den logiske fonten 'Serif'.
beskyttet int størrelse Punktstørrelsen til denne skriften, avrundet til heltall.
beskyttet int stil Stilen til denne fonten, som overført til konstruktøren.
statisk int TRUETYPE_FONT Identifiser en skriftressurs av typen TRUETYPE.
statisk int TYPE1_FONT Identifiser en skriftressurs av typen TYPE1.

Font Class Constructors

Konstruktør Beskrivelse
Font (font font) Oppretter en ny skrift fra den angitte skriften.
Font (Kartattributter) Oppretter en ny skrift med de angitte attributtene.
Skrift (strengnavn, int stil, int størrelse) Oppretter en ny skrift fra det angitte navnet, stilen og punktstørrelsen.

Skriftklassemetoder

Metoder Beskrivelse
canDisplay(char c) Den sjekker om denne skriften har en glyph for det angitte tegnet.
canDisplay(int codePoint) Den sjekker om denne skriften har en glyph for det angitte tegnet.
canDisplayUpTo(tegn[] tekst, int start, int limit) Den indikerer om denne skriften kan vise tegnene i den angitte teksten fra start og slutt ved grense.
canDisplayUpTo(CharacterIterator path, int start, int limit) Den indikerer om denne skriften kan vise teksten spesifisert av iteren som starter ved start og slutter ved grense.
canDisplayUpTo(String str) Den indikerer om denne skriften kan vise en spesifisert streng eller ikke.
createFont(int fontFormat, File fontFile) Den returnerer en ny skrift ved bruk av den angitte skrifttypen og den angitte skriftfilen.
createFont(int fontFormat, InputStream fontStream) Den returnerer en ny skrift ved bruk av den angitte skrifttypen og inndataene.
createGlyphVector(FontRenderContext frc, char[] chars) Den lager en GlyphVector ved å kartlegge tegn til glyffer en-til-en basert på Unicode cmap i denne skriften.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Den oppretter en GlyphVector ved å kartlegge de angitte tegnene til glyfer en-til-en basert på Unicode cmap i denne skriften.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Den lager en GlyphVector ved å kartlegge tegn til glyffer en-til-en basert på Unicode cmap i denne skriften.
createGlyphVector(FontRenderContext frc, String str) Den lager en GlyphVector ved å kartlegge tegn til glyffer en-til-en basert på Unicode cmap i denne skriften.
decode(String str) Den returnerer skriften som str-argumentet beskriver.
deriveFont(AffineTransform trans) Den oppretter et nytt Font-objekt ved å replikere det gjeldende Font-objektet og bruke en ny transformasjon på det.
deriveFont (flytestørrelse) Den oppretter et nytt Font-objekt ved å replikere det gjeldende Font-objektet og bruke en ny størrelse på det.
deriveFont(int stil) Den oppretter et nytt skriftobjekt ved å replikere det gjeldende skriftobjektet og bruke en ny stil på det.
deriveFont(int style, AffineTransform trans) Den oppretter et nytt Font-objekt ved å replikere dette Font-objektet og bruke en ny stil og transformere.
deriveFont(int stil, flytestørrelse) Den oppretter et nytt Font-objekt ved å replikere dette Font-objektet og bruke en ny stil og størrelse.
deriveFont(Kartattributter) Den oppretter et nytt skriftobjekt ved å replikere det gjeldende skriftobjektet og bruke et nytt sett med skriftattributter på det.
lik (Objekt objekt) Den sammenligner dette skriftobjektet med det spesifiserte objektet.
getAttributes() Den returnerer et kart over skriftattributter som er tilgjengelige i denne skriften.
getAvailableAttributes() Den returnerer nøklene til alle attributtene som støttes av denne skriften.
getBaselineFor(char c) Den returnerer grunnlinjen som passer for å vise dette tegnet.
getFamily() Det returnerer familienavnet til denne skriften.
getFamily(Locale l) Den returnerer familienavnet til denne skriften, lokalisert for den angitte lokaliteten.
getFont(Kartattributter) Den returnerer en font som passer til attributtene.
getFont(String nm) Den returnerer et Font-objekt fra listen over systemegenskaper.
getFont(String nm, Font font) Henter den angitte skriften fra listen over systemegenskaper.
getFontName() Den returnerer skriftnavnet til denne skriften.
getFontName(Locale l) Den returnerer skriftnavnet til skriften, lokalisert for den angitte lokaliteten.
getItalicAngle() Den returnerer kursiv vinkelen til denne skriften.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Den returnerer et LineMetrics-objekt opprettet med de angitte argumentene.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Den returnerer et LineMetrics-objekt opprettet med de angitte argumentene.
getLineMetrics(String str, FontRenderContext frc) Den returnerer et LineMetrics-objekt opprettet med den angitte strengen og FontRenderContext.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Den returnerer et LineMetrics-objekt opprettet med de angitte argumentene.
getMaxCharBounds(FontRenderContext frc) Den returnerer grensene for tegnet med de maksimale grensene som definert i den angitte FontRenderContext.
getMissingGlyphCode() Den returnerer glyphCode som brukes når denne skriften ikke har en glyph for et spesifisert unicode-kodepunkt.
getName() Den returnerer det logiske navnet på denne skriften.
getNumGlyphs() Den returnerer antall tegn i denne skriften.
getPeer() Skriftgjengivelse er nå plattformuavhengig.
getPSName() Det returnerer postscript-navnet til denne skriften.
getSize() Den returnerer punktstørrelsen til denne skriften, avrundet til et heltall.
getSize2D() Den returnerer punktstørrelsen til denne skriften i flyteverdi.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Den returnerer de logiske grensene for den spesifiserte rekken av tegn i den angitte FontRenderContext.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Den returnerer de logiske grensene for tegnene som er indeksert i den angitte CharacterIterator i den angitte FontRenderContext.
getStringBounds(String str, FontRenderContext frc) Den returnerer de logiske grensene til den angitte strengen i den angitte FontRenderContext.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Den returnerer de logiske grensene til den angitte strengen i den angitte FontRenderContext.
getStyle() Det returnerer stilen til denne skriften.
getTransform() Den returnerer en kopi av transformasjonen knyttet til denne skriften.
hashkode() Den returnerer en hashkode for denne skriften.
hasLayoutAttributes() Den returnerer sann hvis denne skriften inneholder attributter som krever ekstra layoutbehandling.
hasUniformLineMetrics() Den sjekker om denne skriften har enhetlige linjeberegninger eller ikke.
erFet() Den indikerer om stilen til dette skriftobjektet er FET.
kursiv() Den indikerer om stilen til dette skriftobjektet er KURSIV eller ikke.
isPlain() Den indikerer om stilen til dette skriftobjektet er PLAIN eller ikke.
er Transformert() Den indikerer om dette Font-objektet har en transformasjon som påvirker størrelsen i tillegg til Størrelse-attributtet.
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flagg) Den returnerer et nytt GlyphVector-objekt, og utfører full layout av teksten hvis mulig.
toString() Den konverterer dette skriftobjektet til en strengrepresentasjon.

La oss se et eksempel på 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); } } 

For å utføre programmet ovenfor, følg trinnene nedenfor:

Jeg. Kopier og lim inn koden ovenfor og lagre filen med navnet JavaFontExample.java.

ii. Lag en HTM-fil og skriv følgende kode.

JavaFontExample.html

 

iii. Åpne ledeteksten og utfør følgende kommandoer:

 JavaFontExample.java appletviewer JavaFontExample.java 

Utgang 1:

Java-font

For å få følgende utdata, gjør endringene i følgende setning:

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

Utgang 2:

Java-font