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