matplotlib.font_manager#

Un módulo para encontrar, administrar y usar fuentes en todas las plataformas.

Este módulo proporciona una FontManagerinstancia única fontManager, que se puede compartir entre backends y plataformas. La findfont función devuelve el mejor archivo de fuente TrueType (TTF) en la ruta de fuente local o del sistema que coincide con la FontProperties instancia especificada. También FontManagermaneja archivos de fuentes Adobe Font Metrics (AFM) para que los use el backend de PostScript.

El diseño se basa en la hoja de estilo en cascada del W3C, especificación de fuente de nivel 1 (CSS1) . Las versiones futuras pueden implementar las especificaciones de nivel 2 o 2.1.

clase matplotlib.font_manager. FontManager ( tamaño = Ninguno , peso = 'normal' ) [fuente] #

Bases:object

Al importar, la FontManagerinstancia singleton crea una lista de fuentes ttf y afm y almacena en caché su archivo FontProperties. El FontManager.findfont método realiza una búsqueda del vecino más cercano para encontrar la fuente que más se acerque a la especificación. Si no se encuentra una coincidencia lo suficientemente buena, se devuelve la fuente predeterminada.

addfont ( ruta ) [fuente] #

Guarde en caché las propiedades de la fuente en la ruta para que esté disponible para el FontManager. El tipo de fuente se deduce del sufijo de ruta.

Parámetros :
ruta str o similar a una ruta
propiedad fuente por defecto #
findfont ( prop , fontex = 'ttf' , directorio = Ninguno , fallback_to_default = True , rebuild_if_missing = True ) [fuente] #

Encuentre una fuente que coincida lo más posible con las propiedades de fuente dadas.

Parámetros :
prop str oFontProperties

Las propiedades de la fuente a buscar. Puede ser un FontPropertiesobjeto o una cadena que defina un patrón fontconfig .

fuente de texto {'ttf', 'afm'}, por defecto: 'ttf'

La extensión del archivo de fuente:

  • 'ttf': fuentes TrueType y OpenType (.ttf, .ttc, .otf)

  • 'afm': Métricas de fuentes de Adobe (.afm)

directorio str, opcional

Si se proporciona, solo busque en este directorio y sus subdirectorios.

fallback_to_default booleano

Si es Verdadero, volverá a la familia de fuentes predeterminada (generalmente "DejaVu Sans" o "Helvetica") si la primera búsqueda falla.

booleano rebuild_if_missing

Si reconstruir la caché de fuentes y buscar de nuevo si la primera coincidencia parece apuntar a una fuente que no existe (es decir, la caché de fuentes contiene entradas obsoletas).

Devoluciones :
calle

El nombre de archivo de la mejor fuente coincidente.

notas

Esto realiza una búsqueda de vecino más cercano. Cada fuente recibe una puntuación de similitud con las propiedades de la fuente de destino. Se devuelve la primera fuente con la puntuación más alta. Si no se encuentran coincidencias por debajo de un cierto umbral, se devuelve la fuente predeterminada (generalmente DejaVu Sans).

El resultado se almacena en caché, por lo que las búsquedas posteriores no tienen que realizar la búsqueda del vecino más cercano O(n).

Consulte la documentación de la hoja de estilo en cascada W3C, nivel 1 para obtener una descripción del algoritmo de búsqueda de fuentes.

estático get_default_size ( ) [fuente] #

Devuelve el tamaño de fuente predeterminado.

get_default_weight ( ) [fuente] #

Devuelve el peso de fuente predeterminado.

get_font_names ( ) [fuente] #

Devuelve la lista de fuentes disponibles.

score_family ( familias , familia2 ) [fuente] #

Devuelve una puntuación de coincidencia entre la lista de familias de fuentes en familias y el nombre de la familia de fuentes family2 .

Una coincidencia exacta al principio de la lista devuelve 0,0.

Una coincidencia más abajo en la lista devolverá entre 0 y 1.

Ningún partido volverá 1.0.

score_size ( tamaño1 , tamaño2 ) [fuente] #

Devuelve una puntuación de coincidencia entre size1 y size2 .

Si size2 (el tamaño especificado en el archivo de fuente) es 'escalable', esta función siempre devuelve 0.0, ya que se puede generar cualquier tamaño de fuente.

De lo contrario, el resultado es la distancia absoluta entre size1 y size2 , normalizada de modo que el rango habitual de tamaños de fuente (6pt - 72pt) estará entre 0,0 y 1,0.

score_stretch ( stretch1 , stretch2 ) [fuente] #

Devuelve una puntuación de coincidencia entre stretch1 y stretch2 .

El resultado es el valor absoluto de la diferencia entre los valores numéricos CSS de stretch1 y stretch2 , normalizados entre 0,0 y 1,0.

score_style ( estilo1 , estilo2 ) [fuente] #

Devuelve una puntuación de coincidencia entre style1 y style2 .

Una coincidencia exacta devuelve 0.0.

Una coincidencia entre 'cursiva' y 'oblicua' devuelve 0,1.

Ningún partido devuelve 1.0.

score_variant ( variante1 , variante2 ) [fuente] #

Devuelve una puntuación de coincidencia entre variant1 y variant2 .

Una coincidencia exacta devuelve 0,0; de lo contrario, 1,0.

score_weight ( peso1 , peso2 ) [fuente] #

Devuelve una puntuación de coincidencia entre peso1 y peso2 .

El resultado es 0.0 si tanto el peso 1 como el peso 2 se dan como cadenas y tienen el mismo valor.

De lo contrario, el resultado es el valor absoluto de la diferencia entre los valores numéricos de CSS de peso1 y peso2 , normalizado entre 0,05 y 1,0.

set_default_weight ( peso ) [fuente] #

Establezca el peso de fuente predeterminado. El valor inicial es 'normal'.

clase matplotlib.font_manager. FontProperties ( familia = Ninguno , estilo = Ninguno , variante = Ninguno , peso = Ninguno , estiramiento = Ninguno , tamaño = Ninguno , fname = Ninguno , math_fontfamily = Ninguno ) [fuente] #

Bases:object

Una clase para almacenar y manipular propiedades de fuentes.

Las propiedades de la fuente son las seis propiedades descritas en la hoja de estilo en cascada del W3C, especificación de fuente de nivel 1 y math_fontfamily para fuentes matemáticas:

  • familia: Una lista de nombres de fuentes en orden decreciente de prioridad. Los elementos pueden incluir un nombre de familia de fuente genérico, ya sea 'sans-serif', 'serif', 'cursive', 'fantasy' o 'monospace'. En ese caso, la fuente real que se utilizará se buscará en el rcParam asociado durante el proceso de búsqueda en findfont. Predeterminado: rcParams["font.family"](predeterminado: ['sans-serif'])

  • estilo: 'normal', 'cursiva' u 'oblicuo'. Predeterminado: rcParams["font.style"](predeterminado: 'normal')

  • variante: 'normal' o 'pequeña capitalización'. Predeterminado: rcParams["font.variant"](predeterminado: 'normal')

  • stretch: Un valor numérico en el rango 0-1000 o uno de 'ultracondensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandida' o 'ultra-expandida'. Predeterminado: rcParams["font.stretch"](predeterminado: 'normal')

  • Peso: Un valor numérico en el rango 0-1000 o uno de 'ultraligero', 'ligero', 'normal', 'regular', 'libro', 'medio', 'romano', 'semibold', 'demibold', 'demi', 'negrita', 'pesado', 'extra negrita', 'negro'. Predeterminado: rcParams["font.weight"](predeterminado: 'normal')

  • tamaño: un valor relativo de 'xx-pequeño', 'x-pequeño', 'pequeño', 'mediano', 'grande', 'x-grande', 'xx-grande' o un tamaño de fuente absoluto, por ejemplo, 10. Predeterminado: rcParams["font.size"](predeterminado: 10.0)

  • math_fontfamily: la familia de fuentes utilizadas para representar texto matemático. Los valores admitidos son: 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' y 'custom'. Predeterminado: rcParams["mathtext.fontset"](predeterminado: 'dejavusans')

Alternativamente, se puede especificar una fuente usando la ruta absoluta a un archivo de fuente, usando fname kwarg. Sin embargo, en este caso, normalmente es más sencillo simplemente pasar la ruta (como pathlib.Path, no como str) a la fuente kwarg del Textobjeto.

El uso preferido de los tamaños de fuente es usar los valores relativos, por ejemplo, 'grande', en lugar de tamaños de fuente absolutos, por ejemplo, 12. Este enfoque permite que todos los tamaños de texto se hagan más grandes o más pequeños según el tamaño de fuente predeterminado del administrador de fuentes.

Esta clase también aceptará un patrón fontconfig , si es el único argumento proporcionado. Este soporte no depende de fontconfig; simplemente estamos tomando prestada su sintaxis de patrón para usarla aquí.

Tenga en cuenta que el administrador de fuentes interno de Matplotlib y fontconfig usan un algoritmo diferente para buscar fuentes, por lo que los resultados del mismo patrón pueden ser diferentes en Matplotlib que en otras aplicaciones que usan fontconfig.

copiar ( ) [fuente] #

Devuelve una copia de ti mismo.

get_family ( ) [fuente] #

Devuelve una lista de nombres de familias de fuentes individuales o nombres de familias genéricos.

Las familias de fuentes o las familias de fuentes genéricas (que se resolverán a partir de sus respectivos rcParams al buscar una fuente coincidente) en el orden de preferencia.

get_file ( ) [fuente] #

Devuelve el nombre de archivo de la fuente asociada.

get_fontconfig_pattern ( ) [fuente] #

Obtenga un patrón fontconfig adecuado para buscar la fuente como se especifica con la utilidad de fontconfig.fc-match

Este soporte no depende de fontconfig; simplemente estamos tomando prestada su sintaxis de patrón para usarla aquí.

get_math_fontfamily ( ) [fuente] #

Devuelve el nombre de la familia de fuentes utilizada para el texto matemático.

La fuente predeterminada es rcParams["mathtext.fontset"](predeterminada: 'dejavusans').

get_name ( ) [fuente] #

Devuelve el nombre de la fuente que mejor coincida con las propiedades de la fuente.

get_size ( ) [fuente] #

Devuelve el tamaño de fuente.

get_size_in_points ( ) [fuente] #

Devuelve el tamaño de fuente.

get_slant ( ) [fuente] #

Devuelve el estilo de fuente. Los valores son: 'normal', 'cursiva' u 'oblicua'.

get_stretch ( ) [fuente] #

Devuelve el estiramiento o el ancho de la fuente. Las opciones son: 'ultracondensado', 'extracondensado', 'condensado', 'semicondensado', 'normal', 'semiexpandido', 'expandido', 'extraexpandido', 'ultraexpandido' .

get_style ( ) [fuente] #

Devuelve el estilo de fuente. Los valores son: 'normal', 'cursiva' u 'oblicua'.

get_variant ( ) [fuente] #

Devuelve la variante de fuente. Los valores son: 'normal' o 'small-caps'.

get_weight ( ) [fuente] #

Establezca el peso de la fuente. Las opciones son: Un valor numérico en el rango 0-1000 o uno de 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi' , 'negrita', 'pesada', 'extra negrita', 'negra'

set_family ( familia ) [fuente] #

Cambiar la familia de fuentes. Puede ser un alias (el nombre genérico es lenguaje CSS), como: 'serif', 'sans-serif', 'cursive', 'fantasy' o 'monospace', un nombre de fuente real o una lista de nombres de fuentes reales . Los nombres de fuentes reales no se admiten cuando rcParams["text.usetex"](predeterminado: False) es True. Predeterminado: rcParams["font.family"](predeterminado: ['sans-serif'])

set_file ( archivo ) [fuente] #

Establezca el nombre de archivo del archivo de fuente a usar. En este caso, todas las demás propiedades serán ignoradas.

set_fontconfig_pattern ( patrón ) [fuente] #

Establezca las propiedades analizando un patrón fontconfig .

Este soporte no depende de fontconfig; simplemente estamos tomando prestada su sintaxis de patrón para usarla aquí.

set_math_fontfamily ( familia de fuentes ) [fuente] #

Configure la familia de fuentes para el texto en modo matemático.

Si no se establece explícitamente, se utilizará rcParams["mathtext.fontset"](predeterminado: 'dejavusans').

Parámetros :
familia de fuentes str

El nombre de la familia de fuentes.

Las familias de fuentes disponibles se definen en el archivo matplotlibrc.template aquí

set_name ( familia ) [fuente] #

Cambiar la familia de fuentes. Puede ser un alias (el nombre genérico es lenguaje CSS), como: 'serif', 'sans-serif', 'cursive', 'fantasy' o 'monospace', un nombre de fuente real o una lista de nombres de fuentes reales . Los nombres de fuentes reales no se admiten cuando rcParams["text.usetex"](predeterminado: False) es True. Predeterminado: rcParams["font.family"](predeterminado: ['sans-serif'])

set_size ( tamaño ) [fuente] #

Establezca el tamaño de fuente.

Parámetros :
tamaño flotante o {'xx-pequeño', 'x-pequeño', 'pequeño', 'mediano', 'grande', 'x-grande', 'xx-grande'}, predeterminado: rcParams["font.size"](predeterminado: 10.0)

Si es flotante, el tamaño de la fuente en puntos. Los valores de cadena indican tamaños relativos al tamaño de fuente predeterminado.

set_slant ( estilo ) [fuente] #

Establezca el estilo de fuente.

Parámetros :
estilo {'normal', 'cursiva', 'oblicuo'}, predeterminado: rcParams["font.style"](predeterminado: 'normal')
set_stretch ( estiramiento ) [fuente] #

Establezca el estiramiento o el ancho de la fuente.

Parámetros :
estirar int o {'ultra-condensado', 'extra-condensado', 'condensado', 'semi-condensado', 'normal', 'semi-expandido', 'expandido', 'extra-expandido', 'ultra-expandido '}, predeterminado: rcParams["font.stretch"](predeterminado: 'normal')

Si es int, debe estar en el rango 0-1000.

set_style ( estilo ) [fuente] #

Establezca el estilo de fuente.

Parámetros :
estilo {'normal', 'cursiva', 'oblicuo'}, predeterminado: rcParams["font.style"](predeterminado: 'normal')
set_variant ( variante ) [fuente] #

Establezca la variante de fuente.

Parámetros :
variante {'normal', 'small-caps'}, por defecto: rcParams["font.variant"](por defecto: 'normal')
set_weight ( peso ) [fuente] #

Establezca el peso de la fuente.

Parámetros :
peso int o {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra negrita', 'negro'}, predeterminado: rcParams["font.weight"](predeterminado: 'normal')

Si es int, debe estar en el rango 0-1000.

matplotlib.font_manager. afmFontProperty ( ruta de fuente , fuente ) [fuente] #

Extraiga información de un archivo de fuente AFM.

Parámetros :
fuente AFM

El archivo de fuente AFM del que se extraerá la información.

Devoluciones :
FontEntry

Las propiedades de fuente extraídas.

matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontex = 'ttf' ) [fuente] #

Busque fuentes en las rutas de fuentes especificadas. Si no se proporcionan rutas, utilizará un conjunto estándar de rutas del sistema, así como la lista de fuentes rastreadas por fontconfig si fontconfig está instalado y disponible. Se devuelve una lista de fuentes TrueType de forma predeterminada con fuentes AFM como opción.

matplotlib.font_manager. findfont ( prop , fontex = 'ttf' , directorio = Ninguno , fallback_to_default = True , rebuild_if_missing = True ) [fuente] #

Encuentre una fuente que coincida lo más posible con las propiedades de fuente dadas.

Parámetros :
prop str oFontProperties

Las propiedades de la fuente a buscar. Puede ser un FontPropertiesobjeto o una cadena que defina un patrón fontconfig .

fuente de texto {'ttf', 'afm'}, por defecto: 'ttf'

La extensión del archivo de fuente:

  • 'ttf': fuentes TrueType y OpenType (.ttf, .ttc, .otf)

  • 'afm': Métricas de fuentes de Adobe (.afm)

directorio str, opcional

Si se proporciona, solo busque en este directorio y sus subdirectorios.

fallback_to_default booleano

Si es Verdadero, volverá a la familia de fuentes predeterminada (generalmente "DejaVu Sans" o "Helvetica") si la primera búsqueda falla.

booleano rebuild_if_missing

Si reconstruir la caché de fuentes y buscar de nuevo si la primera coincidencia parece apuntar a una fuente que no existe (es decir, la caché de fuentes contiene entradas obsoletas).

Devoluciones :
calle

El nombre de archivo de la mejor fuente coincidente.

notas

Esto realiza una búsqueda de vecino más cercano. Cada fuente recibe una puntuación de similitud con las propiedades de la fuente de destino. Se devuelve la primera fuente con la puntuación más alta. Si no se encuentran coincidencias por debajo de un cierto umbral, se devuelve la fuente predeterminada (generalmente DejaVu Sans).

El resultado se almacena en caché, por lo que las búsquedas posteriores no tienen que realizar la búsqueda del vecino más cercano O(n).

Consulte la documentación de la hoja de estilo en cascada W3C, nivel 1 para obtener una descripción del algoritmo de búsqueda de fuentes.

matplotlib.font_manager. get_font ( font_filepaths , hinting_factor = Ninguno ) [fuente] #

Obtenga un ft2font.FT2Fontobjeto dada una lista de rutas de archivos.

Parámetros :
font_filepaths Iterable[cadena, Ruta, bytes], cadena, Ruta, bytes

Rutas relativas o absolutas a los archivos de fuentes que se utilizarán.

Si es una sola cadena, bytes o pathlib.Path, se tratará como una lista con solo esa entrada.

Si se pasa más de una ruta de archivo, el objeto FT2Font devuelto retrocederá a través de las fuentes, en el orden dado, para encontrar el glifo necesario.

Devoluciones :
ft2font.FT2Font
matplotlib.font_manager. get_font_names ( ) [fuente] #

Devuelve la lista de fuentes disponibles.

matplotlib.font_manager. get_fontconfig_fonts ( fontex = 'ttf' ) [fuente] #

[ Obsoleto ] Muestra los nombres de archivos de fuentes que se sabe que fc-listtienen la extensión dada.

notas

En desuso desde la versión 3.5.

matplotlib.font_manager. get_fontex_synonyms ( fonttext ) [fuente] #

Devuelve una lista de extensiones de archivo que son sinónimos de la extensión de archivo dada fileext .

matplotlib.font_manager. is_opentype_cff_font ( nombre de archivo ) [fuente] #

Devuelve si la fuente dada es una fuente de formato de fuente compacta Postscript incrustada en un contenedor OpenType. Utilizado por los backends de PostScript y PDF que no pueden subdividir estas fuentes.

matplotlib.font_manager. json_dump ( datos , nombre de archivo ) [fuente] #

Volcar datos como JSON en el archivo denominado filename .FontManager

Ver también

json_load

notas

Las rutas de archivo que son elementos secundarios de la ruta de datos de Matplotlib (por lo general, las fuentes enviadas con Matplotlib) se almacenan en relación con esa ruta de datos (para que sigan siendo válidas en todos los entornos virtuales).

Esta función bloquea temporalmente el archivo de salida para evitar que varios procesos sobrescriban la salida de otros.

matplotlib.font_manager. json_load ( nombre de archivo ) [fuente] #

Cargue un FontManagerdesde el archivo JSON llamado filename .

Ver también

json_dump
matplotlib.font_manager. list_fonts ( directorio , extensiones ) [fuente] #

Devuelve una lista de todas las fuentes que coinciden con cualquiera de las extensiones, que se encuentran recursivamente en el directorio.

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

Extraiga información de un archivo de fuente TrueType.

Parámetros :
fuenteFT2Font

El archivo de fuente TrueType del que se extraerá la información.

Devoluciones :
FontEntry

Las propiedades de fuente extraídas.

matplotlib.font_manager. win32FontDirectory ( ) [fuente] #

Devuelve el directorio de fuentes especificado por el usuario para Win32. Esto se busca desde la clave de registro.

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

Si la clave no se encuentra, %WINDIR%\Fontsserá devuelta.

matplotlib.font_manager. win32InstalledFonts ( directorio = Ninguno , fontext = 'ttf' ) [fuente] #

[ Obsoleto ] Busque fuentes en el directorio de fuentes especificado, o use los directorios del sistema si no se proporciona ninguno. Además, se busca las fuentes de usuario instaladas. De forma predeterminada, se devuelve una lista de nombres de archivos de fuentes TrueType, o fuentes AFM si fontex == 'afm'.

notas

En desuso desde la versión 3.5.

clase matplotlib.font_manager. FontEntry ( fname : str = '' , name : str = '' , style : str = 'normal' , variant : str = 'normal' , weight : str = 'normal' , stretch : str = 'normal' , size : str = 'medio' ) #

Una clase para almacenar propiedades de fuente.

Se utiliza al rellenar el diccionario de búsqueda de fuentes.