Spec-Zone.ru › OpenJDK 8

Класс Font

  • java.lang.Object
    • java.awt.Font
Все реализуемые интерфейсы:
Serializable
Непосредственные известные подклассы:
FontUIResource

public class Font
extends Object
implements Serializable

Класс Font представляет шрифты, используемые для визуального отображения текста. Шрифт предоставляет информацию, необходимую для сопоставления последовательностей символов с последовательностями глифов и для отображения последовательностей глифов на объектах Graphics и Component.

Символы и глифы

Символ — это символ, представляющий абстрактно элемент, такой как буква, цифра или знак пунктуации. Например, 'g', латинская малая буква G, является символом.

Глиф — это форма, используемая для отображения символа или последовательности символов. В простых системах письма, таких как латинская, обычно один глиф представляет один символ. Однако, в общем случае, символы и глифы не имеют взаимно однозначного соответствия. Например, символ 'á', латинская малая буква A с острым ударением, может быть представлен двумя глифами: одним для 'a' и одним для '´'. С другой стороны, строка из двух символов "fi" может быть представлена одним глифом, лигатурой "fi". В сложных системах письма, таких как арабская или южно- и юго-восточно-азиатские системы письма, взаимоотношение между символами и глифами может быть более сложным и включать контекстно-зависимый выбор глифов, а также перестановку глифов. Шрифт инкапсулирует набор глифов, необходимых для отображения выбранного набора символов, а также таблицы, необходимые для сопоставления последовательностей символов с соответствующими последовательностями глифов.

Физические и логические шрифты

Платформа Java различает два вида шрифтов: физические и логические шрифты.

Физические шрифты — это фактические библиотеки шрифтов, содержащие данные глифов и таблицы для сопоставления последовательностей символов с последовательностями глифов, используя технологию шрифтов, такую как TrueType или PostScript Type 1. Все реализации платформы Java должны поддерживать шрифты TrueType; поддержка других технологий шрифтов зависит от реализации. Физические шрифты могут использовать такие имена, как Helvetica, Palatino, HonMincho или любое другое количество имён шрифтов. Как правило, каждый физический шрифт поддерживает только ограниченный набор систем письма, например, только латинские символы или только японские и базовые латинские символы. Набор доступных физических шрифтов варьируется в зависимости от конфигурации. Приложения, которым требуются конкретные шрифты, могут упаковать их и инициализировать их с помощью метода createFont.

Логические шрифты — это пять семейств шрифтов, определённых платформой Java, которые должны поддерживаться любой средой выполнения Java: Serif, SansSerif, Monospaced, Dialog и DialogInput. Эти логические шрифты не являются фактическими библиотеками шрифтов. Вместо этого имена логических шрифтов отображаются на физические шрифты средой выполнения Java. Отображение зависит от реализации и обычно от локали, поэтому внешний вид и метрики, предоставляемые ими, варьируются. Как правило, каждое имя логического шрифта отображается на несколько физических шрифтов, чтобы охватить большой диапазон символов.

Компоненты AWT, такие как Label и TextField, могут использовать только логические шрифты.

Обсуждение относительных преимуществ и недостатков использования физических или логических шрифтов можно найти в документе Вопросы и ответы по интернационализации.

Лицо и названия шрифтов

У Font может быть много лиц, таких как жирный, средний, наклонный, готический и обычный. Все эти лица имеют схожий типографический дизайн.

Из объекта Font можно получить три различных имени. Имя логического шрифта — это просто имя, используемое для построения шрифта. Имя лица шрифта, или кратко имя шрифта, — это имя конкретного лица шрифта, например, Helvetica Bold. Имя семейства — это имя семейства шрифтов, которое определяет типографический дизайн в нескольких лицах, например, Helvetica.

Класс Font представляет экземпляр лица шрифта из набора лиц шрифтов, присутствующих в системных ресурсах хост-системы. Примеры: Arial Bold и Courier Bold Italic. Может быть несколько объектов Font , связанных с лицом шрифта, каждое из которых отличается размером, стилем, преобразованием и характеристиками шрифта.

Метод getAllFonts класса GraphicsEnvironment возвращает массив всех доступных в системе лиц шрифтов. Эти лица шрифтов возвращаются как объекты Font с размером 1, тождественным преобразованием и стандартными характеристиками шрифта. Эти базовые шрифты затем могут быть использованы для получения новых объектов Font с различными размерами, стилями, преобразованиями и характеристиками шрифта с помощью методов deriveFont в этом классе.

Шрифт и атрибут текста

Font поддерживает большинство TextAttribute. Это делает некоторые операции, такие как отображение подчеркнутого текста, удобными, поскольку нет необходимости явно создавать объект TextLayout. Атрибуты могут быть установлены для шрифта путём его построения или получения с помощью Map значений TextAttribute.

Значения некоторых TextAttributes не сериализуемы, и поэтому попытка сериализовать экземпляр Font с такими значениями не сериализует их. Это означает, что шрифт, десериализованный из такого потока, не будет равен исходному шрифту, содержащему несериализуемые атрибуты. Это очень редко создаёт проблемы, поскольку эти атрибуты обычно используются только в особых случаях и маловероятно, что они будут сериализованы.

  • FOREGROUND и BACKGROUND используют значения Paint. Подкласс Color сериализуем, а GradientPaint и TexturePaint нет.
  • CHAR_REPLACEMENT использует значения GraphicAttribute. Подклассы ShapeGraphicAttribute и ImageGraphicAttribute не сериализуемы.
  • INPUT_METHOD_HIGHLIGHT использует значения InputMethodHighlight, которые не сериализуемы. См. InputMethodHighlight.

Клиенты, создающие пользовательские подклассы Paint и GraphicAttribute могут сделать их сериализуемыми и избежать этой проблемы. Клиенты, использующие выделения ввода метода, могут преобразовать их в платформенно-специфические атрибуты для выделения на текущей платформе и установить их для шрифта как обходной путь.

Конструктор на основе Map и API deriveFont игнорируют атрибут FONT и не сохраняют его в шрифте; для случаев, когда атрибут FONT может быть присутствующим, следует использовать статический метод getFont(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>). См. TextAttribute.FONT для получения дополнительной информации.

Некоторые атрибуты приведут к дополнительной нагрузке на отображение и потенциально вызовут верстку. Если у Font есть такие атрибуты, метод hasLayoutAttributes() вернёт true.

Примечание: поворот шрифта может вызвать поворот текстовых базовых линий. Для учёта этой (редкой) возможности API шрифтов определены так, чтобы возвращать метрики и принимать параметры в координатах, относительных к базовой линии. Это сопоставляет координату 'x' с продвижением вдоль базовой линии (положительное x — это продвижение вперёд вдоль базовой линии) и координату 'y' с расстоянием вдоль перпендикуляра к базовой линии в 'x' (положительное y — это 90 градусов по часовой стрелке от вектора базовой линии). API, для которых это особенно важно, указаны как имеющие "координаты, относительные к базовой линии".

См. также:
Сериализованная форма

Поля

Модификатор и тип Поле и описание
static int BOLD

Константа стиля «жирный».

static int CENTER_BASELINE

Базовая линия, используемая в идеографических системах письма, таких как китайская, японская и корейская, при выводе текста.

static String DIALOG

Строковая константа для канонического семейного имени логического шрифта «Dialog».

static String DIALOG_INPUT

Строковая константа для канонического семейного имени логического шрифта «DialogInput».

static int HANGING_BASELINE

Базовая линия, используемая в системах письма Деванагари и подобных при выводе текста.

static int ITALIC

Константа стиля «курсив».

static int LAYOUT_LEFT_TO_RIGHT

Флаг для layoutGlyphVector, указывающий, что текст выводится слева направо в соответствии с анализом Bidi.

static int LAYOUT_NO_LIMIT_CONTEXT

Флаг для layoutGlyphVector, указывающий, что текст в массиве char после указанного предела не должен рассматриваться.

static int LAYOUT_NO_START_CONTEXT

Флаг для layoutGlyphVector, указывающий, что текст в массиве char перед указанным началом не должен рассматриваться.

static int LAYOUT_RIGHT_TO_LEFT

Флаг для layoutGlyphVector, указывающий, что текст выводится справа налево в соответствии с анализом Bidi.

static String MONOSPACED

Строковая константа для канонического семейного имени логического шрифта «Monospaced».

protected String name

Логическое имя этого Font, переданное в конструктор.

static int PLAIN

Константа стиля «обычный».

protected float pointSize

Размер шрифта этого Font в float.

static int ROMAN_BASELINE

Базовая линия, используемая в большинстве римских шрифтов при выводе текста.

static String SANS_SERIF

Строковая константа для канонического семейного имени логического шрифта «SansSerif».

static String SERIF

Строковая константа для канонического семейного имени логического шрифта «Serif».

protected int size

Размер шрифта этого Font, округленный до целого числа.

protected int style

Стиль этого Font, переданный в конструктор.

static int TRUETYPE_FONT

Идентификация ресурса шрифта типа TRUETYPE.

static int TYPE1_FONT

Идентификация ресурса шрифта типа TYPE1.

Конструкторы

Модификатор Конструктор и описание
protected Font(Font font)

Создаёт новый Font из указанного font.

Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Создаёт новый Font с указанными атрибутами.

Font(String name, int style, int size)

Создаёт новый Font из указанного имени, стиля и размера шрифта.

Методы

Модификатор и тип Метод и описание
boolean canDisplay(char c)

Проверяет, есть ли у этого Font глиф для указанного символа.

boolean canDisplay(int codePoint)

Проверяет, есть ли у этого Font глиф для указанного символа.

int canDisplayUpTo(char[] text, int start, int limit)

Указывает, может ли этот Font отобразить символы в указанном text, начиная с start и заканчивая limit.

int canDisplayUpTo(CharacterIterator iter, int start, int limit)

Указывает, может ли этот Font отобразить текст, указанный в iter, начиная с start и заканчивая limit.

int canDisplayUpTo(String str)

Указывает, может ли этот Font отобразить указанный String.

static Font createFont(int fontFormat, File fontFile)

Возвращает новый Font с указанным типом шрифта и файлом шрифта.

static Font createFont(int fontFormat, InputStream fontStream)

Возвращает новый Font с указанным типом шрифта и входными данными.

GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)

Создаёт GlyphVector, сопоставляя символы с глифами один к одному на основе Unicode cmap в этом Font.

GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)

Создаёт GlyphVector, сопоставляя указанные символы с глифами один к одному на основе Unicode cmap в этом Font.

GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)

Создаёт GlyphVector, сопоставляя символы с глифами один к одному на основе Unicode cmap в этом Font.

GlyphVector createGlyphVector(FontRenderContext frc, String str)

Создаёт GlyphVector, сопоставляя символы с глифами один к одному на основе Unicode cmap в этом Font.

static Font decode(String str)

Возвращает Font , которое описывает аргумент str.

Font deriveFont(AffineTransform trans)

Создаёт новый объект Font путём копирования текущего объекта Font и применения к нему нового преобразования.

Font deriveFont(float size)

Создаёт новый объект Font путём копирования текущего объекта Font и применения к нему нового размера.

Font deriveFont(int style)

Создаёт новый объект Font путём копирования текущего объекта Font и применения к нему нового стиля.

Font deriveFont(int style, AffineTransform trans)

Создаёт новый объект Font путём копирования этого объекта Font и применения к нему нового стиля и преобразования.

Font deriveFont(int style, float size)

Создаёт новый объект Font путём копирования этого объекта Font и применения к нему нового стиля и размера.

Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Создаёт новый объект Font путём копирования текущего объекта Font и применения к нему нового набора атрибутов шрифта.

boolean equals(Object obj)

Сравнивает этот объект Font с указанным Object.

Map<TextAttribute,?> getAttributes()

Возвращает карту доступных атрибутов шрифта в этом Font.

AttributedCharacterIterator.Attribute[] getAvailableAttributes()

Возвращает ключи всех поддерживаемых атрибутов этим Font.

byte getBaselineFor(char c)

Возвращает линию основания, соответствующую отображению этого символа.

String getFamily()

Возвращает имя семейства этого Font.

String getFamily(Locale l)

Возвращает имя семейства этого Font, локализованное для указанной локали.

static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Возвращает Font , соответствующее атрибутам.

static Font getFont(String nm)

Возвращает объект Font из списка системных свойств.

static Font getFont(String nm, Font font)

Получает указанное Font из списка системных свойств.

String getFontName()

Возвращает имя начертания шрифта этого Font.

String getFontName(Locale l)

Возвращает имя начертания шрифта Font, локализованное для указанной локали.

float getItalicAngle()

Возвращает наклон курсива этого Font.

LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)

Возвращает объект LineMetrics , созданный с указанными аргументами.

LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)

Возвращает объект LineMetrics , созданный с указанными аргументами.

LineMetrics getLineMetrics(String str, FontRenderContext frc)

Возвращает объект LineMetrics, созданный с указанными String и FontRenderContext.

LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)

Возвращает объект LineMetrics , созданный с указанными аргументами.

Rectangle2D getMaxCharBounds(FontRenderContext frc)

Возвращает пределы символа с максимальными пределами, как определено в указанном FontRenderContext.

int getMissingGlyphCode()

Возвращает glyphCode, используемый, когда у этого Font нет глифа для указанного кода Unicode.

String getName()

Возвращает логическое имя этого Font.

int getNumGlyphs()

Возвращает количество глифов в этом Font.

java.awt.peer.FontPeer getPeer()

Устарело.

Отображение шрифтов теперь независимо от платформы.

String getPSName()

Возвращает имя PostScript этого Font.

int getSize()

Возвращает размер шрифта в пунктах этого Font, округлённый до целого числа.

float getSize2D()

Возвращает размер шрифта в пунктах этого Font в значении float.

Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)

Возвращает логические пределы указанного массива символов в указанном FontRenderContext.

Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)

Возвращает логические пределы символов, индексированных в указанном CharacterIterator в указанном FontRenderContext.

Rectangle2D getStringBounds(String str, FontRenderContext frc)

Возвращает логические пределы указанного String в указанном FontRenderContext.

Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)

Возвращает логические пределы указанного String в указанном FontRenderContext.

int getStyle()

Возвращает стиль этого Font.

AffineTransform getTransform()

Возвращает копию преобразования, связанного с этим Font.

int hashCode()

Возвращает хэш-код для этого Font.

boolean hasLayoutAttributes()

Возвращает true, если этот шрифт содержит атрибуты, требующие дополнительной обработки макета.

boolean hasUniformLineMetrics()

Проверяет, имеет ли этот Font одинаковые метрики строки.

boolean isBold()

Указывает, имеет ли стиль объекта Font значение BOLD.

boolean isItalic()

Указывает, имеет ли стиль объекта Font значение ITALIC.

boolean isPlain()

Указывает, имеет ли стиль объекта Font значение PLAIN.

boolean isTransformed()

Указывает, имеет ли этот объект Font преобразование, влияющее на его размер помимо атрибута Size.

GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)

Возвращает новый объект GlyphVector, выполняя полную верстку текста, если это возможно.

String toString()

Преобразует этот объект Font в представление String.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Поля

DIALOG

public static final String DIALOG

Строковая константа для канонического семейства логического шрифта "Dialog". Она полезна при построении шрифтов для проверки имени во время компиляции.

С момента:
1.6
См. также:
Значения константных полей

DIALOG_INPUT

public static final String DIALOG_INPUT

Строковая константа для канонического семейства логического шрифта "DialogInput". Она полезна при построении шрифтов для проверки имени во время компиляции.

С момента:
1.6
См. также:
Значения константных полей

SANS_SERIF

public static final String SANS_SERIF

Строковая константа для канонического семейства логического шрифта "SansSerif". Она полезна при построении шрифтов для проверки имени во время компиляции.

С момента:
1.6
См. также:
Значения константных полей

SERIF

public static final String SERIF

Строковая константа для канонического семейства логического шрифта "Serif". Она полезна при построении шрифтов для проверки имени во время компиляции.

С момента:
1.6
См. также:
Значения константных полей

MONOSPACED

public static final String MONOSPACED

Строковая константа для канонического семейства логического шрифта "Monospaced". Она полезна при построении шрифтов для проверки имени во время компиляции.

С момента:
1.6
См. также:
Значения константных полей

PLAIN

public static final int PLAIN

Константа для простого стиля.

См. также:
Значения константных полей

BOLD

public static final int BOLD

Константа для жирной гарнитуры. Может комбинироваться с другими константами стиля (кроме PLAIN) для смешанных стилей.

См. также:
Значения константных полей

ITALIC

public static final int ITALIC

Константа для курсивного стиля. Может комбинироваться с другими константами стиля (кроме PLAIN) для смешанных стилей.

См. также:
Значения константных полей

ROMAN_BASELINE

public static final int ROMAN_BASELINE

Базовая линия, используемая в большинстве латинских шрифтов при выводе текста.

См. также:
Значения константных полей

CENTER_BASELINE

public static final int CENTER_BASELINE

Базовая линия, используемая в идеографических системах письма, таких как китайский, японский и корейский, при выводе текста.

См. также:
Значения константных полей

HANGING_BASELINE

public static final int HANGING_BASELINE

Базовая линия, используемая в деванагари и подобных системах письма при выводе текста.

См. также:
Значения константных полей

TRUETYPE_FONT

public static final int TRUETYPE_FONT

Идентифицирует ресурс шрифта типа TRUETYPE. Используется для указания ресурса шрифта TrueType методу createFont(int, java.io.InputStream). Формат TrueType был расширен до формата OpenType, который добавляет поддержку шрифтов с контурами Postscript, поэтому этот тег ссылается на эти шрифты, а также на шрифты с контурами TrueType.

С момента:
1.3
См. также:
Значения константных полей

TYPE1_FONT

public static final int TYPE1_FONT

Идентифицирует ресурс шрифта типа TYPE1. Используется для указания ресурса шрифта Type1 методу createFont(int, java.io.InputStream).

С момента:
1.5
См. также:
Значения константных полей

name

protected String name

Логическое имя этого Font, переданное в конструктор.

С момента:
JDK1.0
См. также:
getName()

style

protected int style

Стиль этого Font, переданный в конструктор. Этот стиль может быть PLAIN, BOLD, ITALIC или BOLD+ITALIC.

С момента:
JDK1.0
См. также:
getStyle()

size

protected int size

Размер шрифта в пунктах этого Font, округлённый до целого числа.

С момента:
JDK1.0
См. также:
getSize()

pointSize

protected float pointSize

Размер шрифта в пунктах этого Font в float.

См. также:
getSize(), getSize2D()

LAYOUT_LEFT_TO_RIGHT

public static final int LAYOUT_LEFT_TO_RIGHT

Флаг для layoutGlyphVector, указывающий, что текст выводится слева направо, как определено анализом Bidi.

См. также:
Значения константных полей

LAYOUT_RIGHT_TO_LEFT

public static final int LAYOUT_RIGHT_TO_LEFT

Флаг для layoutGlyphVector, указывающий, что текст выводится справа налево, как определено анализом Bidi.

См. также:
Значения константных полей

LAYOUT_NO_START_CONTEXT

public static final int LAYOUT_NO_START_CONTEXT

Флаг для layoutGlyphVector, указывающий, что текст в массиве символов до указанного начала не должен рассматриваться.

См. также:
Значения константных полей

LAYOUT_NO_LIMIT_CONTEXT

public static final int LAYOUT_NO_LIMIT_CONTEXT

Флаг для layoutGlyphVector, указывающий, что текст в массиве символов после указанного предела не должен рассматриваться.

См. также:
Значения константных полей

Конструкторы

Font

public Font(String name,
            int style,
            int size)

Создаёт новый Font по указанному имени, стилю и размеру в пунктах.

Имя шрифта может быть именем начертания или семейства шрифтов. Оно используется вместе со стилем для поиска подходящего начертания. Если задано имя семейства, аргумент стиля используется для выбора наиболее подходящего начертания из семейства. Если задано имя начертания, стиль аргумента и стиль начертания объединяются для поиска наиболее подходящего шрифта из того же семейства. Например, если задано имя начертания "Arial Bold" со стилем Font.ITALIC, система поиска шрифтов ищет начертание в семействе "Arial", которое является жирным и курсивным, и может сопоставить экземпляр шрифта с физическим начертанием "Arial Bold Italic". Аргумент стиля объединяется со стилем заданного начертания, а не добавляется или вычитается. Это означает, что указание жирного начертания и жирного стиля не удваивает жирность шрифта, а указание жирного начертания и простого стиля не осветляет шрифт.

Если начертание с запрошенным стилем не найдено, система шрифтов может применить алгоритмический стиль для достижения желаемого стиля. Например, если ITALIC запрашивается, но курсивное начертание недоступно, глифы из простого начертания могут быть алгоритмически наклонены (наклонены).

Поиск имени шрифта нечувствителен к регистру, используя правила преобразования регистра US локали.

Если параметр name представляет собой что-то иное, чем логический шрифт, то есть интерпретируется как физическое начертание или семейство, и это не может быть сопоставлено реализацией с физическим шрифтом или совместимой альтернативой, то система шрифтов сопоставит экземпляр шрифта с "Dialog", так что, например, семейство, как сообщает getFamily, будет "Dialog".

Параметры:
name - имя шрифта. Это может быть имя начертания или семейства шрифтов и может представлять собой логический шрифт или физический шрифт, найденный в этом GraphicsEnvironment. Имена семейств логических шрифтов: Dialog, DialogInput, Monospaced, Serif или SansSerif. Для всех этих имён существуют предопределённые строковые константы, например, DIALOG. Если name равно null, то логическое имя шрифта нового Font, как возвращается getName(), устанавливается в "Default".
style - константа стиля для Font Аргумент стиля — целочисленная битовая маска, которая может быть PLAIN, или битовым объединением BOLD и/или ITALIC (например, ITALIC или BOLD|ITALIC). Если аргумент стиля не соответствует одной из ожидаемых целочисленных битовых масок, то стиль устанавливается в PLAIN.
size - размер шрифта в пунктах Font
С момента:
JDK1.0
См. также:
GraphicsEnvironment.getAllFonts(), GraphicsEnvironment.getAvailableFontFamilyNames()

Font

public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Создаёт новый Font с указанными атрибутами. Признаются только ключи, определённые в TextAttribute. Кроме того, атрибут FONT не распознаётся этим конструктором (см. getAvailableAttributes()). Только атрибуты, имеющие значения допустимых типов, повлияют на новый Font.

Если attributes равно null, новый Font инициализируется значениями по умолчанию.

Параметры:
attributes - атрибуты, которые нужно назначить новому Font, или null
См. также:
TextAttribute

Шрифт

protected Font(Font font)

Создаёт новый Font из указанного font. Этот конструктор предназначен для использования подклассами.

Параметры:
font - используемый для создания этого Font.
Исключения:
NullPointerException - если font равно null
С тех пор:
1.6

Методы

getPeer

@Deprecated
public java.awt.peer.FontPeer getPeer()

Устарело. Отображение шрифтов теперь независимо от платформы.

Возвращает пеер этого Font.

Возвращает:
пир Font.
С тех пор:
JDK1.1

getFont

public static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Возвращает Font , подходящий для атрибутов. Если attributes содержит атрибут FONT со значением в виде допустимого Font, он будет объединён с любыми оставшимися атрибутами. См. TextAttribute.FONT для получения дополнительной информации.

Параметры:
attributes - атрибуты, которые нужно назначить новому Font
Возвращает:
новый Font , созданный с указанными атрибутами
Исключения:
NullPointerException - если attributes равно null.
С тех пор:
1.2
См. также:
TextAttribute

createFont

public static Font createFont(int fontFormat,
                              InputStream fontStream)
                       throws FontFormatException,
                              IOException

Возвращает новый Font , используя указанный тип шрифта и входные данные. Новый Font создаётся с размером 1 пункт и стилем PLAIN. Этот базовый шрифт затем может быть использован с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и особенностями шрифта. Этот метод не закрывает InputStream.

Чтобы сделать Font доступным для конструкторов Font, возвращённый Font должен быть зарегистрирован в GraphicsEnviroment вызовом registerFont(Font).

Параметры:
fontFormat - тип Font, который является TRUETYPE_FONT, если указан ресурс TrueType, или TYPE1_FONT, если указан ресурс Type 1.
fontStream - объект InputStream, представляющий входные данные для шрифта.
Возвращает:
новый Font , созданный с указанным типом шрифта.
Исключения:
IllegalArgumentException - если fontFormat не является TRUETYPE_FONT или TYPE1_FONT.
FontFormatException - если данные fontStream не содержат необходимые таблицы шрифтов для указанного формата.
IOException - если fontStream не может быть полностью прочитан.
С тех пор:
1.3
См. также:
GraphicsEnvironment.registerFont(Font)

createFont

public static Font createFont(int fontFormat,
                              File fontFile)
                       throws FontFormatException,
                              IOException

Возвращает новый Font , используя указанный тип шрифта и указанный файл шрифта. Новый Font создаётся с размером 1 пункт и стилем PLAIN. Этот базовый шрифт затем может быть использован с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и особенностями шрифта.

Параметры:
fontFormat - тип Font, который является TRUETYPE_FONT, если указан ресурс TrueType, или TYPE1_FONT, если указан ресурс Type 1. До тех пор, пока на возвращённый шрифт или производные от него шрифты есть ссылки, реализация может продолжать обращаться к fontFile для получения данных шрифта. Таким образом, результаты не определены, если файл изменяется или становится недоступным.

Чтобы сделать Font доступным для конструкторов Font, возвращённый Font должен быть зарегистрирован в GraphicsEnviroment вызовом registerFont(Font).

fontFile - объект File , представляющий входные данные для шрифта.
Возвращает:
новый Font , созданный с указанным типом шрифта.
Исключения:
IllegalArgumentException - если fontFormat не является TRUETYPE_FONT или TYPE1_FONT.
NullPointerException - если fontFile равно null.
IOException - если fontFile не может быть прочитан.
FontFormatException - если fontFile не содержит необходимые таблицы шрифтов для указанного формата.
SecurityException - если исполняемый код не имеет разрешения на чтение из файла.
С тех пор:
1.5
См. также:
GraphicsEnvironment.registerFont(Font)

getTransform

public AffineTransform getTransform()

Возвращает копию преобразования, связанного с этим Font. Это преобразование не обязательно является тем, которое использовалось для создания шрифта. Если шрифт имеет алгоритмические надстрочные индексы или регулирование ширины, это будет включено в возвращаемое AffineTransform.

Как правило, шрифты не преобразуются. Клиенты, как правило, должны сначала вызвать isTransformed() и только затем вызвать этот метод, если isTransformed возвращает true.

Возвращает:
объект AffineTransform, представляющий атрибут преобразования этого объекта Font.

getFamily

public String getFamily()

Возвращает имя семейства этого Font.

Имя семейства шрифта зависит от шрифта. Два шрифта, такие как Helvetica Italic и Helvetica Bold, имеют одинаковое имя семейства, Helvetica, в то время как их имена гарнитур — Helvetica Bold и Helvetica Italic. Список доступных имён семейств можно получить, используя метод GraphicsEnvironment.getAvailableFontFamilyNames().

Используйте getName для получения логического имени шрифта. Используйте getFontName для получения имени гарнитуры шрифта.

Возвращает:
строку, являющуюся именем семейства этого Font.
С тех пор:
JDK1.1
См. также:
getName(), getFontName()

getFamily

public String getFamily(Locale l)

Возвращает имя семейства этого Font, локализованное для указанной локали.

Имя семейства шрифта зависит от шрифта. Два шрифта, такие как Helvetica Italic и Helvetica Bold, имеют одинаковое имя семейства, Helvetica, в то время как их имена гарнитур — Helvetica Bold и Helvetica Italic. Список доступных имён семейств можно получить, используя метод GraphicsEnvironment.getAvailableFontFamilyNames().

Используйте getFontName для получения имени гарнитуры шрифта.

Параметры:
l - локали, для которой нужно получить имя семейства
Возвращает:
строку, представляющую имя семейства шрифта, локализованное для указанной локали.
С тех пор:
1.2
См. также:
getFontName(), Locale

getPSName

public String getPSName()

Возвращает имя PostScript этого Font. Используйте getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени гарнитуры шрифта.

Возвращает:
строку, представляющую имя PostScript этого Font.
С тех пор:
1.2

getName

public String getName()

Возвращает логическое имя этого Font. Используйте getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени гарнитуры шрифта.

Возвращает:
строку, представляющую логическое имя этого Font.
С тех пор:
JDK1.0
См. также:
getFamily(), getFontName()

getFontName

public String getFontName()

Возвращает имя гарнитуры этого Font. Например, Helvetica Bold может быть возвращено как имя гарнитуры. Используйте getFamily для получения имени семейства шрифта. Используйте getName для получения логического имени шрифта.

Возвращает:
строку, представляющую имя гарнитуры этого Font.
С тех пор:
1.2
См. также:
getFamily(), getName()

getFontName

public String getFontName(Locale l)

Возвращает имя гарнитуры Font, локализованное для указанной локали. Например, Helvetica Fett может быть возвращено как имя гарнитуры. Используйте getFamily для получения имени семейства шрифта.

Параметры:
l - локали, для которой нужно получить имя гарнитуры
Возвращает:
строку, представляющую имя гарнитуры, локализованное для указанной локали.
См. также:
getFamily(), Locale

getStyle

public int getStyle()

Возвращает стиль этого Font . Стиль может быть PLAIN, BOLD, ITALIC или BOLD+ITALIC.

Возвращает:
стиль этого Font
С тех пор:
JDK1.0
См. также:
isPlain(), isBold(), isItalic()

getSize

public int getSize()

Возвращает размер шрифта этого Font, округлённый до целого числа. Большинство пользователей знакомы с понятием размера шрифта для указания размера глифов в шрифте. Этот размер определяет расстояние между базовой линией одной строки и базовой линией следующей строки в документе с одинарным интервалом. Размер шрифта основан на графических пунктах, примерно 1/72 дюйма.

API Java(tm)2D использует соглашение, что один пункт эквивалентен одной единице в пользовательских координатах. При использовании нормализованного преобразования для преобразования пользовательских координат в координаты устройства 72 пользовательских единицы равны 1 дюйму в координатах устройства. В этом случае один пункт составляет 1/72 дюйма.

Возвращает:
размер шрифта этого Font в единицах 1/72 дюйма.
С тех пор:
JDK1.0
См. также:
getSize2D(), GraphicsConfiguration.getDefaultTransform(), GraphicsConfiguration.getNormalizingTransform()

getSize2D

public float getSize2D()

Возвращает размер шрифта этого Font в значении float.

Возвращает:
размер шрифта этого Font в виде значения float.
С тех пор:
1.2
См. также:
getSize()

isPlain

public boolean isPlain()

Указывает, является ли стиль этого объекта Font PLAIN.

Возвращает:
true если у этого объекта Font стиль PLAIN; false в противном случае.
С тех пор:
JDK1.0
См. также:
getStyle()

isBold

public boolean isBold()

Указывает, является ли стиль этого объекта Font BOLD.

Возвращает:
true если у этого объекта Font стиль BOLD; false в противном случае.
С тех пор:
JDK1.0
См. также:
getStyle()

isItalic

public boolean isItalic()

Указывает, является ли стиль этого объекта Font ITALIC.

Возвращает:
true если у этого объекта Font стиль ITALIC; false в противном случае.
С тех пор:
JDK1.0
См. также:
getStyle()

isTransformed

public boolean isTransformed()

Указывает, имеет ли этот объект Font преобразование, которое влияет на его размер помимо атрибута Size.

Возвращает:
true если у этого объекта Font атрибут AffineTransform, отличный от тождественного. false в противном случае.
С тех пор:
1.4
См. также:
getTransform()

hasLayoutAttributes

public boolean hasLayoutAttributes()

Возвращает true, если этот шрифт содержит атрибуты, требующие дополнительной обработки вывода.

Возвращает:
true, если шрифт имеет атрибуты вывода
С тех пор:
1.6

getFont

public static Font getFont(String nm)

Возвращает объект Font из списка свойств системы. nm обрабатывается как имя свойства системы, которое нужно получить. Значение свойства String затем интерпретируется как объект Font в соответствии со спецификацией Font.decode(String) Если указанное свойство не найдено или исполняемый код не имеет разрешения на чтение свойства, возвращается null.

Параметры:
nm - имя свойства
Возвращает:
объект Font , описываемый именем свойства, или null, если такого свойства нет.
Исключения:
NullPointerException - если nm равно null.
С тех пор:
1.2
См. также:
decode(String)

decode

public static Font decode(String str)

Возвращает шрифт, который описывает строковый аргумент. Для того, чтобы этот метод возвращал нужный шрифт, отформатируйте параметр "PLAIN" одним из следующих способов:

  • имя_шрифта-стиль-размер
  • имя_шрифта-размер
  • имя_шрифта-стиль
  • имя_шрифта
  • имя_шрифта стиль размер
  • имя_шрифта размер
  • имя_шрифта стиль
  • имя_шрифта
где стиль — одна из четырёх строк (нечувствительных к регистру): "PLAIN", "BOLD", "BOLDITALIC", или "ITALIC", а размер — положительное десятичное целое число, представляющее размер шрифта. Например, если вам нужен шрифт Arial, полужирный, размером 18 пунктов, вы должны вызвать этот метод со значением "Arial-BOLD-18". Это эквивалентно вызову конструктора Font: new Font("Arial", Font.BOLD, 18);, и значения интерпретируются, как указано в этом конструкторе.

Любое допустимое десятичное значение в конце всегда интерпретируется как размер шрифта. Поэтому имя шрифта, содержащее десятичное значение в конце, не должно использоваться только в виде имени шрифта.

Если имя стиля не является одной из допустимых строк стиля, оно интерпретируется как часть имени шрифта, и используется стиль по умолчанию.

Только один из символов ' ' или '-' может использоваться для разделения полей на входе. Идентифицированный разделитель — это тот, который находится ближе к концу строки, разделяющий допустимое значение размера шрифта или допустимое имя стиля от остальной части строки. Нулевые (пустые) поля размера шрифта и стиля считаются допустимыми полями с значением по умолчанию для этого поля.

Некоторые имена шрифтов могут включать разделительные символы ' ' или '-'. Если str не имеет 3 компонентов, т.е. поля style или pointsize не присутствуют в str, и fontname также содержит символ, определённый как разделительный символ, то эти символы, когда они появляются как часть fontname могут быть интерпретированы как разделители, поэтому имя шрифта может быть неправильно распознано.

Значение размера по умолчанию — 12, а стиль по умолчанию — PLAIN. Если str не указывает допустимый размер, возвращаемый Font имеет размер 12. Если str не указывает допустимый стиль, возвращаемый шрифт имеет стиль PLAIN. Если вы не укажете допустимое имя шрифта в аргументе str, этот метод вернёт шрифт с именем семейства "Dialog". Чтобы определить, какие имена семейств шрифтов доступны в вашей системе, используйте метод GraphicsEnvironment.getAvailableFontFamilyNames(). Если str является null, возвращается новый Font с именем семейства "Dialog", размером 12 и стилем PLAIN.

Параметры:
str - имя шрифта или null
Возвращает:
объект Font , который описывает str, или новый шрифт по умолчанию, если str равно null.
С тех пор:
JDK1.1
См. также:
getFamily()

getFont

public static Font getFont(String nm,
                           Font font)

Получает указанный Font из списка свойств системы. Как и в методе getProperty объекта System, первый аргумент обрабатывается как имя свойства системы, которое нужно получить. Значение свойства String интерпретируется как объект Font.

Значение свойства должно быть одним из форматов, принятых методом Font.decode(String) Если указанное свойство не найдено или исполняемый код не имеет разрешения на чтение свойства, возвращается аргумент font.

Параметры:
nm - имя свойства (нечувствительное к регистру)
font - шрифт по умолчанию, который нужно вернуть, если свойство nm не определено
Возвращает:
значение свойства шрифта.
Исключения:
NullPointerException - если nm равно null.
См. также:
decode(String)

hashCode

public int hashCode()

Возвращает код хэширования для этого объекта Font.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэширования для этого объекта Font.
С тех пор:
JDK1.0
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)

Сравнивает этот объект Font с указанным объектом Object.

Переопределяет:
equals в классе Object
Параметры:
obj - объект Object для сравнения
Возвращает:
true если объекты одинаковые или если аргумент — объект Font , описывающий тот же шрифт, что и этот объект; false в противном случае.
С тех пор:
JDK1.0
См. также:
Object.hashCode(), HashMap

toString

public String toString()

Преобразует этот объект Font в строковое представление.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта Font.
С тех пор:
JDK1.0

getNumGlyphs

public int getNumGlyphs()

Возвращает количество глифов в этом Font. Коды глифов для этого объекта Font находятся в диапазоне от 0 до getNumGlyphs() - 1.

Возвращает:
количество глифов в этом Font.
С:
1.2

getMissingGlyphCode

public int getMissingGlyphCode()

Возвращает glyphCode, используемый, когда у этого Font нет глифа для указанного кода Юникода.

Возвращает:
glyphCode этого Font.
С:
1.2

getBaselineFor

public byte getBaselineFor(char c)

Возвращает базовую линию, подходящую для отображения этого символа.

Шрифты большого размера могут поддерживать различные письменности, и каждая система может использовать разную базовую линию. Аргумент символа определяет используемую письменность. Клиенты не должны предполагать, что все символы используют одну и ту же базовую линию.

Параметры:
c - символ, используемый для идентификации письменности
Возвращает:
базовую линию, подходящую для указанного символа.
С:
1.2
См. также:
LineMetrics.getBaselineOffsets(), ROMAN_BASELINE, CENTER_BASELINE, HANGING_BASELINE

getAttributes

public Map<TextAttribute,?> getAttributes()

Возвращает карту атрибутов шрифта, доступных в этом Font. Атрибуты включают такие вещи, как лигатуры и подстановка глифов.

Возвращает:
карту атрибутов этого Font.

getAvailableAttributes

public AttributedCharacterIterator.Attribute[] getAvailableAttributes()

Возвращает ключи всех атрибутов, поддерживаемых этим Font. Эти атрибуты могут быть использованы для получения других шрифтов.

Возвращает:
массив, содержащий ключи всех атрибутов, поддерживаемых этим Font.
С:
1.2

deriveFont

public Font deriveFont(int style,
                       float size)

Создает новый объект Font, дублируя этот объект Font и применяя новый стиль и размер.

Параметры:
style - стиль для нового Font
size - размер для нового Font
Возвращает:
новый объект Font.
С:
1.2

deriveFont

public Font deriveFont(int style,
                       AffineTransform trans)

Создаёт новый объект Font, дублируя этот объект Font и применяя новый стиль и преобразование.

Параметры:
style - стиль для нового Font
trans - AffineTransform, связанное с новым Font
Возвращает:
новый объект Font.
Исключения:
IllegalArgumentException - если trans является null
С:
1.2

deriveFont

public Font deriveFont(float size)

Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новый размер.

Параметры:
size - размер для нового Font.
Возвращает:
новый объект Font.
С:
1.2

deriveFont

public Font deriveFont(AffineTransform trans)

Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новое преобразование.

Параметры:
trans - AffineTransform, связанное с новым Font
Возвращает:
новый объект Font.
Исключения:
IllegalArgumentException - если trans является null
С:
1.2

deriveFont

public Font deriveFont(int style)

Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новый стиль.

Параметры:
style - стиль для нового Font
Возвращает:
новый объект Font.
С:
1.2

deriveFont

public Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новый набор атрибутов шрифта.

Параметры:
attributes - карта атрибутов, включённых для нового Font
Возвращает:
новый объект Font.
С:
1.2

canDisplay

public boolean canDisplay(char c)

Проверяет, содержит ли этот Font глиф для указанного символа.

Примечание: Этот метод не может обрабатывать дополнительные символы. Для поддержки всех символов Юникода, включая дополнительные символы, используйте метод canDisplay(int) или методы canDisplayUpTo.

Параметры:
c - символ, для которого необходим глиф
Возвращает:
true если у этого Font есть глиф для этого символа; false в противном случае.
С:
1.2

canDisplay

public boolean canDisplay(int codePoint)

Проверяет, содержит ли этот Font глиф для указанного символа.

Параметры:
codePoint - символ (код Юникода), для которого нужен глиф.
Возвращает:
true если у этого Font есть глиф для этого символа; false в противном случае.
Исключения:
IllegalArgumentException - если код символа не является допустимым кодом Юникода.
С:
1.5
См. также:
Character.isValidCodePoint(int)

canDisplayUpTo

public int canDisplayUpTo(String str)

Указывает, может ли этот Font отобразить указанную String. Для строк с кодировкой Юникод важно знать, может ли определённый шрифт отобразить строку. Этот метод возвращает смещение в String str, которое является первым символом, который этот Font не может отобразить без использования кода отсутствующего глифа. Если Font может отобразить все символы, возвращается -1.

Параметры:
str - объект String
Возвращает:
смещение в str, указывающее на первый символ в str, который этот Font не может отобразить; или -1, если этот Font может отобразить все символы в str.
С:
1.2

canDisplayUpTo

public int canDisplayUpTo(char[] text,
                          int start,
                          int limit)

Указывает, может ли этот Font отобразить символы в указанном text начиная с start и заканчивая limit. Этот метод является удобной перегрузкой.

Параметры:
text - указанный массив значений char
start - указанное начальное смещение (в chars) в указанный массив значений char
limit - указанное конечное смещение (в chars) в указанный массив значений char
Возвращает:
смещение в text, указывающее на первый символ в text, который этот Font не может отобразить; или -1, если этот Font может отобразить все символы в text.
С:
1.2

canDisplayUpTo

public int canDisplayUpTo(CharacterIterator iter,
                          int start,
                          int limit)

Указывает, может ли этот Font отобразить текст, указанный в iter начиная с start и заканчивая limit.

Параметры:
iter - объект CharacterIterator
start - указанное начальное смещение в указанном CharacterIterator.
limit - указанное конечное смещение в указанном CharacterIterator.
Возвращает:
смещение в iter, указывающее на первый символ в iter, который этот Font не может отобразить; или -1, если этот Font может отобразить все символы в iter.
С:
1.2

getItalicAngle

public float getItalicAngle()

Возвращает угол наклона курсива этого Font. Угол наклона курсива — это обратный наклон маркера, который лучше всего соответствует позе этого Font.

Возвращает:
угол стиля КУРСИВ этого Font.
См. также:
TextAttribute.POSTURE

hasUniformLineMetrics

public boolean hasUniformLineMetrics()

Проверяет, имеет ли этот Font однородные метрики строк. Логический Font может быть составным шрифтом, что означает, что он состоит из различных физических шрифтов для покрытия различных диапазонов кодов. Каждый из этих шрифтов может иметь разные LineMetrics. Если логический Font является единым шрифтом, то метрики будут однородными.

Возвращает:
true если у этого Font есть однородные метрики строк; false в противном случае.

getLineMetrics

public LineMetrics getLineMetrics(String str,
                                  FontRenderContext frc)

Возвращает объект LineMetrics, созданный с указанным String и FontRenderContext.

Параметры:
str - указанный String
frc - указанный FontRenderContext
Возвращает:
объект LineMetrics созданный с указанным String и FontRenderContext.

getLineMetrics

public LineMetrics getLineMetrics(String str,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)

Возвращает объект LineMetrics, созданный с указанными аргументами.

Параметры:
str - указанная String
beginIndex - начальное смещение str
limit - конечное смещение str
frc - указанный FontRenderContext
Возвращает:
объект LineMetrics, созданный с указанными аргументами.

getLineMetrics

public LineMetrics getLineMetrics(char[] chars,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)

Возвращает объект LineMetrics, созданный с указанными аргументами.

Параметры:
chars - массив символов
beginIndex - начальное смещение chars
limit - конечное смещение chars
frc - указанный FontRenderContext
Возвращает:
объект LineMetrics, созданный с указанными аргументами.

getLineMetrics

public LineMetrics getLineMetrics(CharacterIterator ci,
                                  int beginIndex,
                                  int limit,
                                  FontRenderContext frc)

Возвращает объект LineMetrics, созданный с указанными аргументами.

Параметры:
ci - указанный CharacterIterator
beginIndex - начальное смещение в ci
limit - конечное смещение ci
frc - указанный FontRenderContext
Возвращает:
объект LineMetrics, созданный с указанными аргументами.

getStringBounds

public Rectangle2D getStringBounds(String str,
                                   FontRenderContext frc)

Возвращает логические границы указанной String в указанном FontRenderContext. Логические границы содержат начало координат, восходящую часть, сдвиг и высоту, которая включает отступ. Логические границы не всегда охватывают весь текст. Например, в некоторых языках и шрифтах диакритические знаки могут располагаться над восходящей частью или под нисходящей. Чтобы получить визуальную область, которая охватывает весь текст, используйте метод getBounds объекта TextLayout.

Примечание: Возвращаемые границы находятся в координатах, относительных к основанию (см. class notes).

Параметры:
str - указанная String
frc - указанный FontRenderContext
Возвращает:
Rectangle2D, представляющую область, ограничивающую указанную String в указанном FontRenderContext.
С:
1.2
См. также:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(String str,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)

Возвращает логические границы указанной String в указанном FontRenderContext. Логические границы содержат начало координат, восходящую часть, сдвиг и высоту, которая включает отступ. Логические границы не всегда охватывают весь текст. Например, в некоторых языках и шрифтах диакритические знаки могут располагаться над восходящей частью или под нисходящей. Чтобы получить визуальную область, которая охватывает весь текст, используйте метод getBounds объекта TextLayout.

Примечание: Возвращаемые границы находятся в координатах, относительных к основанию (см. class notes).

Параметры:
str - указанная String
beginIndex - начальное смещение str
limit - конечное смещение str
frc - указанный FontRenderContext
Возвращает:
Rectangle2D, представляющую область, ограничивающую указанную String в указанном FontRenderContext.
Исключения:
IndexOutOfBoundsException - если beginIndex меньше нуля, или limit больше длины str, или beginIndex больше limit.
С:
1.2
См. также:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(char[] chars,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)

Возвращает логические границы указанного массива символов в указанном FontRenderContext. Логические границы содержат начало координат, восходящую часть, сдвиг и высоту, которая включает отступ. Логические границы не всегда охватывают весь текст. Например, в некоторых языках и шрифтах диакритические знаки могут располагаться над восходящей частью или под нисходящей. Чтобы получить визуальную область, которая охватывает весь текст, используйте метод getBounds объекта TextLayout.

Примечание: Возвращаемые границы находятся в координатах, относительных к основанию (см. class notes).

Параметры:
chars - массив символов
beginIndex - начальное смещение в массиве символов
limit - конечное смещение в массиве символов
frc - указанный FontRenderContext
Возвращает:
Rectangle2D, представляющую область, ограничивающую указанный массив символов в указанном FontRenderContext.
Исключения:
IndexOutOfBoundsException - если beginIndex меньше нуля, или limit больше длины chars, или beginIndex больше limit.
С:
1.2
См. также:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getStringBounds

public Rectangle2D getStringBounds(CharacterIterator ci,
                                   int beginIndex,
                                   int limit,
                                   FontRenderContext frc)

Возвращает логические границы символов, индексированных в указанном CharacterIterator, в указанном FontRenderContext. Логические границы содержат начало координат, восходящую часть, сдвиг и высоту, которая включает отступ. Логические границы не всегда охватывают весь текст. Например, в некоторых языках и шрифтах диакритические знаки могут располагаться над восходящей частью или под нисходящей. Чтобы получить визуальную область, которая охватывает весь текст, используйте метод getBounds объекта TextLayout.

Примечание: Возвращаемые границы находятся в координатах, относительных к основанию (см. class notes).

Параметры:
ci - указанный CharacterIterator
beginIndex - начальное смещение в ci
limit - конечное смещение в ci
frc - указанный FontRenderContext
Возвращает:
Rectangle2D, представляющую область, ограничивающую символы, индексированные в указанном CharacterIterator в указанном FontRenderContext.
Исключения:
IndexOutOfBoundsException - если beginIndex меньше начального индекса ci, или limit больше конечного индекса ci, или beginIndex больше limit
С:
1.2
См. также:
FontRenderContext, createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)

getMaxCharBounds

public Rectangle2D getMaxCharBounds(FontRenderContext frc)

Возвращает границы символа с максимальными границами, как определено в указанном FontRenderContext.

Примечание: Возвращаемые границы находятся в координатах, относительных к основанию (см. class notes).

Параметры:
frc - указанный FontRenderContext
Возвращает:
Rectangle2D, представляющую область, ограничивающую символ с максимальными границами.

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     String str)

Создает GlyphVector, сопоставляя символы с глифами один к одному на основе Unicode cmap в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов с символами. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочивания, форматирования или замены лигатур.

Параметры:
frc - указанный FontRenderContext
str - указанный String
Возвращает:
новый GlyphVector, созданный с указанным String и указанным FontRenderContext.

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     char[] chars)

Создает GlyphVector, сопоставляя символы с глифами один к одному на основе Unicode cmap в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов с символами. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочивания, форматирования или замены лигатур.

Параметры:
frc - указанный FontRenderContext
chars - указанный массив символов
Возвращает:
новый GlyphVector, созданный с указанным массивом символов и указанным FontRenderContext.

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     CharacterIterator ci)

Создаёт GlyphVector путём сопоставления указанных символов с глифами один к одному на основе cmap Unicode в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов с символами. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочивания, форматирования или замены лигатур.

Параметры:
frc - указанный FontRenderContext
ci - указанный CharacterIterator
Возвращает:
новый GlyphVector, созданный с указанным CharacterIterator и указанным FontRenderContext.

createGlyphVector

public GlyphVector createGlyphVector(FontRenderContext frc,
                                     int[] glyphCodes)

Создаёт GlyphVector путём сопоставления символов с глифами один к одному на основе cmap Unicode в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов с символами. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочивания, форматирования или замены лигатур.

Параметры:
frc - указанный FontRenderContext
glyphCodes - указанный целочисленный массив
Возвращает:
новый GlyphVector, созданный с указанным целочисленным массивом и указанным FontRenderContext.

layoutGlyphVector

public GlyphVector layoutGlyphVector(FontRenderContext frc,
                                     char[] text,
                                     int start,
                                     int limit,
                                     int flags)

Возвращает новый объект GlyphVector, выполняя полный макет текста, если это возможно. Полный макет необходим для сложного текста, такого как арабский или хинди. Поддержка различных сценариев письма зависит от шрифта и реализации.

Макет требует анализа bidi, как это выполняется Bidi, и должен выполняться только для текста с одинаковым направлением. Направление указывается в параметре флагов, используя LAYOUT_RIGHT_TO_LEFT для указания направления справа налево (арабский и иврит) или LAYOUT_LEFT_TO_RIGHT для указания направления слева направо (английский).

Кроме того, некоторые операции, такие как форматирование арабского языка, требуют контекста, чтобы символы в начале и конце имели правильные формы. Иногда данные в буфере за пределами предоставленного диапазона не содержат действительных данных. Значения LAYOUT_NO_START_CONTEXT и LAYOUT_NO_LIMIT_CONTEXT могут быть добавлены в параметр флагов, чтобы указать, что текст до начала или после конца, соответственно, не должен проверяться на наличие контекста.

Все остальные значения для параметра флагов зарезервированы.

Параметры:
frc - указанный FontRenderContext
text - текст для макета
start - начало текста для использования в GlyphVector
limit - конец текста для использования в GlyphVector
flags - контрольные флаги, как описано выше
Возвращает:
новый GlyphVector, представляющий текст между началом и концом, с выбранными и позиционированными глифами таким образом, чтобы лучше всего представить текст
Исключения:
ArrayIndexOutOfBoundsException - если начало или конец выходят за пределы
С:
1.4
См. также:
Bidi, LAYOUT_LEFT_TO_RIGHT, LAYOUT_RIGHT_TO_LEFT, LAYOUT_NO_START_CONTEXT, LAYOUT_NO_LIMIT_CONTEXT

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API