I Java, Skrifttype er en klasse, der hører til java.awt pakke. Det implementerer Serializable-grænsefladen. FontUIResource er den direkte kendte underklasse af Java Font-klassen.
Det repræsenterer den skrifttype, der bruges til at gengive teksten. I Java er der to tekniske udtryk, der bruges til at repræsentere skrifttype tegn og Glyfer .
Typer af skrifttyper i Java
Der er to typer skrifttyper i Java:
- Fysiske skrifttyper
- Logiske skrifttyper
Fysiske skrifttyper
Fysiske skrifttyper er det faktiske Java-skrifttypebibliotek. Den indeholder tabeller, der kortlægger tegnsekvens til glyfsekvenser ved at bruge skrifttypeteknologien som f.eks TrueType skrifttyper (TTF) og PostScript Type 1-skrifttype . Bemærk, at al implementering af Java skal understøtte TTF. Brug af andre skrifttypeteknologier er implementeringsafhængig. Fysisk skrifttype omfatter navnet som f.eks Helvetica, Palatino, HonMincho , andre skrifttypenavne.
Egenskaben ved den fysiske skrifttype er, at den bruger det begrænsede sæt af skrivesystemer som f.eks latinske tegn eller kun japansk og Grundlæggende latin tegn. Det kan variere med hensyn til konfigurationsændringer. Hvis en applikation kræver en specifik skrifttype, kan brugeren samle og instansiere den skrifttype ved at bruge createFont() metoden for Java Font-klassen.
Logiske skrifttyper
Java definerer fem logiske skrifttypefamilier, der er Serif, SansSerif, Monospaced, Dialog, og DialogInput . Det skal understøttes af JRE. Bemærk, at JRE kortlægger de logiske skrifttypenavne til fysisk skrifttype, fordi disse ikke er de faktiske skrifttypebiblioteker. Normalt er kortlægningsimplementering lokalitetsafhængig. Hvert logisk skrifttypenavn kortlægges til flere fysiske skrifttyper for at dække et stort udvalg af tegn.
Eksempelvis AWT komponenter som f.eks Etiket og Tekstfelt bruger kun logiske skrifttyper.
Skrifttyper og navne
En skrifttype kan have mange ansigter såsom tung, almindelig, medium, skrå, gotisk osv. Alle skrifttyper har det lignende typografidesign.
Et skrifttypeobjekt har tre forskellige navne, der er:
Java Font-klassen repræsenterer en forekomst af en skrifttype fra en samling af skrifttyper, der findes i værtssystemets systemressourcer. Eksempler på skrifttyper er Arial Bold, Courier Bold Italic osv. En skrifttype (hver forskellig i størrelse, stil, transformation og skrifttypefunktion) kan forbindes med flere skrifttypeobjekter.
Fontklassefelter
Modifikator | Mark | Beskrivelse |
---|---|---|
statisk int | FREMHÆVET | Den dristige stilkonstant. |
statisk int | CENTER_BASELINE | Grundlinjen, der bruges i ideografiske scripts som kinesisk, japansk og koreansk, når teksten udformes. |
statisk streng | DIALOG | En strengkonstant for det kanoniske familienavn for den logiske skrifttype 'Dialog'. |
statisk streng | DIALOG_INPUT | En strengkonstant for det kanoniske familienavn for den logiske skrifttype 'DialogInput'. |
statisk int | HANGING_BASELINE | Grundlinjen, der bruges i Devanigiri og lignende scripts ved udlægning af tekst. |
statisk int | KURSIV | Den kursivede stilkonstant. |
statisk int | LAYOUT_LEFT_TO_RIGHT | Et flag til layoutGlyphVector, der angiver, at teksten er fra venstre mod højre som bestemt af Bidi-analyse. |
statisk int | LAYOUT_NO_LIMIT_CONTEXT | Et flag til layoutGlyphVector, der angiver, at tekst i char-arrayet efter den angivne grænse ikke bør undersøges. |
statisk int | LAYOUT_NO_START_CONTEXT | Et flag til layoutGlyphVector, der angiver, at tekst i char-arrayet før den angivne start ikke bør undersøges. |
statisk int | LAYOUT_RIGHT_TO_LEFT | Et flag til layoutGlyphVector, der angiver, at teksten er fra højre mod venstre som bestemt af Bidi-analyse. |
statisk streng | MONOSPACED | En strengkonstant for det kanoniske familienavn for den logiske skrifttype 'Monospaced'. |
statisk streng | navn | Det logiske navn på denne skrifttype, som videregivet til konstruktøren. |
statisk int | ALMINDELIGT | Den almindelige stilkonstant. |
statisk flyder | pointSize | Punktstørrelsen af denne skrifttype i float. |
statisk int | ROMAN_BASELINE | Grundlinjen, der bruges i de fleste romerske skrifter, når teksten udformes. |
statisk streng | SANS SERIF | En strengkonstant for det kanoniske familienavn for den logiske skrifttype 'SansSerif'. |
statisk streng | SERIF | En strengkonstant for det kanoniske familienavn for den logiske skrifttype 'Serif'. |
beskyttet int | størrelse | Punktstørrelsen af denne skrifttype, afrundet til heltal. |
beskyttet int | stil | Stilen på denne skrifttype, som overført til konstruktøren. |
statisk int | TRUETYPE_FONT | Identificer en skrifttyperessource af typen TRUETYPE. |
statisk int | TYPE1_FONT | Identificer en skrifttyperessource af typen TYPE1. |
Font Class Constructors
Konstruktør | Beskrivelse |
---|---|
Skrifttype (skrifttype) | Opretter en ny skrifttype fra den angivne skrifttype. |
Skrifttype (Kortattributter) | Opretter en ny skrifttype med de angivne attributter. |
Skrifttype (strengnavn, int stil, int størrelse) | Opretter en ny skrifttype ud fra det angivne navn, stil og punktstørrelse. |
Skrifttypeklassemetoder
Metoder | Beskrivelse |
---|---|
canDisplay(char c) | Den kontrollerer, om denne skrifttype har en glyf for det angivne tegn. |
canDisplay(int codePoint) | Den kontrollerer, om denne skrifttype har en glyf for det angivne tegn. |
canDisplayUpTo(char[] tekst, int start, int limit) | Det angiver, om denne skrifttype kan vise tegnene i den angivne tekst, der starter ved start og slutter ved grænse. |
canDisplayUpTo(CharacterIterator path, int start, int limit) | Det angiver, om denne skrifttype kan vise den tekst, der er angivet af iteren, der starter ved start og slutter ved grænse. |
canDisplayUpTo(String str) | Det angiver, om denne skrifttype kan vise en specificeret streng. |
createFont(int fontFormat, File fontFile) | Den returnerer en ny skrifttype ved hjælp af den angivne skrifttype og den angivne skrifttypefil. |
createFont(int fontFormat, InputStream fontStream) | Den returnerer en ny skrifttype ved hjælp af den angivne skrifttype og inputdata. |
createGlyphVector(FontRenderContext frc, char[] chars) | Det opretter en GlyphVector ved at kortlægge tegn til glyffer en-til-en baseret på Unicode cmap i denne skrifttype. |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | Det opretter en GlyphVector ved at kortlægge de angivne tegn til glyffer en-til-en baseret på Unicode-cmap'et i denne skrifttype. |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | Det opretter en GlyphVector ved at kortlægge tegn til glyffer en-til-en baseret på Unicode cmap i denne skrifttype. |
createGlyphVector(FontRenderContext frc, String str) | Det opretter en GlyphVector ved at kortlægge tegn til glyffer en-til-en baseret på Unicode cmap i denne skrifttype. |
decode(String str) | Det returnerer den skrifttype, som str-argumentet beskriver. |
deriveFont(AffineTransform trans) | Den opretter et nyt Font-objekt ved at replikere det aktuelle Font-objekt og anvende en ny transformation til det. |
deriveFont (flydende størrelse) | Den opretter et nyt skrifttypeobjekt ved at replikere det aktuelle skrifttypeobjekt og anvende en ny størrelse på det. |
deriveFont(int style) | Den opretter et nyt skrifttypeobjekt ved at replikere det aktuelle skrifttypeobjekt og anvende en ny typografi på det. |
deriveFont(int style, AffineTransform trans) | Den opretter et nyt Font-objekt ved at replikere dette Font-objekt og anvende en ny stil og transformere. |
deriveFont (int style, float størrelse) | Det opretter et nyt Font-objekt ved at replikere dette Font-objekt og anvende en ny stil og størrelse. |
deriveFont(Kortattributter) | Den opretter et nyt skrifttypeobjekt ved at replikere det aktuelle skrifttypeobjekt og anvende et nyt sæt skrifttypeattributter på det. |
er lig med (Objekt obj) | Den sammenligner dette skrifttypeobjekt med det angivne objekt. |
getAttributes() | Det returnerer et kort over skrifttypeattributter, der er tilgængelige i denne skrifttype. |
getAvailableAttributes() | Det returnerer nøglerne til alle de attributter, der understøttes af denne skrifttype. |
getBaselineFor(char c) | Det returnerer den basislinje, der er passende til at vise dette tegn. |
getFamily() | Det returnerer familienavnet på denne skrifttype. |
getFamily(Locale l) | Det returnerer familienavnet på denne skrifttype, lokaliseret til den angivne lokalitet. |
getFont(Kortattributter) | Det returnerer en skrifttype, der passer til attributterne. |
getFont(String nm) | Det returnerer et Font-objekt fra listen over systemegenskaber. |
getFont(String nm, Font font) | Henter den angivne skrifttype fra listen over systemegenskaber. |
getFontName() | Det returnerer skrifttypenavnet på denne skrifttype. |
getFontName(Locale l) | Det returnerer skrifttypenavnet på skrifttypen, lokaliseret til den angivne lokalitet. |
getItalicAngle() | Det returnerer den kursive vinkel for denne skrifttype. |
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Det returnerer et LineMetrics-objekt, der er oprettet med de angivne argumenter. |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Det returnerer et LineMetrics-objekt, der er oprettet med de angivne argumenter. |
getLineMetrics(String str, FontRenderContext frc) | Det returnerer et LineMetrics-objekt, der er oprettet med den angivne streng og FontRenderContext. |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) | Det returnerer et LineMetrics-objekt, der er oprettet med de angivne argumenter. |
getMaxCharBounds(FontRenderContext frc) | Det returnerer grænserne for tegnet med de maksimale grænser som defineret i den angivne FontRenderContext. |
getMissingGlyphCode() | Det returnerer glyphCode, som bruges, når denne skrifttype ikke har en glyph for et specificeret unicode-kodepunkt. |
getName() | Det returnerer det logiske navn på denne skrifttype. |
getNumGlyphs() | Det returnerer antallet af glyffer i denne skrifttype. |
getPeer() | Skrifttypegengivelse er nu platformuafhængig. |
getPSName() | Det returnerer postscript-navnet på denne skrifttype. |
getSize() | Det returnerer punktstørrelsen af denne skrifttype, afrundet til et heltal. |
getSize2D() | Det returnerer punktstørrelsen for denne skrifttype i flydende værdi. |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Det returnerer de logiske grænser for det angivne array af tegn i den angivne FontRenderContext. |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Det returnerer de logiske grænser for de tegn, der er indekseret i den angivne CharacterIterator i den angivne FontRenderContext. |
getStringBounds(String str, FontRenderContext frc) | Det returnerer de logiske grænser for den angivne streng i den angivne FontRenderContext. |
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) | Det returnerer de logiske grænser for den angivne streng i den angivne FontRenderContext. |
getStyle() | Det returnerer stilen for denne skrifttype. |
getTransform() | Det returnerer en kopi af transformationen, der er knyttet til denne skrifttype. |
hashCode() | Det returnerer en hashkode for denne skrifttype. |
hasLayoutAttributes() | Det returnerer sandt, hvis denne skrifttype indeholder attributter, der kræver ekstra layoutbehandling. |
hasUniformLineMetrics() | Den kontrollerer, om denne skrifttype har ensartede linjemålinger. |
isBold() | Det angiver, om dette skrifttypeobjekts stil er FED. |
kursiv() | Det angiver, om dette skrifttypeobjekts stil er KURSIV. |
isPlain() | Det angiver, om dette skrifttypeobjekts stil er PLAIN. |
er Transformeret() | Det angiver, om dette skrifttypeobjekt har en transformation, der påvirker dets størrelse ud over attributten Størrelse. |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flag) | Det returnerer et nyt GlyphVector-objekt, der udfører fuld layout af teksten, hvis det er muligt. |
toString() | Det konverterer dette Font-objekt til en String-repræsentation. |
Lad os 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 at udføre ovenstående program, følg nedenstående trin:
jeg. Kopiér og indsæt ovenstående kode og gem filen med navnet JavaFontExample.java.
ii. Opret en HTM-fil og skriv følgende kode.
JavaFontExample.html
iii. Åbn kommandoprompten og udfør følgende kommandoer:
JavaFontExample.java appletviewer JavaFontExample.java
Output 1:
For at få følgende output skal du foretage ændringerne i følgende sætning:
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
Output 2: