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создаёт список шрифтов TrueType на основе свойств шрифта: имя, стиль, вариант, вес, растяжение и размер. Метод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'}, optional, 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 -
Нужно ли перестроить кеш шрифтов и провести повторный поиск, если совпадений не найдено.
Возвращает: -
fontfilestr -
Имя файла наиболее подходящего шрифта.
Примечания
Выполняется поиск ближайшего соседа. Каждый шрифт получает оценку схожести со свойствами целевого шрифта. Возвращается первый шрифт с наивысшей оценкой. Если не найдено подходящих шрифтов, удовлетворяющих определённому порогу, возвращается шрифт по умолчанию (обычно 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 (размер, указанный в файле шрифта) является 'scalable', эта функция всегда возвращает 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] -
Bases:
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.
В качестве альтернативы шрифт может быть указан с помощью абсолютного пути к файлу .ttf, используя параметр fname.
Рекомендуется использовать относительные значения размера шрифта, например, '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's
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', истинным именем шрифта или списком истинных имён шрифтов. Истинные имена шрифтов не поддерживаются, когда
text.usetexравен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', истинным именем шрифта или списком истинных имён шрифтов. Истинные имена шрифтов не поддерживаются, когда
text.usetexравен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'.
-
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] -
Bases:
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 должны быть кортежем (разделитель_элементов, разделитель_ключ). Значение по умолчанию — (', ', ': ') если indent —
Noneи (',', ': ') в противном случае. Для получения самого компактного представления JSON вы должны указать (',', ':') для удаления пробелов.Если указано, default — функция, которая вызывается для объектов, которые нельзя сериализовать другим способом. Она должна возвращать кодируемую JSON версию объекта или генерировать
TypeError.
-
matplotlib.font_manager.OSXInstalledFonts(directories=None, fontext='ttf')[source] -
[Устаревший] Получить список файлов шрифтов в OS X.
Примечания
Устарел начиная с версии 3.1.
-
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, если 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'}, optional, 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 -
Необходимо ли перестроить кеш шрифтов и выполнить поиск снова, если совпадений не найдено.
Возвращает: -
fontfilestr -
Имя файла наилучшего подходящего шрифта.
Примечания
Используется поиск ближайших соседей. Каждый шрифт получает оценку сходства с целевыми свойствами шрифта. Возвращается первый шрифт с наивысшим баллом. Если не найдено совпадений ниже определенного порога, возвращается шрифт по умолчанию (обычно 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] -
Сохранить
FontManagerdata в формате JSON в файл с именем filename.См. также
Примечания
Пути к файлам, которые являются дочерними элементами пути к данным Matplotlib (как правило, шрифты, поставляемые с Matplotlib), сохраняются относительно этого пути к данным (чтобы оставаться действительными в различных virtualenv).
-
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.
Параметры: -
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.2.2/api/font_manager_api.html