SF #989185: Drop unicode.iswide() and unicode.width() and add

unicodedata.east_asian_width().  You can still implement your own
simple width() function using it like this:
    def width(u):
        w = 0
        for c in unicodedata.normalize('NFC', u):
            cwidth = unicodedata.east_asian_width(c)
            if cwidth in ('W', 'F'): w += 2
            else: w += 1
        return w
This commit is contained in:
Hye-Shik Chang 2004-08-04 07:38:35 +00:00
parent b5047fd019
commit e9ddfbb412
15 changed files with 1641 additions and 1617 deletions

View file

@ -894,11 +894,6 @@ functions depending on the Python configuration.
character.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{Py_UNICODE_ISWIDE}{Py_UNICODE ch}
Returns 1/0 depending on whether \var{ch} is a wide or full-width
character.
\end{cfuncdesc}
These APIs can be used for fast direct character conversions:
\begin{cfuncdesc}{Py_UNICODE}{Py_UNICODE_TOLOWER}{Py_UNICODE ch}
@ -957,10 +952,6 @@ use these APIs:
Return the length of the Unicode object.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{PyUnicode_GetWidth}{PyObject *unicode}
Return the fixed-width representation length of the Unicode object.
\end{cfuncdesc}
\begin{cfuncdesc}{PyObject*}{PyUnicode_FromEncodedObject}{PyObject *obj,
const char *encoding,
const char *errors}