logo

Java Font

v Jave Písmo je trieda, ktorá patrí do java.awt balík. Implementuje serializovateľné rozhranie. FontUIResource je priamo známa podtrieda triedy Java Font.

Predstavuje písmo, ktoré sa používa na vykreslenie textu. V jazyku Java existujú dva technické výrazy, ktoré sa používajú na označenie písma postavy a Glyfy .

Typy fontov v Jave

V Jave sú dva typy fontov:

  • Fyzické písma
  • Logické písma

Fyzické písma

Fyzické fonty sú aktuálnou knižnicou fontov Java. Obsahuje tabuľky, ktoré mapujú sekvenciu znakov na sekvencie glyfov pomocou technológie písma ako napr Písma TrueType (TTF) a PostScript Type 1 Font . Upozorňujeme, že všetky implementácie Java musia podporovať TTF. Použitie iných technológií písiem závisí od implementácie. Fyzické písmo zahŕňa názov ako napr Helvetica, Palatino, HonMincho , iné názvy písiem.

Vlastnosťou fyzického písma je, že využíva obmedzenú množinu systémov písania ako napr latinské znaky alebo len japončina a Základná latinčina postavy. Môže sa líšiť v súvislosti so zmenami konfigurácie. Ak akákoľvek aplikácia vyžaduje špecifické písmo, používateľ môže toto písmo spojiť a vytvoriť inštanciu pomocou createFont() metóda triedy Java Font.

Logické písma

Java definuje päť logické rodiny písiem, ktoré sú Pätkové, bezpätkové, bez medzery, dialógové okno, a DialogInput . Musí ho podporovať JRE. Všimnite si, že JRE mapuje názvy logických fontov na fyzické fonty, pretože to nie sú skutočné knižnice fontov. Implementácia mapovania zvyčajne závisí od miestneho nastavenia. Každý logický názov fontu mapuje na niekoľko fyzických fontov, aby pokryl veľký rozsah znakov.

Napríklad komponenty AWT ako napr Označenie a Textové pole používa iba logické fonty.

python programy

Tváre a mená písma

Písmo môže mať veľa plôch, ako napríklad ťažké, pravidelné, stredné, šikmé, gotické atď. Všetky písma majú podobný typografický dizajn.

Objekt Font má tri rôzne názvy, ktoré sú:

    Logický názov písma:Je to názov, ktorý sa používa na vytvorenie písma.Názov tváre písma:Je to názov konkrétneho písma. Napríklad Helvetica Bold.Priezvisko:Je to názov rodiny písiem. Určuje dizajn typografu medzi niekoľkými tvárami.

Trieda Java Font predstavuje inštanciu tváre fontu z kolekcie fontov, ktoré sú prítomné v systémových prostriedkoch hostiteľského systému. Príkladmi typov písma sú Arial Bold, Courier Bold Italic atď. Typ písma (každý sa líši veľkosťou, štýlom, transformáciou a vlastnosťou písma) sa môže spájať s niekoľkými objektmi písma.

Polia triedy písma

Modifikátor Lúka Popis
statický int TUČNÉ Konštantný odvážny štýl.
statický int CENTER_BASELINE Základná čiara používaná v ideografických písmach, ako je čínština, japončina a kórejčina, pri rozvrhnutí textu.
statický reťazec DIALOG Konštanta reťazca pre kanonický názov rodiny logického písma 'Dialog'.
statický reťazec DIALOG_INPUT Konštanta reťazca pre kanonický názov rodiny logického písma 'DialogInput'.
statický int HANGING_BASELINE Základná čiara používaná v Devanigiri a podobných skriptoch pri rozvrhnutí textu.
statický int ITALIC Konštanta v kurzíve.
statický int LAYOUT_LEFT_TO_RIGHT Príznak rozloženiaGlyphVector označujúci, že text je zľava doprava podľa analýzy Bidi.
statický int LAYOUT_NO_LIMIT_CONTEXT Príznak pre layoutGlyphVector označujúci, že text v poli znakov po uvedenom limite by sa nemal skúmať.
statický int LAYOUT_NO_START_CONTEXT Príznak pre layoutGlyphVector označujúci, že text v poli znakov pred uvedeným začiatkom by sa nemal skúmať.
statický int LAYOUT_RIGHT_TO_LEFT Príznak rozloženiaGlyphVector označujúci, že text je sprava doľava, ako to určila analýza Bidi.
statický reťazec MONOSPACED Konštanta reťazca pre kanonický názov rodiny logického písma „Monospaced“.
statický reťazec názov Logický názov tohto písma odovzdaný konštruktorovi.
statický int PROSTÝ Konštantný obyčajný štýl.
statický plavák pointSize Bodová veľkosť tohto písma v float.
statický int ROMAN_BASELINE Základná čiara používaná vo väčšine rímskych písiem pri rozvrhnutí textu.
statický reťazec SANS SERIF Konštanta reťazca pre kanonický názov rodiny logického písma „SansSerif“.
statický reťazec SERIF Konštanta reťazca pre kanonický názov rodiny logického písma „Serif“.
chránený int veľkosť Bodová veľkosť tohto písma, zaokrúhlená na celé číslo.
chránený int štýl Štýl tohto písma, ktorý bol odovzdaný konštruktorovi.
statický int TRUETYPE_FONT Identifikujte zdroj písma typu TRUETYPE.
statický int TYPE1_FONT Identifikujte zdroj písma typu TYPE1.

Konštruktory tried písma

Konštruktér Popis
Písmo (písmo písma) Vytvorí nové písmo zo zadaného písma.
Písmo (atribúty mapy) Vytvorí nové písmo so zadanými atribútmi.
Písmo (názov reťazca, štýl int, veľkosť int) Vytvorí nové písmo zo zadaného názvu, štýlu a veľkosti bodu.

Metódy tried písma

Metódy Popis
canDisplay(char c) Skontroluje, či toto písmo obsahuje glyf pre zadaný znak.
canDisplay(int codePoint) Skontroluje, či toto písmo obsahuje glyf pre zadaný znak.
canDisplayUpTo(znak[] text, int začiatok, int limit) Označuje, či toto písmo môže alebo nemôže zobraziť znaky v zadanom texte začínajúce na začiatku a končiace na limite.
canDisplayUpTo(cesta znakového iterátora, int začiatok, int limit) Označuje, či toto písmo môže alebo nemôže zobraziť text určený iterom začínajúci na začiatku a končiaci na limite.
canDisplayUpTo(String str) Označuje, či toto písmo môže alebo nemôže zobraziť zadaný reťazec.
createFont (int fontFormat, File fontFile) Vráti nové písmo pomocou zadaného typu písma a zadaného súboru s písmom.
createFont(int fontFormat, InputStream fontStream) Vráti nové písmo pomocou zadaného typu písma a vstupných údajov.
createGlyphVector(FontRenderContext frc, char[] chars) Vytvára GlyphVector mapovaním znakov na glyfy jedna k jednej na základe cmap Unicode v tomto písme.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Vytvára GlyphVector mapovaním špecifikovaných znakov na glyfy jeden k jednému na základe cmap Unicode v tomto písme.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Vytvára GlyphVector mapovaním znakov na glyfy jedna k jednej na základe cmap Unicode v tomto písme.
createGlyphVector(FontRenderContext frc, String str) Vytvára GlyphVector mapovaním znakov na glyfy jedna k jednej na základe cmap Unicode v tomto písme.
dekódovať (string reťazec) Vráti písmo, ktoré popisuje argument str.
deriveFont(AffineTransform trans) Vytvorí nový objekt Font replikáciou aktuálneho objektu Font a použitím novej transformácie naň.
deriveFont (pohyblivá veľkosť) Vytvorí nový objekt Font replikáciou aktuálneho objektu Font a použitím novej veľkosti.
deriveFont (štýl int) Vytvorí nový objekt Font replikáciou aktuálneho objektu Font a použitím nového štýlu naň.
deriveFont (štýl int, AffineTransform trans) Vytvorí nový objekt Font replikáciou tohto objektu Font a použitím nového štýlu a transformácie.
deriveFont (štýl int, plávajúca veľkosť) Vytvorí nový objekt Font replikáciou tohto objektu Font a použitím nového štýlu a veľkosti.
deriveFont (atribúty mapy) Vytvorí nový objekt písma replikáciou aktuálneho objektu písma a použitím novej sady atribútov písma naň.
rovná sa (objekt objektu) Porovnáva tento objekt Font so zadaným objektom.
getAttributes() Vráti mapu atribútov písma dostupných v tomto písme.
getAvailableAttributes() Vráti kľúče všetkých atribútov podporovaných týmto písmom.
getBaselineFor(char c) Vráti základnú čiaru vhodnú na zobrazenie tohto znaku.
getFamily() Vráti priezvisko tohto písma.
getFamily (miestne l) Vráti názov rodiny tohto písma, lokalizovaný pre zadané miestne nastavenie.
getFont (atribúty mapy) Vráti písmo vhodné pre atribúty.
getFont(String nm) Vráti objekt Font zo zoznamu vlastností systému.
getFont(String nm, písmo písma) Získa zadané písmo zo zoznamu vlastností systému.
getFontName() Vráti názov tváre tohto písma.
getFontName(Local l) Vráti názov tváre písma, lokalizovaný pre zadané miestne nastavenie.
getItalicAngle() Vráti uhol kurzívy tohto písma.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Vráti objekt LineMetrics vytvorený so zadanými argumentmi.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Vráti objekt LineMetrics vytvorený so zadanými argumentmi.
getLineMetrics(String str, FontRenderContext frc) Vráti objekt LineMetrics vytvorený pomocou zadaného reťazca String a FontRenderContext.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Vráti objekt LineMetrics vytvorený so zadanými argumentmi.
getMaxCharBounds(FontRenderContext frc) Vráti hranice pre znak s maximálnymi hranicami, ako sú definované v zadanom FontRenderContext.
getMissingGlyphCode() Vráti glyphCode, ktorý sa používa, keď toto písmo nemá glyf pre zadaný bod kódu Unicode.
getName() Vráti logický názov tohto písma.
getNumGlyphs() Vráti počet glyfov v tomto písme.
getPeer() Vykresľovanie písma je teraz nezávislé od platformy.
getPSName() Vráti postscriptový názov tohto písma.
getSize() Vráti bodovú veľkosť tohto písma zaokrúhlenú na celé číslo.
getSize2D() Vráti bodovú veľkosť tohto písma v pohyblivej hodnote.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Vracia logické hranice zadaného poľa znakov v zadanom FontRenderContext.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Vracia logické hranice znakov indexovaných v zadanom CharacterIterator v zadanom FontRenderContext.
getStringBounds(String str, FontRenderContext frc) Vráti logické hranice zadaného reťazca v zadanom FontRenderContext.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Vráti logické hranice zadaného reťazca v zadanom FontRenderContext.
getStyle() Vráti štýl tohto písma.
getTransform() Vráti kópiu transformácie spojenej s týmto písmom.
hashCode() Vracia hashcode pre toto písmo.
hasLayoutAttributes() Vráti hodnotu true, ak toto písmo obsahuje atribúty, ktoré vyžadujú ďalšie spracovanie rozloženia.
hasUniformLineMetrics() Skontroluje, či toto písmo má alebo nemá jednotné čiarové metriky.
je tučné() Označuje, či je štýl tohto objektu Font TUČNÝ.
kurzíva () Označuje, či štýl tohto objektu Font je alebo nie je kurzíva.
isPlain() Označuje, či je alebo nie je štýl tohto objektu Font PLAIN.
isTransformed() Označuje, či tento objekt Font má alebo nemá transformáciu, ktorá ovplyvňuje jeho veľkosť okrem atribútu Size.
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) Vracia nový objekt GlyphVector a ak je to možné, vykoná úplné rozloženie textu.
natiahnuť() Skonvertuje tento objekt Font na reprezentáciu reťazca.

Pozrime sa na príklad 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); } } 

Ak chcete spustiť vyššie uvedený program, postupujte podľa krokov uvedených nižšie:

i. Skopírujte a prilepte vyššie uvedený kód a uložte súbor s názvom JavaFontExample.java.

ii. Vytvorte súbor HTM a napíšte nasledujúci kód.

JavaFontExample.html

strojopis dátum čas
 

iii. Otvorte príkazový riadok a vykonajte nasledujúce príkazy:

 JavaFontExample.java appletviewer JavaFontExample.java 

Výstup 1:

Java Font

Ak chcete získať nasledujúci výstup, vykonajte zmeny v nasledujúcom príkaze:

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

Výstup 2:

Java Font