Spec-Zone.ru › Matplotlib

matplotlib._afm

Интерфейс на Python для файлов метрик шрифтов Adobe.

Несмотря на то что существует несколько других реализаций на Python, которые могут быть более полными, было решено не использовать их, поскольку они:

  1. защищены авторским правом или распространяются по лицензии, несовместимой с BSD
  2. имели слишком много зависимостей, а требовалась самостоятельная библиотека
  3. делали больше, чем требовалось, и написать всё заново было проще, чем выяснять, как получить только нужное.

Библиотека довольно проста в использовании и не имеет внешних зависимостей:

>>> import matplotlib as mpl
>>> from pathlib import Path
>>> afm_path = Path(mpl.get_data_path(), 'fonts', 'afm', 'ptmr8a.afm')
>>>
>>> from matplotlib.afm import AFM
>>> with afm_path.open('rb') as fh:
...     afm = AFM(fh)
>>> afm.string_width_height('What the heck?')
(6220.0, 694)
>>> afm.get_fontname()
'Times-Roman'
>>> afm.get_kern_dist('A', 'f')
0
>>> afm.get_kern_dist('A', 'y')
-92.0
>>> afm.get_bbox_char('!')
[130, -9, 238, 676]

Как и в спецификации формата файлов метрик шрифтов Adobe, все размеры указываются в единицах, равных 1/1000 масштабного коэффициента (кегля) используемого шрифта.

classmatplotlib._afm.AFM(fh)[исходный код]

Базовый класс: object

Разбирает AFM-файл из файлового объекта fh.

propertyfamily_name

Название семейства шрифтов, например 'Times'.

get_angle()[исходный код]

Возвращает угол наклона шрифта в виде числа с плавающей точкой.

get_bbox_char(c, isord=False)[исходный код]
get_capheight()[исходный код]

Возвращает высоту прописных букв в виде числа с плавающей точкой.

get_familyname()[исходный код]

Возвращает название семейства шрифтов, например 'Times'.

get_fontname()[исходный код]

Возвращает название шрифта, например 'Times-Roman'.

get_fullname()[исходный код]

Возвращает полное название шрифта, например 'Times-Roman'.

get_height_char(c, isord=False)[исходный код]

Возвращает высоту ограничивающей рамки (видимой части) символа c (для пробела равна 0).

get_horizontal_stem_width()[исходный код]

Возвращает стандартную ширину горизонтального штриха в виде числа с плавающей точкой или None, если она не указана в AFM-файле.

get_kern_dist(c1, c2)[исходный код]

Возвращает расстояние для пары кернинга (возможно, равное 0) для символов c1 и c2.

get_kern_dist_from_name(name1, name2)[исходный код]

Возвращает расстояние для пары кернинга (возможно, равное 0) для символов name1 и name2.

get_name_char(c, isord=False)[исходный код]

Возвращает название символа, то есть ';' — это 'semicolon'.

get_str_bbox(s)[исходный код]

Возвращает ограничивающую рамку строки.

get_str_bbox_and_descent(s)[исходный код]

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

get_underline_thickness()[исходный код]

Возвращает толщину подчёркивания в виде числа с плавающей точкой.

get_vertical_stem_width()[исходный код]

Возвращает стандартную ширину вертикального штриха в виде числа с плавающей точкой или None, если она не указана в AFM-файле.

get_weight()[исходный код]

Возвращает насыщенность шрифта, например 'Bold' или 'Roman'.

get_width_char(c, isord=False)[исходный код]

Возвращает ширину символа из поля WX метрик символа.

get_width_from_char_name(name)[исходный код]

Возвращает ширину символа по его имени в Type 1.

get_xheight()[исходный код]

Возвращает высоту строчных букв в виде числа с плавающей точкой.

propertypostscript_name
string_width_height(s)[исходный код]

Возвращает ширину строки (с учётом кернинга) и высоту строки в виде кортежа (w, h).

classmatplotlib._afm.CharMetrics(width, name, bbox)[исходный код]

Базовый класс: tuple

Представляет метрики одного символа.

Примечания

В настоящее время поля описывают только подмножество сведений о метриках символов, определённых стандартом AFM.

Создаёт новый экземпляр CharMetrics(width, name, bbox)

bbox

Ограничивающая рамка символа (B) в виде кортежа (llx, lly, urx, ury).

name

Название символа (N).

width

Ширина символа (WX).

classmatplotlib._afm.CompositePart(name, dx, dy)[исходный код]

Базовый класс: tuple

Представляет сведения о компоненте составного символа.

Создаёт новый экземпляр CompositePart(name, dx, dy)

dx

Смещение компонента по оси x относительно начала координат.

dy

Смещение компонента по оси y относительно начала координат.

name

Название компонента, например 'acute'.

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

Spec-Zone.ru

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