cwcwidth/docs/index.rst
Sebastian Ramacher bbc27596d1 Fix typo
2025-02-09 21:51:27 +01:00

59 lines
1.6 KiB
ReStructuredText

cwcwidth -- bindings for wc(s)width
===================================
.. toctree::
:maxdepth: 2
:caption: Contents:
To compute the number of columns needed to print a string, POSIX.1-2001 and POSIX.1-2008 define two
functions: ``wcwidth`` and ``wcswidth``. Given a character or string, they return the required
number of columns or error out with ``-1`` if they encounter a nonprintable character. These
functions are not available per default in Python, but are quite useful when the width plays a role
for formatting outputs on a terminal.
Module documentation
--------------------
The ``cwcwidth`` module provides the following two functions:
.. py:function:: cwcwidth.wcwidth(wc: str) -> int
Return the printable length of a unicode character.
.. py:function:: cwcwidth.wcswidth(pwcs: str, n: Optional[int]=None) -> int
Return the printable length of a unicode string. If the optional argument ``n`` is provided, only
the first ``n`` characters of the string are considered.
Both functions behave in the same way as the functions with the same signture from the `wcwidth`_
module.
.. _wcwidth: https://pypi.org/project/wcwidth/
Example usage
-------------
::
>>> from cwcwidth import wcwidth, wcswidth
>>> wcwidth("a")
1
>>> wcswidth("コ")
2
>>> wcswidth("コンニチハ, セカイ!")
19
>>> wcswidth("コンニチハ, セカイ!", 5)
10
Users
-----
``cwcwidth`` is currently used by the following projects:
* `curtsies`_
* `bpython`_
.. _curtsies: https://pypi.org/project/curtsies/
.. _bpython: https://pypi.org/project/bpython/