Spec-Zone.ru › Matplotlib 3.0

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]

При импорте FontManager одиночный экземпляр создает список шрифтов TrueType, основанный на свойствах шрифта: имя, стиль, вариант, вес, растяжение и размер. Метод findfont() выполняет поиск ближайшего соседа для нахождения шрифта, наиболее соответствующего заданной спецификации. Если подходящего совпадения не найдено, возвращается шрифт по умолчанию.

afmfiles

Устарело начиная с версии 3.0: Функция afmfiles устарела в Matplotlib 3.0 и будет удалена в версии 3.2.

findfont(prop, fontext='ttf', directory=None, fallback_to_default=True, rebuild_if_missing=True) [source]

Ищет в списке шрифтов шрифт, который наиболее точно соответствует FontProperties prop.

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'.

ttffiles

Устарело начиная с версии 3.0: Функция ttffiles устарела в Matplotlib 3.0 и будет удалена в версии 3.2.

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]
END_OF_DOCUMENT_MARKER

Базы: 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. Для этого не требуется установка fontconfig. Мы просто используем его синтаксис шаблонов.

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

copy() [source]

Возвращает глубокую копию self

get_family() [source]

Возвращает список имён шрифтов, составляющих семейство шрифтов.

get_file() [source]

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

get_fontconfig_pattern() [source]

Получает шаблон fontconfig, подходящий для поиска шрифта, как указано с помощью утилиты fc-match fontconfig.

См. документацию по шаблонам 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'.

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 ложно, то попытка кодирования ключей, которые не являются 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.

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(**kwargs) [source]

Основывается на: object

Устарело начиная с версии 3.0: Класс TempCache был устаревшим в Matplotlib 3.0 и будет удален в 3.2.

Класс для хранения временных кэшей, которые (а) не сохраняются на диск и (б) аннулируются всякий раз, когда изменяются определенные параметры шрифта 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 [source]

Возвращает True, если данный шрифт является шрифтом PostScript Compact Font Format, встроенным в оболочку OpenType. Используется бэкендами PostScript и PDF, которые не могут подменять эти шрифты.

matplotlib.font_manager.json_dump(data, filename) [source]

Сохраняет структуру данных в формате JSON в указанном файле.

Обрабатывает FontManager и его поля. Пути к файлам, которые являются подпапками пути к данным Matplotlib (обычно, шрифты, поставляемые с Matplotlib), хранятся относительно этого пути к данным (чтобы оставаться валидными в разных virtualenv).

matplotlib.font_manager.json_load(filename) [source]

Загружает структуру данных в формате JSON из указанного файла.

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

matplotlib.font_manager.list_fonts(directory, extensions) [source]

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

matplotlib.font_manager.ttfFontProperty(font) [source]

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

Параметры:
font : FT2Font

Файл шрифта 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'.

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/3.0.0/api/font_manager_api.html

Spec-Zone.ru

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