matplotlib.dviread
#
Ein Modul zum Lesen von dvi-Dateien, die von TeX ausgegeben werden. Mehrere Einschränkungen machen dies (derzeit) nicht als Allzweck-DVI-Präprozessor nützlich, aber es wird derzeit vom PDF-Backend zur Verarbeitung von Usetex-Text verwendet.
Schnittstelle:
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:
...
- Klasse matplotlib.dviread. Dvi ( Dateiname , dpi ) [Quelle] #
Basen:
object
Ein Reader für eine dvi-Datei ("geräteunabhängig"), wie sie von TeX produziert wird.
Die aktuelle Implementierung kann Seiten nur der Reihe nach durchlaufen und versucht nicht einmal, die Postambel zu verifizieren.
Diese Klasse kann als Kontextmanager verwendet werden, um die zugrunde liegende Datei beim Beenden zu schließen. Seiten können per Iteration gelesen werden. Hier ist eine allzu einfache Möglichkeit, Text zu extrahieren, ohne zu versuchen, Leerzeichen zu erkennen:
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
Lesen Sie die Daten aus der Datei mit dem Namen Dateiname und konvertieren Sie die internen Einheiten von TeX in Einheiten von dpi pro Zoll. dpi legt nur die Einheiten fest und begrenzt nicht die Auflösung. Verwenden Sie None, um die internen Einheiten von TeX zurückzugeben.
- Klasse matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [Quelle] #
Basen:
object
Kapselung einer Schriftart, auf die eine DVI-Datei verweisen kann.
Diese Klasse enthält den Texnamen und die Größe einer Schriftart, unterstützt Vergleiche und kennt die Breiten von Glyphen in denselben Einheiten wie die AFM-Datei. Es gibt auch interne Attribute (zur Verwendung durch dviread.py), die nicht zum Vergleich verwendet werden.
Die Größe ist in Adobe-Punkten angegeben (umgerechnet aus TeX-Punkten).
- Parameter :
- Skalenschwimmer _
Faktor, um den die Schrift von ihrer natürlichen Größe skaliert wird.
- tfm tfm
TeX-Font-Metriken für diese Schriftart
- Textname Bytes
Name der Schriftart, wie er intern von TeX und Co. verwendet wird, als ASCII-Bytestring. Dies unterscheidet sich normalerweise stark von externen Schriftartnamen;
PsfontsMap
kann verwendet werden, um den externen Namen der Schriftart zu finden.- vf vf
Eine TeX-Datei mit "virtuellen Schriftarten" oder None, wenn diese Schriftart nicht virtuell ist.
- Attribute :
- Textname Bytes
- Größe Schwimmer
Größe der Schrift in Adobe-Punkten, umgerechnet aus den etwas kleineren TeX-Punkten.
- Breitenliste _
Breiten von Glyphen in Glyphenraumeinheiten, normalerweise 1/1000 der Punktgröße.
- Größe #
- Textname #
- Breiten #
- Klasse matplotlib.dviread. PsFont ( Textname , PS- Name , Effekte , Kodierung , Dateiname ) [Quelle] #
Basen:
tuple
Erstellen Sie eine neue Instanz von PsFont (Textname, PS-Name, Effekte, Kodierung, Dateiname)
- Effekte #
Alias für Feldnummer 2
- Kodierung #
Alias für Feldnummer 3
- Dateiname #
Alias für Feldnummer 4
- PS-Name #
Alias für Feldnummer 1
- Textname #
Alias für Feldnummer 0
- Klasse matplotlib.dviread. PsfontsMap ( Dateiname ) [Quelle] #
Basen:
object
Eine Datei im Format psfonts.map, die TeX-Schriftarten PS-Schriftarten zuordnet.
- Parameter :
- filename str oder pfadartig
Anmerkungen
Aus historischen Gründen kennt TeX viele Type-1-Fonts unter anderen Namen als die Außenwelt. (Zum einen müssen die Namen in acht Zeichen passen.) Außerdem sind die nativen Fonts von TeX nicht Type-1, sondern Metafont, das nicht trivial in PostScript konvertiert werden kann, außer als Bitmap. Obwohl hochwertige Konvertierungen in das Type-1-Format existieren und mit modernen TeX-Distributionen ausgeliefert werden, müssen wir wissen, welche Type-1-Schriftarten die Gegenstücke zu welchen nativen Schriftarten sind. Aus diesen Gründen ist eine Zuordnung von internen Schriftartnamen zu Schriftartdateinamen erforderlich.
Ein texmf-Baum enthält typischerweise Mapping-Dateien, die zB
psfonts.map
,pdftex.map
, oder genannt werdendvipdfm.map
. Die Dateipsfonts.map
wird von dvips ,pdftex.map
von pdfTeX unddvipdfm.map
von dvipdfm verwendet .psfonts.map
vermeiden möglicherweise das Einbetten der 35 PostScript-Schriftarten (dh haben keinen Dateinamen für sie, wie im Times-Bold-Beispiel oben), während die pdf-bezogenen Dateien möglicherweise nur die „Base 14“-PDF-Schriftarten vermeiden. Aber der Benutzer hat diese Dateien möglicherweise anders konfiguriert.Beispiele
>>> 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
- Klasse matplotlib.dviread. Tfm ( Dateiname ) [Quelle] #
Basen:
object
Eine TeX Font Metric-Datei.
Diese Implementierung deckt nur das absolute Minimum ab, das von der Dvi-Klasse benötigt wird.
- Parameter :
- filename str oder pfadartig
- Attribute :
- Prüfsumme int
Wird zur Überprüfung der DVI-Datei verwendet.
- design_size int
Designgröße der Schrift (unbekannte Einheiten)
- Breite, Höhe, Tiefe dict
Die Abmessungen jedes Zeichens müssen mit dem in der DVI-Datei angegebenen Faktor skaliert werden. Dies sind Diktate, da die Indizierung möglicherweise nicht bei 0 beginnt.
- Prüfsumme #
- Tiefe #
- design_size #
- Höhe #
- Breite #
- Klasse matplotlib.dviread. Vf ( Dateiname ) [Quelle] #
Basen:
Dvi
Eine virtuelle Schriftart (*.vf-Datei), die Subroutinen für DVI-Dateien enthält.
- Parameter :
- filename str oder pfadartig
Anmerkungen
The virtual font format is a derivative of dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts This class reuses some of the machinery of
Dvi
but replaces the_read
loop and dispatch mechanism.Examples
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
Read the data from the file named filename and convert TeX's internal units to units of dpi per inch. dpi only sets the units and does not limit the resolution. Use None to return TeX's internal units.
- matplotlib.dviread.find_tex_file(filename, format=<deprecated parameter>)[source]#
Find a file in the texmf tree using kpathsea.
Die kpathsea-Bibliothek, die von den meisten bestehenden TeX-Distributionen sowohl auf Unix-ähnlichen Systemen als auch auf Windows (MikTeX) bereitgestellt wird, wird über einen langlebigen luatex-Prozess aufgerufen, wenn luatex installiert ist, oder ansonsten über kpsewhich.
- Parameter :
- filename str oder pfadartig
- formatiere str oder bytes
Wird als Wert der
--format
Option für kpsewhich verwendet . Könnte zB 'tfm' oder 'vf' sein, um die Suche auf diesen Dateityp zu beschränken. Veraltet.
- Erhöhungen :
- FileNotFoundError
Wenn die Datei nicht gefunden wird.