Spec-Zone.ru › Matplotlib 3.5

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.

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

Bases: object

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

addfont(path)[source]

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

Parameters
pathstr или path-подобный объект
propertydefaultFont
findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True)[source]

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

Parameters
propstr или FontProperties

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

fontext{'ttf', 'afm'}, по умолчанию: 'ttf'

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

  • 'ttf': TrueType и OpenType шрифты (.ttf, .ttc, .otf)
  • 'afm': Adobe Font Metrics (.afm)
directorystr, необязательно

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

fallback_to_defaultbool

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

rebuild_if_missingbool

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

Returns
str

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

Примечания

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

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

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

staticget_default_size()[source]

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

get_default_weight()[source]

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

score_family(families, family2)[source]

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

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

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

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

score_size(size1, size2)[source]

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

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

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

score_stretch(stretch1, stretch2)[source]

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

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

score_style(style1, style2)[source]

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

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

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

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

score_variant(variant1, variant2)[source]

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

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

score_weight(weight1, weight2)[source]

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

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

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

set_default_weight(weight)[source]

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

END_OF_DOCUMENT_MARKER
классmatplotlib.font_manager.FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None, math_fontfamily=None)[source]

Bases: object

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

Свойства шрифта — это шесть свойств, описанных в спецификации CSS, уровень 1, и math_fontfamily для математических шрифтов:

  • family: Список имён шрифтов в порядке убывания приоритета. Элементы могут включать общее имя семейства шрифтов, например, 'sans-serif' (по умолчанию), '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' или абсолютный размер шрифта, например, 10 (по умолчанию).
  • math_fontfamily: Семейство шрифтов, используемых для рендеринга математического текста; переопределяет rcParams["mathtext.fontset"] (по умолчанию: 'dejavusans'). Поддерживаемые значения такие же, как и поддерживаемые rcParams["mathtext.fontset"] (по умолчанию: 'dejavusans'): 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' и 'custom'.

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

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

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

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

copy()[source]

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

get_family()[source]

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

get_file()[source]

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

get_fontconfig_pattern()[source]

Возвращает шаблон fontconfig pattern для поиска шрифта, соответствующего заданным свойствам fontconfig's fc-match утилитой.

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

get_math_fontfamily()[source]

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

По умолчанию rcParams["mathtext.fontset"] (по умолчанию: 'dejavusans').

get_name()[source]

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

get_size()[source]

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

get_size_in_points()[source]
get_slant()[source]

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

get_stretch()[source]

Возвращает расширение или ширину шрифта. Опции: 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'.

get_style()[source]

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

get_variant()[source]

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

get_weight()[source]

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

set_family(family)[source]

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

set_file(file)[source]

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

set_fontconfig_pattern(pattern)[source]

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

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

set_math_fontfamily(fontfamily)[source]

Установите семейство шрифтов для текста в математическом режиме.

Если явно не задано, будет использоваться rcParams["mathtext.fontset"] (по умолчанию: 'dejavusans') .

Параметры
fontfamilystr

Имя семейства шрифтов.

Доступные семейства шрифтов определены в файле matplotlibrc.template здесь

См. также

text.Text.get_math_fontfamily
set_name(family)[source]

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

set_size(size)[source]

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

set_slant(style)[source]

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

set_stretch(stretch)[source]

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

set_style(style)[source]

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

set_variant(variant)[source]

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

set_weight(weight)[source]

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

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

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

Параметры
fontAFM

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

Возвращает
FontEntry

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

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)[source]

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

Параметры
propstr или FontProperties

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

fontext{'ttf', 'afm'}, по умолчанию: 'ttf'

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

  • 'ttf': шрифты TrueType и OpenType (.ttf, .ttc, .otf)
  • 'afm': метрики шрифтов Adobe (.afm)
directorystr, необязательно

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

fallback_to_defaultbool

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

rebuild_if_missingbool

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

Возвращает
str

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

Примечания

Производится поиск ближайшего соседа. Каждый шрифт получает оценку близости к целевым свойствам шрифта. Возвращается первый шрифт с наибольшим баллом. Если не найдено совпадений ниже определенного порога, возвращается шрифт по умолчанию (обычно 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 с указанным расширением.

Примечания

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

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), хранятся относительно этого пути к данным (чтобы они оставались действительными в разных виртуальных средах).

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

matplotlib.font_manager.json_load(filename)[source]

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

См. также

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

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

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.

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

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

Примечания

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

classmatplotlib.font_manager.FontEntry(fname:str='', name:str='', style:str='normal', variant:str='normal', weight:str='normal', stretch:str='normal', size:str='medium')

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

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

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

Spec-Zone.ru

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