Spec-Zone.ru › Matplotlib 3.1

matplotlib.afm

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

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

Он довольно прост в использовании и требует только встроенных библиотек Python:

>>> from matplotlib import rcParams
>>> import os.path
>>> afm_fname = os.path.join(rcParams['datapath'],
...                         'fonts', 'afm', 'ptmr8a.afm')
>>>
>>> from matplotlib.afm import AFM
>>> with open(afm_fname, '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 от масштабного коэффициента (размер шрифта) используемого шрифта.

class matplotlib.afm.AFM(fh) [source]

Базы: object

Обработать файл AFM в объекте файла fh.

family_name

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

get_angle(self) [source]

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

get_bbox_char(self, c, isord=False) [source]
get_capheight(self) [source]

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

get_familyname(self) [source]

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

get_fontname(self) [source]

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

get_fullname(self) [source]

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

get_height_char(self, c, isord=False) [source]

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

get_horizontal_stem_width(self) [source]

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

get_kern_dist(self, c1, c2) [source]

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

get_kern_dist_from_name(self, name1, name2) [source]

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

get_name_char(self, c, isord=False) [source]

Получает имя символа, например, для ';' — 'semicolon'.

get_str_bbox(self, s) [source]

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

get_str_bbox_and_descent(self, s) [source]

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

get_underline_thickness(self) [source]

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

get_vertical_stem_width(self) [source]

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

get_weight(self) [source]

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

get_width_char(self, c, isord=False) [source]

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

get_width_from_char_name(self, name) [source]

Получает ширину символа из имени символа типа 1.

get_xheight(self) [source]

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

string_width_height(self, s) [source]

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

class matplotlib.afm.CharMetrics

Базы: tuple

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

Примечания

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

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

bbox

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

name

Имя символа (N).

width

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

class matplotlib.afm.CompositePart

Базы: tuple

Представляет информацию о составном элементе составного символа.

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

dx

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

dy

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

name

Имя части, например, 'acute'.

matplotlib.afm.parse_afm(fh) [source]

[Устарело]

Примечания

Устарело начиная с версии 3.0:

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.1.1/api/afm_api.html

Spec-Zone.ru

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