Spec-Zone.ru › OpenJDK 27

Класс FontMetrics

java.lang.Object
java.awt.FontMetrics
Все реализуемые интерфейсы:
Serializable
public abstract class FontMetrics extends Object implements Serializable
Класс FontMetrics определяет объект метрик шрифта, который содержит информацию об отображении определённого шрифта на определённом экране.

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

  • getAscent()
  • getLeading()
  • getMaxAdvance()
  • charWidth(char)
  • charsWidth(char[], int, int)

The letter 'p' showing its 'reference point' Обратите внимание, что реализации этих методов неэффективны, поэтому обычно их переопределяют, используя более эффективные реализации, специфичные для конкретного инструментария.

Когда приложение запрашивает размещение символа в позиции (x, y), символ размещается так, чтобы его опорная точка (обозначенная точкой на сопроводительном изображении) находилась в этой позиции. Опорная точка задаёт горизонтальную линию, называемую базовой линией символа. При обычной печати базовые линии символов должны совпадать.

Кроме того, каждый символ шрифта имеет верхний вынос, нижний вынос и ширину продвижения. Верхний вынос — это расстояние, на которое символ поднимается над базовой линией. Нижний вынос — это расстояние, на которое символ опускается ниже базовой линии. Ширина продвижения указывает позицию, в которой AWT должен разместить следующий символ.

Массив символов или строка также могут иметь верхний вынос, нижний вынос и ширину продвижения. Верхний вынос массива равен максимальному верхнему выносу любого символа в массиве. Нижний вынос равен максимальному нижнему выносу любого символа в массиве. Ширина продвижения равна сумме ширин продвижения всех символов в массиве. Продвижение String — это расстояние вдоль базовой линии String. Это расстояние является шириной, которую следует использовать для центрирования или выравнивания по правому краю String.

Обратите внимание, что продвижение String не обязательно равно сумме продвижений его символов, измеренных по отдельности, поскольку ширина символа может меняться в зависимости от контекста. Например, в арабском тексте форма символа может меняться, чтобы соединяться с другими символами. Кроме того, в некоторых письменностях определённые последовательности символов могут отображаться в виде одной формы, называемой лигатурой. Измерение символов по отдельности не учитывает такие преобразования.

Метрики шрифта отсчитываются относительно базовой линии, то есть обычно не зависят от поворота шрифта (за исключением возможных эффектов экранного хинтинга). См. Font.

Начиная с версии:
1.0
См. также:
  • Font
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
protected Font font
Фактический Font, на основе которого созданы метрики шрифта.

Краткое описание конструкторов

FontMetrics(Font font)
Модификатор Конструктор Описание
protected
Создаёт новый объект FontMetrics для получения сведений о высоте и ширине указанного Font и конкретных глифах символов в этом Font.

Краткое описание методов

Модификатор и тип Метод Описание
int bytesWidth(byte[] data, int off, int len)
Возвращает общую ширину продвижения для отображения указанного массива байтов в этом Font.
int charsWidth(char[] data, int off, int len)
Возвращает общую ширину продвижения для отображения указанного массива символов в этом Font.
int charWidth(char ch)
Возвращает ширину продвижения указанного символа в этом Font.
int charWidth(int codePoint)
Возвращает ширину продвижения указанного символа в этом Font.
int getAscent()
Определяет верхний вынос шрифта для Font, описанного этим объектом FontMetrics.
int getDescent()
Определяет нижний вынос шрифта для Font, описанного этим объектом FontMetrics.
Font getFont()
Возвращает Font, описанный этим объектом FontMetrics.
FontRenderContext getFontRenderContext()
Возвращает FontRenderContext, используемый этим объектом FontMetrics для измерения текста.
int getHeight()
Возвращает стандартную высоту строки текста в этом шрифте.
int getLeading()
Определяет стандартный интерлиньяж для Font, описанного этим объектом FontMetrics.
LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context)
Возвращает объект LineMetrics для указанного массива символов в заданном контексте Graphics.
LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context)
Возвращает объект LineMetrics для указанного String в заданном контексте Graphics.
LineMetrics getLineMetrics(String str, Graphics context)
Возвращает объект LineMetrics для указанного String в заданном контексте Graphics.
LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Возвращает объект LineMetrics для указанного CharacterIterator в заданном контексте Graphics.
int getMaxAdvance()
Возвращает оценку максимальной ширины продвижения любого символа в Font, описанном этим объектом FontMetrics, с важными оговорками, перечисленными ниже.
int getMaxAscent()
Определяет максимальный верхний вынос для Font, описанного этим объектом FontMetrics.
Rectangle2D getMaxCharBounds(Graphics context)
Возвращает границы символа с максимальными границами в указанном контексте Graphics.
int getMaxDecent()
Устарел.
Начиная с версии JDK 1.1.1 заменён на getMaxDescent().
int getMaxDescent()
Определяет максимальный нижний вынос для Font, описанного этим объектом FontMetrics.
Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context)
Возвращает границы указанного массива символов в заданном контексте Graphics.
Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context)
Возвращает границы указанного String в заданном контексте Graphics.
Rectangle2D getStringBounds(String str, Graphics context)
Возвращает границы указанного String в заданном контексте Graphics.
Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Возвращает границы символов с указанными индексами в CharacterIterator в заданном контексте Graphics.
int[] getWidths()
Возвращает ширины продвижения первых 256 символов в Font.
boolean hasUniformLineMetrics()
Проверяет, имеет ли Font единообразные метрики строк.
int stringWidth(String str)
Возвращает общую ширину продвижения для отображения указанного String в этом Font.
String toString()
Возвращает представление значений этого объекта FontMetrics в виде String.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарел, будет удалён: этот элемент API может быть удалён в будущей версии.
Финализация признана устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания, либо пока не истечёт заданное время.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания, либо пока не истечёт заданное время.

Подробное описание полей

font

protected Font font
Объект Font, на основе которого создаются метрики шрифта. Не может быть равен null.
См. также:
  • getFont()

Подробное описание конструкторов

FontMetrics

protected FontMetrics(Font font)
Создает новый объект FontMetrics для получения сведений о высоте и ширине указанного Font и отдельных глифов символов в этом Font.
Параметры:
font — Font
См. также:
  • Font

Подробное описание методов

getFont

public Font getFont()
Возвращает Font, описанный этим объектом FontMetrics.
Возвращает:
Font, описанный этим объектом FontMetrics.

getFontRenderContext

public FontRenderContext getFontRenderContext()
Возвращает FontRenderContext, используемый этим объектом FontMetrics для измерения текста.

Обратите внимание: методы этого класса, принимающие параметр Graphics, измеряют текст с помощью FontRenderContext этого объекта Graphics, а не этого FontRenderContext

Возвращает:
FontRenderContext, используемый этим объектом FontMetrics.
Начиная с:
1.6

getLeading

public int getLeading()
Определяет стандартный интерлиньяж Font, описанного этим объектом FontMetrics. Стандартный интерлиньяж, или межстрочный интервал, — это логическая величина пространства, которое следует резервировать между нижней границей одной строки текста и верхней границей следующей строки. Метрика высоты рассчитывается с учетом этого дополнительного пространства.
Возвращает:
стандартный интерлиньяж Font.
См. также:
  • getHeight()
  • getAscent()
  • getDescent()

getAscent

public int getAscent()
Определяет верхний вынос шрифта Font, описанного этим объектом FontMetrics. Верхний вынос шрифта — это расстояние от базовой линии шрифта до верхней границы большинства буквенно-цифровых символов. Некоторые символы в Font могут выходить выше линии верхнего выноса шрифта.
Возвращает:
верхний вынос шрифта Font.
См. также:
  • getMaxAscent()

getDescent

public int getDescent()
Определяет нижний вынос шрифта Font, описанного этим объектом FontMetrics. Нижний вынос шрифта — это расстояние от базовой линии шрифта до нижней границы большинства буквенно-цифровых символов с нижними выносными элементами. Некоторые символы в Font могут выходить ниже линии нижнего выноса шрифта.
Возвращает:
нижний вынос шрифта Font.
См. также:
  • getMaxDescent()

getHeight

public int getHeight()
Возвращает стандартную высоту строки текста этим шрифтом. Это расстояние между базовыми линиями соседних строк текста. Оно равно сумме интерлиньяжа, верхнего и нижнего выносов. Из-за округления это значение может отличаться от результата getAscent() + getDescent() + getLeading(). Нет гарантии, что строки текста, расположенные на таком расстоянии друг от друга, не пересекаются: они могут перекрываться, если некоторые символы выходят за пределы стандартных метрик верхнего или нижнего выноса.
Возвращает:
стандартную высоту шрифта.
См. также:
  • getLeading()
  • getAscent()
  • getDescent()

getMaxAscent

public int getMaxAscent()
Определяет максимальный верхний вынос Font, описанного этим объектом FontMetrics. Ни один символ не выходит выше базовой линии шрифта больше, чем на эту высоту.
Возвращает:
максимальный верхний вынос любого символа в Font.
См. также:
  • getAscent()

getMaxDescent

public int getMaxDescent()
Определяет максимальный нижний вынос Font, описанного этим объектом FontMetrics. Ни один символ не выходит ниже базовой линии шрифта больше, чем на эту высоту.
Возвращает:
максимальный нижний вынос любого символа в Font.
См. также:
  • getDescent()

getMaxDecent

@Deprecated public int getMaxDecent()
Устарел.
Начиная с JDK версии 1.1.1 заменен на getMaxDescent().
Только для обеспечения обратной совместимости.
Возвращает:
максимальный нижний вынос любого символа в Font.
См. также:
  • getMaxDescent()

getMaxAdvance

public int getMaxAdvance()
Возвращает приблизительную максимальную ширину продвижения любого символа в Font, описанного этим объектом FontMetrics, с важными оговорками, перечисленными ниже.

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

Продвижение String не обязательно равно сумме продвижений его символов. Оно может существенно отличаться, если для правильного отображения требуется сложная компоновка текста.

К оговоркам, относящимся к возвращаемому значению, относятся следующие:

  • Возвращаемое значение основано на сведениях из некоторого системного шрифта, и корректность этих сведений не контролируется AWT.
  • При сопоставлении определенных символов с глифами в некотором контексте отображения инструкции самого шрифта вместе с процессом растеризации могут привести к тому, что ширина продвижения некоторых глифов окажется больше указанной.
  • Если запрошен шрифт в некотором стиле, например Font.BOLD, для которого нет точного соответствия, методы, используемые для удовлетворения запроса на отображение, также могут привести к тому, что ширина глифов окажется больше указанного максимума.
  • В зависимости от реализации логическому или физическому шрифту AWT может потребоваться найти некоторые символы в одном или нескольких резервных шрифтах, если основной физический шрифт не поддерживает эти символы. Эти шрифты могут быть неизвестны или не учитываться при вычислении возвращаемой максимальной ширины продвижения. Часто проектный центр таких резервных шрифтов ориентирован на письменность, отличную от той, на которую ориентирован проектный центр основного шрифта, поэтому ширина продвижения может существенно различаться. Это также может привести к неожиданному результату: шрифт, например Font.MONOSPACED, может отображать глифы неодинаковой ширины.
Ни одна из этих оговорок не отображается, поскольку все они являются деталями реализации, и практически невозможно определить, когда они действуют. Приложение, которому требуется более точная оценка максимальной ширины продвижения и известно подмножество символов, которое оно собирается отображать, может запросить ширину продвижения каждого такого символа и найти самый широкий. Однако, как отмечалось выше, поскольку отображаемая ширина String не обязательно равна сумме ширин продвижения, это значение следует использовать с осторожностью.

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

Возвращает:
приблизительную максимальную ширину продвижения любого символа в Font или -1, если максимальная ширина продвижения неизвестна.

charWidth

public int charWidth(int codePoint)
Возвращает ширину продвижения указанного символа в этом Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии символа. Обратите внимание: продвижение String не обязательно равно сумме продвижений его символов.

Этот метод не проверяет, является ли указанный символ допустимой кодовой точкой Unicode. При необходимости вызывающий код должен проверить значение символа с помощью Character.isValidCodePoint.

Параметры:
codePoint — символ (кодовая точка Unicode), ширину которого необходимо измерить
Возвращает:
ширину продвижения указанного символа в Font, описанном этим объектом FontMetrics.
См. также:
  • charsWidth(char[], int, int)
  • stringWidth(String)

charWidth

public int charWidth(char ch)
Возвращает ширину продвижения указанного символа в этом Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии символа. Обратите внимание: продвижение String не обязательно равно сумме продвижений его символов.

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

Параметры:
ch — символ, ширину которого необходимо измерить
Возвращает:
ширину продвижения указанного символа в Font, описанном этим объектом FontMetrics.
См. также:
  • charsWidth(char[], int, int)
  • stringWidth(String)

stringWidth

public int stringWidth(String str)
Возвращает общую ширину продвижения, необходимую для отображения указанной String этим Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии строки.

Обратите внимание: продвижение String не обязательно равно сумме продвижений его символов.

Параметры:
str — String, ширину которого необходимо измерить
Возвращает:
ширину продвижения указанного String в Font, описанном этим FontMetrics.
Выбрасывает:
NullPointerException — если str равен null.
См. также:
  • bytesWidth(byte[], int, int)
  • charsWidth(char[], int, int)
  • getStringBounds(String, Graphics)

charsWidth

public int charsWidth(char[] data, int off, int len)
Возвращает общую ширину продвижения, необходимую для отображения указанного массива символов этим Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии строки. Продвижение String не обязательно равно сумме продвижений его символов. Это эквивалентно измерению String символов в указанном диапазоне.
Параметры:
data — массив символов, ширину которого необходимо измерить
off — начальное смещение символов в массиве
len — количество символов массива, ширину которых необходимо измерить
Возвращает:
ширину продвижения подмассива указанного массива char в шрифте, описанном этим объектом FontMetrics.
Выбрасывает:
NullPointerException — если data равен null.
IndexOutOfBoundsException — если аргументы off и len указывают на символы за пределами массива data.
См. также:
  • charWidth(int)
  • charWidth(char)
  • bytesWidth(byte[], int, int)
  • stringWidth(String)

bytesWidth

public int bytesWidth(byte[] data, int off, int len)
Возвращает общую ширину продвижения, необходимую для отображения указанного массива байтов этим Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии строки. Продвижение String не обязательно равно сумме продвижений его символов. Это эквивалентно измерению String символов в указанном диапазоне.
Параметры:
data — массив байтов, ширину которого необходимо измерить
off — начальное смещение байтов в массиве
len — количество байтов массива, ширину которых необходимо измерить
Возвращает:
ширину продвижения подмассива указанного массива byte в Font, описанном этим объектом FontMetrics.
Выбрасывает:
NullPointerException — если data равен null.
IndexOutOfBoundsException — если аргументы off и len указывают на байты за пределами массива data.
См. также:
  • charsWidth(char[], int, int)
  • stringWidth(String)

getWidths

public int[] getWidths()
Возвращает ширину продвижения первых 256 символов в Font. Продвижение — это расстояние от самой левой до самой правой точки на базовой линии символа. Обратите внимание: продвижение String не обязательно равно сумме продвижений его символов.
Возвращает:
массив, содержащий ширину продвижения символов в Font, описанном этим объектом FontMetrics.

hasUniformLineMetrics

public boolean hasUniformLineMetrics()
Проверяет, имеет ли Font единообразные метрики строк. Составной шрифт может состоять из нескольких разных шрифтов для поддержки различных наборов символов. В таких случаях объекты FontLineMetrics не являются единообразными. У разных шрифтов могут различаться верхний и нижний выносы, метрики и прочие параметры. Эти сведения иногда необходимы для измерения строк и разбиения текста на строки.
Возвращает:
true, если шрифт имеет единообразные метрики строк; в противном случае — false.
См. также:
  • Font.hasUniformLineMetrics()

getLineMetrics

public LineMetrics getLineMetrics(String str, Graphics context)
Возвращает объект LineMetrics для указанной String в указанном контексте Graphics.
Параметры:
str — указанная String
context — указанный контекст Graphics
Возвращает:
объект LineMetrics, созданный с указанными String и контекстом Graphics.
См. также:
  • Font.getLineMetrics(String, FontRenderContext)

getLineMetrics

public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context)
Возвращает объект LineMetrics для указанной String в указанном контексте Graphics.
Параметры:
str — указанная String
beginIndex — начальное смещение в str
limit — конечное смещение в str
context — указанный контекст Graphics
Возвращает:
объект LineMetrics, созданный с указанными String и контекстом Graphics.
См. также:
  • Font.getLineMetrics(String, int, int, FontRenderContext)

getLineMetrics

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)

getLineMetrics

public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, Graphics context)
Возвращает объект LineMetrics для указанного CharacterIterator в указанном контексте Graphics.
Параметры:
ci — указанный CharacterIterator
beginIndex — начальное смещение в ci
limit — конечный индекс ci
context — указанный контекст Graphics
Возвращает:
объект LineMetrics, созданный с указанными аргументами.
См. также:
  • Font.getLineMetrics(CharacterIterator, int, int, FontRenderContext)

getStringBounds

public Rectangle2D getStringBounds(String str, Graphics context)
Возвращает границы указанной String в указанном контексте Graphics. Границы используются для компоновки String.

Примечание: возвращаемые границы заданы относительно базовой линии (см. class notes).

Параметры:
str — указанная String
context — указанный контекст Graphics
Возвращает:
объект Rectangle2D, представляющий ограничивающий прямоугольник указанной String в указанном контексте Graphics.
См. также:
  • Font.getStringBounds(String, FontRenderContext)

getStringBounds

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)

getStringBounds

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)

getStringBounds

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)

getMaxCharBounds

public Rectangle2D getMaxCharBounds(Graphics context)
Возвращает границы символа с максимальными границами в указанном контексте Graphics.
Параметры:
context — указанный контекст Graphics
Возвращает:
объект Rectangle2D, представляющий ограничивающий прямоугольник символа с максимальными границами.
См. также:
  • Font.getMaxCharBounds(FontRenderContext)

toString

public String toString()
Возвращает представление значений этого объекта FontMetrics в виде String.
Переопределяет:
toString в классе Object
Возвращает:
представление String этого объекта FontMetrics.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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