{ "info": { "author": "Fabrice Salvaire", "author_email": "fabrice.salvaire@orange.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Education", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering" ], "description": ".. -*- Mode: rst -*-\n\n.. -*- Mode: rst -*-\n\n..\n |PyDviUrl|\n |PyDviHomePage|_\n |PyDviDoc|_\n |PyDvi@github|_\n |PyDvi@readthedocs|_\n |PyDvi@readthedocs-badge|\n |PyDvi@pypi|_\n\n.. |ohloh| image:: https://www.openhub.net/accounts/230426/widgets/account_tiny.gif\n :target: https://www.openhub.net/accounts/fabricesalvaire\n :alt: Fabrice Salvaire's Ohloh profile\n :height: 15px\n :width: 80px\n\n.. |PyDviUrl| replace:: http://fabricesalvaire.github.io/PyDVI\n\n.. |PyDviHomePage| replace:: PyDvi Home Page\n.. _PyDviHomePage: http://fabricesalvaire.github.io/PyDVI\n\n.. |PyDviDoc| replace:: PyDvi Documentation\n.. _PyDviDoc: http://pydvi.readthedocs.org/en/latest\n\n.. |PyDvi@readthedocs-badge| image:: https://readthedocs.org/projects/pydvi/badge/?version=latest\n :target: http://pydvi.readthedocs.org/en/latest\n\n.. |PyDvi@github| replace:: https://github.com/FabriceSalvaire/PyDVI\n.. .. _PyDvi@github: https://github.com/FabriceSalvaire/PyDVI\n\n.. |PyDvi@readthedocs| replace:: http://pydvi.readthedocs.org\n.. .. _PyDvi@readthedocs: http://pydvi.readthedocs.org\n\n.. |PyDvi@pypi| replace:: https://pypi.python.org/pypi/PyDVI\n.. .. _PyDvi@pypi: https://pypi.python.org/pypi/PyDVI\n\n.. |Build Status| image:: https://travis-ci.org/FabriceSalvaire/PyDVI.svg?branch=master\n :target: https://travis-ci.org/FabriceSalvaire/PyDVI\n :alt: PyDvi build status @travis-ci.org\n\n.. End\n.. -*- Mode: rst -*-\n\n.. |Python| replace:: Python\n.. _Python: http://python.org\n\n.. |PyPI| replace:: PyPI\n.. _PyPI: https://pypi.python.org/pypi\n\n.. |Numpy| replace:: Numpy\n.. _Numpy: http://www.numpy.org\n\n.. |Sphinx| replace:: Sphinx\n.. _Sphinx: http://sphinx-doc.org\n\n.. |TUG| replace:: TeX User Group\n.. _TUG: http://sphinx-doc.org\n\n.. an extended version of pdfTeX using Lua as an embedded scripting language\n.. |LuaTeX| replace:: LuaTeX\n.. _LuaTeX: http://www.luatex.org\n\n.. |Knuth| replace:: Donald E. Knuth\n.. _Knuth: http://www-cs-faculty.stanford.edu/~uno\n\n.. |MathJax| replace:: MathJax\n.. _MathJax: http://www.mathjax.org\n\n.. A DVI-to-PNG converter\n.. |dvipng| replace:: dvipng\n.. _dvipng: http://savannah.nongnu.org/projects/dvipng\n\n.. |Matplotlib| replace:: Matplotlib\n.. _Matplotlib: http://matplotlib.org\n\n.. |PGF| replace:: PGF\n.. _PGF: http://sourceforge.net/projects/pgf\n\n.. |Asymptote| replace:: Asymptote\n.. _Asymptote: http://asymptote.sourceforge.net\n\n.. |Circuit_macros| replace:: Circuit_macros\n.. _Circuit_macros: https://ece.uwaterloo.ca/~aplevich/Circuit_macros\n\n.. |pyqt| replace:: pyqt\n.. _pyqt: http://www.riverbankcomputing.co.uk/software/pyqt/intro\n\n.. |pillow| replace:: pillow\n.. _pillow: http://pillow.readthedocs.org/en/latest/index.html\n\n.. |PyOpenGLng| replace:: PyOpenGLng\n.. _PyOpenGLng: https://github.com/FabriceSalvaire/PyOpenGLng\n\n.. |freetype-py| replace:: freetype-py\n.. _freetype-py: https://github.com/rougier/freetype-py\n\n.. End\n\n=========\n PyDvi\n=========\n\nThe official PyDvi Home Page is located at |PyDviUrl|\n\nThe latest documentation build from the git repository is available at readthedocs.org |PyDvi@readthedocs-badge|\n\nWritten by `Fabrice Salvaire `_.\n\n|Build Status|\n\n-----\n\n.. image:: https://raw.github.com/FabriceSalvaire/PyDvi/master/doc/sphinx/source/images/dvi-gl-viewer.scaled.png\n\n.. -*- Mode: rst -*-\n\n\n==============\n Introduction\n==============\n\n.. link to TUG\n.. library versus module\n\nPyDvi is a |Python|_ library to read and process DVI (DeVice Independent) files, the native output\nof the famous TeX typesetting program implemented by |Knuth|_.\n\nPyDvi is also able to read most of the file formats associated to the TeX world like packed font,\nvirtual font, TeX font metric, font map and font encoding. It can also read Adobe Font Metrics files.\n\nBasically a DVI file describes the layout of a page by a list of opcodes that interact with a\nregister machine to update the position on the page, to load fonts and to paint glyphs and rules. In\nshort it contains the glyphs and their positions on the page. Since TeX was designed to layout the\nseries of books *The Art of Computer Programming* at the beginning of the eighties, it focuses on\ntexts and mathematical expressions. Thus DVI is much simpler than Postscript or its successor PDF\nwhich are designed for graphics. However we can extend the capabilities of DVI using the *special*\nopcode which can contain any text like Postscript snippets.\n\nA DVI stream can come from a file or a TeX daemon in order to render TeX inputs on-the-fly.\n\nThe DVI parser of PyDvi builds a program from a DVI stream that could be later processed by the\nprovided DVI machine which is designed to be subclassed by the user.\n\nThe source code includes an experimental DVI viewer as exemple which uses the OpenGL API for the\nrendering and thus feature an hardware accelerated rendering. PyDvi and the viewer can be used as a\nplatform to experiment complex text rendering on GPU.\n\nThe source code includes also a clone of the |dvipng| tool to render DVI to PNG image. This tool is\nmainly intended to check the compliance of PyDvi by image comparison.\n\n.. The aim of PyDvi is multiple\n\nPyDvi can be used for several purpose, we will review them in the followings:\n\nTeX is a major and historical typesetting program. PyDvi can serve to read and process its output\nusing Python. The user can be a curious pearson who want to lean TeX or somebody interested by TeX\npostprocessing.\n\nTeX is one of the oldest computer program still in activity. The reason is quite simple, these\nalgorithms do the right job, its ecosystem is rich and its code is not so simple. Thus nobody\nsucceeds to reimplement it up to now, excepted its mathematical layout algorithms by the |Mathjax|_\nJavascript library which is intended to bring Mathematical layout to web browser. Before the\ndelivery of Mathjax, the only solution to render properly mathematical content was to generate an\nimage using a program like |Dvipng|_. It is what does the engine of Wikipedia behind the scene.\nUsually these programs like |Asymptote|_ or |Circuit_macros|_ generate the graphics as a PDF\ndocument and then include this document in a LaTeX document which contains the labels placed at\nabsolute positions in the page. With PyDvi we can try another approach which consists to send TeX\ncontent to a daemon and get back the glyphs and their positions. |Matplotlib|_ uses this approach to\nrender LaTeX labels.\n\n.. -*- Mode: rst -*-\n\n.. End\n\n.. End\n\n.. -*- Mode: rst -*-\n\n.. _installation-page:\n\n\n==============\n Installation\n==============\n\nThe installation of PyDvi by itself is quite simple. However it will be easier to get the\ndependencies on a Linux desktop.\n\nDependencies\n------------\n\nPyDvi requires the following dependencies:\n\n * |Python|_\n * |Numpy|_\n * |freetype-py|_ for Type1 font rendering\n\nThe OpenGL DVI viewer requires these additional dependencies:\n\n * |PyQt|_\n * |PyOpenGLng|_\n\nThe DVI to PNG tool requires these additional dependencies:\n\n * |pillow|_\n\nAlso it is recommanded to have these Python modules:\n\n * pip\n * virtualenv\n \nFor development, you will need in addition:\n\n * |Sphinx|_\n\nInstallation from PyPi Repository\n---------------------------------\n\nPyDvi is made available on the |Pypi|_ repository at |PyDvi@pypi|\n\nRun this command to install the last release:\n\n.. code-block:: sh\n\n pip install PyDvi\n\nInstallation from Source\n------------------------\n\nThe PyDvi source code is hosted at |PyDvi@github|\n\nTo clone the Git repository, run this command in a terminal:\n\n.. code-block:: sh\n\n git clone git@github.com:FabriceSalvaire/PyDvi.git\n\nThen to build and install PyDvi run these commands:\n\n.. code-block:: sh\n\n python setup.py build\n python setup.py install\n\n.. End\n\n.. End", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/FabriceSalvaire/PyDVI", "keywords": "tex,latex,dvi,read,process,pk,font,tfm,fontmap,afm,viewer,gpu,convert,png", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "PyDvi", "package_url": "https://pypi.org/project/PyDvi/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PyDvi/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/FabriceSalvaire/PyDVI" }, "release_url": "https://pypi.org/project/PyDvi/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "A library to read and process DVI (DeVice Independent) files, the native output of TeX. The source code provides also a PNG converter and a viewer featuring an hardware acceleration based on the OpenGL API.", "version": "0.1.0" }, "last_serial": 1233869, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b15e26419409f3b161db3f67f485fa62", "sha256": "29db3b348bbb0e929641a758bfb2afa197e698705edf34f02a1e7b5fc7b8db52" }, "downloads": -1, "filename": "PyDvi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b15e26419409f3b161db3f67f485fa62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1800948, "upload_time": "2014-09-22T19:23:54", "url": "https://files.pythonhosted.org/packages/97/8c/501abbb16c50bf5420a166b8c64fbe5f75bca2726d1bbe5dd48e971cc38a/PyDvi-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b15e26419409f3b161db3f67f485fa62", "sha256": "29db3b348bbb0e929641a758bfb2afa197e698705edf34f02a1e7b5fc7b8db52" }, "downloads": -1, "filename": "PyDvi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b15e26419409f3b161db3f67f485fa62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1800948, "upload_time": "2014-09-22T19:23:54", "url": "https://files.pythonhosted.org/packages/97/8c/501abbb16c50bf5420a166b8c64fbe5f75bca2726d1bbe5dd48e971cc38a/PyDvi-0.1.0.tar.gz" } ] }