matplotlib.dviread
#
TeXで出力されたdviファイルを読み込むためのモジュール。いくつかの制限により、これは (現在) 汎用の dvi プリプロセッサとしては役に立ちませんが、現在、usetex テキストを処理するために pdf バックエンドで使用されています。
インターフェース:
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:
...
- クラス matplotlib.dviread. Dvi (ファイル名, dpi ) [ソース] #
拠点:
object
TeX によって生成された dvi (「デバイスに依存しない」) ファイルのリーダー。
現在の実装では、ページを順番に繰り返すことしかできず、ポストアンブルの検証さえ試みません。
このクラスは、終了時に基になるファイルを閉じるためのコンテキスト マネージャーとして使用できます。ページは反復によって読み取ることができます。空白を検出せずにテキストを抽出する非常に単純な方法を次に示します。
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
filenameという名前のファイルからデータを読み取り、TeX の内部単位を1 インチあたり のdpiの単位に変換します。dpiは単位を設定するだけで、解像度を制限しません。TeX の内部単位を返すには None を使用します。
- クラス matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [source] #
拠点:
object
DVI ファイルが参照できるフォントのカプセル化。
このクラスは、フォントの texname とサイズを保持し、比較をサポートし、AFM ファイルと同じ単位でグリフの幅を認識します。比較に使用されない内部属性 (dviread.py によって使用される) もあります。
サイズは Adobe ポイント単位です (TeX ポイントから変換)。
- パラメータ:
- スケールフロート
フォントが自然なサイズからスケーリングされる係数。
- tfm tfm
このフォントの TeX フォント メトリクス
- texnameバイト
ASCII バイト文字列として、TeX とその仲間によって内部的に使用されるフォントの名前。これは通常、外部のフォント名とは大きく異なります。
PsfontsMap
フォントの外部名を見つけるために使用できます。- vf Vf
TeX「仮想フォント」ファイル、またはこのフォントが仮想でない場合は None。
- 属性:
- texnameバイト
- サイズフロート
わずかに小さい TeX ポイントから変換された、Adobe ポイントでのフォントのサイズ。
- 幅リスト
グリフ空間単位でのグリフの幅。通常はポイント サイズの 1/1000 です。
- サイズ#
- texname #
- 幅#
- クラス matplotlib.dviread. PsFont ( texname , psname ,効果, encoding , filename ) [source] #
拠点:
tuple
PsFont の新しいインスタンスを作成します (texname、psname、effects、encoding、filename)
- 効果#
フィールド番号 2 のエイリアス
- エンコーディング#
フィールド番号 3 のエイリアス
- ファイル名#
フィールド番号 4 のエイリアス
- psname #
フィールド番号 1 のエイリアス
- texname #
フィールド番号 0 のエイリアス
- クラス matplotlib.dviread. PsfontsMap (ファイル名) [ソース] #
拠点:
object
TeX フォントを PS フォントにマッピングする psfonts.map 形式のファイル。
- パラメータ:
- ファイル名str またはパスのような
ノート
歴史的な理由から、TeX は外界とは異なる名前で多くの Type-1 フォントを認識しています。(1 つの理由として、名前は 8 文字に収まらなければなりません。) また、TeX のネイティブ フォントは Type-1 ではなく Metafont であり、これはビットマップ以外で PostScript に変換するのは自明ではありません。Type-1 フォーマットへの高品質な変換が存在し、最新の TeX ディストリビューションに同梱されていますが、どの Type-1 フォントがどのネイティブ フォントに対応するのかを知る必要があります。これらの理由から、内部フォント名からフォント ファイル名へのマッピングが必要です。
通常、texmf ツリーには、、、または などと呼ばれるマッピング ファイルが含ま
psfonts.map
れpdftex.map
ますdvipdfm.map
。このファイルpsfonts.map
はdvips、 pdfTeX、およびdvipdfmpdftex.map
によって使用さ れます。は 35 個の PostScript フォントの埋め込みを回避する可能性があります (つまり、上記の Times-Bold の例のようにファイル名がありません) が、pdf 関連のファイルはおそらく "Base 14" pdf フォントのみを回避します。ただし、ユーザーがこれらのファイルを別の方法で構成している可能性があります。dvipdfm.map
psfonts.map
例
>>> 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
- クラス matplotlib.dviread. Tfm (ファイル名) [ソース] #
拠点:
object
TeX フォント メトリック ファイル。
この実装は、Dvi クラスが必要とする最小限の機能のみをカバーしています。
- パラメータ:
- ファイル名str またはパスのような
- 属性:
- チェックサム整数
dvi ファイルに対する検証に使用されます。
- design_size int
フォントのデザインサイズ(単位不明)
- 幅、高さ、深さの辞書
各文字の寸法は、dvi ファイルで指定された係数でスケーリングする必要があります。インデックスは 0 から開始されない可能性があるため、これらは dict です。
- チェックサム#
- 深さ#
- デザインサイズ#
- 高さ#
- 幅#
- クラス matplotlib.dviread. Vf (ファイル名) [ソース] #
拠点:
Dvi
dvi ファイルのサブルーチンを含む仮想フォント (*.vf ファイル)。
- パラメータ:
- ファイル名str またはパスのような
ノート
仮想フォント形式は dvi から派生したものです: http://mirrors.ctan.org/info/knuth/virtual-fonts このクラスは、dvi の機構の一部を再利用しますが、ループとディスパッチのメカニズムを
Dvi
置き換えます。_read
例
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
filenameという名前のファイルからデータを読み取り、TeX の内部単位を1 インチあたり のdpiの単位に変換します。dpiは単位を設定するだけで、解像度を制限しません。TeX の内部単位を返すには None を使用します。
- matplotlib.dviread. find_tex_file ( filename , format=<廃止された パラメータ> ) [source] #
kpathseaを使用して texmf ツリー内のファイルを検索します。
Unix ライクなシステムと Windows (MikTeX) の両方で、ほとんどの既存の TeX ディストリビューションで提供される kpathsea ライブラリは、luatex がインストールされている場合は長寿命の luatex プロセスを介して呼び出され、それ以外の場合は kpsewhich を介して呼び出されます。
- パラメータ:
- ファイル名str またはパスのような
- 文字列またはバイトをフォーマットする
kpsewhich
--format
のオプションの値として使用されます。'tfm' や 'vf' などで、そのタイプのファイルに検索を限定できます。非推奨。
- レイズ:
- FileNotFoundError
ファイルが見つからない場合。