logo

Java-lettertype

Op Java, Lettertype is een klasse die behoort tot de java.awt pakket. Het implementeert de Serializable-interface. FontUIResource is de direct bekende subklasse van de Java Font-klasse.

lijstknooppunt in Java

Het vertegenwoordigt het lettertype dat wordt gebruikt om de tekst weer te geven. In Java zijn er twee technische termen die worden gebruikt om het lettertype weer te geven karakters En Gliefen .

Soorten lettertypen in Java

Er zijn twee soorten lettertypen in Java:

  • Fysieke lettertypen
  • Logische lettertypen

Fysieke lettertypen

Fysieke lettertypen zijn een daadwerkelijke Java-lettertypebibliotheek. Het bevat tabellen die tekenreeksen toewijzen aan glyph-reeksen met behulp van lettertypetechnologie zoals TrueType-lettertypen (TTF) en PostScript Type 1-lettertype . Houd er rekening mee dat alle implementaties van Java TTF moeten ondersteunen. Het gebruik van andere lettertypetechnologieën is afhankelijk van de implementatie. Fysiek lettertype bevat de naam zoals Helvetica, Palatino, HonMincho , andere lettertypenamen.

De eigenschap van het fysieke lettertype is dat het gebruik maakt van de beperkte set schrijfsystemen zoals Latijnse karakters of alleen Japans En Basis Latijn karakters. Het kan variëren wat betreft configuratiewijzigingen. Als een toepassing een specifiek lettertype vereist, kan de gebruiker dat lettertype bundelen en instantiëren met behulp van de createFont() methode van de Java Font-klasse.

Logische lettertypen

Java definieert vijf logische lettertypefamilies die dat wel zijn Serif, SansSerif, Monospaced, Dialoogvenster, En DialoogInvoer . Het moet worden ondersteund door de JRE. Houd er rekening mee dat JRE de logische lettertypenamen toewijst aan fysieke lettertypen, omdat dit niet de daadwerkelijke lettertypebibliotheken zijn. Meestal is de implementatie van kaarten afhankelijk van de locatie. Elke logische lettertypenaam verwijst naar verschillende fysieke lettertypen om een ​​groot aantal tekens te dekken.

Bijvoorbeeld AWT-componenten zoals Etiket En TekstVeld gebruikt alleen logische lettertypen.

Lettertype gezichten en namen

Een lettertype kan vele gezichten hebben, zoals zwaar, normaal, medium, schuin, gotisch, enz. Alle lettertypen hebben een soortgelijk typografisch ontwerp.

Een Font-object heeft drie verschillende namen:

    Logische lettertypenaam:Het is de naam die wordt gebruikt om het lettertype te construeren.Lettertype gezichtsnaam:Het is de naam van een bepaald lettertype. Bijvoorbeeld Helvetica Bold.Achternaam:Het is de naam van de lettertypefamilie. Het bepaalt het typograafontwerp tussen verschillende gezichten.

De klasse Java Font vertegenwoordigt een exemplaar van een lettertype uit een verzameling lettertypen die aanwezig zijn in de systeembronnen van het hostsysteem. Voorbeelden van lettertypen zijn Arial Bold, Courier Bold Italic, enz. Een lettertype (elk verschillend in grootte, stijl, transformatie en lettertype-eigenschap) kan aan verschillende Font-objecten zijn gekoppeld.

Velden voor lettertypeklassen

Wijziger Veld Beschrijving
statisch int VETGEDRUKT De gedurfde stijlconstante.
statisch int MIDDEN_BASELINE De basislijn die wordt gebruikt in ideografische scripts zoals Chinees, Japans en Koreaans bij het opmaken van tekst.
statische tekenreeks DIALOOG Een tekenreeksconstante voor de canonieke familienaam van het logische lettertype 'Dialog'.
statische tekenreeks DIALOG_INPUT Een tekenreeksconstante voor de canonieke familienaam van het logische lettertype 'DialogInput'.
statisch int HANGING_BASELINE De basislijn die wordt gebruikt in Devanigiri en soortgelijke scripts bij het opmaken van tekst.
statisch int CURSIEF De cursieve stijlconstante.
statisch int LAYOUT_LEFT_TO_RIGHT Een vlag voor layoutGlyphVector die aangeeft dat tekst van links naar rechts is, zoals bepaald door Bidi-analyse.
statisch int LAYOUT_NO_LIMIT_CONTEXT Een vlag voor layoutGlyphVector die aangeeft dat tekst in de char-array na de aangegeven limiet niet mag worden onderzocht.
statisch int LAYOUT_NO_START_CONTEXT Een vlag voor layoutGlyphVector die aangeeft dat tekst in de char-array vóór het aangegeven begin niet mag worden onderzocht.
statisch int LAYOUT_RIGHT_TO_LEFT Een vlag voor layoutGlyphVector die aangeeft dat tekst van rechts naar links wordt weergegeven, zoals bepaald door Bidi-analyse.
statische tekenreeks EENVOUDIG Een tekenreeksconstante voor de canonieke familienaam van het logische lettertype 'Monospaced'.
statische tekenreeks naam De logische naam van dit lettertype, zoals doorgegeven aan de constructor.
statisch int VLAK De eenvoudige stijlconstante.
statische vlotter puntgrootte De puntgrootte van dit lettertype in float.
statisch int ROMAN_BASELINE De basislijn die in de meeste Romeinse schriften wordt gebruikt bij het opmaken van tekst.
statische tekenreeks ZONDER SERIF Een tekenreeksconstante voor de canonieke familienaam van het logische lettertype 'SansSerif'.
statische tekenreeks SERIF Een tekenreeksconstante voor de canonieke familienaam van het logische lettertype 'Serif'.
beschermd int maat De puntgrootte van dit lettertype, afgerond op geheel getal.
beschermd int stijl De stijl van dit lettertype, zoals doorgegeven aan de constructor.
statisch int TRUETYPE_FONT Identificeer een lettertypebron van het type TRUETYPE.
statisch int TYPE1_FONT Identificeer een lettertypebron van het type TYPE1.

Constructors van lettertypeklassen

Constructeur Beschrijving
Lettertype(Lettertype) Creëert een nieuw lettertype van het opgegeven lettertype.
Lettertype (kaartkenmerken) Creëert een nieuw lettertype met de opgegeven kenmerken.
Lettertype (tekenreeksnaam, int-stijl, int-grootte) Creëert een nieuw lettertype met de opgegeven naam, stijl en puntgrootte.

Methoden voor lettertypeklassen

Methoden Beschrijving
canDisplay(char c) Er wordt gecontroleerd of dit lettertype een glyph heeft voor het opgegeven teken.
canDisplay(int codePunt) Er wordt gecontroleerd of dit lettertype een glyph heeft voor het opgegeven teken.
canDisplayUpTo(char[] tekst, int start, int limiet) Het geeft aan of dit lettertype de tekens in de opgegeven tekst al dan niet kan weergeven, beginnend bij het begin en eindigend bij de limiet.
canDisplayUpTo(CharacterIterator-pad, int start, int limit) Het geeft aan of dit lettertype de door de iter gespecificeerde tekst al dan niet kan weergeven, beginnend bij start en eindigend bij limiet.
canDisplayUpTo(Stringstr) Het geeft aan of dit lettertype een opgegeven tekenreeks kan weergeven.
createFont(int fontFormat, Bestand lettertypeBestand) Het retourneert een nieuw lettertype met het opgegeven lettertype en het opgegeven lettertypebestand.
createFont(int fontFormat, InputStream fontStream) Het retourneert een nieuw lettertype met het opgegeven lettertype en invoergegevens.
createGlyphVector(FontRenderContext frc, char[] tekens) Het creëert een GlyphVector door tekens één-op-één toe te wijzen aan glyphs op basis van de Unicode-cmap in dit lettertype.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Het creëert een GlyphVector door de opgegeven tekens één-op-één toe te wijzen aan glyphs op basis van de Unicode-cmap in dit lettertype.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Het creëert een GlyphVector door tekens één-op-één toe te wijzen aan glyphs op basis van de Unicode-cmap in dit lettertype.
createGlyphVector(FontRenderContext frc, String str) Het creëert een GlyphVector door tekens één-op-één toe te wijzen aan glyphs op basis van de Unicode-cmap in dit lettertype.
decoderen(Stringstr) Het retourneert het lettertype dat het str-argument beschrijft.
ontleenFont(AffineTransform trans) Er wordt een nieuw Font-object gemaakt door het huidige Font-object te repliceren en er een nieuwe transformatie op toe te passen.
derivateFont(zwevende grootte) Er wordt een nieuw Font-object gemaakt door het huidige Font-object te repliceren en er een nieuwe grootte op toe te passen.
ontleenFont(int-stijl) Er wordt een nieuw Font-object gemaakt door het huidige Font-object te repliceren en er een nieuwe stijl op toe te passen.
derivateFont(int-stijl, AffineTransform trans) Er wordt een nieuw Font-object gemaakt door dit Font-object te repliceren en een nieuwe stijl en transformatie toe te passen.
derivateFont(int-stijl, float-grootte) Er wordt een nieuw Font-object gemaakt door dit Font-object te repliceren en een nieuwe stijl en grootte toe te passen.
derivateFont(kaartattributen) Er wordt een nieuw Font-object gemaakt door het huidige Font-object te repliceren en er een nieuwe set lettertype-attributen op toe te passen.
is gelijk aan(Objectobject) Het vergelijkt dit Font-object met het opgegeven object.
getAttributen() Het retourneert een kaart met lettertypekenmerken die beschikbaar zijn in dit lettertype.
getAvailableAttributes() Het retourneert de sleutels van alle attributen die door dit lettertype worden ondersteund.
getBaselineFor(char c) Het retourneert de basislijn die geschikt is voor het weergeven van dit teken.
getFamily() Het retourneert de familienaam van dit lettertype.
getFamily(Lokale l) Het retourneert de familienaam van dit lettertype, gelokaliseerd voor de opgegeven landinstelling.
getFont(kaartattributen) Het retourneert een lettertype dat geschikt is voor de attributen.
getFont(String nm) Het retourneert een Font-object uit de lijst met systeemeigenschappen.
getFont(String nm, lettertype) Haalt het opgegeven lettertype op uit de lijst met systeemeigenschappen.
getFontName() Het retourneert de lettertypenaam van dit lettertype.
getFontName(Landinstelling l) Het retourneert de lettertypenaam van het lettertype, gelokaliseerd voor de opgegeven landinstelling.
getItalicAngle() Het retourneert de cursieve hoek van dit lettertype.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Het retourneert een LineMetrics-object dat is gemaakt met de opgegeven argumenten.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Het retourneert een LineMetrics-object dat is gemaakt met de opgegeven argumenten.
getLineMetrics(String str, FontRenderContext frc) Het retourneert een LineMetrics-object dat is gemaakt met de opgegeven String en FontRenderContext.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Het retourneert een LineMetrics-object dat is gemaakt met de opgegeven argumenten.
getMaxCharBounds(FontRenderContext frc) Het retourneert de grenzen voor het teken met de maximale grenzen zoals gedefinieerd in de opgegeven FontRenderContext.
getMissingGlyphCode() Het retourneert de glyphCode die wordt gebruikt wanneer dit lettertype geen glyph heeft voor een opgegeven Unicode-codepunt.
getName() Het retourneert de logische naam van dit lettertype.
getNumGlyphs() Het retourneert het aantal glyphs in dit lettertype.
getPeer() Het renderen van lettertypen is nu platformonafhankelijk.
getPSName() Het retourneert de postscriptnaam van dit lettertype.
getSize() Het retourneert de puntgrootte van dit lettertype, afgerond op een geheel getal.
getSize2D() Het retourneert de puntgrootte van dit lettertype in zwevende waarde.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Het retourneert de logische grenzen van de opgegeven reeks tekens in de opgegeven FontRenderContext.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Het retourneert de logische grenzen van de tekens die zijn geïndexeerd in de opgegeven CharacterIterator in de opgegeven FontRenderContext.
getStringBounds(String str, FontRenderContext frc) Het retourneert de logische grenzen van de opgegeven tekenreeks in de opgegeven FontRenderContext.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Het retourneert de logische grenzen van de opgegeven tekenreeks in de opgegeven FontRenderContext.
getStyle() Het retourneert de stijl van dit lettertype.
getTransform() Het retourneert een kopie van de transformatie die aan dit lettertype is gekoppeld.
hashCode() Het retourneert een hashcode voor dit lettertype.
heeftLayoutAttributes() Het retourneert waar als dit lettertype attributen bevat die extra lay-outverwerking vereisen.
hasUniformLineMetrics() Er wordt gecontroleerd of dit lettertype uniforme lijnstatistieken heeft.
isVet() Het geeft aan of de stijl van dit Font-object wel of niet BOLD is.
cursief() Het geeft aan of de stijl van dit Font-object al dan niet ITALIC is.
isVlak() Het geeft aan of de stijl van dit Font-object wel of niet PLAIN is.
isGetransformeerd() Het geeft aan of dit Font-object al dan niet een transformatie heeft ondergaan die van invloed is op de grootte, naast het Size-attribuut.
layoutGlyphVector(FontRenderContext frc, char[] tekst, int start, int limit, int vlaggen) Het retourneert een nieuw GlyphVector-object, waarbij indien mogelijk de volledige opmaak van de tekst wordt uitgevoerd.
toString() Het converteert dit Font-object naar een String-representatie.

Laten we een voorbeeld van Java Font bekijken.

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

Om het bovenstaande programma uit te voeren, volgt u de onderstaande stappen:

i. Kopieer en plak de bovenstaande code en sla het bestand op met de naam JavaFontVoorbeeld.java.

ii. Maak een HTM-bestand en schrijf de volgende code.

JavaFontVoorbeeld.html

 

iii. Open de opdrachtprompt en voer de volgende opdrachten uit:

 JavaFontExample.java appletviewer JavaFontExample.java 

Uitgang 1:

Java-lettertype

Om de volgende uitvoer te krijgen, brengt u de wijzigingen aan in de volgende instructie:

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

Uitgang 2:

Java-lettertype