Matplotlib is hiring a Research Software Engineering Fellow! See discourse for details. Apply by January 3, 2020

Version 3.1.1
matplotlib
Fork me on GitHub

目录

Related Topics

德维德

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:
            ...
class 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的内部单位。

close()[源代码]

如果基础文件已打开,请将其关闭。

class matplotlib.dviread.DviFont(scale, tfm, texname, vf)[源代码]

基类:object

DVI文件可以引用的字体的封装。

此类保存字体的texname和大小,支持比较,并知道与AFM文件相同单位的字形宽度。还有内部属性(供dviread.py使用),它们是 not 用于比较。

大小以Adobe点为单位(从Tex点转换)。

参数:
scale : 浮动

字体按其自然大小缩放的系数。

tfm : TFM

此字体的tex字体度量

文本名称 : 字节

tex和friends内部使用的字体名称,作为ascii字节串。这通常与任何外部字体名称都非常不同,并且 dviread.PsfontsMap 可用于查找字体的外部名称。

vf : 变频调速

tex“虚拟字体”文件,如果该字体不是虚拟字体,则为无。

属性:
文本名称 : 字节
size : 浮动

Adobe点中字体的大小,从稍小的tex点转换而来。

宽度 : 列表

以glyph空间单位表示的glyph宽度,通常为点大小的1/1000。

size
texname
widths
class matplotlib.dviread.Encoding(filename)[源代码]

基类:object

解析A * .enc文件引用自psfonts.map样式文件。这个类理解的格式是PostScript非常有限的子集。

用法(可更改)::

for name in Encoding(filename):
    whatever(name)
参数:
文件名 : 字符串或字节字符串
属性:
编码 : 列表

字符名列表

encoding
matplotlib.dviread.PsFont

matplotlib.dviread.Font 的别名

class 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.mappdftex.mapdvipdfm.map . 文件 psfonts.map 被使用 dvipspdftex.map 通过 pdfTeXdvipdfm.map 通过 dvipdfm . psfonts.map 可能会避免嵌入35种PostScript字体(即没有文件名,如上面的Times Bold示例),而与PDF相关的文件可能只避免使用“Base 14”PDF字体。但是用户可能配置了不同的文件。

class matplotlib.dviread.Tfm(filename)[源代码]

基类:object

Tex字体度量文件。

此实现仅涵盖DVI类所需的最低限度。

参数:
文件名 : 字符串或字节字符串
属性:
校验和 : 利息

用于根据DVI文件进行验证。

design_size : 利息

字体的设计大小(未知单位)

宽度、高度、深度 : 双关语

每个字符的尺寸,需要按dvi文件中指定的系数进行缩放。这些是dict,因为索引不能从0开始。

checksum
depth
design_size
height
width
class matplotlib.dviread.Vf(filename)[源代码]

基类:matplotlib.dviread.Dvi

虚拟字体( * .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上流行的发行版。

参数:
文件名 : 字符串或字节字符串
format : 字符串或字节字符串

用作 --format 选择权 kpsewhich . 可以是“tfm”或“vf”,以将搜索限制为该类型的文件。

工具书类

[1](1, 2) Kpathsea documentation 那个类库 kpsewhich 是其中的一部分。