font_manager
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.
Включена экспериментальная поддержка использования fontconfig на платформах с Unix-подобными системами (Linux, OS X, Solaris). Для ее включения, установите константу USE_FONTCONFIG в этом файле в значение True. Fontconfig имеет преимущество, так как является стандартным способом поиска шрифтов на платформах X11, поэтому, если шрифт установлен, его намного легче найти.
-
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] -
Базовый класс:
objectПри импорте, синглтон экземпляр
FontManagerсоздает список шрифтов TrueType, основанный на свойствах шрифта: имя, стиль, разновидность, вес, растяжение и размер. Методfindfont()выполняет поиск ближайшего соседа для нахождения шрифта, который наиболее точно соответствует спецификации. Если подходящий шрифт не найден, возвращается шрифт по умолчанию.-
findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True)[source] -
Ищет в списке шрифтов шрифт, который наиболее точно соответствует
FontPropertiesprop.findfont()выполняет поиск ближайшего соседа. Каждый шрифт получает оценку близости к целевым свойствам шрифта. Возвращается первый шрифт с наивысшим результатом. Если не найдены подходящие шрифты ниже определённого порога, возвращается шрифт по умолчанию (обычно DejaVu Sans).directory, если указан, будет возвращать только шрифты из указанного каталога (или подкаталога этого каталога).Результат кэшируется, поэтому последующие запросы не требуют выполнения поиска ближайшего соседа O(n).
Если
fallback_to_defaultимеет значение True, будет использован шрифт по умолчанию (обычно "DejaVu Sans" или "Helvetica"), если первый поиск завершится неудачно.См. документацию W3C Cascading Style Sheet, Level 1 для описания алгоритма поиска шрифтов.
-
static 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'.
-
update_fonts(filenames)[source] -
Обновляет словарь шрифтов новыми файлами шрифтов. В настоящее время не реализовано.
-
-
class matplotlib.font_manager.FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None, _init=None)[source]
-
Основы:
objectКласс для хранения и обработки свойств шрифта.
Свойства шрифта соответствуют спецификации шрифтов W3C Cascading Style Sheet, Level 1. Шесть свойств:
- family: Список имён шрифтов в порядке убывания приоритета. Элементы могут включать общее имя семейства шрифтов, такие как 'serif', 'sans-serif', 'cursive', 'fantasy' или 'monospace'. В этом случае фактический используемый шрифт будет найден из соответствующего параметра rcParam в
matplotlibrc. - 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 шрифтов (как указано в файле
matplotlibrcпо умолчанию) -sans-serif, normal, normal, normal, normal, scalable.
Также шрифт может быть указан с помощью абсолютного пути к файлу .ttf, используя параметр fname.
Рекомендуется использовать относительные значения размеров шрифта, например, '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.
Эта поддержка не требует установки fontconfig или поддержки для него. Мы просто используем его синтаксис шаблонов.
-
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', именем реального шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда
text.usetexравноTrue.
-
set_file(file)[source] -
Устанавливает имя файла шрифта для использования. В этом случае все остальные свойства будут игнорироваться.
-
set_fontconfig_pattern(pattern)[source] -
Устанавливает свойства, анализируя шаблон fontconfig.
См. документацию по шаблонам fontconfig.
Эта поддержка не требует установки fontconfig или поддержки для него. Мы просто используем его синтаксис шаблонов.
-
set_name(family) -
Изменяет семейство шрифтов. Может быть псевдонимом (общим именем по CSS), например: 'serif', 'sans-serif', 'cursive', 'fantasy' или 'monospace', именем реального шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда
text.usetexравно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'.
- family: Список имён шрифтов в порядке убывания приоритета. Элементы могут включать общее имя семейства шрифтов, такие как 'serif', 'sans-serif', 'cursive', 'fantasy' или 'monospace'. В этом случае фактический используемый шрифт будет найден из соответствующего параметра rcParam в
-
set_weight(weight)[source] -
Установите начертание шрифта. Может быть числовым значением в диапазоне от 0 до 1000 или одним из 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'
-
-
class matplotlib.font_manager.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source] -
Основывается на:
json.encoder.JSONEncoderКонструктор для JSONEncoder со разумными значениями по умолчанию.
Если skipkeys равно false, то попытка кодирования ключей, которые не являются str, int, float или None, приводит к ошибке TypeError. Если skipkeys равно True, такие элементы просто пропускаются.
Если ensure_ascii равно true, то результат гарантированно будет объектом str со всеми входящими не-ASCII символами, экранированными. Если ensure_ascii равно false, результат может содержать не-ASCII символы.
Если check_circular равно true, то списки, словари и пользовательские закодированные объекты будут проверены на наличие циклических ссылок во время кодирования для предотвращения бесконечной рекурсии (что приведет к ошибке OverflowError). В противном случае такая проверка не выполняется.
Если allow_nan равно true, то NaN, Infinity и -Infinity будут закодированы как таковые. Это поведение не соответствует спецификации JSON, но согласуется с большинством JavaScript-базированных кодеров и декодеров. В противном случае кодирование таких чисел с плавающей точкой будет вызывать ошибку ValueError.
Если sort_keys равно true, то выходные данные словарей будут отсортированы по ключу; это полезно для регрессионных тестов, чтобы убедиться, что JSON-сериализации можно сравнивать изо дня в день.
Если indent является неотрицательным целым числом, то элементы JSON-массивов и члены объектов будут красиво отформатированы с этим уровнем отступа. Уровень отступа 0 будет вставлять только новые строки. None — это наиболее компактное представление.
Если указано, separators должно быть кортежем (item_separator, key_separator). По умолчанию это (', ', ': ') если indent равно
Noneи (',', ': ') в противном случае. Для получения наиболее компактного представления JSON вы должны указать (',', ':') для удаления пробелов.Если указано, default — это функция, которая вызывается для объектов, которые не могут быть сериализованы другим способом. Она должна возвращать кодируемую в JSON версию объекта или вызвать ошибку
TypeError.-
default(o)[source] -
Реализуйте этот метод в подклассе таким образом, чтобы он возвращал сериализуемый объект для
o, или вызывал базовый метод реализации (для повышения ошибкиTypeError).Например, для поддержки произвольных итераторов, вы можете реализовать default так:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
-
-
matplotlib.font_manager.OSXInstalledFonts(directories=None, fontext='ttf')[source] -
Получить список файлов шрифтов на OS X — игнорирует суффикс шрифта по умолчанию.
-
class matplotlib.font_manager.TempCache[source] -
Основывается на:
objectКласс для хранения временных кэшей, которые (а) не сохраняются на диск и (б) становятся недействительными всякий раз, когда изменяются определенные связанные со шрифтами параметры rcParams (а именно, списки поиска по семейству шрифтов) или кэш шрифтов перезагружается. Это позволяет избежать дорогостоящего линейного поиска по всем шрифтам каждый раз, когда ищется шрифт.
-
get(prop)[source]
-
invalidating_rcparams = ('font.serif', 'font.sans-serif', 'font.cursive', 'font.fantasy', 'font.monospace')
-
make_rcparams_key()[source]
-
set(prop, value)[source]
-
-
matplotlib.font_manager.afmFontProperty(fontpath, font)[source] -
Извлечение информации из файла шрифта AFM.
Параметры: -
font : AFM -
Файл шрифта AFM, из которого будет извлечена информация.
Возвращает: - `FontEntry`
-
Извлеченные свойства шрифта.
-
-
matplotlib.font_manager.createFontList(fontfiles, fontext='ttf')[source] -
Функция для создания списка поиска шрифтов. По умолчанию создается список TrueType шрифтов. Также можно создать список AFM шрифтов.
-
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf')[source] -
Поиск шрифтов в указанных путях шрифтов. Если пути не указаны, будут использоваться стандартные системные пути, а также список шрифтов, отслеживаемых fontconfig, если fontconfig установлен и доступен. По умолчанию возвращается список TrueType шрифтов, с AFM шрифтами как опцией.
-
matplotlib.font_manager.findfont(prop, **kw)[source]
-
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] -
Возвращает True, если заданный шрифт представляет собой шрифт PostScript Compact Font Format, встроенный в OpenType оболочку. Используется задними планами PostScript и PDF, которые не могут подмножества этих шрифтов.
-
matplotlib.font_manager.json_dump(data, filename)[source] -
Сохраняет структуру данных в формате JSON в указанном файле. Обрабатывает FontManager и его поля.
-
matplotlib.font_manager.json_load(filename)[source] -
Загружает структуру данных в формате JSON из указанного файла. Обрабатывает FontManager и его поля.
-
matplotlib.font_manager.list_fonts(directory, extensions)[source] -
Возвращает список всех шрифтов, соответствующих любому из расширений, возможно, в верхнем регистре, найденных рекурсивно в каталоге.
-
matplotlib.font_manager.ttfFontProperty(font)[source] -
Извлечение информации из файла TrueType шрифта.
Параметры: -
font : FT2Font -
Файл TrueType шрифта, из которого будет извлечена информация.
Возвращает: - `FontEntry`
-
Извлеченные свойства шрифта.
-
-
matplotlib.font_manager.ttfdict_to_fnames(d)[source] -
Deprecated since version 2.1: Функция ttfdict_to_fnames была устаревшей с версии 2.1.
Преобразует ttfdict в список всех содержащихся в нем имен файлов.
-
matplotlib.font_manager.weight_as_number(weight)[source] -
Устарело начиная с версии 2.1: Функция
weight_as_numberбыла устарела в версии 2.1.Возвращает свойство weight в виде числового значения. Строковые значения преобразуются в соответствующее числовое значение.
-
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'.
matplotlib.fontconfig_pattern
Модуль для парсинга и генерации шаблонов fontconfig.
См. спецификацию шаблонов fontconfig для получения дополнительной информации.
-
class matplotlib.fontconfig_pattern.FontconfigPatternParser[source] -
Наследуется от
objectПростой парсер на основе pyparsing для шаблонов в стиле fontconfig.
См. спецификацию шаблонов fontconfig для получения дополнительной информации.
-
parse(pattern)[source] -
Парсит заданный шаблон fontconfig pattern и возвращает словарь пар ключ/значение, полезных для инициализации объекта
font_manager.FontProperties.
-
-
matplotlib.fontconfig_pattern.family_escape($self, /, repl, string, count=0) -
Возвращает строку, полученную путем замены левого совпадения шаблона в строке на замену repl.
-
matplotlib.fontconfig_pattern.family_unescape($self, /, repl, string, count=0) -
Возвращает строку, полученную путем замены левого совпадения шаблона в строке на замену repl.
-
matplotlib.fontconfig_pattern.generate_fontconfig_pattern(d)[source] -
По заданному словарю пар ключ/значение генерирует строку шаблона fontconfig.
-
matplotlib.fontconfig_pattern.parse_fontconfig_pattern -
Парсит заданный шаблон fontconfig pattern и возвращает словарь пар ключ/значение, полезных для инициализации объекта
font_manager.FontProperties.
-
matplotlib.fontconfig_pattern.value_escape($self, /, repl, string, count=0) -
Возвращает строку, полученную путем замены левого совпадения шаблона в строке на замену repl.
-
matplotlib.fontconfig_pattern.value_unescape($self, /, repl, string, count=0) -
Возвращает строку, полученную путем замены левого совпадения шаблона в строке на замену repl.
© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/2.2.3/api/font_manager_api.html