Spec-Zone.ru › Matplotlib 1.5

font_manager

matplotlib.font_manager

Модуль для поиска, управления и использования шрифтов на различных платформах.

Этот модуль предоставляет единственный экземпляр FontManager, который можно использовать в разных бэкендах и на разных платформах. Функция findfont() возвращает лучший файл шрифта TrueType (TTF) в локальном или системном пути шрифтов, который соответствует указанному экземпляру FontProperties. Экземпляр FontManager также обрабатывает файлы шрифтов Adobe Font Metrics (AFM) для использования бэкендом PostScript.

Дизайн основан на спецификации шрифтов W3C Cascading Style Sheet, Level 1 (CSS1). Будущие версии могут реализовать спецификации Level 2 или 2.1.

Включена экспериментальная поддержка использования fontconfig на платформах с Unix-подобной системой (Linux, OS X, Solaris). Для её активации необходимо установить константу USE_FONTCONFIG в этом файле на значение True. Fontconfig обладает преимуществом, поскольку является стандартным способом поиска шрифтов на платформах X11, поэтому если шрифт установлен, вероятность его нахождения значительно выше.

class matplotlib.font_manager.FontEntry(fname='', name='', style='normal', variant='normal', weight='normal', stretch='normal', size='medium')

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

Класс для хранения свойств шрифта. Используется при заполнении словаря поиска шрифтов.

class matplotlib.font_manager.FontManager(size=None, weight='normal')

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

При импорте экземпляр FontManager создаёт список шрифтов TrueType на основе свойств шрифта: имя, стиль, вариант, вес, растяжение и размер. Метод findfont() выполняет поиск ближайшего соседа для поиска шрифта, наиболее соответствующего спецификации. Если подходящий шрифт не найден, возвращается шрифт по умолчанию.

findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True)

Ищет в списке шрифтов шрифт, наиболее соответствующий FontProperties prop.

findfont() выполняет поиск ближайшего соседа. Каждый шрифт получает оценку сходства с целевыми свойствами шрифта. Возвращается первый шрифт с наивысшим баллом. Если не найдены совпадения ниже определённого порога, возвращается шрифт по умолчанию (обычно Vera Sans).

Если directory, будет возвращать только шрифты из указанного каталога (или подкаталога).

Результат кешируется, поэтому последующие запросы не требуют выполнения поиска ближайшего соседа O(n).

Если fallback_to_default равно True, произойдёт возврат к шрифту по умолчанию (обычно «Bitstream Vera Sans» или «Helvetica»), если первый поиск завершится неудачей.

См. документацию W3C Cascading Style Sheet, Level 1 для описания алгоритма поиска шрифтов.

static get_default_size()

Возвращает размер шрифта по умолчанию.

get_default_weight()

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

score_family(families, family2)

Возвращает оценку соответствия списка семейств шрифтов в families и имени семейства шрифтов family2.

Точное совпадение в начале списка возвращает 0.0.

Совпадение дальше в списке вернёт значение между 0 и 1.

Отсутствие совпадения вернёт 1.0.

score_size(size1, size2)

Возвращает оценку соответствия между size1 и size2.

Если size2 (размер, указанный в файле шрифта), является «масштабируемым», эта функция всегда возвращает 0.0, так как любой размер шрифта может быть сгенерирован.

В противном случае результат — абсолютное расстояние между size1 и size2, нормализованное таким образом, что обычный диапазон размеров шрифтов (6pt — 72pt) будет находиться в диапазоне от 0.0 до 1.0.

score_stretch(stretch1, stretch2)

Возвращает оценку соответствия между stretch1 и stretch2.

Результат — абсолютное значение разницы между числовыми значениями CSS для stretch1 и stretch2, нормализованное в диапазоне от 0.0 до 1.0.

score_style(style1, style2)

Возвращает оценку соответствия между style1 и style2.

Точное совпадение возвращает 0.0.

Совпадение между ‘italic’ и ‘oblique’ возвращает 0.1.

Отсутствие совпадения возвращает 1.0.

score_variant(variant1, variant2)

Возвращает оценку соответствия между variant1 и variant2.

Точное совпадение возвращает 0.0, в противном случае 1.0.

score_weight(weight1, weight2)

Возвращает оценку соответствия между weight1 и weight2.

Результат — абсолютное значение разницы между числовыми значениями CSS для weight1 и weight2, нормализованное в диапазоне от 0.0 до 1.0.

set_default_weight(weight)

Устанавливает вес шрифта по умолчанию. Начальное значение — ‘normal’.

update_fonts(filenames)

Обновляет словарь шрифтов новыми файлами шрифтов. В настоящее время не реализовано.

class matplotlib.font_manager.FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None, _init=None)

Bases: object

Класс для хранения и обработки свойств шрифта.

Свойства шрифта описываются в спецификации шрифтов W3C Cascading Style Sheet, Level 1. Шесть свойств:

  • family: Список имен шрифтов в порядке убывания приоритета. Элементы могут включать общее семейство шрифтов: ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’ или ‘monospace’. В этом случае фактический шрифт будет подбираться из соответствующего параметра rcParam в matplotlibrc.
  • style: ‘normal’, ‘italic’ или ‘oblique’.
  • variant: ‘normal’ или ‘small-caps’.
  • stretch: Числовое значение в диапазоне 0-1000 или одно из значений: ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’ или ‘ultra-expanded’
  • weight: Числовое значение в диапазоне 0-1000 или одно из значений: ‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’
  • size: Относительное значение: ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’ или абсолютный размер шрифта, например, 12

По умолчанию для шрифтов TrueType (как указано в файле по умолчанию matplotlibrc):

sans-serif, normal, normal, normal, normal, scalable.

В качестве альтернативы, шрифт можно указать, используя абсолютный путь к файлу .ttf, с помощью параметра fname.

Рекомендуется использовать относительные значения размера шрифта, например, ‘large’, вместо абсолютных, например, 12. Это позволяет изменять все размеры текста в соответствии с размером шрифта по умолчанию менеджера шрифтов.

Этот класс также принимает шаблон fontconfig, если он единственный переданный аргумент. См. документацию по шаблонам fontconfig. Для этого не требуется установка fontconfig.

Обратите внимание, что внутренний менеджер шрифтов matplotlib и fontconfig используют разные алгоритмы для поиска шрифтов, поэтому результаты одного и того же шаблона могут отличаться в matplotlib от других приложений, использующих fontconfig.

copy()

Возвращает глубокую копию self

get_family()

Возвращает список имён шрифтов, составляющих семейство шрифтов.

get_file()

Возвращает имя файла связанного шрифта.

get_fontconfig_pattern()

Получение шаблона fontconfig, подходящего для поиска шрифта, указанного с помощью утилиты fc-match fontconfig.

См. документацию по шаблонам fontconfig.

Для этого не требуется установка или поддержка fontconfig. Мы просто используем его синтаксис шаблонов.

get_name()

Возвращает имя шрифта, наилучшим образом соответствующего свойствам шрифта.

get_size()

Возвращает размер шрифта.

get_size_in_points()
get_slant()

Возвращает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.

get_stretch()

Возвращает растяжение или ширину шрифта. Варианты: ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’, ‘ultra-expanded’.

get_style()

Возвращает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.

get_variant()

Возвращает вариант шрифта. Значения: ‘normal’ или ‘small-caps’.

get_weight()

Устанавливает толщину шрифта. Варианты: Числовое значение в диапазоне 0-1000 или одно из значений: ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’

set_family(family)

Изменение семейства шрифтов. Может быть псевдонимом (общим именем в CSS), например: ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’ или ‘monospace’, реальным именем шрифта или списком реальных имён шрифтов. Реальные имена шрифтов не поддерживаются, когда text.usetex равно True.

set_file(file)

Устанавливает имя файла шрифта для использования. В этом случае все другие свойства игнорируются.

set_fontconfig_pattern(pattern)

Устанавливает свойства, анализируя шаблон fontconfig.

См. документацию по шаблонам fontconfig.

Для этого не требуется установка или поддержка fontconfig. Мы просто используем его синтаксис шаблонов.

set_name(family)

Изменение семейства шрифтов. Может быть псевдонимом (общим именем в CSS), например: ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’ или ‘monospace’, реальным именем шрифта или списком реальных имён шрифтов. Реальные имена шрифтов не поддерживаются, когда text.usetex равно True.

set_size(size)

Устанавливает размер шрифта. Относительное значение: ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’ или абсолютный размер шрифта, например, 12.

set_slant(style)

Устанавливает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.

set_stretch(stretch)

Устанавливает растяжение или ширину шрифта. Варианты: ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’ или ‘ultra-expanded’ или числовое значение в диапазоне 0-1000.

set_style(style)

Устанавливает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.

set_variant(variant)

Устанавливает вариант шрифта. Значения: ‘normal’ или ‘small-caps’.

set_weight(weight)

Устанавливает толщину шрифта. Может быть числовым значением в диапазоне 0-1000 или одним из значений ‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’

matplotlib.font_manager.OSXInstalledFonts(directories=None, fontext='ttf')

Получить список файлов шрифтов на OS X — по умолчанию игнорирует суффикс шрифта.

class matplotlib.font_manager.TempCache

Bases: object

Класс для хранения временных кешей, которые (а) не сохраняются на диск и (б) аннулируются всякий раз, когда изменяются определенные параметры rc, связанные со шрифтами — в частности, списки поиска по семействам — или кеш шрифтов перезагружается. Это позволяет избежать дорогостоящего линейного поиска по всем шрифтам каждый раз при поиске шрифта.

get(prop)
invalidating_rcparams = ('font.serif', 'font.sans-serif', 'font.cursive', 'font.fantasy', 'font.monospace')
make_rcparams_key()
set(prop, value)
matplotlib.font_manager.afmFontProperty(fontpath, font)

Функция для заполнения экземпляра FontKey путём извлечения информации из файла шрифта AFM.

font — экземпляр класса:AFM.

matplotlib.font_manager.createFontList(fontfiles, fontext='ttf')

Функция для создания списка поиска шрифтов. По умолчанию создаёт список шрифтов TrueType. Также можно создать список шрифтов AFM.

matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')

Поиск шрифтов в указанных путях. Если пути не заданы, используется стандартный набор системных путей, а также список шрифтов, отслеживаемых fontconfig, если fontconfig установлен и доступен. По умолчанию возвращается список шрифтов TrueType, при необходимости также шрифтов AFM.

matplotlib.font_manager.findfont(prop, **kw)
matplotlib.font_manager.get_fontconfig_fonts(fontext='ttf')

Получение списка всех шрифтов, отслеживаемых fontconfig, путём системного вызова fc-list. Это удобный способ получения всех шрифтов, доступных приложениям, без необходимости знать их расположение.

matplotlib.font_manager.get_fontext_synonyms(fontext)

Возвращает список расширений файлов, являющихся синонимами данного расширения fileext.

matplotlib.font_manager.is_opentype_cff_font(filename)

Возвращает True, если данный шрифт представляет собой шрифт PostScript Compact Font Format, вставленный в оболочку OpenType. Используется бэкендами PostScript и PDF, которые не могут подставлять эти шрифты.

END_OF_DOCUMENT_MARKER
matplotlib.font_manager.list_fonts(directory, extensions)

Возвращает список всех шрифтов, соответствующих любому из расширений, возможно, в верхнем регистре, найденных рекурсивно в каталоге.

matplotlib.font_manager.pickle_dump(data, filename)

Эквивалентно pickle.dump(data, open(filename, ‘w’)), но закрывает файл, чтобы предотвратить утечку дескриптора файла.

matplotlib.font_manager.pickle_load(filename)

Эквивалентно pickle.load(open(filename, ‘r’)), но закрывает файл, чтобы предотвратить утечку дескриптора файла.

matplotlib.font_manager.ttfFontProperty(font)

Функция для заполнения FontKey путём извлечения информации из файла TrueType шрифта.

font — это экземпляр FT2Font.

matplotlib.font_manager.ttfdict_to_fnames(d)

Преобразует ttfdict в список всех содержащихся в нём имён файлов.

matplotlib.font_manager.weight_as_number(weight)

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

matplotlib.font_manager.win32FontDirectory()

Возвращает указанный пользователем каталог шрифтов для Win32. Он ищется в ключе реестра:

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

Если ключ не найден, возвращается $WINDIR/Fonts.

matplotlib.font_manager.win32InstalledFonts(directory=None, fontext='ttf')

Ищет шрифты в указанном каталоге шрифтов или использует системные каталоги, если они не заданы. По умолчанию возвращается список имён файлов шрифтов TrueType, или шрифтов AFM, если fontext == ‘afm’.

matplotlib.fontconfig_pattern

Модуль для анализа и генерации шаблонов fontconfig.

Для получения дополнительной информации см. спецификацию шаблонов fontconfig.

class matplotlib.fontconfig_pattern.FontconfigPatternParser

Bases: object

Простой анализатор на основе pyparsing для шаблонов в стиле fontconfig.

Для получения дополнительной информации см. спецификацию шаблонов fontconfig.

parse(pattern)

Анализирует заданный шаблон fontconfig pattern и возвращает словарь пар ключ/значение, полезный для инициализации объекта font_manager.FontProperties.

matplotlib.fontconfig_pattern.family_escape()

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

matplotlib.fontconfig_pattern.family_unescape()

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

matplotlib.fontconfig_pattern.generate_fontconfig_pattern(d)

Принимая словарь пар ключ/значение, генерирует строку шаблона fontconfig.

matplotlib.fontconfig_pattern.value_escape()

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

matplotlib.fontconfig_pattern.value_unescape()

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

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

Spec-Zone.ru

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