Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020
matplotlib.dviread
¶一种用于读取由TEX输出的DVI文件的模块。有几个限制使它不能(目前)用作通用的DVI预处理器,但它目前被PDF后端用于处理USETEX文本。
接口:
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
(filename, dpi)[源代码]¶基类:object
由Tex生成的dvi(“独立于设备”)文件的一种读卡器。当前的实现只能按顺序遍历页面,甚至不尝试验证Postamble。
这个类可以用作上下文管理器,在退出时关闭基础文件。可以通过迭代读取页面。以下是一种非常简单的提取文本而不尝试检测空白的方法:
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi:
... for page in dvi:
... print(''.join(chr(t.glyph) for t in page.text))
从名为的文件中读取数据 文件名 并将tex的内部单位转换为 dpi 每英寸。 dpi 只设置单位,不限制分辨率。使用“无”返回Tex的内部单位。
matplotlib.dviread.
DviFont
(scale, tfm, texname, vf)[源代码]¶基类:object
DVI文件可以引用的字体的封装。
此类保存字体的texname和大小,支持比较,并知道与AFM文件相同单位的字形宽度。还有内部属性(供dviread.py使用),它们是 not 用于比较。
大小以Adobe点为单位(从Tex点转换)。
参数: |
|
---|---|
属性: |
|
size
¶texname
¶widths
¶matplotlib.dviread.
Encoding
(filename)[源代码]¶基类:object
解析A * .enc文件引用自psfonts.map样式文件。这个类理解的格式是PostScript非常有限的子集。
用法(可更改)::
for name in Encoding(filename):
whatever(name)
参数: |
|
---|---|
属性: |
|
encoding
¶matplotlib.dviread.
PsFont
¶matplotlib.dviread.Font
的别名
matplotlib.dviread.
PsfontsMap
[源代码]¶基类:object
一个ps fonts.map格式的文件,将tex字体映射到ps字体。
用法:
>>> 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
参数: |
|
---|
笔记
出于历史原因,Tex知道许多类型1字体的名称与外界不同。(一方面,名称必须适合八个字符。)另外,Tex的原生字体不是Type-1,而是MetaFont,这对于转换为PostScript(位图除外)是很重要的。虽然存在高质量的1型格式转换,并随现代Tex发行版一起提供,但我们需要知道哪种1型字体是哪种本机字体的对应字体。由于这些原因,需要从内部字体名到字体文件名的映射。
texmf树通常包括名为 psfonts.map
, pdftex.map
或 dvipdfm.map
. 文件 psfonts.map
被使用 dvips , pdftex.map
通过 pdfTeX 和 dvipdfm.map
通过 dvipdfm . psfonts.map
可能会避免嵌入35种PostScript字体(即没有文件名,如上面的Times Bold示例),而与PDF相关的文件可能只避免使用“Base 14”PDF字体。但是用户可能配置了不同的文件。
matplotlib.dviread.
Tfm
(filename)[源代码]¶基类:object
Tex字体度量文件。
此实现仅涵盖DVI类所需的最低限度。
参数: |
|
---|---|
属性: |
|
checksum
¶depth
¶design_size
¶height
¶width
¶matplotlib.dviread.
Vf
(filename)[源代码]¶虚拟字体( * .vf文件)包含dvi文件的子例程。
用法:
vf = Vf(filename)
glyph = vf[code]
glyph.text, glyph.boxes, glyph.width
参数: |
|
---|
笔记
虚拟字体格式是dvi的派生:http://mirrors.ctan.org/info/knuth/virtual-fonts这个类重用了 Dvi
but replaces the `_ 读循环和调度机制。
matplotlib.dviread.
find_tex_file
[源代码]¶在texmf树中查找文件。
调用 kpsewhich 它是KPAThsea库的接口 [1]. 在类Unix系统上,大多数现有的tex发行版都使用kpathsea。它也可以作为miktex的一部分提供,miktex是Windows上流行的发行版。
参数: |
|
---|
工具书类
[1] | (1, 2) Kpathsea documentation 那个类库 kpsewhich 是其中的一部分。 |