Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class FontMetrics extends Object implements Serializable
FontMetrics
class определяет объект метрик шрифта, который инкапсулирует информацию о рендеринге определенного шрифта на определенном экране. Отметьте подклассификаторам: Так как многие из этих методов форма закрылись, взаимно рекурсивные циклы, следует заботиться, что Вы реализуете по крайней мере один из методов в каждом таком цикле, чтобы предотвратить бесконечную рекурсию, когда Ваш подкласс используется. В частности следующее является минимальным предложенным набором методов, чтобы переопределить, чтобы гарантировать правильность и предотвратить бесконечную рекурсию (хотя другие подмножества одинаково выполнимы):
Отметьте, что реализации этих методов неэффективны, таким образом, они обычно переопределяются с более эффективными специфичными для инструментария реализациями.
Когда приложение просит помещать символ в позицию (x, y), символ помещается так, чтобы его контрольная точка (показанный как точка в сопроводительном изображении) была помещена в ту позицию. Контрольная точка определяет горизонтальную строку, названную базовой линией символа. В нормальной печати должны выровняться базовые линии символов.
Кроме того, у каждого символа в шрифте есть подъем, спуск, и усовершенствование width. Подъем является количеством, которым символ возрастает выше базовой линии. Спуск является количеством, которым символ убывает ниже базовой линии. width усовершенствования указывает на позицию, в которую AWT должен поместить следующий символ.
У массива символов или строки могут также быть подъем, спуск, и усовершенствование width. Подъем массива является максимальным подъемом любого символа в массиве. Спуск является максимальным спуском любого символа в массиве. Усовершенствование width является суммой ширин усовершенствования каждого из символов в символьном массиве. Усовершенствование a String
расстояние вдоль базовой линии String
. Этим расстоянием является width, который должен использоваться для центрирования или выравнивания по правому краю String
.
Отметьте что усовершенствование a String
не обязательно сумма усовершенствований ее символов, измеренных в изоляции, потому что width символа может измениться в зависимости от ее контекста. Например, в арабском тексте, форма символа может измениться, чтобы соединиться с другими символами. Кроме того, в некоторых сценариях определенные символьные последовательности могут быть представлены единственной формой, названной лигатурой. Измерение символов индивидуально не учитывает эти преобразования.
Метрики шрифта базово-относительны, означая, что они обычно независимы от вращения, которому применяются к шрифт (возможная сетка по модулю, подсказывающая эффекты). См. Font
.
Font
, Сериализированная ФормаМодификатор и Тип | Поле и Описание |
---|---|
protected Font |
шрифт
Фактическое
Font из которого создаются метрики шрифта. |
Модификатор | Конструктор и Описание |
---|---|
protected |
FontMetrics(Font font)
Создает новое
FontMetrics объект для того, чтобы узнать height и информацию о width об указанном Font и определенные символьные глифы в этом Font . |
Модификатор и Тип | Метод и Описание |
---|---|
int |
bytesWidth(byte[] data, int off, int len)
Возвращает полное усовершенствование width для того, чтобы показать указанный массив байтов в этом
Font . |
int |
charsWidth(char[] data, int off, int len)
Возвращает полное усовершенствование width для того, чтобы показать указанный массив символов в этом
Font . |
int |
charWidth(char ch)
Возвращает усовершенствование width указанного символа в этом
Font . |
int |
charWidth(int codePoint)
Возвращает усовершенствование width указанного символа в этом
Font . |
int |
getAscent()
Определяет подъем шрифта
Font описанный этим FontMetrics объект. |
int |
getDescent()
Определяет спуск шрифта
Font описанный этим FontMetrics объект. |
Шрифт |
getFont()
Добирается
Font описанный этим FontMetrics объект. |
FontRenderContext |
getFontRenderContext()
Добирается
FontRenderContext используемый этим FontMetrics возразите, чтобы измерить текст. |
int |
getHeight()
Получает стандартный height строки текста в этом шрифте.
|
int |
getLeading()
Определяет стандартное продвижение
Font описанный этим FontMetrics объект. |
LineMetrics |
getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context)
Возвраты
LineMetrics объект для указанного символьного массива в указанном Graphics контекст. |
LineMetrics |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context)
|
LineMetrics |
getLineMetrics(String str, Graphics context)
|
LineMetrics |
getLineMetrics(String str, int beginIndex, int limit, Graphics context)
|
int |
getMaxAdvance()
Получает максимальное усовершенствование width любого символа в этом
Font . |
int |
getMaxAscent()
Определяет максимальный подъем
Font описанный этим FontMetrics объект. |
Rectangle2D |
getMaxCharBounds(Graphics context)
Возвращает границы для символа с максимальными границами в указанном
Graphics контекст. |
int |
getMaxDecent()
Осуждаемый.
С версии 1.1.1 JDK, замененной
getMaxDescent() . |
int |
getMaxDescent()
Определяет максимальный спуск
Font описанный этим FontMetrics объект. |
Rectangle2D |
getStringBounds(char[] chars, int beginIndex, int limit, Graphics context)
Возвращает границы указанного массива символов в указанном
Graphics контекст. |
Rectangle2D |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Возвращает границы символов, индексированных в указанном
CharacterIterator в указанном Graphics контекст. |
Rectangle2D |
getStringBounds(String str, Graphics context)
Возвращает границы указанного
String в указанном Graphics контекст. |
Rectangle2D |
getStringBounds(String str, int beginIndex, int limit, Graphics context)
Возвращает границы указанного
String в указанном Graphics контекст. |
int[] |
getWidths()
Получает ширины усовершенствования первых 256 символов в
Font . |
boolean |
hasUniformLineMetrics()
Проверки, чтобы видеть, если
Font имеет универсальные метрики строки. |
int |
stringWidth(String str)
Возвращает полное усовершенствование width для того, чтобы показать указанное
String в этом Font . |
Строка |
toString()
Возвращает представление этого
FontMetrics значения объекта как a String . |
public Font getFont()
Font
описанный этим FontMetrics
объект.Font
описанный этим FontMetrics
объект.public FontRenderContext getFontRenderContext()
FontRenderContext
используемый этим FontMetrics
возразите, чтобы измерить текст. Отметьте, что методы в этом class, которые берут a Graphics
текст меры по параметру, используя FontRenderContext
из этого Graphics
объект, и не это FontRenderContext
FontRenderContext
используемый этим FontMetrics
объект.public int getLeading()
Font
описанный этим FontMetrics
объект. Стандартное продвижение, или интервал шпона, является логическим количеством пространства, которое будет зарезервировано между спуском одной строки текста и подъемом следующей строки. Метрика height вычисляется, чтобы включать это дополнительное пространство.Font
.getHeight()
, getAscent()
, getDescent()
public int getAscent()
Font
описанный этим FontMetrics
объект. Подъем шрифта является расстоянием от базовой линии шрифта до вершины большинства алфавитно-цифровых символов. Некоторые символы в Font
мог бы расшириться выше строки подъема шрифта.Font
.getMaxAscent()
public int getDescent()
Font
описанный этим FontMetrics
объект. Спуск шрифта является расстоянием от базовой линии шрифта до нижней части большинства алфавитно-цифровых символов с подстрочными элементами. Некоторые символы в Font
мог бы расшириться ниже строки спуска шрифта.Font
.getMaxDescent()
public int getHeight()
getLeading()
, getAscent()
, getDescent()
public int getMaxAscent()
Font
описанный этим FontMetrics
объект. Никакой символ не расширяется далее выше базовой линии шрифта чем этот height.Font
.getAscent()
public int getMaxDescent()
Font
описанный этим FontMetrics
объект. Никакой символ не расширяется далее ниже базовой линии шрифта чем этот height.Font
.getDescent()
@Deprecated public int getMaxDecent()
getMaxDescent()
.Font
.getMaxDescent()
public int getMaxAdvance()
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии строки. Усовершенствование a String
не обязательно сумма усовершенствований ее символов.Font
, или -1
если максимальное усовершенствование width не известно.public int charWidth(int codePoint)
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии символа. Отметьте что усовершенствование a String
не обязательно сумма усовершенствований ее символов. Этот метод не проверяет указанного символа, чтобы быть допустимой кодовой точкой Unicode. Вызывающая сторона должна проверить символьного использования значения Character.isValidCodePoint
в случае необходимости.
codePoint
- символ (кодовая точка Unicode), чтобы быть измереннымFont
описанный этим FontMetrics
объект.charsWidth(char[], int, int)
, stringWidth(String)
public int charWidth(char ch)
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии символа. Отметьте что усовершенствование a String
не обязательно сумма усовершенствований ее символов. Отметьте: Этот метод не может обработать дополнительные символы. Поддерживать все символы Unicode, включая дополнительные символы, использование charWidth(int)
метод.
ch
- символ, который будет измеренFont
описанный этим FontMetrics
объект.charsWidth(char[], int, int)
, stringWidth(String)
public int stringWidth(String str)
String
в этом Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии строки. Отметьте что усовершенствование a String
не обязательно сумма усовершенствований ее символов.
str
- String
быть измереннымString
в Font
описанный этим FontMetrics
.NullPointerException
- если str является нулем.bytesWidth(byte[], int, int)
, charsWidth(char[], int, int)
, getStringBounds(String, Graphics)
public int charsWidth(char[] data, int off, int len)
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии строки. Усовершенствование a String
не обязательно сумма усовершенствований ее символов. Это эквивалентно измерению a String
из символов в указанном диапазоне.data
- массив символов, которые будут измереныoff
- смещение запуска символов в массивеlen
- число символов, которые будут измерены от массиваchar
массив в шрифте описывается этим FontMetrics
объект.NullPointerException
- если data
нуль.IndexOutOfBoundsException
- если off
и len
параметры индексируют символы вне границ data
массив.charWidth(int)
, charWidth(char)
, bytesWidth(byte[], int, int)
, stringWidth(String)
public int bytesWidth(byte[] data, int off, int len)
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии строки. Усовершенствование a String
не обязательно сумма усовершенствований ее символов. Это эквивалентно измерению a String
из символов в указанном диапазоне.data
- массив байтов, которые будут измереныoff
- смещение запуска байтов в массивеlen
- число байтов, которые будут измерены от массиваbyte
массив в Font
описанный этим FontMetrics
объект.NullPointerException
- если data
нуль.IndexOutOfBoundsException
- если off
и len
параметры индексируют байты вне границ data
массив.charsWidth(char[], int, int)
, stringWidth(String)
public int[] getWidths()
Font
. Усовершенствование является расстоянием от крайней левой точки до самой правой точки на базовой линии символа. Отметьте что усовершенствование a String
не обязательно сумма усовершенствований ее символов.Font
описанный этим FontMetrics
объект.public boolean hasUniformLineMetrics()
Font
имеет универсальные метрики строки. Составной шрифт может состоять из нескольких различных шрифтов, чтобы покрыть различные наборы символов. В таких случаях, FontLineMetrics
объекты не универсальны. У различных шрифтов могут быть различный подъем, спуск, метрики и так далее. Эта информация иногда необходима для измерения строки и повреждения строки.true
если у шрифта есть универсальные метрики строки; false
иначе.Font.hasUniformLineMetrics()
public LineMetrics getLineMetrics(String str, Graphics context)
str
- указанное String
context
- указанное Graphics
контекстLineMetrics
объект создается с указанным String
и Graphics
контекст.Font.getLineMetrics(String, FontRenderContext)
public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context)
str
- указанное String
beginIndex
- начальное смещение str
limit
- смещение конца str
context
- указанное Graphics
контекстLineMetrics
объект создается с указанным String
и Graphics
контекст.Font.getLineMetrics(String, int, int, FontRenderContext)
public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context)
LineMetrics
объект для указанного символьного массива в указанном Graphics
контекст.chars
- указанный символьный массивbeginIndex
- начальное смещение chars
limit
- смещение конца chars
context
- указанное Graphics
контекстLineMetrics
объект, создаваемый с указанным символьным массивом и Graphics
контекст.Font.getLineMetrics(char[], int, int, FontRenderContext)
public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context)
ci
- указанное CharacterIterator
beginIndex
- начальное смещение в ci
limit
- конец индексирует ci
context
- указанное Graphics
контекстLineMetrics
объект создается с указанными параметрами.Font.getLineMetrics(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getStringBounds(String str, Graphics context)
String
в указанном Graphics
контекст. Границы привыкли к расположению String
. Отметьте: возвращенные границы находятся в базово-относительных координатах (см. class notes
).
str
- указанное String
context
- указанное Graphics
контекстRectangle2D
это - ограничивающий прямоугольник указанного String
в указанном Graphics
контекст.Font.getStringBounds(String, FontRenderContext)
public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context)
String
в указанном Graphics
контекст. Границы привыкли к расположению String
. Отметьте: возвращенные границы находятся в базово-относительных координатах (см. class notes
).
str
- указанное String
beginIndex
- смещение начала str
limit
- смещение конца str
context
- указанное Graphics
контекстRectangle2D
это - ограничивающий прямоугольник указанного String
в указанном Graphics
контекст.Font.getStringBounds(String, int, int, FontRenderContext)
public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context)
Graphics
контекст. Границы привыкли к расположению String
создаваемый с указанным массивом символов, beginIndex
и limit
. Отметьте: возвращенные границы находятся в базово-относительных координатах (см. class notes
).
chars
- массив символовbeginIndex
- начальное смещение массива символовlimit
- смещение конца массива символовcontext
- указанное Graphics
контекстRectangle2D
это - ограничивающий прямоугольник указанного символьного массива в указанном Graphics
контекст.Font.getStringBounds(char[], int, int, FontRenderContext)
public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
CharacterIterator
в указанном Graphics
контекст. Отметьте: возвращенные границы находятся в базово-относительных координатах (см. class notes
).
ci
- указанное CharacterIterator
beginIndex
- начальное смещение в ci
limit
- конец индексирует ci
context
- указанное Graphics
контекстRectangle2D
это - ограничивающий прямоугольник символов, индексированных в указанном CharacterIterator
в указанном Graphics
контекст.Font.getStringBounds(CharacterIterator, int, int, FontRenderContext)
public Rectangle2D getMaxCharBounds(Graphics context)
Graphics
контекст.context
- указанное Graphics
контекстRectangle2D
это - ограничивающий прямоугольник для символа с максимальными границами.Font.getMaxCharBounds(FontRenderContext)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92