matplotlib.font_manager#

Um módulo para localizar, gerenciar e usar fontes em várias plataformas.

Este módulo fornece uma única FontManagerinstância, fontManager, que pode ser compartilhada entre back-ends e plataformas. A findfont função retorna o melhor arquivo de fonte TrueType (TTF) no caminho de fonte local ou do sistema que corresponde à FontProperties instância especificada. O FontManagertambém lida com arquivos de fonte Adobe Font Metrics (AFM) para uso pelo back-end PostScript.

O design é baseado na especificação de fonte W3C Cascading Style Sheet, Level 1 (CSS1) . Versões futuras podem implementar as especificações de Nível 2 ou 2.1.

classe matplotlib.font_manager. FontManager ( tamanho = Nenhum , peso = 'normal' ) [fonte] #

Bases:object

Na importação, a FontManagerinstância singleton cria uma lista de fontes ttf e afm e armazena em cache seus arquivos FontProperties. O FontManager.findfont método faz uma pesquisa de vizinho mais próximo para encontrar a fonte que mais se aproxima da especificação. Se nenhuma correspondência boa o suficiente for encontrada, a fonte padrão será retornada.

addfont ( caminho ) [fonte] #

Armazene em cache as propriedades da fonte no caminho para disponibilizá-la ao arquivo FontManager. O tipo de fonte é inferido a partir do sufixo do caminho.

Parâmetros :
path str ou path-like
propriedade defaultFont #
findfont ( prop , fontext = 'ttf' , diretório = None , fallback_to_default = True , reconstruir_if_missing = True ) [source] #

Encontre uma fonte que mais se aproxime das propriedades da fonte fornecidas.

Parâmetros :
prop str ouFontProperties

As propriedades da fonte a serem pesquisadas. Isso pode ser um FontPropertiesobjeto ou uma string definindo padrões de fontconfig .

fontext {'ttf', 'afm'}, padrão: 'ttf'

A extensão do arquivo de fonte:

  • 'ttf': fontes TrueType e OpenType (.ttf, .ttc, .otf)

  • 'afm': Adobe Font Metrics (.afm)

diretório str, opcional

Se fornecido, pesquise apenas este diretório e seus subdiretórios.

fallback_to_default bool

Se True, retornará para a família de fontes padrão (geralmente "DejaVu Sans" ou "Helvetica") se a primeira pesquisa falhar.

reconstruir_se_faltar bool

Se o cache de fontes deve ser reconstruído e pesquisado novamente se a primeira correspondência parecer apontar para uma fonte inexistente (ou seja, o cache de fontes contém entradas desatualizadas).

Devoluções :
str

O nome de arquivo da melhor fonte correspondente.

Notas

Isso executa uma pesquisa de vizinho mais próximo. Cada fonte recebe uma pontuação de similaridade com as propriedades da fonte de destino. A primeira fonte com a pontuação mais alta é retornada. Se nenhuma correspondência abaixo de um determinado limite for encontrada, a fonte padrão (geralmente DejaVu Sans) será retornada.

O resultado é armazenado em cache, portanto, as pesquisas subsequentes não precisam realizar a pesquisa O(n) do vizinho mais próximo.

Consulte a folha de estilo em cascata do W3C, documentação de nível 1 para obter uma descrição do algoritmo de localização de fontes.

static get_default_size ( ) [fonte] #

Retorna o tamanho de fonte padrão.

get_default_weight ( ) [fonte] #

Retorna o peso da fonte padrão.

get_font_names ( ) [fonte] #

Retorna a lista de fontes disponíveis.

score_family ( famílias , família2 ) [fonte] #

Retorna uma pontuação de correspondência entre a lista de famílias de fontes em famílias e o nome da família de fontes family2 .

Uma correspondência exata no início da lista retorna 0,0.

Uma correspondência mais abaixo na lista retornará entre 0 e 1.

Nenhuma correspondência retornará 1.0.

score_size ( size1 , size2 ) [fonte] #

Retorna uma pontuação de correspondência entre size1 e size2 .

Se size2 (tamanho especificado no arquivo de fonte) for 'escalável', esta função sempre retornará 0,0, pois qualquer tamanho de fonte pode ser gerado.

Caso contrário, o resultado é a distância absoluta entre size1 e size2 , normalizada para que a faixa usual de tamanhos de fonte (6pt - 72pt) fique entre 0,0 e 1,0.

score_stretch ( stretch1 , stretch2 ) [fonte] #

Retorna uma pontuação de correspondência entre stretch1 e stretch2 .

O resultado é o valor absoluto da diferença entre os valores numéricos CSS de stretch1 e stretch2 , normalizados entre 0,0 e 1,0.

score_style ( estilo1 , estilo2 ) [fonte] #

Retorna uma pontuação de correspondência entre style1 e style2 .

Uma correspondência exata retorna 0,0.

Uma correspondência entre 'itálico' e 'oblíquo' retorna 0,1.

Nenhuma correspondência retorna 1,0.

score_variant ( variante1 , variante2 ) [fonte] #

Retorna uma pontuação de correspondência entre a variante1 e a variante2 .

Uma correspondência exata retorna 0,0, caso contrário, 1,0.

score_weight ( peso1 , peso2 ) [fonte] #

Retorna uma pontuação de correspondência entre peso1 e peso2 .

O resultado é 0,0 se peso1 e peso 2 forem fornecidos como strings e tiverem o mesmo valor.

Caso contrário, o resultado é o valor absoluto da diferença entre os valores numéricos CSS de peso1 e peso2 , normalizados entre 0,05 e 1,0.

set_default_weight ( peso ) [fonte] #

Defina o peso padrão da fonte. O valor inicial é 'normal'.

classe matplotlib.font_manager. FontProperties ( família = Nenhum , estilo = Nenhum , variante = Nenhum , peso = Nenhum , trecho = Nenhum , tamanho = Nenhum , fname = Nenhum , math_fontfamily = Nenhum ) [source] #

Bases:object

Uma classe para armazenar e manipular as propriedades da fonte.

As propriedades da fonte são as seis propriedades descritas na folha de estilo em cascata do W3C, especificação de fonte de nível 1 e math_fontfamily para fontes matemáticas:

  • família: Uma lista de nomes de fontes em ordem decrescente de prioridade. Os itens podem incluir um nome de família de fonte genérico, 'sans-serif', 'serif', 'cursive', 'fantasy' ou 'monospace'. Nesse caso, a fonte real a ser usada será pesquisada no rcParam associado durante o processo de pesquisa em findfont. Padrão: rcParams["font.family"](padrão: ['sans-serif'])

  • estilo: 'normal', 'itálico' ou 'oblíquo'. Padrão: rcParams["font.style"](padrão: 'normal')

  • variante: 'normal' ou 'small-caps'. Padrão: rcParams["font.variant"](padrão: 'normal')

  • trecho: Um valor numérico no intervalo de 0-1000 ou um de 'ultra-condensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandido' ou 'ultra-expandido'. Padrão: rcParams["font.stretch"](padrão: 'normal')

  • peso: Um valor numérico no intervalo de 0-1000 ou um de 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'semibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'. Padrão: rcParams["font.weight"](padrão: 'normal')

  • size: Um valor relativo de 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large' ou um tamanho de fonte absoluto, por exemplo, 10. Padrão: rcParams["font.size"](padrão: 10.0)

  • math_fontfamily: A família de fontes usadas para renderizar texto matemático. Os valores suportados são: 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' e 'custom'. Padrão: rcParams["mathtext.fontset"](padrão: 'dejavusans')

Como alternativa, uma fonte pode ser especificada usando o caminho absoluto para um arquivo de fonte, usando o fname kwarg. No entanto, neste caso, normalmente é mais simples apenas passar o caminho (como um pathlib.Path, não um str) para a fonte kwarg do Textobjeto.

O uso preferencial de tamanhos de fonte é usar os valores relativos, por exemplo, 'large', em vez de tamanhos de fonte absolutos, por exemplo, 12. Essa abordagem permite que todos os tamanhos de texto sejam maiores ou menores com base no tamanho de fonte padrão do gerenciador de fontes.

Esta classe também aceitará um padrão fontconfig , se for o único argumento fornecido. Este suporte não depende do fontconfig; estamos apenas tomando emprestada sua sintaxe de padrão para uso aqui.

Observe que o gerenciador de fontes interno do Matplotlib e o fontconfig usam um algoritmo diferente para pesquisar fontes, portanto, os resultados do mesmo padrão podem ser diferentes no Matplotlib do que em outros aplicativos que usam o fontconfig.

copiar ( ) [fonte] #

Devolva uma cópia de si mesmo.

get_family ( ) [fonte] #

Retorna uma lista de nomes de famílias de fontes individuais ou nomes de famílias genéricas.

As famílias de fontes ou famílias de fontes genéricas (que serão resolvidas a partir de seus respectivos rcParams ao procurar uma fonte correspondente) na ordem de preferência.

get_file ( ) [fonte] #

Retorna o nome do arquivo da fonte associada.

get_fontconfig_pattern ( ) [fonte] #

Obtenha um padrão fontconfig adequado para procurar a fonte conforme especificado com o utilitário do fontconfig.fc-match

Este suporte não depende do fontconfig; estamos apenas tomando emprestada sua sintaxe de padrão para uso aqui.

get_math_fontfamily ( ) [fonte] #

Retorna o nome da família de fontes usada para o texto matemático.

A fonte padrão é rcParams["mathtext.fontset"](padrão: 'dejavusans').

get_name ( ) [fonte] #

Retorna o nome da fonte que melhor corresponde às propriedades da fonte.

get_size ( ) [fonte] #

Retorna o tamanho da fonte.

get_size_in_points ( ) [fonte] #

Retorna o tamanho da fonte.

get_slant ( ) [fonte] #

Retorna o estilo da fonte. Os valores são: 'normal', 'itálico' ou 'oblíquo'.

get_stretch ( ) [fonte] #

Retorna o alongamento ou largura da fonte. As opções são: 'ultra-condensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandido', 'ultra-expandido' .

get_style ( ) [fonte] #

Retorna o estilo da fonte. Os valores são: 'normal', 'itálico' ou 'oblíquo'.

get_variant ( ) [fonte] #

Retorne a variante da fonte. Os valores são: 'normal' ou 'small-caps'.

get_weight ( ) [fonte] #

Defina o peso da fonte. As opções são: Um valor numérico no intervalo de 0 a 1000 ou um de 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi' , 'negrito', 'pesado', 'extra negrito', 'preto'

set_family ( família ) [fonte] #

Altere a família da fonte. Pode ser um alias (o nome genérico é linguagem CSS), como: 'serif', 'sans-serif', 'cursive', 'fantasy' ou 'monospace', um nome de fonte real ou uma lista de nomes de fontes reais . Nomes de fontes reais não são suportados quando rcParams["text.usetex"](padrão: False) é True. Padrão: rcParams["font.family"](padrão: ['sans-serif'])

set_file ( arquivo ) [fonte] #

Defina o nome de arquivo do arquivo de fonte a ser usado. Nesse caso, todas as outras propriedades serão ignoradas.

set_fontconfig_pattern ( padrão ) [fonte] #

Defina as propriedades analisando um padrão fontconfig .

Este suporte não depende do fontconfig; estamos apenas tomando emprestada sua sintaxe de padrão para uso aqui.

set_math_fontfamily ( fontfamily ) [fonte] #

Defina a família de fontes para texto no modo matemático.

Se não for definido explicitamente, rcParams["mathtext.fontset"](padrão: 'dejavusans') será usado.

Parâmetros :
fontfamily str

O nome da família de fontes.

As famílias de fontes disponíveis são definidas no arquivo matplotlibrc.template aqui

set_name ( família ) [fonte] #

Altere a família da fonte. Pode ser um alias (o nome genérico é linguagem CSS), como: 'serif', 'sans-serif', 'cursive', 'fantasy' ou 'monospace', um nome de fonte real ou uma lista de nomes de fontes reais . Nomes de fontes reais não são suportados quando rcParams["text.usetex"](padrão: False) é True. Padrão: rcParams["font.family"](padrão: ['sans-serif'])

set_size ( tamanho ) [fonte] #

Defina o tamanho da fonte.

Parâmetros :
tamanho float ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, padrão: rcParams["font.size"](padrão: 10.0)

Se flutuante, o tamanho da fonte em pontos. Os valores de string denotam tamanhos relativos ao tamanho de fonte padrão.

set_slant ( estilo ) [fonte] #

Defina o estilo da fonte.

Parâmetros :
estilo {'normal', 'itálico', 'oblíquo'}, padrão: rcParams["font.style"](padrão: 'normal')
set_stretch ( stretch ) [fonte] #

Defina o alongamento ou a largura da fonte.

Parâmetros :
stretch int ou {'ultra-condensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandido', 'ultra-expandido '}, padrão: rcParams["font.stretch"](padrão: 'normal')

Se int, deve estar no intervalo 0-1000.

set_style ( estilo ) [fonte] #

Defina o estilo da fonte.

Parâmetros :
estilo {'normal', 'itálico', 'oblíquo'}, padrão: rcParams["font.style"](padrão: 'normal')
set_variant ( variante ) [fonte] #

Defina a variante da fonte.

Parâmetros :
variante {'normal', 'small-caps'}, padrão: rcParams["font.variant"](padrão: 'normal')
set_weight ( peso ) [fonte] #

Defina o peso da fonte.

Parâmetros :
peso int ou {'ultraleve', 'leve', 'normal', 'regular', 'livro', 'médio', 'romano', 'semibold', 'demibold', 'demi', 'negrito', 'pesado ', 'extra negrito', 'preto'}, padrão: rcParams["font.weight"](padrão: 'normal')

Se int, deve estar no intervalo 0-1000.

matplotlib.font_manager. afmFontProperty ( fontpath , fonte ) [fonte] #

Extraia informações de um arquivo de fonte AFM.

Parâmetros :
fonte AFM

O arquivo de fonte AFM do qual as informações serão extraídas.

Devoluções :
FontEntry

As propriedades da fonte extraídas.

matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontext = 'ttf' ) [source] #

Pesquise fontes nos caminhos de fonte especificados. Se nenhum caminho for fornecido, usará um conjunto padrão de caminhos do sistema, bem como a lista de fontes rastreadas pelo fontconfig se o fontconfig estiver instalado e disponível. Uma lista de fontes TrueType é retornada por padrão com fontes AFM como uma opção.

matplotlib.font_manager. findfont ( prop , fontext = 'ttf' , diretório = None , fallback_to_default = True , reconstruir_if_missing = True ) [source] #

Encontre uma fonte que mais se aproxime das propriedades da fonte fornecidas.

Parâmetros :
prop str ouFontProperties

As propriedades da fonte a serem pesquisadas. Isso pode ser um FontPropertiesobjeto ou uma string definindo padrões de fontconfig .

fontext {'ttf', 'afm'}, padrão: 'ttf'

A extensão do arquivo de fonte:

  • 'ttf': fontes TrueType e OpenType (.ttf, .ttc, .otf)

  • 'afm': Adobe Font Metrics (.afm)

diretório str, opcional

Se fornecido, pesquise apenas este diretório e seus subdiretórios.

fallback_to_default bool

Se True, retornará para a família de fontes padrão (geralmente "DejaVu Sans" ou "Helvetica") se a primeira pesquisa falhar.

reconstruir_se_faltar bool

Se o cache de fontes deve ser reconstruído e pesquisado novamente se a primeira correspondência parecer apontar para uma fonte inexistente (ou seja, o cache de fontes contém entradas desatualizadas).

Devoluções :
str

O nome de arquivo da melhor fonte correspondente.

Notas

Isso executa uma pesquisa de vizinho mais próximo. Cada fonte recebe uma pontuação de similaridade com as propriedades da fonte de destino. A primeira fonte com a pontuação mais alta é retornada. Se nenhuma correspondência abaixo de um determinado limite for encontrada, a fonte padrão (geralmente DejaVu Sans) será retornada.

O resultado é armazenado em cache, portanto, as pesquisas subsequentes não precisam realizar a pesquisa O(n) do vizinho mais próximo.

Consulte a folha de estilo em cascata do W3C, documentação de nível 1 para obter uma descrição do algoritmo de localização de fontes.

matplotlib.font_manager. get_font ( font_filepaths , hinting_factor = Nenhum ) [fonte] #

Obtenha um ft2font.FT2Fontobjeto com uma lista de caminhos de arquivo.

Parâmetros :
font_filepaths Iterable[str, Path, bytes], str, Path, bytes

Caminhos relativos ou absolutos para os arquivos de fonte a serem usados.

Se for uma única string, bytes ou pathlib.Path, será tratado como uma lista apenas com essa entrada.

Se mais de um caminho de arquivo for passado, o objeto FT2Font retornado retrocederá pelas fontes, na ordem fornecida, para encontrar um glifo necessário.

Devoluções :
ft2font.FT2Font
matplotlib.font_manager. get_font_names ( ) [fonte] #

Retorna a lista de fontes disponíveis.

matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [fonte] #

[ Obsoleto ] Lista nomes de arquivos de fontes conhecidos por fc-listterem a extensão fornecida.

Notas

Obsoleto desde a versão 3.5.

matplotlib.font_manager. get_fontext_synonyms ( fontext ) [fonte] #

Retorna uma lista de extensões de arquivo que são sinônimos para a extensão de arquivo fornecida fileext .

matplotlib.font_manager. is_opentype_cff_font ( nome do arquivo ) [fonte] #

Retorna se a fonte fornecida é uma fonte Postscript Compact Font Format incorporada em um wrapper OpenType. Usado pelos back-ends PostScript e PDF que não podem criar subconjuntos dessas fontes.

matplotlib.font_manager. json_dump ( dados , nome do arquivo ) [fonte] #

Despeje os dados como JSON no arquivo chamado filename .FontManager

Veja também

json_load

Notas

Caminhos de arquivo que são filhos do caminho de dados Matplotlib (normalmente, fontes enviadas com Matplotlib) são armazenados em relação a esse caminho de dados (para permanecerem válidos em virtualenvs).

Essa função bloqueia temporariamente o arquivo de saída para evitar que vários processos sobrescrevam a saída um do outro.

matplotlib.font_manager. json_load ( nome do arquivo ) [fonte] #

Carregue um FontManagerdo arquivo JSON chamado filename .

Veja também

json_dump
matplotlib.font_manager. list_fonts ( diretório , extensões ) [fonte] #

Retorna uma lista de todas as fontes correspondentes a qualquer uma das extensões, encontradas recursivamente no diretório.

matplotlib.font_manager. ttfFontProperty ( fonte ) [fonte] #

Extraia informações de um arquivo de fonte TrueType.

Parâmetros :
FonteFT2Font

O arquivo de fonte TrueType do qual as informações serão extraídas.

Devoluções :
FontEntry

As propriedades da fonte extraídas.

matplotlib.font_manager. win32FontDirectory ( ) [fonte] #

Retorna o diretório de fonte especificado pelo usuário para Win32. Isso é pesquisado na chave do registro

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

Se a chave não for encontrada, %WINDIR%\Fontsserá devolvida.

matplotlib.font_manager. win32InstalledFonts ( diretório = Nenhum , fontext = 'ttf' ) [fonte] #

[ Obsoleto ] Pesquise fontes no diretório de fontes especificado ou use os diretórios do sistema, se nenhum for fornecido. Além disso, são pesquisadas as fontes do usuário instaladas. Uma lista de nomes de arquivo de fonte TrueType é retornada por padrão, ou fontes AFM se fontext == 'afm'.

Notas

Obsoleto desde a versão 3.5.

classe matplotlib.font_manager. FontEntry ( fname : str = '' , nome : str = '' , estilo : str = 'normal' , variante : str = 'normal' , peso : str = 'normal' , trecho : str = 'normal' , tamanho : str = 'médio' ) #

Uma classe para armazenar propriedades de fonte.

Ele é usado ao preencher o dicionário de pesquisa de fontes.