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 для описания алгоритма поиска шрифтов.
-
propstr или
- статический
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'.
-
- класс
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-matchfontconfig.Эта поддержка не зависит от 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; мы просто заимствуем его синтаксис шаблонов для использования здесь.
-
set_math_fontfamily(fontfamily)[source] -
Установите семейство шрифтов для текста в математическом режиме.
Если не задано явно, будет использоваться
rcParams["mathtext.fontset"](по умолчанию:'dejavusans')Параметры: - fontfamilystr
-
Имя семейства шрифтов.
Доступные семейства шрифтов определены в файле matplotlibrc.template здесь
См. также
-
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 шрифта.
Параметры: -
font
AFM -
Файл шрифта AFM, из которого будет извлечена информация.
Возвращает: FontEntry-
Извлеченные свойства шрифта.
-
font
-
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 для описания алгоритма поиска шрифта.
-
propstr или
-
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.См. также
Примечания
Пути к файлам, являющимся потомками пути данных Matplotlib (обычно шрифты, поставляемые с Matplotlib), хранятся относительно этого пути данных (чтобы оставаться действительными в различных средах виртуальных сред).
Эта функция временно блокирует выходной файл, чтобы предотвратить перезапись выходных данных нескольких процессов друг другом.
-
matplotlib.font_manager.json_load(filename)[source] -
Загружает
FontManagerиз файла JSON с именем filename.См. также
-
matplotlib.font_manager.list_fonts(directory, extensions)[source] -
Возвращает список всех шрифтов, соответствующих любому из расширений, найденных рекурсивно в каталоге.
-
matplotlib.font_manager.ttfFontProperty(font)[source] -
Извлекает информацию из файла шрифта TrueType.
Параметры: -
font
FT2Font -
Файл шрифта TrueType, из которого будет извлечена информация.
Возвращает: FontEntry-
Извлеченные свойства шрифта.
-
font
-
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