用于读取和处理DVI(设备无关)文件的库,是Tex的本机输出。源代码还提供了PNG转换器和基于OpenGL API的硬件加速查看器。
PyDvi的Python项目详细描述
Pydvi
pydvi官方主页位于http://fabricesalvaire.github.io/PyDVI
从git存储库生成的最新文档可以在readthedocs.org
由Fabrice Salvaire编写。
简介
pydvi是一个Python库,用于读取和处理dvi(设备无关)文件,即本机输出 由Donald E. Knuth实现的著名的tex排版程序。
pydvi还可以读取与tex世界相关的大多数文件格式,比如压缩字体, 虚拟字体、文本字体度量、字体映射和字体编码。它还可以读取adobe字体度量文件。
基本上,dvi文件通过与 注册机器以更新页面上的位置,加载字体并绘制字形和规则。在 它包含字形及其在页面上的位置。因为Tex的设计目的是 《计算机编程艺术》系列丛书 文本和数学表达式。因此,dvi比postscript或其后续pdf要简单得多。 是为图形设计的。但是,我们可以使用special 操作码,可以包含任何类似postscript片段的文本。
dvi流可以来自文件或tex守护进程,以便动态呈现tex输入。
pydvi的dvi解析器从dvi流构建一个程序,该程序稍后可以由 提供设计为用户子类的DVI机。
源代码包括一个实验性的dvi查看器作为示例,它使用opengl api 渲染,因此具有硬件加速渲染功能。pydvi和查看器可以用作 基于gpu的复杂文本绘制实验平台。
源代码还包括一个dvi png工具的克隆,用于将dvi渲染为png图像。这个工具是 主要目的是通过图像对比检查pydvi的顺应性。
PYDVI可用于多种用途,我们将在下面对其进行回顾:
tex是一个主要的历史排版程序。pydvi可以用来读取和处理它的输出 使用python。用户可以是一个好奇的皮尔森谁想要倾斜特克斯或有兴趣的人特克斯 后处理。
tex是目前仍在运行的最古老的计算机程序之一。原因很简单,这些 算法做得很好,它的生态系统很丰富,代码也不那么简单。因此没有人 成功地重新实现它到目前为止,除了它的数学布局算法由MathJax javascript库,旨在为web浏览器提供数学布局。在 传递mathjax时,正确呈现数学内容的唯一解决方案是生成 使用类似dvipng的程序生成图像。维基百科的引擎在幕后做了什么。 通常,像Asymptote或Circuit_macros这样的程序将图形生成为pdf格式 文档,然后将此文档包含在乳胶文档中,乳胶文档包含放置在 页面中的绝对位置。使用pydvi,我们可以尝试另一种方法,即发送tex 满足于一个守护进程并取回标志符号及其位置。Matplotlib使用这种方法 渲染乳胶标签。
安装
pydvi本身的安装非常简单。然而,它将更容易得到 依赖于Linux桌面。
依赖性
PYDVI需要以下依赖项:
- Python
- Numpy
- freetype-py for Type1 font rendering
OpenGL DVI查看器需要这些附加依赖项:
dvi to png工具需要这些附加依赖项:
此外,建议使用这些python模块:
- pip
- virtualenv
为了发展,您还需要:
从源安装
pydvi源代码托管在https://github.com/FabriceSalvaire/PyDVI
要克隆git存储库,请在终端中运行此命令:
git clone git@github.com:FabriceSalvaire/PyDvi.git
然后要构建和安装pydvi,请运行以下命令:
python setup.py build python setup.py install