matplotlib.dviread
#
Un modulo per leggere i file dvi generati da TeX. Diverse limitazioni rendono questo non (attualmente) utile come preprocessore dvi generico, ma è attualmente utilizzato dal backend pdf per l'elaborazione del testo usetex.
Interfaccia:
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:
...
- classe matplotlib.dviread. Dvi ( nome file , dpi ) [fonte] #
Basi:
object
Un lettore per un file dvi ("indipendente dal dispositivo"), come prodotto da TeX.
L'attuale implementazione può solo scorrere le pagine in ordine e non tenta nemmeno di verificare il postambolo.
Questa classe può essere utilizzata come gestore di contesto per chiudere il file sottostante all'uscita. Le pagine possono essere lette tramite iterazione. Ecco un modo eccessivamente semplice per estrarre il testo senza cercare di rilevare gli spazi bianchi:
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
Leggi i dati dal file denominato filename e converti le unità interne di TeX in unità di dpi per pollice. dpi imposta solo le unità e non limita la risoluzione. Usa Nessuno per restituire le unità interne di TeX.
- classe matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [fonte] #
Basi:
object
Incapsulamento di un font a cui può fare riferimento un file DVI.
Questa classe contiene il texname e la dimensione di un font, supporta il confronto e conosce le larghezze dei glifi nelle stesse unità del file AFM. Ci sono anche attributi interni (usati da dviread.py) che non vengono usati per il confronto.
La dimensione è in punti Adobe (convertiti da punti TeX).
- Parametri :
- galleggiante in scala
Fattore in base al quale il carattere viene ridimensionato rispetto alla sua dimensione naturale.
- tfm tfm
Metriche dei caratteri TeX per questo carattere
- nometex byte
Nome del carattere usato internamente da TeX e amici, come stringa di byte ASCII. Questo di solito è molto diverso da qualsiasi nome di carattere esterno;
PsfontsMap
può essere utilizzato per trovare il nome esterno del font.- vf Vf
Un file "carattere virtuale" TeX o Nessuno se questo carattere non è virtuale.
- Attributi :
- nometex byte
- dimensione galleggiante
Dimensione del carattere in punti Adobe, convertita dai punti TeX leggermente più piccoli.
- elenco larghezze
Larghezze dei glifi in unità di spazio dei glifi, in genere 1/1000 della dimensione in punti.
- taglia #
- nometex #
- larghezze #
- classe matplotlib.dviread. PsFont ( texname , psname , effects , encoding , filename ) [fonte] #
Basi:
tuple
Crea una nuova istanza di PsFont (texname, psname, effects, encoding, filename)
- effetti #
Alias per il campo numero 2
- codifica #
Alias per il campo numero 3
- nome file #
Alias per il campo numero 4
- nomeps #
Alias per il campo numero 1
- nometex #
Alias per il campo numero 0
- classe matplotlib.dviread. PsfontsMap ( nome file ) [fonte] #
Basi:
object
Un file in formato psfonts.map, che mappa i font TeX ai font PS.
- Parametri :
- nome file str o simile a un percorso
Appunti
Per ragioni storiche, TeX conosce molti font Type-1 con nomi diversi rispetto al mondo esterno. (Per prima cosa, i nomi devono rientrare in otto caratteri.) Inoltre, i font nativi di TeX non sono Type-1 ma Metafont, che non è banale da convertire in PostScript se non come bitmap. Sebbene esistano conversioni di alta qualità nel formato Type-1 e vengano fornite con le moderne distribuzioni TeX, dobbiamo sapere quali font Type-1 sono le controparti di quali font nativi. Per questi motivi è necessaria una mappatura dai nomi dei font interni ai nomi dei file dei font.
Un albero texmf tipicamente include file di mappatura chiamati ad esempio
psfonts.map
,pdftex.map
, odvipdfm.map
. Il filepsfonts.map
è utilizzato da dvips ,pdftex.map
da pdfTeX edvipdfm.map
da dvipdfm .psfonts.map
potrebbe evitare di incorporare i 35 caratteri PostScript (ovvero, non hanno alcun nome file per loro, come nell'esempio Times-Bold sopra), mentre i file relativi al pdf forse evitano solo i caratteri pdf "Base 14". Ma l'utente potrebbe aver configurato questi file in modo diverso.Esempi
>>> 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
- classe matplotlib.dviread. Tfm ( nome file ) [fonte] #
Basi:
object
Un file TeX Font Metric.
Questa implementazione copre solo il minimo necessario per la classe Dvi.
- Parametri :
- nome file str o simile a un percorso
- Attributi :
- somma di controllo int
Utilizzato per la verifica rispetto al file dvi.
- design_size int
Dimensione del disegno del carattere (unità sconosciute)
- larghezza, altezza, profondità dict
Le dimensioni di ciascun carattere devono essere ridimensionate in base al fattore specificato nel file dvi. Questi sono dict perché l'indicizzazione potrebbe non iniziare da 0.
- somma di controllo #
- profondità #
- dimensione_disegno #
- altezza #
- larghezza #
- classe matplotlib.dviread. Vf ( nome file ) [fonte] #
Basi:
Dvi
Un font virtuale (file *.vf) contenente subroutine per i file dvi.
- Parametri :
- nome file str o simile a un percorso
Appunti
Il formato del font virtuale è un derivato di dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts Questa classe riutilizza alcuni dei meccanismi di
Dvi
ma sostituisce il_read
meccanismo di loop e dispatch.Esempi
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
Leggi i dati dal file denominato filename e converti le unità interne di TeX in unità di dpi per pollice. dpi imposta solo le unità e non limita la risoluzione. Usa Nessuno per restituire le unità interne di TeX.
- matplotlib.dviread. find_tex_file ( nomefile , format=< parametro deprecato> ) [fonte] #
Trova un file nell'albero texmf usando kpathsea .
La libreria kpathsea, fornita dalla maggior parte delle distribuzioni TeX esistenti, sia su sistemi simili a Unix che su Windows (MikTeX), viene invocata tramite un processo luatex di lunga durata se luatex è installato, o tramite kpse che altrimenti.
- Parametri :
- nome file str o simile a un percorso
- formato str o byte
Utilizzato come valore
--format
dell'opzione di kpsewhich . Potrebbe essere ad esempio 'tfm' o 'vf' per limitare la ricerca a quel tipo di file. Deprecato.
- Rialzi :
- FileNotFoundError
Se il file non viene trovato.