logo

Java-teckensnitt

I Java, Font är en klass som tillhör java.awt paket. Den implementerar gränssnittet Serializable. FontUIResource är den direkt kända underklassen av Java Font-klassen.

java hej världen exempel

Det representerar typsnittet som används för att återge texten. I Java finns det två tekniska termer som används för att representera typsnitt tecken och Glyfer .

Typer av teckensnitt i Java

Det finns två typer av typsnitt i Java:

  • Fysiska teckensnitt
  • Logiska teckensnitt

Fysiska teckensnitt

Fysiska teckensnitt är faktiska Java-fontbibliotek. Den innehåller tabeller som mappar teckensekvens till glyfsekvenser genom att använda teckensnittstekniken som t.ex TrueType-teckensnitt (TTF) och PostScript typ 1-teckensnitt . Observera att all implementering av Java måste stödja TTF. Användning av andra teckensnittstekniker är implementeringsberoende. Fysiskt teckensnitt innehåller namn som t.ex Helvetica, Palatino, HonMincho , andra teckensnittsnamn.

Egenskapen för det fysiska typsnittet är att det använder den begränsade uppsättningen av skrivsystem som t.ex latinska tecken eller bara japanska och Grundläggande latin tecken. Det kan variera när det gäller konfigurationsändringar. Om någon applikation kräver ett specifikt teckensnitt kan användaren bunta ihop och instansiera det teckensnittet genom att använda createFont() metoden för Java Font-klassen.

Logiska teckensnitt

Java definierar fem logiska teckensnittsfamiljer som är Serif, SansSerif, Monospaced, Dialog, och DialogInput . Det måste stödjas av JRE. Observera att JRE mappar de logiska teckensnittsnamnen till fysiska teckensnitt eftersom dessa inte är de faktiska teckensnittsbiblioteken. Vanligtvis är mappningsimplementeringen lokalberoende. Varje logiskt teckensnittsnamn mappar till flera fysiska typsnitt för att täcka ett stort antal tecken.

Till exempel AWT-komponenter som t.ex Märka och Textfält använder endast logiska teckensnitt.

Teckensnitt och namn

Ett typsnitt kan ha många ansikten som tunga, vanliga, medium, sneda, gotiska, etc. Alla typsnitt har liknande typografidesign.

Ett Font-objekt har tre olika namn som är:

    Logiskt teckensnittsnamn:Det är namnet som används för att konstruera typsnittet.Teckensnittsnamn:Det är namnet på ett visst teckensnitt. Till exempel Helvetica Bold.Efternamn:Det är namnet på teckensnittsfamiljen. Det bestämmer typografdesignen bland flera ansikten.

Java Font-klassen representerar en instans av ett teckensnitt från en samling teckensnitt som finns i värdsystemets systemresurser. Exempel på teckensnitt är Arial Bold, Courier Bold Italic, etc. Ett teckensnitt (var och en med olika storlek, stil, transformation och teckensnittsfunktion) kan associeras med flera teckensnittsobjekt.

Typsnittsklassfält

Modifierare Fält Beskrivning
statisk int DJÄRV Den djärva stilkonstanten.
statisk int CENTER_BASELINE Baslinjen som används i ideografiska skript som kinesiska, japanska och koreanska när du lägger ut text.
statisk sträng DIALOG En strängkonstant för det kanoniska efternamnet för det logiska teckensnittet 'Dialog'.
statisk sträng DIALOG_INPUT En strängkonstant för det kanoniska familjenamnet för det logiska teckensnittet 'DialogInput'.
statisk int HANGING_BASELINE Baslinjen som används i Devanigiri och liknande skript när man lägger ut text.
statisk int KURSIV Den kursiverade stilkonstanten.
statisk int LAYOUT_LEFT_TO_RIGHT En flagga till layoutGlyphVector som indikerar att texten är från vänster till höger enligt Bidi-analys.
statisk int LAYOUT_NO_LIMIT_CONTEXT En flagga till layoutGlyphVector som indikerar att text i char-arrayen efter den angivna gränsen inte bör undersökas.
statisk int LAYOUT_NO_START_CONTEXT En flagga till layoutGlyphVector som indikerar att text i char-arrayen före den indikerade starten inte ska undersökas.
statisk int LAYOUT_RIGHT_TO_LEFT En flagga till layoutGlyphVector som indikerar att texten är från höger till vänster enligt Bidi-analys.
statisk sträng MONOSPACED En strängkonstant för det kanoniska efternamnet för det logiska teckensnittet 'Monospaced'.
statisk sträng namn Det logiska namnet på detta teckensnitt, som skickats till konstruktorn.
statisk int ENKEL Den vanliga stilkonstanten.
statisk flyta pointSize Punktstorleken för detta teckensnitt i float.
statisk int ROMAN_BASELINE Baslinjen som används i de flesta romerska skrifter när man lägger ut text.
statisk sträng SANS SERIF En strängkonstant för det kanoniska efternamnet för det logiska teckensnittet 'SansSerif'.
statisk sträng SERIF En strängkonstant för det kanoniska efternamnet för det logiska teckensnittet 'Serif'.
skyddad int storlek Punktstorleken för detta teckensnitt, avrundat till heltal.
skyddad int stil Stilen för detta teckensnitt, som skickats till konstruktören.
statisk int TRUETYPE_FONT Identifiera en teckensnittsresurs av typen TRUETYPE.
statisk int TYPE1_FONT Identifiera en teckensnittsresurs av typen TYPE1.

Teckensnittsklasskonstruktörer

Konstruktör Beskrivning
Teckensnitt (teckensnitt) Skapar ett nytt teckensnitt från det angivna teckensnittet.
Teckensnitt (kartattribut) Skapar ett nytt teckensnitt med de angivna attributen.
Teckensnitt (strängnamn, int stil, int storlek) Skapar ett nytt teckensnitt från det angivna namnet, stilen och punktstorleken.

Typsnittsklassmetoder

Metoder Beskrivning
canDisplay(char c) Den kontrollerar om detta teckensnitt har en glyf för det angivna tecknet.
canDisplay(int codePoint) Den kontrollerar om detta teckensnitt har en glyf för det angivna tecknet.
canDisplayUpTo(char[] text, int start, int limit) Det indikerar huruvida detta teckensnitt kan visa tecknen i den angivna texten från början och slutar vid limit.
canDisplayUpTo(CharacterIterator sökväg, int start, int limit) Den indikerar om detta teckensnitt kan visa texten som anges av itern som börjar vid start och slutar vid limit.
canDisplayUpTo(String str) Det indikerar om detta teckensnitt kan visa en specificerad sträng eller inte.
createFont(int fontFormat, File fontFile) Den returnerar ett nytt teckensnitt med den angivna teckensnittstypen och den angivna teckensnittsfilen.
createFont(int fontFormat, InputStream fontStream) Den returnerar ett nytt teckensnitt med den angivna teckensnittstypen och indata.
createGlyphVector(FontRenderContext frc, char[] chars) Den skapar en GlyphVector genom att mappa tecken till glyfer en-till-en baserat på Unicode-cmap i detta teckensnitt.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Den skapar en GlyphVector genom att mappa de angivna tecknen till glyfer en-till-en baserat på Unicode-cmap i detta teckensnitt.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Den skapar en GlyphVector genom att mappa tecken till glyfer en-till-en baserat på Unicode-cmap i detta teckensnitt.
createGlyphVector(FontRenderContext frc, String str) Den skapar en GlyphVector genom att mappa tecken till glyfer en-till-en baserat på Unicode-cmap i detta teckensnitt.
decode(String str) Den returnerar typsnittet som str-argumentet beskriver.
deriveFont(AffineTransform trans) Den skapar ett nytt Font-objekt genom att replikera det aktuella Font-objektet och tillämpa en ny transformation på det.
deriveFont (flytande storlek) Den skapar ett nytt Font-objekt genom att replikera det aktuella Font-objektet och tillämpa en ny storlek på det.
deriveFont(int stil) Den skapar ett nytt Font-objekt genom att replikera det aktuella Font-objektet och tillämpa en ny stil på det.
deriveFont(int style, AffineTransform trans) Den skapar ett nytt Font-objekt genom att replikera detta Font-objekt och tillämpa en ny stil och transformera.
deriveFont(int stil, flytstorlek) Den skapar ett nytt Font-objekt genom att replikera detta Font-objekt och tillämpa en ny stil och storlek.
deriveFont(Kartattribut) Den skapar ett nytt Font-objekt genom att replikera det aktuella Font-objektet och tillämpa en ny uppsättning teckensnittsattribut på det.
lika (Objekt objekt) Den jämför detta Font-objekt med det angivna objektet.
getAttributes() Den returnerar en karta över teckensnittsattribut som är tillgängliga i detta teckensnitt.
getAvailableAttributes() Den returnerar nycklarna för alla attribut som stöds av detta teckensnitt.
getBaselineFor(char c) Den returnerar baslinjen som är lämplig för att visa detta tecken.
getFamily() Det returnerar efternamnet för detta teckensnitt.
getFamily(Locale l) Det returnerar efternamnet för detta teckensnitt, lokaliserat för den angivna lokalen.
getFont(Kartattribut) Den returnerar ett teckensnitt som är lämpligt för attributen.
getFont(String nm) Det returnerar ett Font-objekt från listan med systemegenskaper.
getFont(String nm, Font font) Hämtar det angivna teckensnittet från listan med systemegenskaper.
getFontName() Det returnerar teckensnittsnamnet för detta teckensnitt.
getFontName(Locale l) Det returnerar teckensnittsnamnet för teckensnittet, lokaliserat för den angivna lokalen.
getItalicAngle() Den returnerar den kursiverade vinkeln för detta teckensnitt.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Den returnerar ett LineMetrics-objekt skapat med de angivna argumenten.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Den returnerar ett LineMetrics-objekt skapat med de angivna argumenten.
getLineMetrics(String str, FontRenderContext frc) Det returnerar ett LineMetrics-objekt skapat med den angivna String och FontRenderContext.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Den returnerar ett LineMetrics-objekt skapat med de angivna argumenten.
getMaxCharBounds(FontRenderContext frc) Den returnerar gränserna för tecknet med de maximala gränserna som definierats i den angivna FontRenderContext.
getMissingGlyphCode() Den returnerar glyphCode som används när detta teckensnitt inte har en glyph för en specificerad unicode-kodpunkt.
hämta namn() Den returnerar det logiska namnet på detta teckensnitt.
getNumGlyphs() Det returnerar antalet glyfer i detta teckensnitt.
getPeer() Typsnittsrendering är nu plattformsoberoende.
getPSName() Det returnerar efterskriftsnamnet för detta teckensnitt.
getSize() Den returnerar punktstorleken för detta teckensnitt, avrundat till ett heltal.
getSize2D() Den returnerar punktstorleken för detta teckensnitt i flytvärde.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Den returnerar de logiska gränserna för den angivna arrayen av tecken i den angivna FontRenderContext.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Den returnerar de logiska gränserna för tecknen som indexeras i den angivna CharacterIterator i den angivna FontRenderContext.
getStringBounds(String str, FontRenderContext frc) Den returnerar de logiska gränserna för den angivna strängen i den angivna FontRenderContext.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Den returnerar de logiska gränserna för den angivna strängen i den angivna FontRenderContext.
getStyle() Det returnerar stilen för detta teckensnitt.
getTransform() Den returnerar en kopia av transformationen som är associerad med detta teckensnitt.
hash-kod() Den returnerar en hashkod för detta teckensnitt.
hasLayoutAttributes() Det returnerar sant om detta teckensnitt innehåller attribut som kräver extra layoutbearbetning.
hasUniformLineMetrics() Den kontrollerar om detta teckensnitt har enhetliga linjemått eller inte.
ärFet() Den indikerar om stilen för detta typsnittsobjekt är FET.
kursiv() Den indikerar om stilen för detta teckensnittsobjekt är KURSIV.
isPlain() Den indikerar om stilen för detta Font-objekt är PLAIN eller inte.
isTransformed() Det indikerar om det här Font-objektet har en transformation som påverkar dess storlek utöver attributet Size.
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) Det returnerar ett nytt GlyphVector-objekt, som utför fullständig layout av texten om möjligt.
att stränga() Det konverterar detta Font-objekt till en String-representation.

Låt oss se ett exempel på 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); } } 

För att köra ovanstående program, följ stegen nedan:

i. Kopiera och klistra in ovanstående kod och spara filen med namnet JavaFontExample.java.

ii. Skapa en HTM-fil och skriv följande kod.

JavaFontExample.html

 

iii. Öppna kommandotolken och kör följande kommandon:

 JavaFontExample.java appletviewer JavaFontExample.java 

Utgång 1:

Java-teckensnitt

För att få följande utdata, gör ändringarna i följande uttalande:

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

Utgång 2:

Java-teckensnitt