Вывод текста средствами Java 2D
Шрифт – объект класса Font – кроме имени, стиля и размера имеет еще полтора десятка атрибутов: подчеркивание, перечеркивание, наклон, цвет шрифта и цвет фона, ширину и толщину символов, аффинное преобразование, расположение слева направо или справа налево.
Атрибуты шрифта задаются как статические константы класса TextAttribute. Наиболее используемые атрибуты перечислены в табл. 9.1.
Таблица 9.1. Атрибуты шрифта.
Атрибут | Значение |
---|---|
BACKGROUND | Цвет фона. Объект, реализующий интерфейс Paint |
FOREGROUND | Цвет текста. Объект, реализующий интерфейс Paint |
BIDI EMBEDDED | Уровень вложенности просмотра текста. Целое от 1 до 1 5 |
CHAR_REPLACEMENT | Фигура, заменяющая символ. Объект GraphicAttribute |
FAMILY | Семейство шрифта. Строка типа string |
FONT | Шрифт. Объект класса Font |
JUSTIFICATION | Допуск при выравнивании абзаца. Объект класса Float со значениями от 0.0 до 1.0. Есть две константы: JUSTIFICATION FULL И JUSTIFICATION NONE |
POSTURE | Наклон шрифта. Объект класса Float. Есть две константы: POSTURE_OBLIQUE И POSTURE_REGULAR |
RUNJHRECTION | Просмотр текста: RUN DIRECTION LTR – слева направо, RUN DIRECTION RTL – справа налево |
SIZE | Размер шрифта в пунктах. Объект класса Float |
STRIKETHROUGH | Перечеркивание шрифта. Задается константой STRIKETHROUGH ON, по умолчанию перечеркивания нет |
SUPERSCRIPT | Подстрочные или надстрочные индексы. Константы: SUPERSCRIPT_NONE, SUPERSCRIPT_SUB, SUPERSCRIPT_SUPER |
SWAP COLORS | Замена местами цвета текста и цвета фона. Константа SWAP COLORS ON, по умолчанию замены нет |
TRANSFORM | Преобразование шрифта. Объект класса AffineTransform |
UNDERLINE | Подчеркивание шрифта. Константы: UNDERLINE_ON, UNDERLINE_LOW_DASHED, UNDERLINE_LOW_DOTTED, UNDERLINE LOW GRAY, UNDERLINE LOW ONE PIXEL, UNDERLINE_LOW_TWO_PIXEL |
WEIGHT | Толщина шрифта. Константы: WEIGHT ULTRA LIGHT, WEIGHT _ EXTRA_LIGHT, WEIGHT _ LIGHT, WEIGHT _ DEMILIGHT, WEIGHT _ REGULAR, WEIGHT _ SEMIBOLD, WEIGHT MEDIUM, WEIGHT DEMIBOLD, WEIGHT _ BOLD, WEIGHT HEAVY, WEIGHT _ EXTRABOLD, WEIGHT _ ULTRABOLD |
WIDTH | Ширина шрифта. Константы: WIDTH CONDENSED,WIDTH SEMI CONDENSED, WIDTH REGULAR, WIDTH_SEMI_EXTENDED, WIDTH_EXTENDED |
К сожалению, не все шрифты позволяют задать все атрибуты. Посмотреть список допустимых атрибутов для данного шрифта можно методом getAvailableAttributes() класса Font.