Класс 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, могут использовать только логические шрифты.
Обсуждение относительных преимуществ и недостатков использования физических или логических шрифтов см. в разделе Физические и Логические шрифты в документе Руководства Java.
Лица и имена шрифтов
У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 и не сохраняют его в шрифте; следует использовать статический метод getFont(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute, ?>), если атрибут FONT может присутствовать. См. TextAttribute.FONT для получения дополнительной информации.
Некоторые атрибуты приведут к дополнительной нагрузке на отображение и, возможно, вызовут макет. Если Font имеет такие атрибуты, метод вернёт true.hasLayoutAttributes()
Примечание: повороты шрифтов могут привести к повороту линий основания текста. Для учёта этой (редкой) возможности API шрифтов заданы так, чтобы возвращать метрики и принимать параметры «в координатах относительно линии основания». Это сопоставляет координату «x» со смещением вдоль линии основания (положительная x направлена вперёд вдоль линии основания), а координату «y» — с расстоянием вдоль перпендикуляра к линии основания в точке «x» (положительная y — 90 градусов по часовой стрелке от вектора линии основания). API, для которых это особенно важно, называются 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 | Логическое имя этого |
static int | PLAIN | Константа стиля «обычный». |
protected float | pointSize | Размер шрифта этого |
static int | ROMAN_BASELINE | Базовая линия, используемая в большинстве римских шрифтов при выводе текста. |
static String | SANS_SERIF | Строковая константа для канонического семейного имени логического шрифта «SansSerif». |
static String | SERIF | Строковая константа для канонического семейного имени логического шрифта «Serif». |
protected int | size | Размер шрифта этого |
protected int | style | Стиль этого |
static int | TRUETYPE_FONT | Идентификация ресурса шрифта типа TRUETYPE. |
static int | TYPE1_FONT | Идентификация ресурса шрифта типа TYPE1. |
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Font(Font font) | Создает новый |
Font(String name,
int style,
int size) | Создает новый | |
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | Создает новый |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | canDisplay(char c) | Проверяет, есть ли у этого |
boolean | canDisplay(int codePoint) | Проверяет, есть ли у этого |
int | canDisplayUpTo(char[] text,
int start,
int limit) | Указывает, может ли этот |
int | canDisplayUpTo(String str) | Указывает, может ли этот |
int | canDisplayUpTo(CharacterIterator iter,
int start,
int limit) | Указывает, может ли этот |
static Font | createFont(int fontFormat,
File fontFile) | Возвращает новый |
static Font | createFont(int fontFormat,
InputStream fontStream) | Возвращает новый |
static Font[] | createFonts(File fontFile) | Возвращает новый массив |
static Font[] | createFonts(InputStream fontStream) | Возвращает новый массив |
GlyphVector | createGlyphVector(FontRenderContext frc,
char[] chars) | Создает |
GlyphVector | createGlyphVector(FontRenderContext frc,
int[] glyphCodes) | Создает |
GlyphVector | createGlyphVector(FontRenderContext frc,
String str) | Создает |
GlyphVector | createGlyphVector(FontRenderContext frc,
CharacterIterator ci) | Создает |
static Font | decode(String str) | Возвращает |
Font | deriveFont(float size) | Создает новый объект |
Font | deriveFont(int style) | Создает новый объект |
Font | deriveFont(int style,
float size) | Создает новый объект |
Font | deriveFont(int style,
AffineTransform trans) | Создает новый объект |
Font | deriveFont(AffineTransform trans) | Создает новый объект |
Font | deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | Создает новый объект |
boolean | equals(Object obj) | Сравнивает этот объект |
Map<TextAttribute,?> | getAttributes() | Возвращает карту атрибутов шрифта, доступных в этом |
AttributedCharacterIterator.Attribute[] | getAvailableAttributes() | Возвращает ключи всех атрибутов, поддерживаемых этим |
byte | getBaselineFor(char c) | Возвращает базовую линию, подходящую для отображения этого символа. |
String | getFamily() | Возвращает семейное имя этого |
String | getFamily(Locale l) | Возвращает семейное имя этого |
static Font | getFont(String nm) | Возвращает объект |
static Font | getFont(String nm,
Font font) | Получает указанный |
static Font | getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | Возвращает |
String | getFontName() | Возвращает имя семейства шрифтов этого |
String | getFontName(Locale l) | Возвращает имя семейства шрифтов |
float | getItalicAngle() | Возвращает угол наклона курсива этого |
LineMetrics | getLineMetrics(char[] chars,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает объект |
LineMetrics | getLineMetrics(String str,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает объект |
LineMetrics | getLineMetrics(String str,
FontRenderContext frc) | Возвращает объект |
LineMetrics | getLineMetrics(CharacterIterator ci,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает объект |
Rectangle2D | getMaxCharBounds(FontRenderContext frc) | Возвращает границы для символа с максимальными границами, как определено в указанном |
int | getMissingGlyphCode() | Возвращает glyphCode, который используется, когда этот |
String | getName() | Возвращает логическое имя этого |
int | getNumGlyphs() | Возвращает количество глифов в этом |
String | getPSName() | Возвращает имя PostScript этого |
int | getSize() | Возвращает размер точки этого |
float | getSize2D() | Возвращает размер точки этого |
Rectangle2D | getStringBounds(char[] chars,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает логические границы указанного массива символов в указанном |
Rectangle2D | getStringBounds(String str,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает логические границы указанного |
Rectangle2D | getStringBounds(String str,
FontRenderContext frc) | Возвращает логические границы указанного |
Rectangle2D | getStringBounds(CharacterIterator ci,
int beginIndex,
int limit,
FontRenderContext frc) | Возвращает логические границы символов, индексированных в указанном |
int | getStyle() | Возвращает стиль этого |
AffineTransform | getTransform() | Возвращает копию преобразования, связанного с этим |
int | hashCode() | Возвращает хэш-код для этого |
boolean | hasLayoutAttributes() | Возвращает true, если этот шрифт содержит атрибуты, требующие дополнительной обработки макета. |
boolean | hasUniformLineMetrics() | Проверяет, имеет ли этот |
|---|---|---|
boolean | isBold() | Указывает, является ли стиль этого объекта |
boolean | isItalic() | Указывает, является ли стиль этого объекта |
boolean | isPlain() | Указывает, является ли стиль этого объекта |
boolean | isTransformed() | Указывает, имеет ли этот объект |
GlyphVector | layoutGlyphVector(FontRenderContext frc,
char[] text,
int start,
int limit,
int flags) | Возвращает новый объект |
static boolean | textRequiresLayout(char[] chars,
int start,
int end) | Возвращает true, если какая-либо часть указанного текста взята из сложного сценария, для которого реализация должна вызвать обработку форматирования для правильного отображения при использовании |
String | toString() | Преобразует этот объект |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Поля
DIALOG
public static final String DIALOG
Константа String для канонического семейства логического шрифта "Dialog". Она полезна при создании шрифтов для проверки имени во время компиляции.
- Since:
- 1.6
- См. также:
- Значения константных полей
DIALOG_INPUT
public static final String DIALOG_INPUT
Константа String для канонического семейства логического шрифта "DialogInput". Она полезна при создании шрифтов для проверки имени во время компиляции.
- Since:
- 1.6
- См. также:
- Значения константных полей
SANS_SERIF
public static final String SANS_SERIF
Константа String для канонического семейства логического шрифта "SansSerif". Она полезна при создании шрифтов для проверки имени во время компиляции.
- Since:
- 1.6
- См. также:
- Значения константных полей
SERIF
public static final String SERIF
Константа String для канонического семейства логического шрифта "Serif". Она полезна при создании шрифтов для проверки имени во время компиляции.
- Since:
- 1.6
- См. также:
- Значения константных полей
MONOSPACED
public static final String MONOSPACED
Константа String для канонического семейства логического шрифта "Monospaced". Она полезна при создании шрифтов для проверки имени во время компиляции.
- Since:
- 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.
- Since:
- 1.3
- См. также:
- Значения константных полей
TYPE1_FONT
public static final int TYPE1_FONT
Идентификатор ресурса шрифта типа TYPE1. Используется для указания ресурса шрифта Type1 в методе createFont(int, java.io.InputStream).
- Since:
- 1.5
- См. также:
- Значения константных полей
name
protected String name
Логическое имя этого Font, переданное в конструктор.
- Since:
- 1.0
- См. также:
getName()
style
protected int style
Стиль этого Font, переданный в конструктор. Этот стиль может быть PLAIN, BOLD, ITALIC или BOLD+ITALIC.
- Since:
- 1.0
- См. также:
getStyle()
size
protected int size
Размер шрифта в пунктах этого Font, округленный до целого числа.
- Since:
- 1.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, указывающий, что текст в массиве char перед указанным началом не должен проверяться.
- См. также:
- Значения константных полей
LAYOUT_NO_LIMIT_CONTEXT
public static final int LAYOUT_NO_LIMIT_CONTEXT
Флаг для layoutGlyphVector, указывающий, что текст в массиве char после указанного предела не должен проверяться.
- См. также:
- Значения константных полей
Конструкторы
Шрифт
public Font(String name,
int style,
int size) Создаёт новый Font по указанному имени, стилю и размеру шрифта.
Имя шрифта может быть именем начертания или семейства шрифтов. Оно используется вместе со стилем для поиска подходящего начертания. При указании имени семейства шрифтов аргумент стиля используется для выбора наиболее подходящего начертания из семейства. При указании имени начертания шрифта стиль и аргумент стиля объединяются для нахождения наилучшего соответствия шрифта из того же семейства. Например, если указано имя начертания "Arial Bold" со стилем Font.ITALIC, система шрифтов ищет начертание в семействе "Arial", которое является полужирным и курсивным, и может связать экземпляр шрифта с физическим начертанием "Arial Bold Italic". Аргумент стиля объединяется со стилем указанного начертания, а не добавляется или вычитается. Это означает, что указание полужирного начертания и полужирного стиля не удваивает полужирность шрифта, а указание полужирного начертания и простого стиля не уменьшает полужирность шрифта.
Если начертание для запрошенного стиля не найдено, система шрифтов может применить алгоритмическую стилизацию для достижения желаемого стиля. Например, если ITALIC запрошено, но курсивное начертание недоступно, глифы простого начертания могут быть алгоритмически наклонены (наклонены).
Поиск имени шрифта регистронезависимый, используя правила преобразования регистра для локальной настройки США.
Если параметр name представляет собой что-то иное, чем логический шрифт, т.е. интерпретируется как физическое начертание или семейство, и это не может быть отображено реализацией в физический шрифт или совместимую альтернативу, тогда система шрифтов сопоставит экземпляр Font с "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 - С:
- 1.0
- См. также:
-
GraphicsEnvironment.getAllFonts(),GraphicsEnvironment.getAvailableFontFamilyNames()
Шрифт
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
Методы
textRequiresLayout
public static boolean textRequiresLayout(char[] chars,
int start,
int end) Возвращает true, если какая-либо часть указанного текста принадлежит сложному сценарию, для которого реализация должна вызвать обработку вывода, чтобы обеспечить правильный рендеринг при использовании drawString(String,int,int) и других методов рендеринга текста. Измерение текста может аналогичным образом потребовать той же дополнительной обработки. Индексы start и end предоставляются, чтобы приложение могло запросить рассмотрение только подмножества текста. Последний индекс символа, который был проверен, находится в "end-1", т. е. запрос на проверку всего массива будет
Font.textRequiresLayout(chars, 0, chars.length);. Приложение может найти эту информацию полезной в чувствительном к производительности коде.
Обратите внимание, что даже если этот метод возвращает false, обработка вывода может быть вызвана при использовании с любым Font, для которого hasLayoutAttributes() возвращает true, поэтому для получения ответа, учитывающего такие атрибуты шрифта, потребуется обратиться к этому методу, чтобы получить конкретный шрифт.
- Параметры:
-
chars- текст. -
start- индекс первого символа для проверки. -
end- конечный индекс (исключая). - Возвращает:
-
true, если указанный текст потребует специальной обработки вывода. - Исключение:
-
NullPointerException- еслиcharsравно null. -
ArrayIndexOutOfBoundsException- еслиstartотрицательно илиendбольше длины массиваchars. - С:
- 9
getFont
public static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Возвращает шрифт, соответствующий атрибутам. Если attributes содержит атрибут FONT со значением допустимого Font, он будет объединён с любыми оставшимися атрибутами. Подробнее см. TextAttribute.FONT.
- Параметры:
-
attributes- атрибуты для назначения новому шрифту - Возвращает:
- новый шрифт, созданный со специфицированными атрибутами
- Исключение:
-
NullPointerException- еслиattributesравно null. - С:
- 1.2
- См. также:
TextAttribute
createFonts
public static Font[] createFonts(InputStream fontStream)
throws FontFormatException,
IOException Возвращает новый массив шрифтов, декодированных из указанного потока. Возвращаемый массив шрифтов будет содержать по крайней мере один элемент.
Явное назначение этой разновидности метода createFont(int, InputStream) заключается в поддержке источников шрифтов, представляющих коллекцию шрифтов TrueType/OpenType, и возможности возвращения всех отдельных шрифтов в этой коллекции. Следовательно, этот метод выбросит FontFormatException , если источник данных не содержит по крайней мере один шрифт TrueType/OpenType. Такое же исключение будет выброшено, если любой из шрифтов в коллекции не содержит необходимых таблиц шрифтов.
Условие «по крайней мере один» позволяет потоку представлять один шрифт OpenType/TrueType. То есть, это не обязательно должна быть коллекция. Каждый элемент массива Font возвращаемого массива создаётся с размером 1 и стилем PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и функциями шрифта.
Этот метод не закрывает InputStream.
Чтобы сделать каждый Font доступным конструкторам шрифтов, он должен быть зарегистрирован в GraphicsEnvironment, вызывая registerFont(Font).
- Параметры:
-
fontStream- объектInputStream, представляющий входные данные для шрифта или коллекции шрифтов. - Возвращает:
- новый массив шрифтов.
- Исключение:
-
FontFormatException- если данныеfontStreamне содержат необходимых таблиц шрифтов для любого элемента коллекции или если вообще не содержит шрифтов. -
IOException- еслиfontStreamнельзя полностью прочитать. - С:
- 9
- См. также:
GraphicsEnvironment.registerFont(Font)
createFonts
public static Font[] createFonts(File fontFile)
throws FontFormatException,
IOException Возвращает новый массив шрифтов, декодированных из указанного файла. Возвращаемый массив шрифтов будет содержать по крайней мере один элемент.
Явное назначение этой разновидности метода createFont(int, File) заключается в поддержке источников шрифтов, представляющих коллекцию шрифтов TrueType/OpenType, и возможности возвращения всех отдельных шрифтов в этой коллекции. Следовательно, этот метод выбросит FontFormatException , если источник данных не содержит по крайней мере один шрифт TrueType/OpenType. Такое же исключение будет выброшено, если любой из шрифтов в коллекции не содержит необходимых таблиц шрифтов.
Условие «по крайней мере один» позволяет потоку представлять один шрифт OpenType/TrueType. То есть, это не обязательно должна быть коллекция. Каждый элемент массива Font возвращаемого массива создаётся с размером 1 и стилем PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и функциями шрифта.
Чтобы сделать каждый Font доступным конструкторам шрифтов, он должен быть зарегистрирован в GraphicsEnvironment, вызывая registerFont(Font).
- Параметры:
-
fontFile- объектFile, содержащий входные данные для шрифта или коллекции шрифтов. - Возвращает:
- новый массив шрифтов.
- Исключение:
-
FontFormatException- еслиFileне содержит необходимых таблиц шрифтов для любого элемента коллекции или если вообще не содержит шрифтов. -
IOException- еслиfontFileнельзя прочитать. - С:
- 9
- См. также:
GraphicsEnvironment.registerFont(Font)
createFont
public static Font createFont(int fontFormat,
InputStream fontStream)
throws FontFormatException,
IOException Возвращает новый шрифт, используя указанный тип шрифта и входные данные. Новый шрифт создаётся с размером 1 и стилем PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и функциями шрифта. Этот метод не закрывает InputStream.
Чтобы сделать Font доступным конструкторам шрифтов, возвращённый Font должен быть зарегистрирован в GraphicsEnvironment, вызывая registerFont(Font).
- Параметры:
-
fontFormat- тип шрифта, который являетсяTRUETYPE_FONT, если указан ресурс TrueType, илиTYPE1_FONT, если указан ресурс Type 1. -
fontStream- объектInputStream, представляющий входные данные для шрифта. - Возвращает:
- новый шрифт, созданный с указанным типом шрифта.
- Исключение:
-
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 Возвращает новый шрифт, используя указанный тип шрифта и указанный файл шрифта. Новый шрифт создаётся с размером 1 и стилем PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и функциями шрифта.
- Параметры:
-
fontFormat- тип шрифта, который являетсяTRUETYPE_FONT, если указан ресурс TrueType, илиTYPE1_FONT, если указан ресурс Type 1. До тех пор, пока на возвращаемый шрифт или его производные шрифты ссылаются, реализация может продолжать доступ кfontFileдля получения данных шрифта. Таким образом, результаты не определены, если файл изменяется или становится недоступным.Чтобы сделать
Fontдоступным конструкторам шрифтов, возвращённыйFontдолжен быть зарегистрирован вGraphicsEnvironment, вызываяregisterFont(Font). -
fontFile- объектFile, представляющий входные данные для шрифта. - Возвращает:
- новый шрифт, созданный с указанным типом шрифта.
- Исключение:
-
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. - Since:
- 1.1
- См. также:
-
getName(),getFontName()
getFamily
public String getFamily(Locale l)
Возвращает имя семейства этого Font, локализованное для указанного региона.
Имя семейства шрифта специфично для шрифта. Два шрифта, такие как Helvetica Italic и Helvetica Bold, имеют одинаковое имя семейства, Helvetica, тогда как их имена начертания - Helvetica Bold и Helvetica Italic. Список доступных имен семейств можно получить, используя метод GraphicsEnvironment.getAvailableFontFamilyNames().
Используйте getFontName для получения имени начертания шрифта.
- Параметры:
-
l- регион, для которого требуется получить имя семейства - Возвращает:
- строку, представляющую имя семейства шрифта, локализованное для указанного региона.
- Since:
- 1.2
- См. также:
-
getFontName(),Locale
getPSName
public String getPSName()
Возвращает имя PostScript этого Font. Используйте getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени начертания шрифта.
- Возвращает:
- строку, представляющую имя PostScript этого
Font. - Since:
- 1.2
getName
public String getName()
Возвращает логическое имя этого Font. Используйте getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени начертания шрифта.
- Возвращает:
- строку, представляющую логическое имя этого
Font. - Since:
- 1.0
- См. также:
-
getFamily(),getFontName()
getFontName
public String getFontName()
Возвращает имя начертания шрифта этого Font. Например, Helvetica Bold может быть возвращено как имя начертания. Используйте getFamily для получения имени семейства шрифта. Используйте getName для получения логического имени шрифта.
- Возвращает:
- строку, представляющую имя начертания шрифта этого
Font. - Since:
- 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. - Since:
- 1.0
- См. также:
-
isPlain(),isBold(),isItalic()
getSize
public int getSize()
Возвращает размер шрифта в пунктах этого Font, округленный до целого числа. Большинство пользователей знакомы с понятием использования размера в пунктах для указания размера глифов в шрифте. Этот размер в пунктах определяет измерение между базовой линией одной строки и базовой линией следующей строки в документе с одинарным интервалом. Размер в пунктах основан на типографических пунктах, приблизительно равных 1/72 дюйма.
API Java(tm)2D использует соглашение, что один пункт эквивалентен одному единице в координатах пользователя. При использовании нормализованного преобразования для преобразования координат пространства пользователя в координаты пространства устройства 72 единицы пространства пользователя равны 1 дюйму в пространстве устройства. В этом случае один пункт равен 1/72 дюйма.
- Возвращает:
- размер шрифта в пунктах этого
Fontв единицах 1/72 дюйма. - Since:
- 1.0
- См. также:
-
getSize2D(),GraphicsConfiguration.getDefaultTransform(),GraphicsConfiguration.getNormalizingTransform()
getSize2D
public float getSize2D()
Возвращает размер шрифта в пунктах этого Font в float.
- Возвращает:
- размер шрифта в пунктах этого
Fontв видеfloat. - Since:
- 1.2
- См. также:
getSize()
isPlain
public boolean isPlain()
Указывает, является ли стиль этого объекта Font PLAIN.
- Возвращает:
-
trueесли у этогоFontстиль PLAIN;falseв противном случае. - Since:
- 1.0
- См. также:
getStyle()
isBold
public boolean isBold()
Указывает, является ли стиль этого объекта Font BOLD.
- Возвращает:
-
trueесли у этого объектаFontстиль BOLD;falseв противном случае. - Since:
- 1.0
- См. также:
getStyle()
isItalic
public boolean isItalic()
Указывает, является ли стиль этого объекта Font ITALIC.
- Возвращает:
-
trueесли у этого объектаFontстиль ITALIC;falseв противном случае. - Since:
- 1.0
- См. также:
getStyle()
isTransformed
public boolean isTransformed()
Указывает, имеет ли этот объект Font преобразование, которое влияет на его размер помимо атрибута Size.
- Возвращает:
-
trueесли у этого объектаFontатрибут AffineTransform не равен единичной матрице.falseв противном случае. - Since:
- 1.4
- См. также:
getTransform()
hasLayoutAttributes
public boolean hasLayoutAttributes()
Возвращает true, если этот шрифт содержит атрибуты, требующие дополнительной обработки вычисления размеров.
- Возвращает:
- true, если шрифт имеет атрибуты вычисления размеров.
- Since:
- 1.6
getFont
public static Font getFont(String nm)
Возвращает объект Font из списка системных свойств. nm обрабатывается как имя системного свойства, которое необходимо получить. Значение String этого свойства затем интерпретируется как объект Font в соответствии со спецификацией Font.decode(String) Если указанное свойство не найдено или выполняющему код нет разрешения на чтение свойства, возвращается null.
- Параметры:
-
nm- имя свойства - Возвращает:
- объект
Font, который описывается именем свойства, или null, если такое свойство не существует. - Исключения:
-
NullPointerException- если nm равно null. - Since:
- 1.2
- См. также:
decode(String)
decode
public static Font decode(String str)
Возвращает Font, которое описывает аргумент str. Чтобы гарантировать, что этот метод возвращает нужный шрифт, отформатируйте параметр str одним из следующих способов
- имя_шрифта-стиль-размер
- имя_шрифта-размер
- имя_шрифта-стиль
- имя_шрифта
- имя_шрифта стиль размер
- имя_шрифта размер
- имя_шрифта стиль
- имя_шрифта
"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.
- Parameters:
-
str- имя шрифта илиnull - Returns:
- объект
Font, который описываетstr, или новый шрифт по умолчаниюFont, еслиstrявляетсяnull. - Since:
- 1.1
- See Also:
getFamily()
getFont
public static Font getFont(String nm,
Font font) Получает указанный Font из списка свойств системы. Как и в методе getProperty класса System, первый аргумент рассматривается как имя свойства системы, которое необходимо получить. Значение String этого свойства затем интерпретируется как объект Font.
Значение свойства должно быть одним из форматов, принимаемых Font.decode(String) Если указанное свойство не найдено или исполняемому коду не разрешено читать свойство, возвращается аргумент font.
- Parameters:
-
nm- имя свойства, не чувствительное к регистру -
font- шрифт по умолчаниюFontдля возврата, если свойствоnmне определено - Returns:
- значение
Fontсвойства. - Throws:
-
NullPointerException- если nm равно null. - See Also:
decode(String)
hashCode
public int hashCode()
Возвращает хэш-код для этого Font.
- Overrides:
-
hashCodeв классеObject - Returns:
- значение хэш-кода для этого
Font. - Since:
- 1.0
- See Also:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Сравнивает этот объект Font с указанным Object.
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объектObjectдля сравнения - Returns:
-
trueесли объекты идентичны или если аргумент — объектFontшрифта, описывающий тот же шрифт, что и этот объект;falseв противном случае. - Since:
- 1.0
- See Also:
-
Object.hashCode(),HashMap
toString
public String toString()
Преобразует этот объект Font в строковое представление.
getNumGlyphs
public int getNumGlyphs()
Возвращает количество глифов в этом Font. Коды глифов для этого Font находятся в диапазоне от 0 до getNumGlyphs() - 1.
- Returns:
- количество глифов в этом
Font. - Since:
- 1.2
getMissingGlyphCode
public int getMissingGlyphCode()
Возвращает glyphCode, который используется, когда у этого Font нет глифа для указанного кода Юникода.
- Returns:
- код glyphCode этого
Font. - Since:
- 1.2
getBaselineFor
public byte getBaselineFor(char c)
Возвращает линию основания, подходящую для отображения этого символа.
Большие шрифты могут поддерживать различные системы письма, и каждая система может использовать разные линии основания. Аргумент character определяет систему письма для использования. Клиенты не должны предполагать, что все символы используют одну и ту же линию основания.
- Parameters:
-
c- символ, используемый для идентификации системы письма - Returns:
- линия основания, подходящая для указанного символа.
- Since:
- 1.2
- See Also:
-
LineMetrics.getBaselineOffsets(),ROMAN_BASELINE,CENTER_BASELINE,HANGING_BASELINE
getAttributes
public Map<TextAttribute,?> getAttributes()
Возвращает карту атрибутов шрифта, доступных в этом Font. Атрибуты включают такие вещи, как лигатуры и подстановки глифов.
- Returns:
- карта атрибутов этого
Font.
getAvailableAttributes
public AttributedCharacterIterator.Attribute[] getAvailableAttributes()
Возвращает ключи всех атрибутов, поддерживаемых этим Font. Эти атрибуты можно использовать для получения других шрифтов.
- Returns:
- массив, содержащий ключи всех атрибутов, поддерживаемых этим
Font. - Since:
- 1.2
deriveFont
public Font deriveFont(int style,
float size) Создаёт новый объект Font путём копирования этого объекта Font и применения нового стиля и размера.
- Parameters:
-
style- стиль для новогоFont -
size- размер для новогоFont - Returns:
- новый объект
Font. - Since:
- 1.2
deriveFont
public Font deriveFont(int style,
AffineTransform trans) Создаёт новый объект Font путём копирования этого объекта Font и применения нового стиля и преобразования.
- Parameters:
-
style- стиль для новогоFont -
trans- преобразование, связанное с новымFont - Returns:
- новый объект
Font. - Throws:
-
IllegalArgumentException- еслиtransравноnull - Since:
- 1.2
deriveFont
public Font deriveFont(float size)
Создаёт новый объект Font путём копирования текущего объекта Font и применения нового размера к нему.
- Parameters:
-
size- размер для новогоFont. - Returns:
- новый объект
Font. - Since:
- 1.2
deriveFont
public Font deriveFont(AffineTransform trans)
Создаёт новый объект Font путём копирования текущего объекта Font и применения нового преобразования к нему.
- Parameters:
-
trans- преобразование, связанное с новымFont - Returns:
- новый объект
Font. - Throws:
-
IllegalArgumentException- еслиtransравноnull - Since:
- 1.2
deriveFont
public Font deriveFont(int style)
Создаёт новый объект Font путём копирования текущего объекта Font и применения нового стиля к нему.
- Parameters:
-
style- стиль для новогоFont - Returns:
- новый объект
Font. - Since:
- 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.
- Возвращает:
- угол стиля ITALIC этого
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, отображая указанные символы в глифы один к одному на основе Unicode cmap в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов символам. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочения, форматирования или подстановки лигатур.
- Параметры:
-
frc- указанныйFontRenderContext -
ci- указанныйCharacterIterator - Возвращает:
- новый объект
GlyphVector, созданный с указаннымCharacterIteratorи указаннымFontRenderContext.
createGlyphVector
public GlyphVector createGlyphVector(FontRenderContext frc,
int[] glyphCodes) Создает объект GlyphVector, отображая символы в глифы один к одному на основе Unicode cmap в этом Font. Этот метод не выполняет других операций, кроме сопоставления глифов символам. Это означает, что этот метод не подходит для некоторых сценариев письма, таких как арабский, иврит, тайский и индийские, которые требуют переупорядочения, форматирования или подстановки лигатур.
- Параметры:
-
frc- указанныйFontRenderContext -
glyphCodes- указанный целочисленный массив - Возвращает:
- новый объект
GlyphVector, созданный с указанным целочисленным массивом и указаннымFontRenderContext.
layoutGlyphVector
public GlyphVector layoutGlyphVector(FontRenderContext frc,
char[] text,
int start,
int limit,
int flags) Возвращает новый объект GlyphVector, выполняя полное форматирование текста, если это возможно. Полное форматирование необходимо для сложного текста, такого как арабский или хинди. Поддержка различных сценариев письма зависит от шрифта и реализации.
Форматирование требует анализа двунаправленности, как выполняется 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Font.html