Spec-Zone.ru › OpenJDK 8

Класс GlyphMetrics

  • java.lang.Object
    • java.awt.font.GlyphMetrics

public final class GlyphMetrics
extends Object

Класс GlyphMetrics представляет информацию об отдельном глифе. Глиф — это визуальное представление одного или нескольких символов. Для представления одного символа или комбинации символов могут использоваться различные глифы. Экземпляры GlyphMetrics создаются методом Font и относятся к конкретному глифу в определённом Font.

Глифы могут быть стандартными (STANDARD), лигатурными (LIGATURE), комбинирующими (COMBINING) или составляющими (COMPONENT).

  • Стандартные глифы обычно используются для представления отдельных символов.
  • Лигатурные глифы используются для представления последовательностей символов.
  • Составные глифы в GlyphVector не соответствуют определённому символу в текстовой модели. Вместо этого, составные глифы добавляются по типографическим причинам, таким как выравнивание арабского текста.
  • Комбинирующие глифы дополняют стандартные или лигатурные глифы, такие как знаки ударения. Края не предшествуют комбинирующим глифам.

Другие метрики, доступные через GlyphMetrics, — это составляющие смещения, визуальные границы и отступы слева и справа.

Глифы для повернутого шрифта или полученные из GlyphVector, который применил поворот к глифу, могут иметь смещения, содержащие как компоненты X, так и Y. Обычно смещение имеет только один компонент.

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

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

Хотя экземпляры GlyphMetrics могут быть построены напрямую, они почти всегда получаются из GlyphVector. После создания объекты GlyphMetrics являются неизменяемыми.

Пример:

Запрос информации о глифе к Font

Font font = ...;
int glyphIndex = ...;
GlyphMetrics metrics = GlyphVector.getGlyphMetrics(glyphIndex);
int isStandard = metrics.isStandard();
float glyphAdvance = metrics.getAdvance();
См. также:
Font, GlyphVector

Поля

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

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

static byte COMPONENT

Указывает глиф без соответствующего символа в буфере.

static byte LIGATURE

Указывает глиф, представляющий несколько символов как лигатуру, например, 'fi' или 'ffi'.

static byte STANDARD

Указывает глиф, представляющий один стандартный символ.

static byte WHITESPACE

Указывает глиф без визуального представления.

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

Конструктор и описание
GlyphMetrics(boolean horizontal, float advanceX, float advanceY, Rectangle2D bounds, byte glyphType)

Конструирует объект GlyphMetrics.

GlyphMetrics(float advance, Rectangle2D bounds, byte glyphType)

Конструирует объект GlyphMetrics.

Методы

Модификатор и тип Метод и описание
float getAdvance()

Возвращает смещение глифа вдоль базовой линии (горизонтальной или вертикальной).

float getAdvanceX()

Возвращает x-компоненту смещения глифа.

float getAdvanceY()

Возвращает y-компоненту смещения глифа.

Rectangle2D getBounds2D()

Возвращает границы глифа.

float getLSB()

Возвращает отступ слева (сверху) глифа.

float getRSB()

Возвращает отступ справа (снизу) глифа.

int getType()

Возвращает исходный код типа глифа.

boolean isCombining()

Возвращает true, если это комбинирующий глиф.

boolean isComponent()

Возвращает true, если это составляющий глиф.

boolean isLigature()

Возвращает true, если это лигатурный глиф.

boolean isStandard()

Возвращает true, если это стандартный глиф.

boolean isWhitespace()

Возвращает true, если это глиф пробела.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

STANDARD

public static final byte STANDARD

Указывает глиф, представляющий один стандартный символ.

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

LIGATURE

public static final byte LIGATURE

Указывает глиф, представляющий несколько символов как лигатуру, например, 'fi' или 'ffi'. За ним следуют глифы-заполнители для оставшихся символов. Глифы-заполнители и глифы-комбинации могут чередоваться для управления позиционированием диакритических знаков над логически предшествующей лигатурой.

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

COMBINING

public static final byte COMBINING

Указывает глиф, представляющий символ-комбинацию, такой как умляут. Между этим глифом и предшествующим глифом нет позиции кернинга.

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

COMPONENT

public static final byte COMPONENT

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

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

WHITESPACE

public static final byte WHITESPACE

Указывает глиф без визуального представления. Его можно добавить к другим кодовым значениям для обозначения невидимого глифа.

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

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

GlyphMetrics

public GlyphMetrics(float advance,
                    Rectangle2D bounds,
                    byte glyphType)

Конструирует объект GlyphMetrics.

Параметры:
advance - ширина вывода глифа
bounds - рамка глифа
glyphType - тип глифа

GlyphMetrics

public GlyphMetrics(boolean horizontal,
                    float advanceX,
                    float advanceY,
                    Rectangle2D bounds,
                    byte glyphType)

Конструирует объект GlyphMetrics.

Параметры:
horizontal - если true, метрики для горизонтальной базовой линии, иначе для вертикальной базовой линии
advanceX - x-компонента вывода глифа
advanceY - y-компонента вывода глифа
bounds - визуальная рамка глифа
glyphType - тип глифа
С тех пор:
1.4

Методы

getAdvance

public float getAdvance()

Возвращает величину вывода глифа вдоль базовой линии (горизонтальной или вертикальной).

Возвращает:
величина вывода глифа

getAdvanceX

public float getAdvanceX()

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

Возвращает:
x-компонента величины вывода глифа
С тех пор:
1.4

getAdvanceY

public float getAdvanceY()

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

Возвращает:
y-компонента величины вывода глифа
С тех пор:
1.4

getBounds2D

public Rectangle2D getBounds2D()

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

Возвращает:
объект Rectangle2D, представляющий рамку глифа.

getLSB

public float getLSB()

Возвращает отступ слева (сверху) глифа.

Это расстояние от точки (0, 0) до левой (верхней) границы глифа. Если рамка глифа расположена слева от (над) начала координат, отступ является отрицательным.

Возвращает:
отступ слева глифа.

getRSB

public float getRSB()

Возвращает отступ справа (снизу) глифа.

Это расстояние от правой (нижней) границы глифа до вывода. Если рамка глифа расположена справа от (ниже) вывода, отступ является отрицательным.

Возвращает:
отступ справа глифа.

getType

public int getType()

Возвращает код типа глифа.

Возвращает:
код типа глифа.

isStandard

public boolean isStandard()

Возвращает true, если это стандартный глиф.

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

isLigature

public boolean isLigature()

Возвращает true, если это глиф-лигатура.

Возвращает:
true, если это глиф-лигатура; false в противном случае.

isCombining

public boolean isCombining()

Возвращает true, если это глиф-комбинация.

Возвращает:
true, если это глиф-комбинация; false в противном случае.

isComponent

public boolean isComponent()

Возвращает true, если это глиф-компонент.

Возвращает:
true, если это глиф-компонент; false в противном случае.

isWhitespace

public boolean isWhitespace()

Возвращает true, если это глиф-пробел.

Возвращает:
true, если это глиф-пробел; false в противном случае.

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

Spec-Zone.ru

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