logo

Java шрифт

В Java, Шрифт е клас, който принадлежи към java.awt пакет. Той реализира интерфейса Serializable. FontUIResource е директният известен подклас на класа Java Font.

Той представлява шрифта, който се използва за изобразяване на текста. В Java има два технически термина, които се използват за представяне на шрифтове герои и Глифове .

Видове шрифтове в Java

В Java има два вида шрифтове:

  • Физически шрифтове
  • Логически шрифтове

Физически шрифтове

Физическите шрифтове са действителна библиотека с шрифтове на Java. Той съдържа таблици, които картографират последователност от символи към последователности от глифове чрез използване на технологията на шрифта, като напр TrueType шрифтове (TTF) и PostScript тип 1 шрифт . Имайте предвид, че всички реализации на Java трябва да поддържат TTF. Използването на други шрифтови технологии зависи от изпълнението. Физическият шрифт включва името като напр Хелветика, Палатино, ХонМинчо , други имена на шрифтове.

Свойството на физическия шрифт е, че той използва ограничен набор от системи за писане като напр латински знаци или само японски и Основен латински герои. Може да варира по отношение на промените в конфигурацията. Ако някое приложение изисква конкретен шрифт, потребителят може да обедини и инстанцира този шрифт, като използва createFont() метод на класа Java Font.

Логически шрифтове

Java дефинира пет логически семейства шрифтове, които са Serif, SansSerif, Monospaced, Dialog, и DialogInput . Трябва да се поддържа от JRE. Имайте предвид, че JRE преобразува логическите имена на шрифтове във физическия шрифт, защото това не са действителните библиотеки с шрифтове. Обикновено прилагането на картографиране зависи от локала. Всяко име на логически шрифт се съпоставя с няколко физически шрифта, за да покрие голям набор от знаци.

Например AWT компоненти като Етикет и Текстово поле използва само логически шрифтове.

Шрифтове и имена

Шрифтът може да има много лица, като тежък, правилен, среден, наклонен, готически и т.н. Всички лица на шрифта имат подобен типографски дизайн.

Обект Font има три различни имена, които са:

    Логично име на шрифта:Това е името, което се използва за конструиране на шрифта.Име на шрифта:Това е името на определен шрифт. Например Helvetica Bold.Фамилно име:Това е името на фамилията шрифтове. Той определя типографския дизайн между няколко лица.

Класът Java Font представлява екземпляр на лице на шрифт от колекция от лица на шрифтове, които присъстват в системните ресурси на хост системата. Примери за лица на шрифт са Arial Bold, Courier Bold Italic и т.н. Лице на шрифт (всеки различен по размер, стил, трансформация и характеристика на шрифта) може да се асоциира с няколко обекта Font.

Полета на класа на шрифта

Модификатор Поле Описание
статично вътр СМЕЛ Постоянният смел стил.
статично вътр CENTER_BASELINE Основната линия, използвана в идеографски скриптове като китайски, японски и корейски при оформление на текст.
статичен низ ДИАЛОГ String константа за каноничното фамилно име на логическия шрифт „Dialog“.
статичен низ DIALOG_INPUT Низова константа за каноничното фамилно име на логическия шрифт „DialogInput“.
статично вътр HANGING_BASELINE Базовата линия, използвана в Devanigiri и подобни скриптове при оформление на текст.
статично вътр КУТИВ Константата на курсивния стил.
статично вътр LAYOUT_LEFT_TO_RIGHT Флаг за layoutGlyphVector, показващ, че текстът е отляво надясно, както е определено от Bidi анализа.
статично вътр LAYOUT_NO_LIMIT_CONTEXT Флаг към layoutGlyphVector, показващ, че текстът в масива char след посоченото ограничение не трябва да се проверява.
статично вътр LAYOUT_NO_START_CONTEXT Флаг към layoutGlyphVector, показващ, че текстът в масива char преди указаното начало не трябва да се проверява.
статично вътр LAYOUT_RIGHT_TO_LEFT Флаг за layoutGlyphVector, показващ, че текстът е отдясно наляво, както е определено от Bidi анализа.
статичен низ ЕДНОПРЕДЕЛЕН Низова константа за каноничното фамилно име на логическия шрифт „Monospaced“.
статичен низ име Логичното име на този шрифт, както е предадено на конструктора.
статично вътр ОБИКНОВЕН Постоянният обикновен стил.
статичен поплавък pointSize Размерът на този шрифт във float.
статично вътр ROMAN_BASELINE Основната линия, използвана в повечето латински скриптове при оформяне на текст.
статичен низ SANS SERIF Низова константа за каноничното фамилно име на логическия шрифт „SansSerif“.
статичен низ SERIF Низова константа за каноничното фамилно име на логическия шрифт „Serif“.
защитен вътр размер Размерът на този шрифт, закръглен до цяло число.
защитен вътр стил Стилът на този шрифт, както е предаден на конструктора.
статично вътр TRUETYPE_FONT Идентифицирайте шрифтов ресурс от тип TRUETYPE.
статично вътр TYPE1_FONT Идентифицирайте шрифтов ресурс от тип TYPE1.

Конструктори на шрифтови класове

Конструктор Описание
Шрифт (Шрифт на шрифта) Създава нов шрифт от посочения шрифт.
Шрифт (атрибути на картата) Създава нов шрифт с посочените атрибути.
Шрифт (име на низ, int стил, int размер) Създава нов шрифт от зададеното име, стил и размер на точката.

Методи за клас шрифтове

Методи Описание
canDisplay(char c) Той проверява дали този шрифт има глиф за посочения знак.
canDisplay(int codePoint) Той проверява дали този шрифт има глиф за посочения знак.
canDisplayUpTo(char[] текст, int начало, int ограничение) Той показва дали този шрифт може или не може да показва знаците в посочения текст, започвайки от начало и завършвайки при ограничение.
canDisplayUpTo(CharacterIterator path, int start, int limit) Той показва дали този шрифт може или не може да показва текста, определен от iter, започвайки от начало и завършвайки при ограничение.
canDisplayUpTo(String str) Той показва дали този шрифт може да показва определен низ.
createFont(int fontFormat, File fontFile) Той връща нов шрифт, използвайки посочения тип шрифт и посочения файл с шрифтове.
createFont(int fontFormat, InputStream fontStream) Той връща нов шрифт, използвайки посочения тип шрифт и входни данни.
createGlyphVector(FontRenderContext frc, char[] chars) Той създава GlyphVector чрез картографиране на знаци към глифове едно към едно въз основа на Unicode cmap в този шрифт.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Той създава GlyphVector чрез картографиране на посочените знаци към глифове едно към едно въз основа на Unicode cmap в този шрифт.
createGlyphVector(FontRenderContext frc, int[] glyphCodes) Той създава GlyphVector чрез картографиране на знаци към глифове едно към едно въз основа на Unicode cmap в този шрифт.
createGlyphVector(FontRenderContext frc, String str) Той създава GlyphVector чрез картографиране на знаци към глифове едно към едно въз основа на Unicode cmap в този шрифт.
декодиране (String str) Връща шрифта, който аргументът str описва.
deriveFont(AffineTransform trans) Той създава нов обект Font, като репликира текущия обект Font и прилага нова трансформация към него.
deriveFont(плаващ размер) Той създава нов обект Font, като репликира текущия обект Font и прилага нов размер към него.
deriveFont(int стил) Той създава нов обект Font, като репликира текущия обект Font и прилага нов стил към него.
deriveFont(int стил, AffineTransform trans) Той създава нов обект Font, като репликира този обект Font и прилага нов стил и трансформация.
deriveFont(int стил, плаващ размер) Той създава нов обект Font, като репликира този обект Font и прилага нов стил и размер.
deriveFont(Атрибути на картата) Той създава нов обект Font, като репликира текущия обект Font и прилага нов набор от атрибути на шрифта към него.
е равно (Object obj) Той сравнява този обект Font с посочения обект.
getAttributes() Той връща карта на атрибутите на шрифта, налични в този шрифт.
getAvailableAttributes() Той връща ключовете на всички атрибути, поддържани от този шрифт.
getBaselineFor(char c) Връща базовата линия, подходяща за показване на този знак.
getFamily() Връща фамилията на този шрифт.
getFamily (Locale l) Връща фамилното име на този шрифт, локализирано за посочения локал.
getFont (атрибути на картата) Той връща шрифт, подходящ за атрибутите.
getFont (низ nm) Той връща обект Font от списъка със системни свойства.
getFont(Низ nm, шрифт на шрифта) Получава посочения шрифт от списъка със свойства на системата.
getFontName() Връща името на шрифта на този шрифт.
getFontName(Locale l) Връща името на лицето на шрифта, локализирано за посочения локал.
getItalicAngle() Връща ъгъла на курсив на този шрифт.
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) Той връща обект LineMetrics, създаден с посочените аргументи.
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Той връща обект LineMetrics, създаден с посочените аргументи.
getLineMetrics(String str, FontRenderContext frc) Той връща обект LineMetrics, създаден с указания String и FontRenderContext.
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) Той връща обект LineMetrics, създаден с посочените аргументи.
getMaxCharBounds(FontRenderContext frc) Той връща границите за знака с максималните граници, както е дефинирано в посочения FontRenderContext.
getMissingGlyphCode() Той връща glyphCode, който се използва, когато този шрифт няма глиф за определена кодова точка на unicode.
getName() Връща логичното име на този шрифт.
getNumGlyphs() Връща броя на глифовете в този шрифт.
getPeer() Изобразяването на шрифтове вече е независимо от платформата.
getPSName() Връща името postscript на този шрифт.
getSize() Връща размера на точката на този шрифт, закръглен до цяло число.
getSize2D() Той връща размера на точката на този шрифт в плаваща стойност.
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) Той връща логическите граници на посочения масив от знаци в посочения FontRenderContext.
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) Той връща логическите граници на знаците, индексирани в посочения CharacterIterator в посочения FontRenderContext.
getStringBounds(String str, FontRenderContext frc) Той връща логическите граници на посочения низ в посочения FontRenderContext.
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) Той връща логическите граници на посочения низ в посочения FontRenderContext.
getStyle() Връща стила на този шрифт.
getTransform() Той връща копие на трансформацията, свързана с този шрифт.
хеш код() Той връща хешкод за този шрифт.
hasLayoutAttributes() Връща true, ако този шрифт съдържа атрибути, които изискват допълнителна обработка на оформлението.
hasUniformLineMetrics() Той проверява дали този шрифт има еднакви показатели за редове.
isBold() Той показва дали стилът на обекта Font е BOLD или не.
курсив() Той показва дали стилът на обекта Font е ИТАЛИК.
isPlain() Той показва дали стилът на обекта Font е PLAIN или не.
isTransformed() Той показва дали този обект Font има или не трансформация, която влияе върху неговия размер в допълнение към атрибута Size.
layoutGlyphVector(FontRenderContext frc, char[] текст, int начало, int ограничение, int флагове) Той връща нов обект GlyphVector, изпълнявайки пълно оформление на текста, ако е възможно.
toString() Той преобразува този обект Font в представяне на String.

Нека да видим пример за 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); } } 

За да изпълните горната програма, следвайте стъпките, дадени по-долу:

аз Копирайте и поставете горния код и запазете файла с името JavaFontExample.java.

ii. Създайте HTM файл и напишете следния код.

JavaFontExample.html

 

iii. Отворете командния ред и изпълнете следните команди:

 JavaFontExample.java appletviewer JavaFontExample.java 

Резултат 1:

Java шрифт

За да получите следния резултат, направете промените в следния оператор:

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

Резултат 2:

Java шрифт