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:
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:
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: