matplotlib.font_manager
#
Um módulo para localizar, gerenciar e usar fontes em várias plataformas.
Este módulo fornece uma única FontManager
instâ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 FontManager
també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
FontManager
instância singleton cria uma lista de fontes ttf e afm e armazena em cache seus arquivosFontProperties
. OFontManager.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 ou
FontProperties
As propriedades da fonte a serem pesquisadas. Isso pode ser um
FontProperties
objeto 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).
- prop str ou
- 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.
- 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.
- 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 umstr
) para a fonte kwarg doText
objeto.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.
- 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_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_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_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
Veja também
- 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.
- tamanho float ou {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, 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'
)
- estilo {'normal', 'itálico', 'oblíquo'}, padrão:
- 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.
- stretch int ou {'ultra-condensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandido', 'ultra-expandido '}, padrão:
- 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'
)
- estilo {'normal', 'itálico', 'oblíquo'}, padrão:
- set_variant ( variante ) [fonte] #
Defina a variante da fonte.
- Parâmetros :
- variante {'normal', 'small-caps'}, padrão:
rcParams["font.variant"]
(padrão:'normal'
)
- variante {'normal', 'small-caps'}, padrão:
- 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.
- peso int ou {'ultraleve', 'leve', 'normal', 'regular', 'livro', 'médio', 'romano', 'semibold', 'demibold', 'demi', 'negrito', 'pesado ', 'extra negrito', 'preto'}, padrão:
- 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 ou
FontProperties
As propriedades da fonte a serem pesquisadas. Isso pode ser um
FontProperties
objeto 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).
- prop str ou
- 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.FT2Font
objeto 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 :
- matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [fonte] #
[ Obsoleto ] Lista nomes de arquivos de fontes conhecidos por
fc-list
terem 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
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
FontManager
do arquivo JSON chamado filename .Veja também
- 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.
- 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%\Fonts
será 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.