193 lines
4.5 KiB
Plaintext
193 lines
4.5 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: python-bidi
|
|
Version: 0.4.2
|
|
Summary: Pure python implementation of the BiDi layout algorithm
|
|
Home-page: https://github.com/MeirKriheli/python-bidi
|
|
Author: Meir Kriheli
|
|
Author-email: mkriheli@gmail.com
|
|
License: http://www.gnu.org/licenses/lgpl.html
|
|
Keywords: bidi unicode layout
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
|
|
Classifier: Topic :: Text Processing
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 2.6
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
Requires-Dist: six
|
|
|
|
===============================
|
|
Python BiDi
|
|
===============================
|
|
|
|
.. image:: https://badge.fury.io/py/python-bidi.png
|
|
:target: http://badge.fury.io/py/python-bidi
|
|
|
|
.. image:: https://travis-ci.org/MeirKriheli/python-bidi.png?branch=master
|
|
:target: https://travis-ci.org/MeirKriheli/python-bidi
|
|
|
|
`Bi-directional`_ (BiDi) layout implementation in pure python
|
|
|
|
`Package documentation`_
|
|
|
|
.. _Bi-directional: http://en.wikipedia.org/wiki/Bi-directional_text
|
|
.. _Package documentation: http://python-bidi.readthedocs.org/en/latest/
|
|
|
|
API
|
|
----
|
|
|
|
The algorithm starts with a single entry point `bidi.algorithm.get_display`.
|
|
|
|
**Required arguments:**
|
|
|
|
* ``unicode_or_str``: The original unicode or string (i.e.: storage). If it's a string
|
|
use the optional argument ``encoding`` to specify it's encoding.
|
|
|
|
**Optional arguments:**
|
|
|
|
* ``encoding``: If unicode_or_str is a string, specifies the encoding. The
|
|
algorithm uses unicodedata_ which requires unicode. This encoding will be
|
|
used to decode and encode back to string before returning
|
|
(default: "utf-8").
|
|
|
|
* ``upper_is_rtl``: True to treat upper case chars as strong 'R' for
|
|
debugging (default: False).
|
|
|
|
* ``base_dir``: 'L' or 'R', override the calculated base_level.
|
|
|
|
* ``debug``: True to display (using `sys.stderr`_) the steps taken with the
|
|
algorithm (default: False).
|
|
|
|
Returns the display layout, either as unicode or ``encoding`` encoded string
|
|
(depending on the type of ``unicode_or_str'``).
|
|
|
|
.. _unicodedata: http://docs.python.org/library/unicodedata.html
|
|
.. _sys.stderr: http://docs.python.org/library/sys.html?highlight=sys.stderr#sys.stderr
|
|
|
|
Example::
|
|
|
|
>>> from bidi.algorithm import get_display
|
|
>>> get_display(u'car is THE CAR in arabic', upper_is_rtl=True)
|
|
u'car is RAC EHT in arabic'
|
|
|
|
|
|
CLI
|
|
----
|
|
|
|
``pybidi`` is a command line utility (calling ``bidi.main``) for running the
|
|
bidi algorithm. the script can get a string as a parameter or read text from
|
|
`stdin`. Usage::
|
|
|
|
$ pybidi -h
|
|
Usage: pybidi [options]
|
|
|
|
Options:
|
|
-h, --help show this help message and exit
|
|
-e ENCODING, --encoding=ENCODING
|
|
Text encoding (default: utf-8)
|
|
-u, --upper-is-rtl treat upper case chars as strong 'R' for debugging
|
|
(default: False).
|
|
-d, --debug Output to stderr steps taken with the algorithm
|
|
-b BASE_DIR, --base-dir=BASE_DIR
|
|
Override base direction [L|R]
|
|
|
|
|
|
Examples::
|
|
|
|
$ pybidi -u 'car is THE CAR in arabic'
|
|
car is RAC EHT in arabic
|
|
|
|
$ cat ~/Documents/example.txt | pybidi
|
|
...
|
|
|
|
Installation
|
|
-------------
|
|
|
|
See ``docs/INSTALL.rst``
|
|
|
|
Running tests
|
|
--------------
|
|
|
|
To run the tests::
|
|
|
|
python setup.py test
|
|
|
|
Some explicit tests are failing right now (see TODO)
|
|
|
|
|
|
|
|
|
|
|
|
0.4.2
|
|
-----
|
|
|
|
* Type Fixes, thanks jwilk
|
|
|
|
|
|
History
|
|
=========
|
|
|
|
0.4.1
|
|
-----
|
|
|
|
* Merged Fix for mixed RTL and numbers, Thanks Just van Rossum
|
|
|
|
0.4.0
|
|
-----
|
|
|
|
* Move to cookiecutter template
|
|
* Python 3 support (py2.6, 2.7, 3.3, 3.4 and pypy)
|
|
* Better docs
|
|
* Travis integration
|
|
* Tox tests
|
|
* PEP8 cleanup
|
|
|
|
0.3.4
|
|
------
|
|
|
|
* Remove extra newline in console script output
|
|
|
|
0.3.3
|
|
------
|
|
|
|
* Implement overriding base paragraph direction
|
|
* Allow overriding base direction in pybidi console script
|
|
* Fix returning display in same encoding
|
|
|
|
0.3.2
|
|
------
|
|
|
|
* Test for surrogate pairs
|
|
* Fix indentation in documentations
|
|
* Specify license in setup.py
|
|
|
|
0.3.1
|
|
-----
|
|
|
|
* Added missing description
|
|
* docs/INSTALL.rst
|
|
|
|
0.3
|
|
---
|
|
|
|
* Apply bidi mirroring
|
|
* Move to back function based implementation
|
|
|
|
0.2
|
|
---
|
|
|
|
* Move the algorithm to a class based implementation
|
|
|
|
0.1
|
|
---
|
|
|
|
* Initial release
|
|
|
|
|