Spec-Zone.ru › Matplotlib 3.2

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.

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

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

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

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

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

addfont(self, path) [source]

Кэширует свойства шрифта по пути path, чтобы сделать его доступным для FontManager. Тип шрифта определяется по расширению пути.

Параметры:
pathstr or path-like
property defaultFont
findfont(self, prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True) [source]

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

Параметры:
propstr or FontProperties

Свойства шрифта для поиска. Может быть объектом FontProperties или строкой, определяющей паттерны fontconfig.

fontext{'ttf', 'afm'}, optional, default: 'ttf'

Расширение файла шрифта:

  • 'ttf': шрифты TrueType и OpenType (.ttf, .ttc, .otf)
  • 'afm': Adobe Font Metrics (.afm)
directorystr, optional

Если указано, поиск будет производиться только в этой директории и её поддиректориях.

fallback_to_defaultbool

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

rebuild_if_missingbool

Нужно ли перестроить кеш шрифтов и провести повторный поиск, если совпадений не найдено.

Возвращает:
fontfilestr

Имя файла наиболее подходящего шрифта.

Примечания

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

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

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

static get_default_size() [source]

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

get_default_weight(self) [source]

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

score_family(self, families, family2) [source]

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

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

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

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

score_size(self, size1, size2) [source]

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

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

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

score_stretch(self, stretch1, stretch2) [source]

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

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

score_style(self, style1, style2) [source]

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

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

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

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

score_variant(self, variant1, variant2) [source]

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

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

score_weight(self, weight1, weight2) [source]

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

Результат равен 0.0, если оба weight1 и weight2 заданы как строки и имеют одинаковое значение.

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

set_default_weight(self, weight) [source]

Устанавливает вес шрифта по умолчанию. Исходное значение равно 'normal'.

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

Bases: object

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

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

  • family: Список имён шрифтов в порядке убывания приоритета. Элементы могут включать общее имя семейства шрифтов, например, 'serif', 'sans-serif', 'cursive', 'fantasy' или 'monospace'. В этом случае фактический используемый шрифт будет найден по соответствующему rcParam.
  • 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 (как указано в значениях по умолчанию rcParams) является

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

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

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

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

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

copy(self) [source]

Возвращает копию объекта self.

get_family(self) [source]

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

get_file(self) [source]

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

get_fontconfig_pattern(self) [source]

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

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

get_name(self) [source]

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

get_size(self) [source]

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

get_size_in_points(self) [source]
get_slant(self)

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

get_stretch(self) [source]

Возвращает ширину шрифта. Доступные значения: 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'.

get_style(self) [source]

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

get_variant(self) [source]

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

get_weight(self) [source]

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

set_family(self, family) [source]

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

set_file(self, file) [source]

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

set_fontconfig_pattern(self, pattern) [source]

Установить свойства, обработав шаблон fontconfig.

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

set_name(self, family)

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

set_size(self, size) [source]

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

set_slant(self, style)

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

set_stretch(self, stretch) [source]

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

set_style(self, style) [source]

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

set_variant(self, variant) [source]

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

END_OF_DOCUMENT_MARKER
set_weight(self, weight) [source]

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

class matplotlib.font_manager.JSONEncoder(**kwargs) [source]

Bases: matplotlib.font_manager._JSONEncoder

[Устаревший]

Примечания

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

Конструктор для JSONEncoder со разумными значениями по умолчанию.

Если skipkeys ложно, то попытка кодирования ключей, которые не являются str, int, float или None, вызовет исключение TypeError. Если skipkeys истинно, такие элементы просто пропускаются.

Если ensure_ascii истинно, то выходные данные гарантированно будут объектами str со всеми входящими не-ASCII символами, экранированными. Если ensure_ascii ложно, выходные данные могут содержать не-ASCII символы.

Если check_circular истинно, то списки, словари и пользовательские закодированные объекты будут проверяться на циклические ссылки во время кодирования, чтобы предотвратить бесконечную рекурсию (что приведет к OverflowError). В противном случае такая проверка не выполняется.

Если allow_nan истинно, то NaN, Infinity и -Infinity будут закодированы как таковые. Это поведение не соответствует спецификации JSON, но согласуется с большинством JavaScript-оболочек и декодеров. В противном случае кодирование таких чисел с плавающей точкой вызовет ValueError.

Если sort_keys истинно, то выходные данные словарей будут отсортированы по ключу; это полезно для регрессионных тестов, чтобы убедиться, что JSON-сериализации можно сравнивать изо дня в день.

Если indent — целое число больше или равно нулю, то элементы массивов JSON и члены объектов будут отформатированы с указанным уровнем отступа. Уровень отступа 0 вставит только новые строки. None — самое компактное представление.

Если указаны, separators должны быть кортежем (разделитель_элементов, разделитель_ключ). Значение по умолчанию — (', ', ': ') если indent — None и (',', ': ') в противном случае. Для получения самого компактного представления JSON вы должны указать (',', ':') для удаления пробелов.

Если указано, default — функция, которая вызывается для объектов, которые нельзя сериализовать другим способом. Она должна возвращать кодируемую JSON версию объекта или генерировать TypeError.

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

[Устаревший] Получить список файлов шрифтов в OS X.

Примечания

Устарел начиная с версии 3.1.

matplotlib.font_manager.afmFontProperty(fontpath, font) [source]

Извлечь информацию из файла шрифта AFM.

Параметры:
fontAFM

Файл шрифта AFM, из которого будет извлечена информация.

Возвращает:
FontEntry

Извлеченные свойства шрифта.

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

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

Примечания

Устарел начиная с версии 3.2.

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

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

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

Найти шрифт, который наиболее точно соответствует заданным свойствам шрифта.

Параметры:
propstr or FontProperties

Свойства шрифта для поиска. Это может быть объект FontProperties или строка, определяющая паттерны fontconfig.

fontext{'ttf', 'afm'}, optional, default: 'ttf'

Расширение файла шрифта:

  • 'ttf': TrueType и OpenType шрифты (.ttf, .ttc, .otf)
  • 'afm': Adobe Font Metrics (.afm)
directorystr, optional

Если задано, поиск будет проводиться только в этой директории и её поддиректориях.

fallback_to_defaultbool

Если True, будет использоваться шрифт по умолчанию (обычно "DejaVu Sans" или "Helvetica"), если первый поиск не увенчался успехом.

rebuild_if_missingbool

Необходимо ли перестроить кеш шрифтов и выполнить поиск снова, если совпадений не найдено.

Возвращает:
fontfilestr

Имя файла наилучшего подходящего шрифта.

Примечания

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

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

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

matplotlib.font_manager.get_font(filename, hinting_factor=None) [source]
matplotlib.font_manager.get_fontconfig_fonts(fontext='ttf') [source]

Список имен файлов шрифтов, известных fc-list с заданным расширением.

matplotlib.font_manager.get_fontext_synonyms(fontext) [source]

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

matplotlib.font_manager.is_opentype_cff_font(filename) [source]

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

matplotlib.font_manager.json_dump(data, filename) [source]

Сохранить FontManager data в формате JSON в файл с именем filename.

См. также

json_load

Примечания

Пути к файлам, которые являются дочерними элементами пути к данным Matplotlib (как правило, шрифты, поставляемые с Matplotlib), сохраняются относительно этого пути к данным (чтобы оставаться действительными в различных virtualenv).

matplotlib.font_manager.json_load(filename) [source]

Загрузить FontManager из файла JSON с именем filename.

См. также

json_dump
matplotlib.font_manager.list_fonts(directory, extensions) [source]

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

END_OF_DOCUMENT_MARKER
matplotlib.font_manager.ttfFontProperty(font) [source]

Извлечение информации из файла шрифта TrueType.

Параметры:
fontFT2Font

Файл шрифта TrueType, из которого будет извлечена информация.

Возвращает:
FontEntry

Извлеченные свойства шрифта.

matplotlib.font_manager.win32FontDirectory() [source]

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

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

Если ключ не найден, %WINDIR%\Fonts будет возвращено.

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

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

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

Spec-Zone.ru

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