Spec-Zone.ru › Matplotlib 3.4

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]

Bases: object

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

класс matplotlib.font_manager.FontManager(size=None, weight='normal')[source]

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

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

addfont(path)[source]

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

Параметры:
pathstr или path-like
свойство defaultFont
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 Font Metrics (.afm)
directorystr, необязательно
Если задан, поиск ведётся только в этой директории и её поддиректориях.
fallback_to_defaultbool
Если True, поиск будет переходить к шрифту по умолчанию (обычно "DejaVu Sans" или "Helvetica"), если первый поиск не увенчается успехом.
rebuild_if_missingbool
Перестроить кэш шрифтов и повторить поиск, если первый результат указывает на несуществующий шрифт (т.е. кэш шрифтов содержит устаревшие записи).
Возвращает:
str
Имя файла подходящего шрифта.

Примечания

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

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

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

статический get_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]

Основания: object

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

Свойства шрифта — это шесть свойств, описанных в спецификации шрифтов W3C Cascading Style Sheet, Level 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 шаблон, если это единственный переданный аргумент. Эта поддержка не зависит от fontconfig; мы просто заимствуем его синтаксис шаблонов для использования здесь.

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

copy()[source]

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

get_family()[source]

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

get_file()[source]

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

get_fontconfig_pattern()[source]

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

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

get_math_fontfamily()[source]

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

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

get_name()[source]

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

get_size()[source]

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

get_size_in_points()[source]
get_slant()

Возвращает стиль шрифта. Значения: '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; мы просто заимствуем его синтаксис шаблонов для использования здесь.

END_OF_DOCUMENT_MARKER
set_math_fontfamily(fontfamily)[source]

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

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

Параметры:
fontfamilystr

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

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

См. также

text.Text.get_math_fontfamily
set_name(family)

Изменить семейство шрифтов. Может быть псевдонимом (общим именем в терминах 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)

Установить стиль шрифта. Значения: '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)

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

Параметры:
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

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

Возвращает:
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 с указанным расширением.

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 в формате 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.

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

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

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

Spec-Zone.ru

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