Spec-Zone.ru › Matplotlib

matplotlib.font_manager

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

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

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

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

Базы: object

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

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

Примечания

Метод FontManager.addfont должен вызываться на глобальном экземпляре FontManager.

Пример использования:

import matplotlib.pyplot as plt
from matplotlib import font_manager

font_dirs = ["/resources/fonts"]  # The path to the custom font file.
font_files = font_manager.findSystemFonts(fontpaths=font_dirs)

for font_file in font_files:
    font_manager.fontManager.addfont(font_file)
addfont(path)[source]

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

Параметры:
pathstr или путь-подобный объект

Примечания

Этот метод полезен для добавления пользовательского шрифта без его установки в вашей операционной системе. Обратитесь к экземпляру синглтона FontManager для использования и замечаний по этому методу.

propertydefaultFont
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 для описания алгоритма поиска шрифта.

staticget_default_size()[source]

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

get_default_weight()[source]

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

get_font_names()[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'.

classmatplotlib.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 во время процесса поиска в findfont. Значение по умолчанию: rcParams["font.family"] (значение по умолчанию: ['sans-serif'])
  • style: 'normal', 'italic' или 'oblique'. Значение по умолчанию: rcParams["font.style"] (значение по умолчанию: 'normal')
  • variant: 'normal' или 'small-caps'. Значение по умолчанию: rcParams["font.variant"] (значение по умолчанию: 'normal')
  • stretch: Числовое значение в диапазоне 0-1000 или одно из 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded' или 'ultra-expanded'. Значение по умолчанию: rcParams["font.stretch"] (значение по умолчанию: 'normal')
  • weight: Числовое значение в диапазоне 0-1000 или одно из 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'. Значение по умолчанию: rcParams["font.weight"] (значение по умолчанию: 'normal')
  • size: Относительное значение 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' или абсолютный размер шрифта, например, 10. Значение по умолчанию: rcParams["font.size"] (значение по умолчанию: 10.0)
  • math_fontfamily: Семейство шрифтов, используемых для отображения математического текста. Поддерживаемые значения: 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' и 'custom'. Значение по умолчанию: rcParams["mathtext.fontset"] (значение по умолчанию: 'dejavusans')

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

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

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

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

copy()[source]

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

get_family()[source]

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

Семейства шрифтов или общие семейства шрифтов (которые будут разрешены из соответствующих rcParams при поиске совпадающего шрифта) в порядке предпочтения.

get_file()[source]

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

get_fontconfig_pattern()[source]

Получает шаблон fontconfig pattern, подходящий для поиска шрифта, как указано с помощью утилиты 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()[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. По умолчанию: rcParams["font.family"] (по умолчанию: ['sans-serif'])

set_file(file)[source]

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

set_fontconfig_pattern(pattern)[source]

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

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

set_math_fontfamily(fontfamily)[source]

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

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

Параметры:
fontfamilystr

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

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

См. также

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

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

set_size(size)[source]

Устанавливает размер шрифта.

Параметры:
sizefloat или {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, по умолчанию: rcParams["font.size"] (по умолчанию: 10.0)

Если float, размер шрифта в пунктах. Строковые значения обозначают размеры, относящиеся к размеру шрифта по умолчанию.

set_slant(style)[source]

Устанавливает стиль шрифта.

Параметры:
style{'normal', 'italic', 'oblique'}, по умолчанию: rcParams["font.style"] (по умолчанию: 'normal')
set_stretch(stretch)[source]

Устанавливает расширение или ширину шрифта.

Параметры:
stretchint или {'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}, по умолчанию: rcParams["font.stretch"] (по умолчанию: 'normal')

Если int, должно быть в диапазоне 0-1000.

set_style(style)[source]

Устанавливает стиль шрифта.

Параметры:
style{'normal', 'italic', 'oblique'}, по умолчанию: rcParams["font.style"] (по умолчанию: 'normal')
set_variant(variant)[source]

Устанавливает вариант шрифта.

Параметры:
variant{'normal', 'small-caps'}, по умолчанию: rcParams["font.variant"] (по умолчанию: 'normal')
set_weight(weight)[source]

Устанавливает начертание шрифта.

Параметры:
weightint или {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}, по умолчанию: rcParams["font.weight"] (по умолчанию: 'normal')

Если int, должно быть в диапазоне 0-1000.

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

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

Параметры:
fontpathstr

Имя файла, соответствующего font.

fontAFM

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

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

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

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)[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(font_filepaths, hinting_factor=None)[source]

Получение объекта ft2font.FT2Font по списку путей к файлам.

Параметры:
font_filepathsIterable[str, Path, bytes], str, Path, bytes

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

Если передана единственная строка, байты или pathlib.Path, то она будет обработана как список с этой единственной записью.

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

Возвращаемое значение:
ft2font.FT2Font
matplotlib.font_manager.get_font_names()[source]

Возвращает список доступных шрифтов.

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

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

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

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

Parameters:
fontFT2Font

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

Returns:
FontEntry

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

matplotlib.font_manager.win32FontDirectory()[source]

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

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

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

matplotlib.font_manager.fontManager[source]

Глобальная инстанция FontManager.

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

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

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

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

Spec-Zone.ru

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