Spec-Zone.ru › Matplotlib 1.5

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
>>> afm = AFM(open(afm_fname))
>>> 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)

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

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

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)

Возвращает имя символа, например, ‘;’ — ‘точка с запятой’

get_str_bbox(s)

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

get_str_bbox_and_descent(s)

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

get_underline_thickness()

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

get_vertical_stem_width()

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

get_weight()

Возвращает вес шрифта, например, ‘Жирный’ или ‘Римский’

get_width_char(c, isord=False)

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

get_width_from_char_name(name)

Возвращает ширину символа по имени символа Type1

get_xheight()

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

string_width_height(s)

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

matplotlib.afm.parse_afm(fh)

Разбор файла метрик шрифтов Adobe в файловом потоке fh. Значение возврата — кортеж (dhead, dcmetrics, dkernpairs, dcomposite), где dhead — _parse_header() словарь, dcmetrics — _parse_composites() словарь, dkernpairs — _parse_kern_pairs() словарь (возможно {}), и dcomposite — _parse_composites() словарь (возможно {})

© 2012–2016 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/1.5.3/api/afm_api.html

Spec-Zone.ru

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