matplotlib.afm#

Atención

Este módulo se considera interno.

Su uso está en desuso y se eliminará en una versión futura.

Una interfaz de python para Adobe Font Metrics Files.

Aunque existen otras implementaciones de Python, y pueden ser más completas que esta, se decidió no utilizarlas porque eran:

  1. con derechos de autor o usó una licencia no compatible con BSD

  2. tenía demasiadas dependencias y se necesitaba una biblioteca independiente

  3. hizo más de lo necesario y fue más fácil escribir de nuevo en lugar de averiguar cómo obtener justo lo que se necesitaba.

Es bastante fácil de usar y no tiene dependencias externas:

>>> import matplotlib as mpl
>>> from pathlib import Path
>>> afm_path = Path(mpl.get_data_path(), 'fonts', 'afm', 'ptmr8a.afm')
>>>
>>> from matplotlib.afm import AFM
>>> with afm_path.open('rb') as fh:
...     afm = AFM(fh)
>>> afm.string_width_height('What the heck?')
(6220.0, 694)
>>> afm.get_fontname()
'Times-Roman'
>>> afm.get_kern_dist('A', 'f')
0
>>> afm.get_kern_dist('A', 'y')
-92.0
>>> afm.get_bbox_char('!')
[130, -9, 238, 676]

Al igual que en la Especificación de formato de archivo de Adobe Font Metrics, todas las dimensiones se proporcionan en unidades de 1/1000 del factor de escala (tamaño en puntos) de la fuente que se utiliza.

clase matplotlib._afm. AFM ( fh ) [fuente] #

Bases:object

Analice el archivo AFM en el objeto de archivo fh .

propiedad family_name #

El nombre de la familia de fuentes, por ejemplo, 'Times'.

get_angle ( ) [fuente] #

Devuelve el ángulo de fuente como flotante.

get_bbox_char ( c , isord = Falso ) [fuente] #
get_capheight ( ) [fuente] #

Devuelve la altura de la tapa como flotador.

get_nombre de familia ( ) [fuente] #

Devuelve el nombre de la familia de fuentes, por ejemplo, 'Times'.

get_fontname ( ) [fuente] #

Devuelve el nombre de la fuente, por ejemplo, 'Times-Roman'.

get_fullname ( ) [fuente] #

Devuelve el nombre completo de la fuente, por ejemplo, 'Times-Roman'.

get_height_char ( c , isord = False ) [fuente] #

Obtenga la altura del cuadro delimitador (tinta) del carácter c (el espacio es 0).

get_horizontal_stem_width ( ) [fuente] #

Devuelve el ancho de tallo horizontal estándar como flotante, o Ninguno si no se especifica en el archivo AFM.

get_kern_dist ( c1 , c2 ) [fuente] #

Devuelve la distancia del par de interletraje (posiblemente 0) para los caracteres c1 y c2 .

get_kern_dist_from_name ( nombre1 , nombre2 ) [fuente] #

Devuelve la distancia del par de interletraje (posiblemente 0) para los caracteres nombre1 y nombre2 .

get_name_char ( c , isord = False ) [fuente] #

Obtenga el nombre del carácter, es decir, ';' es 'punto y coma'.

get_str_bbox ( s ) [fuente] #

Devuelve el cuadro delimitador de cadena.

get_str_bbox_and_descent ( s ) [fuente] #

Devuelve el cuadro delimitador de cadena y el descenso máximo.

get_underline_thickness ( ) [fuente] #

Devuelve el grosor del subrayado como flotante.

get_vertical_stem_width ( ) [fuente] #

Devuelve el ancho de tallo vertical estándar como flotante, o Ninguno si no se especifica en el archivo AFM.

get_weight ( ) [fuente] #

Devuelve el peso de la fuente, por ejemplo, 'Negrita' o 'Romana'.

get_width_char ( c , isord = Falso ) [fuente] #

Obtenga el ancho del carácter del campo WX de la métrica de caracteres.

get_width_from_char_name ( nombre ) [fuente] #

Obtenga el ancho del carácter a partir de un nombre de carácter de tipo 1.

get_xheight ( ) [fuente] #

Devuelve la altura x como flotante.

propiedad postscript_name #
string_width_height ( s ) [fuente] #

Devuelve el ancho de la cadena (incluido el interletraje) y la altura de la cadena como una tupla ( w , h ).

clase matplotlib._afm. CharMetrics ( ancho , nombre , bbox ) [fuente] #

Bases:tuple

Representa las métricas de carácter de un único carácter.

notas

Actualmente, los campos solo describen un subconjunto de información de métricas de caracteres definida en el estándar AFM.

Crear una nueva instancia de CharMetrics (ancho, nombre, bbox)

bbox #

El bbox del carácter (B) como una tupla ( llx , lly , urx , ury ).

nombre #

El nombre del personaje (N).

ancho #

El ancho de carácter (WX).

clase matplotlib._afm. CompositePart ( nombre , dx , dy ) [fuente] #

Bases:tuple

Representa la información sobre un elemento compuesto de un char compuesto.

Crear una nueva instancia de CompositePart (nombre, dx, dy)

dx #

x-desplazamiento de la pieza desde el origen.

día #

y-desplazamiento de la pieza desde el origen.

nombre #

Nombre de la parte, por ejemplo, 'aguda'.