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') -
Наследуется от
objectКласс для хранения свойств шрифта. Используется при заполнении словаря поиска шрифтов.
-
class matplotlib.font_manager.FontManager(size=None, weight='normal') -
Наследуется от
objectПри импорте, синглтон
FontManagerсоздаёт список шрифтов TrueType, основанный на свойствах шрифта: имя, стиль, вариант, вес, растяжение и размер. Методfindfont()выполняет поиск ближайшего соседа для нахождения шрифта, максимально соответствующего спецификации. Если подходящий шрифт не найден, возвращается шрифт по умолчанию.-
findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True) -
Ищет в списке шрифтов шрифт, который наиболее соответствует свойствам
FontPropertiesprop.findfont()выполняет поиск ближайшего соседа. Каждый шрифт получает оценку схожести со свойствами целевого шрифта. Возвращается первый шрифт с наивысшей оценкой. Если не найдены подходящие шрифты, ниже определённого порога, возвращается шрифт по умолчанию (обычно DejaVu Sans).directory, указан, будет возвращать только шрифты из данного каталога (или подкаталога этого каталога).Результат кэшируется, поэтому последующие запросы не требуют выполнения поиска ближайшего соседа O(n).
Если
fallback_to_defaultравно True, при неудачном поиске в первом каталоге вернётся шрифт по умолчанию (обычно «DejaVu Sans» или «Helvetica»).См. документацию W3C Cascading Style Sheet, Level 1 для описания алгоритма поиска шрифтов.
-
static get_default_size() -
Возвращает размер шрифта по умолчанию.
-
get_default_weight() -
Возвращает вес шрифта по умолчанию.
-
score_family(families, family2) -
Возвращает оценку соответствия списка семейств шрифтов families и имени семейства шрифтов family2.
Точное совпадение в начале списка возвращает 0.0.
Совпадение далее в списке вернёт значение между 0 и 1.
Отсутствие совпадения вернёт 1.0.
-
score_size(size1, size2) -
Возвращает оценку соответствия size1 и size2.
Если size2 (размер, указанный в файле шрифта) — «масштабируемый», эта функция всегда возвращает 0.0, так как любой размер шрифта может быть сгенерирован.
В противном случае, результат — абсолютное расстояние между size1 и size2, нормированное так, чтобы обычный диапазон размеров шрифтов (6pt — 72pt) лежал в диапазоне от 0.0 до 1.0.
-
score_stretch(stretch1, stretch2) -
Возвращает оценку соответствия stretch1 и stretch2.
Результат — абсолютное значение разницы между числовыми значениями CSS stretch1 и stretch2, нормированное между 0.0 и 1.0.
-
score_style(style1, style2) -
Возвращает оценку соответствия style1 и style2.
Точное совпадение возвращает 0.0.
Совпадение между ‘italic’ и ‘oblique’ возвращает 0.1.
Отсутствие совпадения возвращает 1.0.
-
score_variant(variant1, variant2) -
Возвращает оценку соответствия variant1 и variant2.
Точное совпадение возвращает 0.0, иначе 1.0.
-
score_weight(weight1, weight2) -
Возвращает оценку соответствия weight1 и weight2.
Результат равен 0.0, если оба weight1 и weight2 заданы как строки и имеют одинаковое значение.
В противном случае результат — абсолютное значение разницы между числовыми значениями CSS weight1 и weight2, нормированное между 0.05 и 1.0.
-
set_default_weight(weight) -
Устанавливает вес шрифта по умолчанию. Начальное значение — ‘normal’.
-
update_fonts(filenames) -
Обновляет словарь шрифтов новыми файлами шрифтов. В настоящее время не реализовано.
-
-
class matplotlib.font_manager.FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None, _init=None) -
Bases:
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.
Для поддержки шаблонов fontconfig не требуется установка fontconfig. Мы просто используем его синтаксис шаблонов.
Обратите внимание, что внутренний менеджер шрифтов matplotlib и fontconfig используют различный алгоритм поиска шрифтов, поэтому результаты одного и того же шаблона могут отличаться в matplotlib от других приложений, использующих fontconfig.
-
copy() -
Возвращает глубокую копию объекта self
-
get_family() -
Возвращает список имён шрифтов, составляющих семейство шрифтов.
-
get_file() -
Возвращает имя файла ассоциированного шрифта.
-
get_fontconfig_pattern() -
Возвращает шаблон fontconfig, подходящий для поиска шрифта, как задано с помощью утилиты
fc-matchfontconfig.Смотрите документацию по шаблонам fontconfig.
Для этой поддержки не требуется установка или включение поддержки fontconfig. Мы просто используем его синтаксис шаблонов.
-
get_name() -
Возвращает имя шрифта, наилучшим образом соответствующего свойствам шрифта.
-
get_size() -
Возвращает размер шрифта.
-
get_size_in_points()
-
get_slant() -
Возвращает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.
-
get_stretch() -
Возвращает расширение или ширину шрифта. Доступные значения: ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’, ‘ultra-expanded’.
-
get_style() -
Возвращает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.
-
get_variant() -
Возвращает вариант шрифта. Значения: ‘normal’ или ‘small-caps’.
-
get_weight() -
Устанавливает толщину шрифта. Доступные значения: числовое значение в диапазоне от 0 до 1000 или одно из значений ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’
-
set_family(family) -
Изменяет семейство шрифтов. Может быть псевдонимом (общим именем по терминологии CSS), например: ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, или ‘monospace’, реальным именем шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда
text.usetexравноTrue.
-
set_file(file) -
Устанавливает имя файла шрифта для использования. В этом случае все другие свойства будут игнорироваться.
-
set_fontconfig_pattern(pattern) -
Устанавливает свойства, анализируя шаблон fontconfig pattern.
Смотрите документацию по шаблонам fontconfig.
Для этой поддержки не требуется установка или включение поддержки fontconfig. Мы просто используем его синтаксис шаблонов.
-
set_name(family) -
Изменяет семейство шрифтов. Может быть псевдонимом (общим именем по терминологии CSS), например: ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, или ‘monospace’, реальным именем шрифта или списком имён реальных шрифтов. Реальные имена шрифтов не поддерживаются, когда
text.usetexравноTrue.
-
set_size(size) -
Устанавливает размер шрифта. Может быть относительным значением ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’ или абсолютным размером шрифта, например, 12.
-
set_slant(style) -
Устанавливает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.
-
set_stretch(stretch) -
Устанавливает расширение или ширину шрифта. Доступные значения: ‘ultra-condensed’, ‘extra-condensed’, ‘condensed’, ‘semi-condensed’, ‘normal’, ‘semi-expanded’, ‘expanded’, ‘extra-expanded’ или ‘ultra-expanded’, или числовое значение в диапазоне от 0 до 1000.
-
set_style(style) -
Устанавливает стиль шрифта. Значения: ‘normal’, ‘italic’ или ‘oblique’.
-
set_variant(variant) -
Устанавливает вариант шрифта. Значения: ‘normal’ или ‘small-caps’.
-
set_weight(weight) -
Устанавливает толщину шрифта. Может быть числовым значением в диапазоне от 0 до 1000 или одним из ‘ultralight’, ‘light’, ‘normal’, ‘regular’, ‘book’, ‘medium’, ‘roman’, ‘semibold’, ‘demibold’, ‘demi’, ‘bold’, ‘heavy’, ‘extra bold’, ‘black’
- family: Список имён шрифтов в порядке убывания приоритета. Элементы могут включать общее семейство шрифтов, такие как ‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, или ‘monospace’. В этом случае фактический шрифт будет определяться по соответствующему параметру rcParam в
-
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) -
Bases:
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)
-
-
matplotlib.font_manager.OSXInstalledFonts(directories=None, fontext='ttf') -
Получить список файлов шрифтов на OS X — игнорирует суффикс шрифта по умолчанию.
-
class matplotlib.font_manager.TempCache -
Базы:
objectКласс для хранения временных кэшей, которые (а) не сохраняются на диск и (б) аннулируются всякий раз, когда изменяются некоторые параметры rcParams, связанные с шрифтами (а именно, списки поиска по семействам), или кэш шрифтов перезагружается. Это позволяет избежать дорогостоящего линейного поиска всех шрифтов каждый раз при поиске шрифта.
-
get(prop)
-
invalidating_rcparams = ('font.serif', 'font.sans-serif', 'font.cursive', 'font.fantasy', 'font.monospace')
-
make_rcparams_key()
-
set(prop, value)
-
-
matplotlib.font_manager.afmFontProperty(fontpath, font) -
Функция для заполнения экземпляра
FontKeyпутем извлечения информации из файла шрифта AFM.font — экземпляр класса:
AFM.
-
matplotlib.font_manager.createFontList(fontfiles, fontext='ttf') -
Функция для создания списка поиска шрифтов. По умолчанию создаётся список шрифтов TrueType. Также можно создать список шрифтов AFM.
-
matplotlib.font_manager.findSystemFonts(fontpaths=None, fontext='ttf') -
Поиск шрифтов в указанных путях. Если пути не заданы, используются стандартные системные пути, а также список шрифтов, отслеживаемых fontconfig, если он установлен и доступен. По умолчанию возвращается список шрифтов TrueType, с возможностью выбора шрифтов AFM.
-
matplotlib.font_manager.findfont(prop, **kw)
-
matplotlib.font_manager.get_fontconfig_fonts(fontext='ttf') -
Список имён файлов шрифтов, известных
fc-listс указанным расширением.
-
matplotlib.font_manager.get_fontext_synonyms(fontext) -
Возвращает список расширений файлов, являющихся синонимами заданного расширения файла fileext.
-
matplotlib.font_manager.is_opentype_cff_font(filename) -
Возвращает True, если заданный шрифт представляет собой шрифт Postscript Compact Font Format, встроенный в оболочку OpenType. Используется задними планами PostScript и PDF, которые не могут подмножествать эти шрифты.
-
matplotlib.font_manager.json_dump(data, filename) -
Выгружает структуру данных в формате JSON в указанный файл. Обрабатывает FontManager и его поля.
-
matplotlib.font_manager.json_load(filename) -
Загружает структуру данных из файла в формате JSON. Обрабатывает FontManager и его поля.
-
matplotlib.font_manager.list_fonts(directory, extensions) -
Возвращает список всех шрифтов, соответствующих любому из расширений, возможно в верхнем регистре, найденных рекурсивно в каталоге.
-
matplotlib.font_manager.ttfFontProperty(font) -
Функция для заполнения
FontKeyпутем извлечения информации из файла TrueType-шрифта.font — экземпляр
FT2Font.
-
matplotlib.font_manager.ttfdict_to_fnames(d) -
Устарело начиная с версии 2.1: Функция ttfdict_to_fnames устарела в версии 2.1.
Преобразует ttfdict во все содержащиеся в нём имена файлов
-
matplotlib.font_manager.weight_as_number(weight) -
Устарело начиная с версии 2.1: Функция weight_as_number устарела в версии 2.1.
Возвращает свойство weight в виде числового значения. Строковые значения преобразуются в соответствующие числовые значения.
-
matplotlib.font_manager.win32FontDirectory() -
Возвращает указанный пользователем каталог шрифтов для Win32. Он ищется в ключе реестра:
\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts
Если ключ не найден, возвращается $WINDIR/Fonts.
-
matplotlib.font_manager.win32InstalledFonts(directory=None, fontext='ttf') -
Поиск шрифтов в указанном каталоге шрифтов или использование системных каталогов, если они не указаны. По умолчанию возвращается список имён файлов TrueType-шрифтов, или шрифтов AFM, если fontext == ‘afm’.
matplotlib.fontconfig_pattern
Модуль для разбора и генерации шаблонов fontconfig.
См. спецификацию шаблонов fontconfig для получения дополнительной информации.
-
class matplotlib.fontconfig_pattern.FontconfigPatternParser -
Базы:
objectПростой парсер на основе pyparsing для шаблонов в стиле fontconfig.
См. спецификацию шаблонов fontconfig для получения дополнительной информации.
-
parse(pattern) -
Разбирает заданный шаблон fontconfig pattern и возвращает словарь пар ключ/значение, полезных для инициализации объекта
font_manager.FontProperties.
-
-
matplotlib.fontconfig_pattern.family_escape($self, /, repl, string, count=0) -
Возвращает строку, полученную заменой всех непересекающихся вхождений шаблона pattern в строке на замену repl.
-
matplotlib.fontconfig_pattern.family_unescape($self, /, repl, string, count=0) -
Возвращает строку, полученную заменой всех непересекающихся вхождений шаблона pattern в строке на замену repl.
-
matplotlib.fontconfig_pattern.generate_fontconfig_pattern(d) -
На основе словаря пар ключ/значение генерирует строку шаблона fontconfig.
-
matplotlib.fontconfig_pattern.parse_fontconfig_pattern -
Разбирает заданный шаблон fontconfig pattern и возвращает словарь пар ключ/значение, полезных для инициализации объекта
font_manager.FontProperties.
-
matplotlib.fontconfig_pattern.value_escape($self, /, repl, string, count=0) -
Возвращает строку, полученную заменой всех непересекающихся вхождений шаблона pattern в строке на замену repl.
-
matplotlib.fontconfig_pattern.value_unescape($self, /, repl, string, count=0) -
Возвращает строку, полученную заменой всех непересекающихся вхождений шаблона pattern в строке на замену repl.
© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/font_manager_api.html