logo

Шрифт Java

На Java, Шрифт це клас, який належить до java.awt пакет. Він реалізує інтерфейс Serializable. FontUIResource — це прямий відомий підклас класу Java Font.

Він представляє шрифт, який використовується для відтворення тексту. У Java існує два технічні терміни, які використовуються для позначення шрифту персонажів і Гліфи .

Типи шрифтів в Java

У Java є два типи шрифтів:

  • Фізичні шрифти
  • Логічні шрифти

Фізичні шрифти

Фізичні шрифти є справжньою бібліотекою шрифтів Java. Він містить таблиці, які відображають послідовність символів у послідовності гліфів за допомогою технології шрифтів, наприклад Шрифти TrueType (TTF) і Шрифт PostScript Type 1 . Зверніть увагу, що всі реалізації Java повинні підтримувати TTF. Використання інших технологій шрифтів залежить від реалізації. Фізичний шрифт включає назву, наприклад Helvetica, Palatino, HonMincho , інші назви шрифтів.

Властивість фізичного шрифту полягає в тому, що він використовує обмежений набір систем письма, таких як латинські символи або тільки Японський і Основна лат персонажів. Він може відрізнятися залежно від змін конфігурації. Якщо будь-якій програмі потрібен певний шрифт, користувач може об’єднати та створити екземпляр цього шрифту за допомогою createFont() метод класу Java Font.

Логічні шрифти

Java визначає п'ять логічні сімейства шрифтів Serif, SansSerif, Monospaced, Dialog, і DialogInput . Він повинен підтримуватися JRE. Зауважте, що JRE зіставляє логічні назви шрифтів із фізичними шрифтами, оскільки це не справжні бібліотеки шрифтів. Зазвичай реалізація відображення залежить від локалі. Кожна назва логічного шрифту відображається на кількох фізичних шрифтах, щоб охопити широкий діапазон символів.

Наприклад, такі компоненти AWT, як Мітка і TextField використовує лише логічні шрифти.

Шрифти та назви

Шрифт може мати багато накреслень, наприклад важкий, звичайний, середній, похилий, готичний тощо. Усі накреслення шрифту мають подібний типографічний дизайн.

Об’єкт Font має три різні назви:

    Логічна назва шрифту:Це ім'я, яке використовується для створення шрифту.Назва шрифту:Це назва конкретного шрифту. Наприклад, Helvetica Bold.Прізвище:Це назва сімейства шрифтів. Він визначає типографічний дизайн серед кількох граней.

Клас Java Font представляє екземпляр шрифту з колекції шрифтів, які присутні в системних ресурсах головної системи. Приклади шрифтів: Arial Bold, Courier Bold Italic тощо. Шрифт (кожен відрізняється розміром, стилем, трансформацією та функціями шрифту) може бути пов’язаний з кількома об’єктами Font.

Поля класу шрифту

Модифікатор Поле опис
статичний внутр ЖИВИЙ Константа сміливого стилю.
статичний внутр CENTER_BASELINE Базова лінія, яка використовується в ідеографічних сценаріях, таких як китайська, японська та корейська, під час компонування тексту.
статичний рядок ДІАЛОГ Рядкова константа для канонічної назви сімейства логічного шрифту '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 Базова лінія, яка використовується в більшості латиниць під час компонування тексту.
статичний рядок БЕЗ ЗАРУБОК Рядкова константа для канонічної назви сімейства логічного шрифту 'SansSerif'.
статичний рядок SERIF Рядкова константа для канонічної назви сімейства логічного шрифту «Serif».
захищений міжн розмір Розмір цього шрифту, округлений до цілого числа.
захищений міжн стиль Стиль цього шрифту, переданий конструктору.
статичний внутр TRUETYPE_FONT Визначте ресурс шрифтів типу TRUETYPE.
статичний внутр TYPE1_FONT Визначте ресурс шрифту типу TYPE1.

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

Конструктор опис
Шрифт (Шрифт) Створює новий шрифт із зазначеного шрифту.
Шрифт (атрибути карти) Створює новий шрифт із зазначеними атрибутами.
Шрифт (назва рядка, стиль int, розмір int) Створює новий шрифт із указаної назви, стилю та розміру.

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

методи опис
canDisplay(символ c) Він перевіряє, чи цей шрифт має гліф для вказаного символу.
canDisplay(int codePoint) Він перевіряє, чи цей шрифт має гліф для вказаного символу.
canDisplayUpTo(символ[] текст, int початок, int обмеження) Він вказує, чи може цей шрифт відображати символи у вказаному тексті, починаючи з початку та закінчуючи обмеженням.
canDisplayUpTo(шлях CharacterIterator, int початок, int обмеження) Він вказує, чи може цей шрифт відображати текст, визначений iter, починаючи з початку та закінчуючи обмеженням.
canDisplayUpTo(String str) Він вказує, чи може цей шрифт відображати вказаний рядок.
createFont(int fontFormat, файл fontFile) Він повертає новий шрифт, використовуючи вказаний тип шрифту та вказаний файл шрифту.
createFont(int fontFormat, InputStream fontStream) Він повертає новий шрифт, використовуючи вказаний тип шрифту та вхідні дані.
createGlyphVector(FontRenderContext frc, char[] chars) Він створює GlyphVector, зіставляючи символи з гліфами один до одного на основі Unicode cmap у цьому шрифті.
createGlyphVector(FontRenderContext frc, CharacterIterator ci) Він створює GlyphVector, зіставляючи вказані символи з гліфами один до одного на основі cmap Unicode у цьому шрифті.
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(символ c) Він повертає базову лінію, відповідну для відображення цього символу.
getFamily() Він повертає назву сімейства цього шрифту.
getFamily(Locale l) Він повертає назву родини цього шрифту, локалізовану для вказаної мови.
getFont(атрибути карти) Він повертає шрифт, який відповідає атрибутам.
getFont(String 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() Він повертає постскриптумну назву цього шрифту.
getSize() Він повертає розмір цього шрифту, округлений до цілого числа.
getSize2D() Він повертає розмір цього шрифту у вигляді float.
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() Він повертає копію перетворення, пов’язаного з цим шрифтом.
hashCode() Він повертає хеш-код для цього шрифту.
hasLayoutAttributes() Він повертає true, якщо цей шрифт містить атрибути, які потребують додаткової обробки макета.
hasUniformLineMetrics() Він перевіряє, чи має цей шрифт рівномірну лінійну метрику.
isBold() Він вказує, чи є стиль цього об’єкта Font ЖИРНИМ.
курсив() Він вказує, чи є стиль цього об’єкта Font курсивом.
isPlain() Він вказує, чи є стиль цього об’єкта Font PLAIN.
isTransformed() Він вказує, чи має цей об’єкт Font трансформацію, яка впливає на його розмір на додаток до атрибута Size.
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) Він повертає новий об’єкт 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); } } 

Щоб запустити наведену вище програму, виконайте наведені нижче дії.

i. Скопіюйте та вставте наведений вище код і збережіть файл із назвою 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