Spec-Zone.ru › Matplotlib 2.2

afm (Интерфейс метрик шрифтов Adobe)

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]
class matplotlib.afm.AFM(fh) [source]

Базы: object

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

family_name
get_angle() [source]

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

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

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

get_familyname() [source]

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

get_fontname() [source]

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

get_fullname() [source]

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

get_height_char(c, isord=False) [source]

Получает высоту символа c из области отрисовки. Это высота чернил (пробел равен 0)

get_horizontal_stem_width() [source]

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

get_kern_dist(c1, c2) [source]

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

get_kern_dist_from_name(name1, name2) [source]

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

get_name_char(c, isord=False) [source]

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

get_str_bbox(s) [source]

Возвращает область отрисовки строки

get_str_bbox_and_descent(s) [source]

Возвращает область отрисовки строки

get_underline_thickness() [source]

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

get_vertical_stem_width() [source]

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

get_weight() [source]

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

get_width_char(c, isord=False) [source]

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

get_width_from_char_name(name) [source]

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

get_xheight() [source]

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

string_width_height(s) [source]

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

matplotlib.afm.parse_afm(fh) [source]

Обрабатывает файл Adobe Font Metics в файловом обработчике fh. Возвращаемое значение — кортеж (dhead, dcmetrics_ascii, dmetrics_name, dkernpairs, dcomposite), где dhead — _parse_header() словарь, dcmetrics_ascii и dcmetrics_name — два полученных словаря из _parse_char_metrics(), dkernpairs — _parse_kern_pairs() словарь (возможно {}), а dcomposite — _parse_composites() словарь (возможно {})

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

Spec-Zone.ru

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