matplotlib.dviread#

Un módulo para leer archivos dvi generados por TeX. Varias limitaciones hacen que esto no sea (actualmente) útil como un preprocesador dvi de propósito general, pero actualmente lo usa el backend pdf para procesar texto usetex.

Interfaz:

with Dvi(filename, 72) as dvi:
    # iterate over pages:
    for page in dvi:
        w, h, d = page.width, page.height, page.descent
        for x, y, font, glyph, width in page.text:
            fontname = font.texname
            pointsize = font.size
            ...
        for x, y, height, width in page.boxes:
            ...
clase matplotlib.dviread. Dvi ( nombre de archivo , dpi ) [fuente] #

Bases:object

Un lector para un archivo dvi ("independiente del dispositivo"), producido por TeX.

La implementación actual solo puede iterar a través de las páginas en orden y ni siquiera intenta verificar el epílogo.

Esta clase se puede usar como administrador de contexto para cerrar el archivo subyacente al salir. Las páginas se pueden leer mediante iteración. Aquí hay una forma demasiado simple de extraer texto sin intentar detectar espacios en blanco:

>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi:
...     for page in dvi:
...         print(''.join(chr(t.glyph) for t in page.text))

Lea los datos del archivo llamado nombre de archivo y convierta las unidades internas de TeX a unidades de dpi por pulgada. dpi solo establece las unidades y no limita la resolución. Utilice Ninguno para devolver las unidades internas de TeX.

línea base de propiedad [fuente] #
cerrar ( ) [fuente] #

Cierre el archivo subyacente si está abierto.

clase matplotlib.dviread. DviFont ( escala , tfm , texname , vf ) [fuente] #

Bases:object

Encapsulación de una fuente a la que puede hacer referencia un archivo DVI.

Esta clase contiene el nombre de texto y el tamaño de una fuente, admite la comparación y conoce el ancho de los glifos en las mismas unidades que el archivo AFM. También hay atributos internos (para uso de dviread.py) que no se usan para comparar.

El tamaño está en puntos Adobe (convertidos de puntos TeX).

Parámetros :
flotador de escala

Factor por el cual la fuente se escala desde su tamaño natural.

tfm tfm

Métricas de fuente TeX para esta fuente

bytes de nombre de texto

Nombre de la fuente tal como la usan internamente TeX y sus amigos, como una cadena de bytes ASCII. Esto suele ser muy diferente de cualquier nombre de fuente externo; PsfontsMapse puede utilizar para encontrar el nombre externo de la fuente.

vf vf

Un archivo de "fuente virtual" TeX, o Ninguno si esta fuente no es virtual.

Atributos :
bytes de nombre de texto
flotador de tamaño

Tamaño de la fuente en puntos Adobe, convertido a partir de los puntos TeX ligeramente más pequeños.

lista de anchos

Anchos de glifos en unidades de espacio de glifo, normalmente 1/1000 del tamaño en puntos.

tamaño #
nombre de texto #
anchos #
clase matplotlib.dviread. PsFont ( textname , psname , efectos , codificación , nombre de archivo ) [fuente] #

Bases:tuple

Cree una nueva instancia de PsFont (textname, psname, efectos, codificación, nombre de archivo)

efectos #

Alias ​​para el campo número 2

codificación #

Alias ​​para el campo número 3

nombre de archivo #

Alias ​​para el campo número 4

psname #

Alias ​​para el campo número 1

nombre de texto #

Alias ​​para el número de campo 0

clase matplotlib.dviread. PsfontsMap ( nombre de archivo ) [fuente] #

Bases:object

Un archivo con formato psfonts.map, que asigna fuentes TeX a fuentes PS.

Parámetros :
nombre de archivo str o ruta similar

notas

Por razones históricas, TeX conoce muchas fuentes Type-1 con nombres diferentes a los del mundo exterior. (Por un lado, los nombres deben caber en ocho caracteres). Además, las fuentes nativas de TeX no son Type-1 sino Metafont, que no es trivial para convertir a PostScript, excepto como un mapa de bits. Si bien existen conversiones de alta calidad al formato Type-1 y se envían con distribuciones modernas de TeX, necesitamos saber qué fuentes Type-1 son las contrapartes de qué fuentes nativas. Por estas razones, se necesita una asignación de nombres de fuentes internas a nombres de archivos de fuentes.

Un árbol texmf generalmente incluye archivos de mapeo llamados eg psfonts.map, pdftex.mapo dvipdfm.map. El archivo es psfonts.maputilizado por dvips , pdfTeX y dvipdfm . podría evitar incrustar las 35 fuentes PostScript (es decir, no tener un nombre de archivo para ellas, como en el ejemplo de Times-Bold anterior), mientras que los archivos relacionados con pdf quizás solo eviten las fuentes pdf "Base 14". Pero el usuario puede haber configurado estos archivos de manera diferente.pdftex.mapdvipdfm.mappsfonts.map

Ejemplos

>>> map = PsfontsMap(find_tex_file('pdftex.map'))
>>> entry = map[b'ptmbo8r']
>>> entry.texname
b'ptmbo8r'
>>> entry.psname
b'Times-Bold'
>>> entry.encoding
'/usr/local/texlive/2008/texmf-dist/fonts/enc/dvips/base/8r.enc'
>>> entry.effects
{'slant': 0.16700000000000001}
>>> entry.filename
clase matplotlib.dviread. Tfm ( nombre de archivo ) [fuente] #

Bases:object

Un archivo métrico de fuente TeX.

Esta implementación cubre solo lo mínimo que necesita la clase Dvi.

Parámetros :
nombre de archivo str o ruta similar
Atributos :
suma de comprobación int

Se utiliza para verificar contra el archivo dvi.

diseño_tamaño int

Tamaño de diseño de la fuente (unidades desconocidas)

ancho, alto, profundidad dict

Las dimensiones de cada carácter deben escalarse según el factor especificado en el archivo dvi. Estos son dictados porque la indexación puede no comenzar desde 0.

suma de control #
profundidad #
diseño_tamaño #
altura #
ancho #
clase matplotlib.dviread. Vf ( nombre de archivo ) [fuente] #

Bases:Dvi

Una fuente virtual (archivo *.vf) que contiene subrutinas para archivos dvi.

Parámetros :
nombre de archivo str o ruta similar

notas

El formato de fuente virtual es un derivado de dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts Esta clase reutiliza parte de la maquinaria Dvi pero reemplaza el _readmecanismo de bucle y envío.

Ejemplos

vf = Vf(filename)
glyph = vf[code]
glyph.text, glyph.boxes, glyph.width

Lea los datos del archivo llamado nombre de archivo y convierta las unidades internas de TeX a unidades de dpi por pulgada. dpi solo establece las unidades y no limita la resolución. Utilice Ninguno para devolver las unidades internas de TeX.

matplotlib.dviread. find_tex_file ( nombre de archivo , format=< parámetro obsoleto> ) [fuente] #

Encuentre un archivo en el árbol texmf usando kpathsea .

La biblioteca kpathsea, proporcionada por la mayoría de las distribuciones TeX existentes, tanto en sistemas tipo Unix como en Windows (MikTeX), se invoca mediante un proceso luatex de larga duración si luatex está instalado, o mediante kpse, en caso contrario.

Parámetros :
nombre de archivo str o ruta similar
formato str o bytes

Se usa como el valor de la --formatopción para kpsewhich . Podría ser, por ejemplo, 'tfm' o 'vf' para limitar la búsqueda a ese tipo de archivos. Obsoleto.

aumenta :
Error de archivo no encontrado

Si no se encuentra el archivo.