Spec-Zone.ru › Matplotlib

matplotlib.ft2font

классmatplotlib.ft2font.FT2Font(self:matplotlib.ft2font.FT2Font, filename:object, hinting_factor:SupportsInt=8, *, _fallback_list:collections.abc.Sequence[matplotlib.ft2font.FT2Font]|None=None, _kerning_factor:SupportsInt=0)

Базовые классы:

Объект, представляющий отдельное начертание шрифта.

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

Обычно для загрузки метрик и контуров некоторых глифов используют FT2Font.set_text. Затем для получения отрисованного изображения загруженной строки можно использовать FT2Font.draw_glyphs_to_bitmap и FT2Font.get_image.

Для отдельных символов можно использовать FT2Font.load_char или FT2Font.load_glyph — непосредственно для получения возвращаемых ими значений либо для использования FT2Font.draw_glyph_to_bitmap или FT2Font.get_path.

Полезные метрики можно получить из возвращаемых значений Glyph или с помощью FT2Font.get_kerning. Большинство размеров задаются целыми числами с фиксированной точкой в формате 26.6 или 16.6, представляющими субпиксели. Чтобы получить значения в пикселях с плавающей точкой, разделите их на 64.

Параметры:
filenamestr or file-like

Источник данных шрифта в формате (ttf или ttc), который может читать FreeType.

hinting_factorint, optional

Должен быть положительным. Используется для масштабирования хинтинга по оси x.

_fallback_listlist of FT2Font, optional

Список объектов FT2Font для поиска отсутствующих глифов.

Предупреждение

Этот API является закрытым и предварительным: не используйте его напрямую.

_kerning_factorint, optional

Используется для настройки степени кернинга.

Предупреждение

Этот API является закрытым: не используйте его напрямую.

propertyascender

Верхний вынос в единицах 26.6.

propertybbox

Глобальная ограничивающая рамка начертания (xmin, ymin, xmax, ymax).

clear(self:matplotlib.ft2font.FT2Font) → None

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

propertydescender

Нижний вынос в единицах 26.6.

draw_glyph_to_bitmap(self:matplotlib.ft2font.FT2Font, image:matplotlib.ft2font.FT2Image, x:SupportsFloat|SupportsInt, y:SupportsFloat|SupportsInt, glyph:matplotlib.ft2font.Glyph, *, antialiased:bool=True) → None

Нарисовать отдельный глиф на битовом изображении в пиксельных координатах x, y.

Обратите внимание: до вызова этого метода необходимо вручную создать изображение правильного размера.

Для автоматического размещения используйте set_text вместе с draw_glyphs_to_bitmap. Эта функция предназначена для тех, кому нужно отрисовывать отдельные глифы (например, возвращаемые load_char) в точно заданных местах.

Параметры:
imageFT2Image

Буфер изображения, на котором будет нарисован глиф.

x, yint

Пиксельные координаты, в которых будет нарисован глиф.

glyphGlyph

Глиф для отрисовки.

antialiasedbool, default: True

Определяет, следует ли отрисовывать глифы с 8-битным сглаживанием или строго в чёрно-белом виде.

См. также

draw_glyphs_to_bitmap
draw_glyphs_to_bitmap(self:matplotlib.ft2font.FT2Font, *, antialiased:bool=True) → None

Нарисовать на битовом изображении глифы, загруженные с помощью set_text.

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

Параметры:
antialiasedbool, default: True

Определяет, следует ли отрисовывать глифы с 8-битным сглаживанием или строго в чёрно-белом виде.

См. также

draw_glyph_to_bitmap
propertyface_flags

Флаги начертания; см. FaceFlags.

propertyfamily_name

Название семейства начертания.

propertyfname

Исходное имя файла этого объекта.

get_bitmap_offset(self:matplotlib.ft2font.FT2Font) → tuple

Получить смещение (x, y) битового изображения, если чернила выходят за границы слева или снизу от точки (0, 0).

Поскольку Matplotlib поддерживает только текст слева направо, y всегда равно 0.

Возвращает:
x, yfloat

Смещение битового изображения по x и y в субпикселях 26.6. Чтобы получить координаты x и y в пикселях, разделите эти значения на 64.

См. также

get_width_height
get_descent
get_char_index(self:matplotlib.ft2font.FT2Font, codepoint:SupportsInt) → int

Вернуть индекс глифа, соответствующий кодовой точке символа.

Параметры:
codepointint

Кодовая точка символа в текущей таблице символов (по умолчанию используется Unicode).

Возвращает:
int

Соответствующий индекс глифа.

См. также

set_charmap
select_charmap
get_glyph_name
get_name_index
get_charmap(self:matplotlib.ft2font.FT2Font) → dict

Вернуть таблицу соответствия кодов символов индексам глифов в шрифте.

По умолчанию используется таблица символов Unicode, но её можно изменить с помощью set_charmap или select_charmap.

Возвращает:
dict[int, int]

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

get_descent(self:matplotlib.ft2font.FT2Font) → int

Получить нижний вынос текущей строки, заданной с помощью set_text.

Учитывается поворот строки.

Возвращает:
int

Нижний вынос битового изображения в субпикселях 26.6. Чтобы получить нижний вынос в пикселях, разделите это значение на 64.

См. также

get_bitmap_offset
get_width_height
get_glyph_name(self:matplotlib.ft2font.FT2Font, index:SupportsInt) → str

Получить ASCII-имя заданного глифа с индексом index в начертании.

Из-за особенностей внутреннего устройства Matplotlib для шрифтов, не содержащих имён глифов (согласно FT_FACE_FLAG_GLYPH_NAMES), возвращается искусственно созданное имя, которое не может быть преобразовано обратно с помощью get_name_index.

Параметры:
indexint

Номер глифа для поиска.

Возвращает:
str

Имя глифа или, если шрифт не содержит имён, имя, созданное Matplotlib.

См. также

get_name_index
get_image(self:matplotlib.ft2font.FT2Font) → numpy.ndarray

Вернуть внутренний буфер изображения этого объекта шрифта.

Возвращает:
np.ndarray[int]

См. также

get_path
get_kerning(self:matplotlib.ft2font.FT2Font, left:SupportsInt, right:SupportsInt, mode:Kerning|SupportsInt) → int

Получить кернинг между двумя глифами.

Параметры:
left, rightint

Индексы глифов. Обратите внимание: это не символы и не коды символов. Используйте get_char_index, чтобы преобразовать коды символов в индексы глифов.

modeKerning

Константа режима кернинга:

  • DEFAULT — вернуть масштабированные расстояния кернинга, подогнанные к сетке.
  • UNFITTED — вернуть масштабированные расстояния кернинга без подгонки к сетке.
  • UNSCALED — вернуть вектор кернинга в исходных единицах шрифта.

Изменено в версии 3.10: Теперь принимает значение ft2font.Kerning вместо int.

Возвращает:
int

Корректировка кернинга между двумя глифами.

get_name_index(self:matplotlib.ft2font.FT2Font, name:str) → int

Вернуть индекс глифа с заданным именем.

Параметры:
namestr

Имя глифа для поиска.

Возвращает:
int

Соответствующий индекс глифа; 0 означает «неопределённый код символа».

См. также

get_char_index
get_glyph_name
get_num_glyphs(self:matplotlib.ft2font.FT2Font) → int

Вернуть количество загруженных глифов.

get_path(self:matplotlib.ft2font.FT2Font) → tuple

Получить данные контура текущего загруженного глифа.

Возвращает:
verticesnp.ndarray[double]

Массив вершин формы (N, 2), описывающий текущий глиф.

codesnp.ndarray[np.uint8]

Массив кодов формы (N, ), соответствующих вершинам.

См. также

get_image
load_char
load_glyph
set_text
get_ps_font_info(self:matplotlib.ft2font.FT2Font) → tuple

Возвращает сведения из структуры PS Font Info.

Дополнительные сведения см. в документации FreeType по этой структуре.

Возвращает:
versionstr
noticestr
full_namestr
family_namestr
weightstr
italic_angleint
is_fixed_pitchbool
underline_positionint
underline_thicknessint
get_sfnt(self:matplotlib.ft2font.FT2Font) → dict

Загружает всю таблицу имён SFNT.

Возвращает:
dict[tuple[int, int, int, int], bytes]

Таблица имён SFNT; ключи словаря — кортежи, содержащие:

(идентификатор платформы, схема кодирования ISO, код языка, описание)

а значения — непосредственные данные из таблицы шрифта.

get_sfnt_table(self:matplotlib.ft2font.FT2Font, name:str) → dict|None

Возвращает одну из таблиц SFNT.

Параметры:
name{"head", "maxp", "OS/2", "hhea", "vhea", "post", "pclt"}

Таблица, которую нужно вернуть.

Возвращает:
dict[str, Any]

Соответствующая таблица; дополнительные сведения см. в документации FreeType.

get_width_height(self:matplotlib.ft2font.FT2Font) → tuple

Возвращает размеры текущей строки, заданной с помощью set_text.

Поворот строки учитывается.

Возвращает:
width, heightfloat

Ширина и высота текущей строки в субпикселях 26.6. Чтобы получить ширину и высоту в пикселях, разделите эти значения на 64.

См. также

get_bitmap_offset
get_descent
propertyheight

Высота в единицах 26.6; используется для вычисления межстрочного интервала по умолчанию (расстояния между базовыми линиями).

load_char(self: matplotlib.ft2font.FT2Font, charcode: typing.SupportsInt, flags: LoadFlags | typing.SupportsInt = <LoadFlags.FORCE_AUTOHINT: 32>) → matplotlib.ft2font.Glyph

Загружает символ из текущего файла шрифта и задаёт глиф.

Параметры:
charcodeint

Код символа, для которого нужно подготовить сведения для отрисовки. Этот код должен присутствовать в таблице символов, иначе вместо него может быть возвращён глиф .notdef.

flagsLoadFlags, по умолчанию: LoadFlags.FORCE_AUTOHINT

Любая комбинация флагов LoadFlags, объединённых побитовой операцией OR.

Изменено в версии 3.10: Теперь принимает ft2font.LoadFlags вместо int.

Возвращает:
Glyph

Информация о глифе, соответствующем указанному символу.

См. также

load_glyph
select_charmap
set_charmap
load_glyph(self: matplotlib.ft2font.FT2Font, glyph_index: typing.SupportsInt, flags: LoadFlags | typing.SupportsInt = <LoadFlags.FORCE_AUTOHINT: 32>) → matplotlib.ft2font.Glyph

Загружает индекс глифа из текущего файла шрифта и задаёт глиф.

Обратите внимание: индекс глифа относится к конкретному шрифту и, в отличие от кодовой точки Unicode, не является универсальным.

Параметры:
glyph_indexint

Индекс глифа, для которого нужно подготовить сведения для отрисовки.

flagsLoadFlags, по умолчанию: LoadFlags.FORCE_AUTOHINT

Любая комбинация флагов LoadFlags, объединённых побитовой операцией OR.

Изменено в версии 3.10: Теперь принимает ft2font.LoadFlags вместо int.

Возвращает:
Glyph

Информация о глифе, соответствующем указанному индексу.

См. также

load_char
propertymax_advance_height

Максимальное вертикальное перемещение курсора для всех глифов.

propertymax_advance_width

Максимальное горизонтальное перемещение курсора для всех глифов.

propertynum_charmaps

Количество таблиц символов в начертании.

propertynum_faces

Количество начертаний в файле.

propertynum_fixed_sizes

Количество растровых изображений в начертании.

propertynum_glyphs

Количество глифов в начертании.

propertynum_named_instances

Количество именованных экземпляров в начертании.

propertypostscript_name

Имя шрифта в формате PostScript.

propertyscalable

Определяет, является ли начертание масштабируемым; следующие за этим атрибуты определены только для масштабируемых начертаний.

select_charmap(self:matplotlib.ft2font.FT2Font, i:SupportsInt) → None

Выбирает таблицу символов по её номеру FT_Encoding.

Дополнительные сведения о сопоставлении символов см. в документации FreeType.

Параметры:
iint

Таблица символов в формате, определённом FreeType: https://freetype.org/freetype2/docs/reference/ft2-character_mapping.html#ft_encoding

См. также

set_charmap
get_charmap
set_charmap(self:matplotlib.ft2font.FT2Font, i:SupportsInt) → None

Делает i-ю таблицу символов текущей.

Дополнительные сведения о сопоставлении символов см. в документации FreeType.

Параметры:
iint

Номер таблицы символов в диапазоне [0, num_charmaps).

См. также

num_charmaps
select_charmap
get_charmap
set_size(self:matplotlib.ft2font.FT2Font, ptsize:SupportsFloat, dpi:SupportsFloat) → None

Задаёт размер текста.

Параметры:
ptsizefloat

Размер текста в пунктах.

dpifloat

Разрешение в DPI, используемое для отрисовки текста.

set_text(self: matplotlib.ft2font.FT2Font, string: str, angle: typing.SupportsFloat = 0.0, flags: LoadFlags | typing.SupportsInt = <LoadFlags.FORCE_AUTOHINT: 32>) → numpy.typing.NDArray[numpy.float64]

Задаёт текстовую строку и угол.

Это необходимо вызвать до draw_glyphs_to_bitmap.

Параметры:
stringstr

Текст, для которого нужно подготовить сведения для отрисовки.

anglefloat

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

flagsLoadFlags, по умолчанию: LoadFlags.FORCE_AUTOHINT

Любая комбинация флагов LoadFlags, объединённых побитовой операцией OR.

Изменено в версии 3.10: Теперь принимает ft2font.LoadFlags вместо int.

Возвращает:
np.ndarray[double]

Последовательность координат x, y для позиций глифов в субпикселях 26.6; чтобы получить пиксели, разделите значения на 64.

propertystyle_flags

Флаги стиля; см. StyleFlags.

propertystyle_name

Название стиля.

propertyunderline_position

Вертикальное положение линии подчёркивания.

propertyunderline_thickness

Толщина линии подчёркивания.

propertyunits_per_EM

Количество единиц шрифта, приходящихся на EM.

classmatplotlib.ft2font.FT2Image(self:matplotlib.ft2font.FT2Image, width:SupportsFloat|SupportsInt, height:SupportsFloat|SupportsInt)

Базовые классы:

Буфер изображения для отрисовки глифов.

Параметры:
width, heightint

Размеры буфера изображения.

draw_rect_filled(self:matplotlib.ft2font.FT2Image, x0:SupportsFloat|SupportsInt, y0:SupportsFloat|SupportsInt, x1:SupportsFloat|SupportsInt, y1:SupportsFloat|SupportsInt) → None

Рисует на изображении закрашенный прямоугольник.

Параметры:
x0, y0, x1, y1float

Границы прямоугольника от (x0, y0) до (x1, y1).

classmatplotlib.ft2font.FaceFlags(*values)

Базовые классы: Flag

Флаги, возвращаемые FT2Font.face_flags.

Дополнительные сведения см. в документации FreeType.

Добавлено в версии 3.10.

CID_KEYED=4096
COLOR=16384
EXTERNAL_STREAM=1024
FAST_GLYPHS=128
FIXED_SIZES=2
FIXED_WIDTH=4
GLYPH_NAMES=512
HINTER=2048
HORIZONTAL=16
KERNING=64
MULTIPLE_MASTERS=256
SCALABLE=1
SFNT=8
TRICKY=8192
VERTICAL=32
classmatplotlib.ft2font.Glyph(self:matplotlib.ft2font.Glyph)

Базовые классы:

Сведения об отдельном глифе.

Создать экземпляры этого объекта самостоятельно нельзя: для их создания необходимо использовать FT2Font.load_char или FT2Font.load_glyph. Этот объект можно использовать при вызове FT2Font.draw_glyph_to_bitmap.

Дополнительные сведения о различных метриках см. в документации FreeType.

propertybbox

Ограничивающий прямоугольник глифа.

propertyheight

Высота глифа.

propertyhoriAdvance

Ширина продвижения при горизонтальном расположении.

propertyhoriBearingX

Левый боковой вынос при горизонтальном расположении.

propertyhoriBearingY

Верхний боковой вынос при горизонтальном расположении.

propertylinearHoriAdvance

Ширина продвижения глифа без хинтинга.

propertyvertAdvance

Высота продвижения при вертикальном расположении.

propertyvertBearingX

Левый боковой вынос при вертикальном расположении.

propertyvertBearingY

Верхний боковой вынос при вертикальном расположении.

propertywidth

Ширина глифа.

classmatplotlib.ft2font.Kerning(*values)

Базовые классы: Enum

Режимы кернинга для FT2Font.get_kerning.

Дополнительные сведения см. в документации FreeType.

Добавлено в версии 3.10.

DEFAULT=0
UNFITTED=1
UNSCALED=2
classmatplotlib.ft2font.LoadFlags(*values)

Базовые классы: Flag

Флаги для FT2Font.load_char, FT2Font.load_glyph и FT2Font.set_text.

Дополнительные сведения см. в документации FreeType.

Добавлено в версии 3.10.

COLOR=1048576
COMPUTE_METRICS=2097152
CROP_BITMAP=64
DEFAULT=0
FORCE_AUTOHINT=32
IGNORE_GLOBAL_ADVANCE_WIDTH=512
IGNORE_TRANSFORM=2048
LINEAR_DESIGN=8192
MONOCHROME=4096
NO_AUTOHINT=32768
NO_BITMAP=8
NO_HINTING=2
NO_RECURSE=1024
NO_SCALE=1
PEDANTIC=128
RENDER=4
TARGET_LCD=196608
TARGET_LCD_V=262144
TARGET_LIGHT=65536
TARGET_MONO=131072
TARGET_NORMAL=0
VERTICAL_LAYOUT=16
classmatplotlib.ft2font.StyleFlags(*values)

Базовые классы: Flag

Флаги, возвращаемые FT2Font.style_flags.

Дополнительные сведения см. в документации FreeType.

Добавлено в версии 3.10.

BOLD=2
ITALIC=1
NORMAL=0

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/ft2font.html

Spec-Zone.ru

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