Skip to main content

CJKwrap is a library for wrapping and filling CJK text. Fix Python issue24665

Project description

CJKwrap is a library for wrapping and filling CJK text.

CJKwrap fix the issue24665 because Python 2 will stay broken forever: https://bugs.python.org/issue24665.

CJKwrap support both Python 2 (2.6 and above) and Python 3 (3.3 and above).

CJKwrap is developed by Florent Gallaire fgallaire@gmail.com.

Website: http://fgallaire.github.io/cjkwrap.

Download and Install

To install the last stable version from PyPI:

$ sudo pip install cjkwrap

To install the development version from GitHub:

$ git clone https://github.com/fgallaire/cjkwrap
$ cd cjkwrap
$ sudo python setup.py install

Or you can just use the cjkwrap.py file alone, nothing more needed!

Usage

is_wide() to know if a char is double-width, cjklen() and cjkslices() to replace built-in len() and slicing:

>>> import cjkwrap
>>> cjkwrap.is_wide(u"c")
False
>>> cjkwrap.is_wide(u"長")
True
>>> cjkwrap.cjklen(u"最終的には良い長さ")
18
>>> head, tail = cjkwrap.cjkslices(u"最終的には良い長さ", 6)
>>> print(head)
最終的
>>> print(tail)
には良い長さ

As cjklen() uses len() for non unicode stuff, you can safely do this:

>>> from cjkwrap import cjklen as len
>>> len(u"最終的には良い長さ")
18
>>> len([1, 2, 3, 4])
4

wrap() and fill() to replace the ones from the Python standard library:

>>> wrapped_cjk = cjkwrap.wrap(u"最終的に良いラッピング", 10)
>>> for line in wrapped_cjk: print(line)
...
最終的に良
いラッピン
グ
>>> print(cjkwrap.fill(u"最終的に良いラッピング", 10))
最終的に良
いラッピン
グ

Mixed content is allowed:

>>> cjkwrap.cjklen(u"CJK 最終的には良い長さ")
22
>>> print(cjkwrap.fill(u"CJK 最終的には良い長さ", 10))
CJK 最終的
には良い長
さ

License

CJKwrap files are released under the GNU LGPLv3 or above license.

CJKwrap codebase from textwrap by Greg Ward (gward@python.net) under the Python license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CJKwrap-2.2.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

CJKwrap-2.2-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file CJKwrap-2.2.tar.gz.

File metadata

  • Download URL: CJKwrap-2.2.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for CJKwrap-2.2.tar.gz
Algorithm Hash digest
SHA256 a2c7d2e527a0e89865ac2e6e73f198b829b871c826f34eeb4efb09669e1ec0ac
MD5 b1300ddfae18a7604aa039c1510bb82d
BLAKE2b-256 43e76289123edb86eef09d43ece0648c2eb71d860f020ae17b2c7a52ffa8bbe9

See more details on using hashes here.

File details

Details for the file CJKwrap-2.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for CJKwrap-2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b756d0aaf5a3e765eefb7e6f9e5d47335e7d593fecfb201cdeb3c0f05ff47f0e
MD5 ff968b9de740c6319b9668769bfbbda7
BLAKE2b-256 70a8311665d8fd10f167b492b5363715c5bc262de0c39879a1ffba710f1a42ff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page