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(self:matplotlib.ft2font.FT2Font, *, antialiased:bool=True) None
-
Нарисовать на битовом изображении глифы, загруженные с помощью
set_text.Размер битового изображения будет автоматически задан так, чтобы вместить глифы.
- Параметры:
-
- antialiasedbool, default: True
-
Определяет, следует ли отрисовывать глифы с 8-битным сглаживанием или строго в чёрно-белом виде.
См. также
- 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_char_index(self:matplotlib.ft2font.FT2Font, codepoint:SupportsInt) int
-
Вернуть индекс глифа, соответствующий кодовой точке символа.
- Параметры:
-
- codepointint
-
Кодовая точка символа в текущей таблице символов (по умолчанию используется Unicode).
- Возвращает:
-
- int
-
Соответствующий индекс глифа.
- 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_glyph_name(self:matplotlib.ft2font.FT2Font, index:SupportsInt) str
-
Получить ASCII-имя заданного глифа с индексом index в начертании.
Из-за особенностей внутреннего устройства Matplotlib для шрифтов, не содержащих имён глифов (согласно
FT_FACE_FLAG_GLYPH_NAMES), возвращается искусственно созданное имя, которое не может быть преобразовано обратно с помощьюget_name_index.- Параметры:
-
- indexint
-
Номер глифа для поиска.
- Возвращает:
-
- str
-
Имя глифа или, если шрифт не содержит имён, имя, созданное Matplotlib.
См. также
- get_image(self:matplotlib.ft2font.FT2Font) numpy.ndarray
-
Вернуть внутренний буфер изображения этого объекта шрифта.
- Возвращает:
-
- np.ndarray[int]
См. также
- 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_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_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.
См. также
- 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(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
-
Информация о глифе, соответствующем указанному индексу.
См. также
- 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(self:matplotlib.ft2font.FT2Font, i:SupportsInt) None
-
Делает i-ю таблицу символов текущей.
Дополнительные сведения о сопоставлении символов см. в документации FreeType.
- Параметры:
-
- iint
-
Номер таблицы символов в диапазоне [0,
num_charmaps).
См. также
- 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