Класс Font
- Все реализованные интерфейсы:
Serializable
- Прямые известные подклассы:
FontUIResource
public class Font extends Object implements Serializable
Font представляет шрифты, которые используются для визуального отображения текста. Шрифт предоставляет информацию, необходимую для сопоставления последовательностей символов с последовательностями глифов и для отображения последовательностей глифов на объектах Graphics и Component. Символы и глифы
Символ — это символ, который абстрактно представляет элемент, такой как буква, цифра или знак препинания. Например,'g', МАЛЕНЬКАЯ ЛАТИНСКАЯ БУКВА G, является символом. Глиф — это форма, используемая для отображения символа или последовательности символов. В простых системах письма, таких как латинская, обычно один глиф соответствует одному символу. Однако, в целом, символы и глифы не имеют взаимно однозначного соответствия. Например, символ 'á' МАЛЕНЬКАЯ ЛАТИНСКАЯ БУКВА A С ГРАВИСОМ может быть представлен двумя глифами: одним для 'a' и одним для '´'. С другой стороны, строка из двух символов "fi" может быть представлена одним глифом, лигатурой "fi". В сложных системах письма, таких как арабская или южно- и юго-восточноазиатские системы письма, взаимоотношения между символами и глифами могут быть более сложными и включать контекстно-зависимый выбор глифов, а также перестановку глифов. Шрифт encapsulates коллекцию глифов, необходимых для отображения выбранного набора символов, а также таблицы, необходимые для сопоставления последовательностей символов с соответствующими последовательностями глифов.
Физические и логические шрифты
Java Platform различает два типа шрифтов: физические шрифты и логические шрифты. Физические шрифты — это фактические библиотеки шрифтов, содержащие данные о глифах и таблицы для сопоставления последовательностей символов с последовательностями глифов, используя технологию шрифтов, такую как TrueType или PostScript Type 1. Все реализации Java Platform должны поддерживать шрифты TrueType; поддержка других технологий шрифтов зависит от реализации. Физические шрифты могут использовать такие имена, как Helvetica, Palatino, HonMincho или любое другое количество имен шрифтов. Как правило, каждый физический шрифт поддерживает только ограниченный набор систем письма, например, только латинские символы или только японские и базовые латинские символы. Набор доступных физических шрифтов варьируется в зависимости от конфигурации. Приложения, которые требуют конкретных шрифтов, могут упаковать их и инициализировать их, используя метод createFont.
Логические шрифты — это пять семейств шрифтов, определённых Java Platform, которые должны поддерживаться любой средой выполнения Java: Serif, SansSerif, Monospaced, Dialog и DialogInput. Эти логические шрифты не являются фактическими библиотеками шрифтов. Вместо этого имена логических шрифтов сопоставляются с физическими шрифтами средой выполнения Java. Это сопоставление зависит от реализации и обычно от локали, поэтому внешний вид и метрики, предоставляемые ими, различаются. Как правило, каждое имя логического шрифта сопоставляется с несколькими физическими шрифтами, чтобы охватить широкий диапазон символов.
Компоненты AWT, такие как Label и TextField, могут использовать только логические шрифты.
Обсуждение относительных преимуществ и недостатков использования физических или логических шрифтов см. в разделе «Физические и логические шрифты» документа «Руководства по Java» по адресу https://docs.oracle.com/javase/tutorial/2d/text/fonts.html#advantages-and-disadvantages в документе Руководства по 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 final int |
BOLD |
Константа стиля «жирный». |
static final int |
CENTER_BASELINE |
Базовая линия, используемая в идеографических системах письма, таких как китайская, японская и корейская, при выводе текста. |
static final String |
DIALOG |
Строковая константа для канонического семейного имени логического шрифта «Dialog». |
static final String |
DIALOG_INPUT |
Строковая константа для канонического семейного имени логического шрифта «DialogInput». |
static final int |
HANGING_BASELINE |
Базовая линия, используемая в деванагари и подобных системах письма при выводе текста. |
static final int |
ITALIC |
Константа стиля «курсив». |
static final int |
LAYOUT_LEFT_TO_RIGHT |
Флаг для layoutGlyphVector, указывающий, что текст выводится слева направо, согласно анализу Bidi. |
static final int |
LAYOUT_NO_LIMIT_CONTEXT |
Флаг для layoutGlyphVector, указывающий, что текст в массиве char после указанного предела не должен рассматриваться. |
static final int |
LAYOUT_NO_START_CONTEXT |
Флаг для layoutGlyphVector, указывающий, что текст в массиве char перед указанным началом не должен рассматриваться. |
static final int |
LAYOUT_RIGHT_TO_LEFT |
Флаг для layoutGlyphVector, указывающий, что текст выводится справа налево, согласно анализу Bidi. |
static final String |
MONOSPACED |
Строковая константа для канонического семейного имени логического шрифта «Monospaced». |
protected String |
name |
Логическое имя этого Font, переданное в конструктор. |
static final int |
PLAIN |
Константа стиля «обычный». |
protected float |
pointSize |
Размер шрифта этого Font в float. |
static final int |
ROMAN_BASELINE |
Базовая линия, используемая в большинстве романских систем письма при выводе текста. |
static final String |
SANS_SERIF |
Строковая константа для канонического семейного имени логического шрифта «SansSerif». |
static final String |
SERIF |
Строковая константа для канонического семейного имени логического шрифта «Serif». |
protected int |
size |
Размер шрифта этого Font, округленный до целого. |
protected int |
style |
Стиль этого Font, переданный в конструктор. |
static final int |
TRUETYPE_FONT |
Идентификатор ресурса шрифта типа TRUETYPE. |
static final int |
TYPE1_FONT |
Идентификатор ресурса шрифта типа TYPE1. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый Font из указанного font. |
|
| Создаёт новый Font из указанного имени, стиля и размера шрифта. |
||
| Создаёт новый Font с указанными атрибутами. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
canDisplay |
Проверяет, содержит ли этот Font глиф для указанного символа. |
boolean |
canDisplay |
Проверяет, содержит ли этот Font глиф для указанного символа. |
int |
canDisplayUpTo |
Указывает, может ли этот Font отобразить символы в указанном text, начиная с start и заканчивая limit. |
int |
canDisplayUpTo |
Указывает, может ли этот Font отобразить указанный String. |
int |
canDisplayUpTo |
Указывает, может ли этот Font отобразить текст, заданный iter, начиная с start и заканчивая limit. |
static Font |
createFont |
Возвращает новый Font, используя указанный тип шрифта и файл шрифта. |
static Font |
createFont |
Возвращает новый Font, используя указанный тип шрифта и входные данные. |
static Font[] |
createFonts |
Возвращает новый массив Font, декодированный из указанного файла. |
static Font[] |
createFonts |
Возвращает новый массив Font, декодированный из указанного потока. |
GlyphVector |
createGlyphVector |
Создаёт GlyphVector путём сопоставления символов с глифами один к одному на основе Unicode cmap в этом Font. |
GlyphVector |
createGlyphVector |
Создаёт GlyphVector путём сопоставления символов с глифами один к одному на основе Unicode cmap в этом Font. |
GlyphVector |
createGlyphVector |
Создаёт GlyphVector путём сопоставления символов с глифами один к одному на основе Unicode cmap в этом Font. |
GlyphVector |
createGlyphVector |
Создаёт GlyphVector путём сопоставления указанных символов с глифами один к одному на основе Unicode cmap в этом Font. |
static Font |
decode |
Возвращает Font, которое описывает аргумент str. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя текущий объект Font и применяя новый размер. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя текущий объект Font и применяя новый стиль. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя этот объект Font и применяя новый стиль и размер. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя этот объект Font и применяя новый стиль и преобразование. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новое преобразование. |
Font |
deriveFont |
Создаёт новый объект Font, дублируя текущий объект Font и применяя к нему новый набор атрибутов шрифта. |
boolean |
equals |
Сравнивает этот объект Font с указанным Object. |
Map |
getAttributes() |
Возвращает карту доступных атрибутов шрифта в этом Font. |
AttributedCharacterIterator.Attribute[] |
getAvailableAttributes() |
Возвращает ключи всех атрибутов, поддерживаемых этим Font. |
byte |
getBaselineFor |
Возвращает базовую линию, подходящую для отображения этого символа. |
String |
getFamily() |
Возвращает имя семейства этого Font. |
String |
getFamily |
Возвращает имя семейства этого Font, локализованное для указанной локали. |
static Font |
getFont |
Возвращает объект Font из списка системных свойств. |
static Font |
getFont |
Получает указанный Font из списка системных свойств. |
static Font |
getFont |
Возвращает Font, соответствующее атрибутам. |
String |
getFontName() |
Возвращает имя начертания шрифта этого Font. |
String |
getFontName |
Возвращает имя начертания шрифта Font, локализованное для указанной локали. |
float |
getItalicAngle() |
Возвращает угол наклона курсива этого Font. |
LineMetrics |
getLineMetrics |
Возвращает объект LineMetrics, созданный с указанными аргументами. |
LineMetrics |
getLineMetrics |
Возвращает объект LineMetrics , созданный с указанными аргументами. |
LineMetrics |
getLineMetrics |
|
LineMetrics |
getLineMetrics |
Возвращает объект LineMetrics, созданный с указанными аргументами. |
Rectangle2D |
getMaxCharBounds |
Возвращает границы символа с максимальными границами, как определено в указанном FontRenderContext. |
int |
getMissingGlyphCode() |
Возвращает glyphCode, используемый, когда у этого Font нет глифа для указанного кода Unicode. |
String |
getName() |
Возвращает логическое имя этого Font. |
int |
getNumGlyphs() |
Возвращает количество глифов в этом Font. |
String |
getPSName() |
Возвращает имя PostScript этого Font. |
int |
getSize() |
Возвращает размер шрифта этого Font, округлённый до целого числа. |
float |
getSize2D() |
Возвращает размер шрифта этого Font в значении float. |
Rectangle2D |
getStringBounds |
Возвращает логические границы указанного массива символов в указанном FontRenderContext. |
Rectangle2D |
getStringBounds |
Возвращает логические границы указанного String в указанном FontRenderContext. |
Rectangle2D |
getStringBounds |
Возвращает логические границы указанного String в указанном FontRenderContext. |
Rectangle2D |
getStringBounds |
Возвращает логические границы символов, индексированных в указанном CharacterIterator, в указанном FontRenderContext. |
int |
getStyle() |
Возвращает стиль этого Font. |
AffineTransform |
getTransform() |
Возвращает копию преобразования, связанного с этим Font. |
int |
hashCode() |
Возвращает хэш-код для этого Font. |
boolean |
hasLayoutAttributes() |
Возвращает true, если этот шрифт содержит атрибуты, требующие дополнительной обработки макета. |
boolean |
hasUniformLineMetrics() |
Проверяет, имеет ли этот Font равномерные метрики линий. |
boolean |
isBold() |
Указывает, является ли стиль этого объекта Font жирным. |
boolean |
isItalic() |
Указывает, является ли стиль этого объекта Font курсивным. |
boolean |
isPlain() |
Указывает, является ли стиль этого объекта Font обычным. |
boolean |
isTransformed() |
Указывает, имеет ли этот объект Font преобразование, влияющее на его размер помимо атрибута Size. |
GlyphVector |
layoutGlyphVector |
Возвращает новый объект GlyphVector, выполняя полную верстку текста, если это возможно. |
static boolean |
textRequiresLayout |
Возвращает true, если какая-либо часть указанного текста принадлежит сложному письму, для которого реализация должна вызвать обработку макета, чтобы обеспечить правильное отображение при использовании drawString(String,int,int) и других методов рендеринга текста. |
String |
toString() |
Преобразует этот объект Font в представление String. |
Подробное описание полей
DIALOG
public static final String DIALOG
- С момента:
- 1.6
- См. также:
DIALOG_INPUT
public static final String DIALOG_INPUT
- С момента:
- 1.6
- См. также:
SANS_SERIF
public static final String SANS_SERIF
- С момента:
- 1.6
- См. также:
SERIF
public static final String SERIF
- С момента:
- 1.6
- См. также:
MONOSPACED
public static final String MONOSPACED
- С момента:
- 1.6
- См. также:
PLAIN
public static final int PLAIN
- См. также:
BOLD
public static final int BOLD
- См. также:
ITALIC
public static final int ITALIC
- См. также:
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
createFont(int, java.io.InputStream). Формат TrueType был расширен до формата OpenType, который добавляет поддержку шрифтов с контурами Postscript, поэтому эта метка относится к этим шрифтам, а также к шрифтам с контурами TrueType.- С момента:
- 1.3
- См. также:
TYPE1_FONT
public static final int TYPE1_FONT
createFont(int, java.io.InputStream).- С момента:
- 1.5
- См. также:
name
protected String name
Font, переданное в конструктор.- С момента:
- 1.0
- См. также:
style
protected int style
Font, переданный в конструктор. Этот стиль может быть PLAIN, BOLD, ITALIC или BOLD+ITALIC.- С момента:
- 1.0
- См. также:
size
protected int size
Font, округлённый до целого.- С момента:
- 1.0
- См. также:
pointSize
protected float pointSize
Font в float. - См. также:
LAYOUT_LEFT_TO_RIGHT
public static final int LAYOUT_LEFT_TO_RIGHT
- См. также:
LAYOUT_RIGHT_TO_LEFT
public static final int LAYOUT_RIGHT_TO_LEFT
- См. также:
LAYOUT_NO_START_CONTEXT
public static final int LAYOUT_NO_START_CONTEXT
- См. также:
LAYOUT_NO_LIMIT_CONTEXT
public static final int LAYOUT_NO_LIMIT_CONTEXT
- См. также:
Подробное описание конструкторов
Шрифт
public Font(String name, int style, int size)
Font по указанному имени, стилю и размеру. Имя шрифта может быть именем начертания или именем семейства шрифтов. Оно используется вместе со стилем для поиска подходящего начертания. При указании имени семейства шрифтов аргумент style используется для выбора наиболее подходящего начертания из семейства. При указании имени начертания шрифта стиль аргумента объединяется со стилем начертания, чтобы найти наилучшее соответствие шрифта из того же семейства. Например, если указано имя начертания «Arial Bold» со стилем Font.ITALIC, система шрифтов ищет начертание в семействе «Arial», которое является полужирным и курсивным, и может связать экземпляр шрифта с физическим начертанием «Arial Bold Italic». Аргумент style объединяется со стилем указанного начертания, а не добавляется или вычитается. Это означает, что указание полужирного начертания и полужирного стиля не удваивает полужирность шрифта, а указание полужирного начертания и обычного стиля не делает шрифт менее жирным.
Если начертание с запрошенным стилем не найдено, система шрифтов может применить алгоритмическую стилизацию для достижения желаемого стиля. Например, если запрошено ITALIC , но курсивное начертание недоступно, глифы из обычного начертания могут быть алгоритмически наклонены (наклонены).
Поиск имени шрифта нечувствителен к регистру, используя правила преобразования регистра для локали США.
Если параметр name представляет собой что-то отличное от логического шрифта, то есть интерпретируется как физическое начертание или семейство шрифтов, и это не может быть сопоставлено реализацией с физическим шрифтом или совместимой альтернативой, то система шрифтов сопоставит экземпляр Font со шрифтом "Dialog", так что, например, семейство, как сообщается методом getFamily, будет "Dialog".
- Parameters:
-
name- имя шрифта. Это может быть имя начертания или имя семейства шрифтов, и может представлять собой как логический шрифт, так и физический шрифт, найденный в этомGraphicsEnvironment. Имена семейств для логических шрифтов: Dialog, DialogInput, Monospaced, Serif или SansSerif. Для всех этих имён существуют предопределённые строковые константы, например,DIALOG. Еслиnameявляетсяnull, то логическое имя шрифта новогоFont, как возвращается методомgetName(), устанавливается в значение «Default». -
style- константа стиля дляFontАргумент style — целочисленная битовая маска, которая может бытьPLAIN, или битовым объединениемBOLDи/илиITALIC(например,ITALICилиBOLD|ITALIC). Если аргумент style не соответствует одной из ожидаемых целочисленных битовых масок, то стиль устанавливается в значениеPLAIN. -
size- размер шрифта в пунктахFont - Since:
- 1.0
- See Also:
Шрифт
public Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font с указанными атрибутами. Признаются только ключи, определённые в TextAttribute. Кроме того, атрибут FONT не распознаётся этим конструктором (см. getAvailableAttributes()). Только атрибуты, имеющие значения допустимых типов, повлияют на новый Font. Если attributes является null, новый Font инициализируется значениями по умолчанию.
- Parameters:
-
attributes- атрибуты, назначаемые новомуFont, илиnull - See Also:
Шрифт
protected Font(Font font)
Font из указанного font. Этот конструктор предназначен для использования подклассами.- Parameters:
-
font- для создания этогоFont. - Throws:
-
NullPointerException- еслиfontравно null - Since:
- 1.6
Подробное описание методов
textRequiresLayout
public static boolean textRequiresLayout(char[] chars, int start, int end)
drawString(String,int,int) и других методов рендеринга текста. Измерение текста может аналогично потребовать той же дополнительной обработки. Индексы start и end предоставляются, чтобы приложение могло запросить рассмотрение только подмножества текста. Последний просмотренный индекс символа находится в "end-1", т.е. запрос на просмотр всего массива будет
Font.textRequiresLayout(chars, 0, chars.length);
. Приложение может найти эту информацию полезной в производительно-критичных кодах. Обратите внимание, что даже если этот метод возвращает false, обработка макета всё ещё может быть вызвана при использовании с любым Font, для которого hasLayoutAttributes() возвращает true, поэтому для получения ответа, учитывающего такие атрибуты шрифта, необходимо обратиться к этому методу для конкретного шрифта.
- Parameters:
-
chars- текст. -
start- индекс первого символа для проверки. -
end- конечный индекс (исключительно). - Returns:
-
trueесли указанный текст потребует специальной обработки макета. - Throws:
-
NullPointerException- еслиcharsравно null. -
ArrayIndexOutOfBoundsException- еслиstartотрицательно илиendбольше длины массиваchars. - Since:
- 9
getFont
public static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Font соответствующий атрибутам. Если attributes содержит атрибут FONT с допустимым значением Font, он будет объединён с оставшимися атрибутами. Смотрите TextAttribute.FONT для получения дополнительной информации.- Parameters:
-
attributes- атрибуты, назначаемые новомуFont - Returns:
- новый
Font, созданный с указанными атрибутами - Throws:
-
NullPointerException- еслиattributesравно null. - Since:
- 1.2
- See Also:
createFonts
public static Font[] createFonts(InputStream fontStream) throws FontFormatException, IOException
Font , декодированных из указанного потока. Возвращаемый массив Font[] будет содержать по крайней мере один элемент. Явное назначение этого варианта метода createFont(int, InputStream) заключается в поддержке источников шрифтов, представляющих коллекцию шрифтов TrueType/OpenType, и возможности возврата всех отдельных шрифтов в этой коллекции. Следовательно, этот метод выбросит FontFormatException , если источник данных не содержит по крайней мере одного шрифта TrueType/OpenType. Такая же ошибка будет выброшена, если какой-либо из шрифтов в коллекции не содержит необходимых таблиц шрифтов.
Условие «по крайней мере один» позволяет потоку представлять один шрифт OpenType/TrueType. То есть он не обязан быть коллекцией. Каждый Font элемент возвращаемого массива создаётся с размером 1 и стилем PLAIN. Этот базовый шрифт затем может использоваться с методами deriveFont в этом классе для получения новых объектов Font с различными размерами, стилями, преобразованиями и особенностями шрифтов.
Этот метод не закрывает InputStream.
Чтобы каждый Font был доступен конструкторам шрифтов, он должен быть зарегистрирован в GraphicsEnvironment вызовом registerFont(Font).
- Parameters:
-
fontStream- объектInputStream, представляющий входные данные для шрифта или коллекции шрифтов. - Returns:
- новый массив
Font[]. - Throws:
-
FontFormatException- если данныеfontStreamне содержат необходимых таблиц шрифтов для любого из элементов коллекции или если в нём нет вообще шрифтов. -
IOException- еслиfontStreamне может быть полностью прочитан. - Since:
- 9
- See Also:
createFonts
public static Font[] createFonts(File fontFile) throws FontFormatException, IOException
Явное назначение этой модификации метода createFont(int, File) заключается в поддержке источников шрифтов, представляющих коллекцию шрифтов TrueType/OpenType, и возможности возвращения всех отдельных шрифтов в этой коллекции. Соответственно, этот метод будет выбрасывать FontFormatException, если источник данных не содержит по крайней мере один шрифт TrueType/OpenType. Такая же ошибка будет выброшена, если любой из шрифтов в коллекции не содержит необходимых таблиц шрифтов.
Условие «по крайней мере один» позволяет потоку представлять один шрифт OpenType/TrueType. То есть он не обязан быть коллекцией. Каждый элемент возвращаемого массива создаётся с размером точки 1 и стилем PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов шрифтов с различными размерами, стилями, преобразованиями и функциями шрифтов.
Чтобы каждый шрифт стал доступным для конструкторов Font, он должен быть зарегистрирован в GraphicsEnvironment вызовом registerFont(Font).
- Parameters:
-
fontFile- объектFile, содержащий входные данные для шрифта или коллекции шрифтов. - Returns:
- новый массив
Font[]. - Throws:
-
FontFormatException- еслиFileне содержит необходимых таблиц шрифтов для любого из элементов коллекции или если в нём вообще нет шрифтов. -
IOException- еслиfontFileне может быть прочитан. - Since:
- 9
- See Also:
createFont
public static Font createFont(int fontFormat, InputStream fontStream) throws FontFormatException, IOException
PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов шрифтов с различными размерами, стилями, преобразованиями и функциями шрифтов. Этот метод не закрывает InputStream. Чтобы шрифт стал доступным для конструкторов Font, возвращённый шрифт должен быть зарегистрирован в GraphicsEnvironment вызовом registerFont(Font).
- Parameters:
-
fontFormat- тип шрифта, который равенTRUETYPE_FONT, если указан ресурс TrueType, илиTYPE1_FONT, если указан ресурс Type 1. -
fontStream- объектInputStream, представляющий входные данные для шрифта. - Returns:
- новый шрифт, созданный с указанным типом шрифта.
- Throws:
-
IllegalArgumentException- еслиfontFormatне равенTRUETYPE_FONTилиTYPE1_FONT. -
FontFormatException- если данные шрифта не содержат необходимые таблицы шрифтов для указанного формата. -
IOException- если данные шрифта не могут быть полностью прочитаны. - Since:
- 1.3
- See Also:
createFont
public static Font createFont(int fontFormat, File fontFile) throws FontFormatException, IOException
PLAIN. Этот базовый шрифт затем можно использовать с методами deriveFont в этом классе для получения новых объектов шрифтов с различными размерами, стилями, преобразованиями и функциями шрифтов.- Parameters:
-
fontFormat- тип шрифта, который равенTRUETYPE_FONT, если указан ресурс TrueType, илиTYPE1_FONT, если указан ресурс Type 1. До тех пор, пока возвращённый шрифт или его производные шрифты ссылаются на него, реализация может продолжать обращаться кfontFileдля извлечения данных шрифта. Следовательно, результаты неопределённы, если файл изменяется или становится недоступным.Чтобы шрифт стал доступным для конструкторов Font, возвращённый шрифт должен быть зарегистрирован в
GraphicsEnvironmentвызовомregisterFont(Font). -
fontFile- объектFile, представляющий входные данные для шрифта. - Returns:
- новый шрифт, созданный с указанным типом шрифта.
- Throws:
-
IllegalArgumentException- еслиfontFormatне равенTRUETYPE_FONTилиTYPE1_FONT. -
NullPointerException- еслиfontFileравен null. -
IOException- еслиfontFileне может быть прочитан. -
FontFormatException- еслиfontFileне содержит необходимые таблицы шрифтов для указанного формата. -
SecurityException- если у выполняемого кода нет разрешения на чтение из файла. - Since:
- 1.5
- See Also:
getTransform
public AffineTransform getTransform()
Обычно шрифты не преобразуются. Клиенты обычно должны сначала вызвать isTransformed() и только затем вызывать этот метод, если isTransformed возвращает true.
- Returns:
- объект
AffineTransform, представляющий атрибут преобразования этого объекта шрифта.
getFamily
public String getFamily()
Имя семейства шрифта специфично для шрифта. Два шрифта, такие как Helvetica Italic и Helvetica Bold, имеют одинаковое имя семейства, Helvetica, в то время как их имена начертания шрифта — Helvetica Bold и Helvetica Italic. Список доступных имён семейств можно получить с помощью метода GraphicsEnvironment.getAvailableFontFamilyNames().
Используйте getName для получения логического имени шрифта. Используйте getFontName для получения имени начертания шрифта.
- Returns:
- строку, представляющую имя семейства этого шрифта.
- Since:
- 1.1
- See Also:
getFamily
public String getFamily(Locale l)
Имя семейства шрифта специфично для шрифта. Два шрифта, такие как Helvetica Italic и Helvetica Bold, имеют одинаковое имя семейства, Helvetica, в то время как их имена начертания шрифта — Helvetica Bold и Helvetica Italic. Список доступных имён семейств можно получить с помощью метода GraphicsEnvironment.getAvailableFontFamilyNames().
Используйте getFontName для получения имени начертания шрифта.
- Parameters:
-
l- язык для получения имени семейства - Returns:
- строку, представляющую имя семейства шрифта, локализованное для указанного языка.
- Since:
- 1.2
- See Also:
getPSName
public String getPSName()
getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени начертания шрифта.- Returns:
- строку, представляющую имя PostScript этого шрифта.
- Since:
- 1.2
getName
public String getName()
getFamily для получения имени семейства шрифта. Используйте getFontName для получения имени начертания шрифта.- Returns:
- строку, представляющую логическое имя этого шрифта.
- Since:
- 1.0
- See Also:
getFontName
public String getFontName()
getFamily для получения имени семейства шрифта. Используйте getName для получения логического имени шрифта.- Returns:
- строку, представляющую имя начертания этого шрифта.
- Since:
- 1.2
- See Also:
getFontName
public String getFontName(Locale l)
Font, локализованное для указанной локали. Например, может быть возвращено имя семейства шрифтов Helvetica Fett. Используйте getFamily для получения имени семейства шрифта.- Parameters:
-
l- локали для получения имени семейства шрифта - Returns:
- a
Stringпредставляющее имя семейства шрифта, локализованное для указанной локали. - See Also:
getStyle
public int getStyle()
Font. Стиль может быть PLAIN, BOLD, ITALIC или BOLD+ITALIC.- Returns:
- стиль этого
Font - Since:
- 1.0
- See Also:
getSize
public int getSize()
API Java(tm)2D использует соглашение, что один пункт эквивалентен одной единице в координатах пользователя. При использовании нормализованного преобразования для преобразования координат пространства пользователя в координаты пространства устройства 72 единицы пространства пользователя равны 1 дюйму в пространстве устройства. В этом случае один пункт равен 1/72 дюйма.
- Returns:
- размер шрифта в пунктах (1/72 дюйма).
- Since:
- 1.0
- See Also:
getSize2D
public float getSize2D()
float. - Returns:
- размер шрифта в пунктах как значение
float. - Since:
- 1.2
- See Also:
isPlain
public boolean isPlain()
Font PLAIN.- Returns:
-
trueесли у этого объектаFontстиль PLAIN;falseв противном случае. - Since:
- 1.0
- See Also:
isBold
public boolean isBold()
Font BOLD.- Returns:
-
trueесли стиль этого объектаFontBOLD;falseв противном случае. - Since:
- 1.0
- See Also:
isItalic
public boolean isItalic()
Font ITALIC.- Returns:
-
trueесли стиль этого объектаFontITALIC;falseв противном случае. - Since:
- 1.0
- See Also:
isTransformed
public boolean isTransformed()
Font преобразование, которое влияет на его размер помимо атрибута Size.- Returns:
-
trueесли у этого объектаFontатрибут AffineTransform, отличный от тождественного.falseв противном случае. - Since:
- 1.4
- See Also:
hasLayoutAttributes
public boolean hasLayoutAttributes()
- Returns:
- true, если шрифт имеет атрибуты вывода
- Since:
- 1.6
getFont
public static Font getFont(String nm)
Font из списка системных свойств. nm рассматривается как имя системного свойства, которое нужно получить. Значение String этого свойства затем интерпретируется как объект Font в соответствии со спецификацией Font.decode(String). Если указанное свойство не найдено или исполняемый код не имеет разрешения на чтение свойства, возвращается null.- Parameters:
-
nm- имя свойства - Returns:
- объект
Font, описываемый именем свойства, или null, если такое свойство не существует. - Throws:
-
NullPointerException- если nm равно null. - Since:
- 1.2
- See Also:
decode
public static Font decode(String str)
Font , описываемый аргументом str. Для обеспечения возврата нужного шрифта, отформатируйте параметр str одним из этих способов: - имя_шрифта-стиль-размер
- имя_шрифта-размер
- имя_шрифта-стиль
- имя_шрифта
- имя_шрифта стиль размер
- имя_шрифта размер
- имя_шрифта стиль
- имя_шрифта
"PLAIN", "BOLD", "BOLDITALIC", или "ITALIC", а размер - положительное целое десятичное число, представляющее размер в пунктах. Например, если вам нужен шрифт Arial, полужирный, размером 18 пунктов, вы должны вызвать этот метод со строкой "Arial-BOLD-18". Это эквивалентно вызову конструктора шрифта: 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, или новый шрифт по умолчанию, еслиstrравноnull. - Since:
- 1.1
- See Also:
getFont
public static Font getFont(String nm, Font font)
Font из списка системных свойств. Как и в методе getProperty класса System, первый аргумент рассматривается как имя системного свойства для получения. Значение String этого свойства затем интерпретируется как объект Font. Значение свойства должно соответствовать одному из форматов, принимаемых методом Font.decode(String). Если указанное свойство не найдено или исполняемый код не имеет разрешения на чтение свойства, возвращается аргумент font.
- Parameters:
-
nm- имя свойства (регистр не учитывается) -
font- шрифт по умолчанию, который нужно вернуть, если свойствоnmне определено - Returns:
- значение свойства
Font. - Throws:
-
NullPointerException- если nm равно null. - See Also:
hashCode
public int hashCode()
Font.- Overrides:
-
hashCodeв классеObject - Returns:
- значение хэш-кода для этого
Font. - Since:
- 1.0
- See Also:
equals
public boolean equals(Object obj)
Font с указанным Object.- Overrides:
-
equalsв классеObject - Parameters:
-
obj- сравниваемыйObject - Returns:
-
trueесли объекты идентичны или если аргумент представляет собой объектFont, описывающий тот же шрифт, что и этот объект;falseв противном случае. - Since:
- 1.0
- See Also:
toString
public String toString()
Font в строковое представление.- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого объекта
Font. - Since:
- 1.0
getNumGlyphs
public int getNumGlyphs()
Font. Коды глифов для этого Font находятся в диапазоне от 0 до getNumGlyphs() - 1.- Returns:
- количество глифов в этом
Font. - Since:
- 1.2
getMissingGlyphCode
public int getMissingGlyphCode()
Font нет глифа для указанного кода Unicode.- Returns:
- код глифа этого
Font. - Since:
- 1.2
getBaselineFor
public byte getBaselineFor(char c)
Шрифты большого размера могут поддерживать различные системы письма, и каждая система может использовать различную базовую линию. Аргумент character определяет используемую систему письма. Клиенты не должны предполагать, что все символы используют одну и ту же базовую линию.
- Parameters:
-
c- символ, используемый для идентификации системы письма - Returns:
- базовую линию, подходящую для указанного символа.
- Since:
- 1.2
- See Also:
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 и применяя к нему новый набор атрибутов шрифта.- Parameters:
-
attributes- карта атрибутов, включенных для новогоFont - Returns:
- новый объект
Font. - Since:
- 1.2
canDisplay
public boolean canDisplay(char c)
Font глиф для указанного символа. Примечание: Этот метод не может обрабатывать дополнительные символы. Для поддержки всех символов Unicode, включая дополнительные символы, используйте метод canDisplay(int) или canDisplayUpTo методы.
- Parameters:
-
c- символ, для которого требуется глиф - Returns:
-
trueесли в этомFontесть глиф для этого символа;falseв противном случае. - Since:
- 1.2
canDisplay
public boolean canDisplay(int codePoint)
Font глиф для указанного символа.- Parameters:
-
codePoint- символ (код Unicode), для которого требуется глиф. - Returns:
-
trueесли в этомFontесть глиф для символа;falseв противном случае. - Throws:
-
IllegalArgumentException- если код символа не является допустимым кодом Unicode. - Since:
- 1.5
- See Also:
canDisplayUpTo
public int canDisplayUpTo(String str)
Font отображать указанную строку String. Для строк с кодировкой Unicode важно знать, может ли определенный шрифт отобразить строку. Этот метод возвращает смещение в String str, которое является первым символом, который этот Font не может отобразить без использования кода отсутствующего глифа. Если Font может отобразить все символы, возвращается -1.- Parameters:
-
str- объектString - Returns:
- смещение в
str, указывающее на первый символ вstr, который этотFontне может отобразить; или-1если этотFontможет отобразить все символы вstr. - Since:
- 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.- Возвращает:
- угол стиля КURCИВ этого
Font. - См. также:
hasUniformLineMetrics
public boolean hasUniformLineMetrics()
Font равномерные метрики строк. Логический Font может быть шрифтом-комбинацией, что означает, что он составлен из различных физических шрифтов для покрытия различных диапазонов кодов. Каждый из этих шрифтов может иметь разные LineMetrics. Если логический Font — это один шрифт, то метрики будут равномерными.- Возвращает:
-
trueесли у этогоFontравномерные метрики строк;falseв противном случае.
getLineMetrics
public LineMetrics getLineMetrics(String str, FontRenderContext frc)
- Параметры:
-
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
- См. также:
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
- См. также:
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
- См. также:
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
- См. также:
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- заданная строка - Возвращает:
- новый
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, как выполняется 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
- См. также:
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/Font.html