Spec-Zone.ru › Matplotlib 3.3

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 создаёт список шрифтов ttf и afm и кэширует их FontProperties. Метод FontManager.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'}, 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

Перестраивать ли кеш шрифтов и искать снова, если первый совпавший шрифт оказывается не существующим (т.е. кеш шрифтов содержит устаревшие записи).

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

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

Примечания

Этот метод выполняет поиск ближайшего соседа. Каждый шрифт получает оценку сходства с целевыми свойствами шрифта. Возвращается первый шрифт с наивысшей оценкой. Если совпадений с заданным пороговым значением не найдено, возвращается шрифт по умолчанию (обычно 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 (размер, указанный в файле шрифта) — «масштабируемый», эта функция всегда возвращает 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]
END_OF_DOCUMENT_MARKER

Базы: 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.

В качестве альтернативы шрифт можно указать, используя абсолютный путь к файлу шрифта, используя параметр fname. Однако в этом случае проще просто передать путь (как pathlib.Path, а не как str) в параметр font объекта Text.

Предпочтительным способом задания размера шрифта является использование относительных значений, например, '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 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', именем реального шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда rcParams["text.usetex"] (по умолчанию: False) равно 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', именем реального шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда rcParams["text.usetex"] (по умолчанию: False) равно 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'.

END_OF_DOCUMENT_MARKER
set_variant(self, variant) [source]

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

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]

Наследуется от: 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 должно быть кортежем (item_separator, key_separator). По умолчанию (', ', ': ') если indent — None и (',', ': ') в противном случае. Для получения наиболее компактного представления JSON вы должны указать (',', ':') для удаления пробелов.

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

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, если он установлен и доступен. По умолчанию возвращается список 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'}, 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

Следует ли перестроить кэш шрифтов и искать снова, если первый результат указывает на несуществующий шрифт (т.е., кэш шрифтов содержит устаревшие записи).

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

Имя файла наилучшего соответствия шрифта.

Примечания

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

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

См. документацию спецификации CSS, уровень 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]

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

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

Выводит FontManager data в формате JSON в файл с именем filename.

См. также

json_load

Примечания

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

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

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.3.3/api/font_manager_api.html

Spec-Zone.ru

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