V Javi, Pisava je razred, ki spada v java.awt paket. Implementira vmesnik Serializable. FontUIResource je neposredni znani podrazred razreda Java Font.
Predstavlja pisavo, ki se uporablja za upodabljanje besedila. V Javi obstajata dva tehnična izraza, ki se uporabljata za predstavitev pisave znakov in Glifi .
Vrste pisav v Javi
V Javi obstajata dve vrsti pisav:
- Fizične pisave
- Logične pisave
Fizične pisave
Fizične pisave so dejanska knjižnica pisav Java. Vsebuje tabele, ki preslikajo zaporedje znakov v zaporedje glifov z uporabo tehnologije pisav, kot je npr Pisave TrueType (TTF) in Pisava PostScript Type 1 . Upoštevajte, da morajo vse izvedbe Jave podpirati TTF. Uporaba drugih tehnologij pisave je odvisna od izvedbe. Fizična pisava vključuje ime, kot je npr Helvetica, Palatino, HonMincho , druga imena pisav.
bash spanje
Lastnost fizične pisave je, da uporablja omejen nabor pisnih sistemov, kot je npr latinski znaki ali samo japonska in Osnovna latinščina znakov. Lahko se razlikuje glede na spremembe konfiguracije. Če katera koli aplikacija zahteva določeno pisavo, lahko uporabnik to pisavo združi in instancira z uporabo createFont() metoda razreda Java Font.
Logične pisave
Java definira pet družine logičnih pisav, ki so Serif, SansSerif, Monospaced, Dialog, in DialogInput . Podpirati ga mora JRE. Upoštevajte, da JRE logična imena pisav preslika v fizično pisavo, ker to niso dejanske knjižnice pisav. Običajno je implementacija preslikave odvisna od lokalne nastavitve. Vsako ime logične pisave se preslika v več fizičnih pisav, da pokrije širok razpon znakov.
Na primer komponente AWT, kot je npr Oznaka in TextField uporablja samo logične pisave.
Pisave in imena
Pisava ima lahko veliko obrazov, kot so debela, navadna, srednja, poševna, gotska itd. Vse obrazi pisave imajo podobno tipografsko zasnovo.
Objekt Font ima tri različna imena, ki so:
Razred Java Font predstavlja primerek obraza pisave iz zbirke obrazov pisave, ki so prisotne v sistemskih virih gostiteljskega sistema. Primeri pisav so Arial Bold, Courier Bold Italic itd. Pisava (vsaka se razlikuje po velikosti, slogu, transformaciji in funkciji pisave) je lahko povezana z več predmeti pisave.
python sort tuple
Polja razreda pisave
Modifikator | Polje | Opis |
---|---|---|
statična int | DRZNO | Stalnica drznega sloga. |
statična int | CENTER_BASELINE | Osnovna črta, ki se uporablja v ideografskih pisavah, kot so kitajska, japonska in korejska, pri postavitvi besedila. |
statični niz | DIALOG | Konstanta niza za kanonično ime družine logične pisave 'Dialog'. |
statični niz | DIALOG_INPUT | Konstanta niza za kanonično ime družine logične pisave 'DialogInput'. |
statična int | HANGING_BASELINE | Osnovna črta, uporabljena v Devanigiriju in podobnih skriptih pri postavitvi besedila. |
statična int | LEŽEČ | Konstanta ležečega sloga. |
statična int | LAYOUT_LEFT_PROT_RIGHT | Oznaka za layoutGlyphVector, ki označuje, da je besedilo od leve proti desni, kot je določeno z analizo Bidi. |
statična int | LAYOUT_NO_LIMIT_CONTEXT | Zastavica za layoutGlyphVector, ki označuje, da se besedilo v nizu znakov po navedeni meji ne sme pregledati. |
statična int | LAYOUT_NO_START_CONTEXT | Zastavica za layoutGlyphVector, ki označuje, da se besedilo v matriki znakov pred navedenim začetkom ne sme pregledati. |
statična int | LAYOUT_RIGHT_TO_LEFT | Zastavica za layoutGlyphVector, ki označuje, da je besedilo zapisano od desne proti levi, kot je določeno z analizo Bidi. |
statični niz | ENOPROSTORNO | Konstanta niza za kanonično ime družine logične pisave 'Monospaced'. |
statični niz | ime | Logično ime te pisave, kot je bilo posredovano konstruktorju. |
statična int | NAVADNO | Stalna navaden slog. |
statični plovec | pointSize | Velikost pik te pisave v float. |
statična int | ROMAN_BASELINE | Osnovna črta, ki se uporablja v večini latinskih pisav pri postavitvi besedila. |
statični niz | SANS SERIF | Konstanta niza za kanonično ime družine logične pisave 'SansSerif'. |
statični niz | SERIF | Konstanta niza za kanonično ime družine logične pisave 'Serif'. |
zaščiten medn | velikost | Velikost pik te pisave, zaokrožena na celo število. |
zaščiten medn | stil | Slog te pisave, kot je bil posredovan konstruktorju. |
statična int | TRUETYPE_FONT | Identificirajte vir pisave vrste TRUETYPE. |
statična int | TYPE1_FONT | Identificirajte vir pisave vrste TYPE1. |
Konstruktorji razreda pisave
Konstruktor | Opis |
---|---|
Pisava (pisava) | Ustvari novo pisavo iz navedene pisave. |
Pisava (atributi zemljevida) | Ustvari novo pisavo z navedenimi atributi. |
Pisava (ime niza, int slog, int velikost) | Ustvari novo pisavo iz podanega imena, sloga in velikosti pik. |
Metode razreda pisave
Metode | Opis |
---|---|
canDisplay(char c) | Preveri, ali ima ta pisava glif za navedeni znak. |
canDisplay(int codePoint) | Preveri, ali ima ta pisava glif za navedeni znak. |
canDisplayUpTo(char[] besedilo, int začetek, int omejitev) | Označuje, ali lahko ta pisava prikaže znake v določenem besedilu, ki se začnejo na začetku in končajo na meji. |
canDisplayUpTo(CharacterIterator pot, int začetek, int omejitev) | Označuje, ali lahko ta pisava prikaže besedilo, ki ga določi iter, ki se začne na začetku in konča na meji. |
canDisplayUpTo(String str) | Označuje, ali lahko ta pisava prikaže določen niz ali ne. |
createFont(int fontFormat, File fontFile) | Vrne novo pisavo z uporabo določene vrste pisave in podane datoteke pisave. |
createFont(int fontFormat, InputStream fontStream) | Vrne novo pisavo z uporabo določene vrste pisave in vhodnih podatkov. |
createGlyphVector(FontRenderContext frc, char[] chars) | Ustvari GlyphVector s preslikavo znakov v glife ena proti ena na podlagi cmap Unicode v tej pisavi. |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | Ustvari GlyphVector tako, da podane znake ena proti ena preslika v glife na podlagi cmap Unicode v tej pisavi. |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | Ustvari GlyphVector s preslikavo znakov v glife ena proti ena na podlagi cmap Unicode v tej pisavi. |
createGlyphVector(FontRenderContext frc, String str) | Ustvari GlyphVector s preslikavo znakov v glife ena proti ena na podlagi cmap Unicode v tej pisavi. |
dekodiraj (String str) | Vrne pisavo, ki jo opisuje argument str. |
deriveFont(AffineTransform trans) | Ustvari nov objekt Font tako, da posnema trenutni objekt Font in zanj uporabi novo transformacijo. |
deriveFont(float size) | Ustvari nov objekt Font tako, da posnema trenutni objekt Font in mu doda novo velikost. |
deriveFont(slog int) | Ustvari nov objekt Font tako, da posnema trenutni objekt Font in zanj uporabi nov slog. |
deriveFont(int style, AffineTransform trans) | Ustvari nov objekt Font s podvajanjem tega predmeta Font ter uporabo novega sloga in transformacije. |
deriveFont(int slog, plavajoča velikost) | Ustvari nov objekt Font tako, da podvoji ta objekt Font in uporabi nov slog in velikost. |
deriveFont(atributi zemljevida) | Ustvari nov objekt Font tako, da posnema trenutni objekt Font in zanj uporabi nov niz atributov pisave. |
enako (predmet obj) | Ta objekt Font primerja z navedenim Objektom. |
getAttributes() | Vrne zemljevid atributov pisave, ki so na voljo v tej pisavi. |
getAvailableAttributes() | Vrne ključe vseh atributov, ki jih podpira ta pisava. |
getBaselineFor(char c) | Vrne osnovno črto, primerno za prikaz tega znaka. |
getFamily() | Vrne družinsko ime te pisave. |
getFamily(Locale l) | Vrne družinsko ime te pisave, lokalizirano za podane področne nastavitve. |
getFont(atributi zemljevida) | Vrne pisavo, ki ustreza atributom. |
getFont(Niz nm) | Vrne objekt Font s seznama sistemskih lastnosti. |
getFont(Niz nm, pisava pisave) | Pridobi določeno pisavo s seznama sistemskih lastnosti. |
getFontName() | Vrne ime obraza te pisave. |
getFontName(Locale l) | Vrne ime obraza pisave, lokalizirano za podane področne nastavitve. |
getItalicAngle() | Vrne poševni kot te pisave. |
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Vrne objekt LineMetrics, ustvarjen s podanimi argumenti. |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Vrne objekt LineMetrics, ustvarjen s podanimi argumenti. |
getLineMetrics(String str, FontRenderContext frc) | Vrne objekt LineMetrics, ustvarjen s podanim nizom in FontRenderContext. |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) | Vrne objekt LineMetrics, ustvarjen s podanimi argumenti. |
getMaxCharBounds(FontRenderContext frc) | Vrne meje za znak z največjimi mejami, kot je definirano v podanem FontRenderContext. |
getMissingGlyphCode() | Vrne glyphCode, ki se uporabi, ko ta pisava nima glifa za določeno kodno točko unicode. |
getName() | Vrne logično ime te pisave. |
getNumGlyphs() | Vrne število glifov v tej pisavi. |
getPeer() | Upodabljanje pisave je zdaj neodvisno od platforme. |
getPSName() | Vrne postscriptno ime te pisave. |
getSize() | Vrne velikost pik te pisave, zaokroženo na celo število. |
getSize2D() | Vrne velikost pik te pisave v plavajoči vrednosti. |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Vrne logične meje navedene matrike znakov v podanem FontRenderContext. |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Vrne logične meje znakov, indeksiranih v podanem CharacterIteratorju v podanem FontRenderContext. |
getStringBounds(String str, FontRenderContext frc) | Vrne logične meje podanega niza v podanem FontRenderContext. |
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) | Vrne logične meje podanega niza v podanem FontRenderContext. |
getStyle() | Vrne slog te pisave. |
getTransform() | Vrne kopijo transformacije, povezane s to pisavo. |
hashCode() | Za to pisavo vrne hashcode. |
hasLayoutAttributes() | Vrne true, če ta pisava vsebuje atribute, ki zahtevajo dodatno obdelavo postavitve. |
hasUniformLineMetrics() | Preveri, ali ima ta pisava enotne metrike črt ali ne. |
isBold() | Označuje, ali je slog tega objekta Font KREK. |
poševno () | Označuje, ali je slog tega objekta Font ležeč ali ne. |
isPlain() | Označuje, ali je slog tega objekta Font PLAIN ali ne. |
isTransformed() | Označuje, ali ima ta objekt Font poleg atributa Size pretvorbo, ki vpliva na njegovo velikost. |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) | Vrne nov objekt GlyphVector, ki izvede celotno postavitev besedila, če je to mogoče. |
toString() | Ta objekt Font pretvori v predstavitev niza. |
Oglejmo si primer pisave Java.
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); } }
Če želite izvesti zgornji program, sledite spodnjim korakom:
linux arhitektura
jaz. Kopirajte in prilepite zgornjo kodo ter shranite datoteko z imenom JavaFontExample.java.
ii. Ustvarite datoteko HTM in napišite naslednjo kodo.
JavaFontExample.html
iii. Odprite ukazni poziv in izvedite naslednje ukaze:
niz int
JavaFontExample.java appletviewer JavaFontExample.java
Izhod 1:
Če želite pridobiti naslednji rezultat, naredite spremembe v naslednji izjavi:
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
Rezultat 2: