From db490ac55427412a93c3e808f4a7b6e304d88357 Mon Sep 17 00:00:00 2001 From: Ryan May Date: Mon, 20 Jul 2020 15:15:08 -0600 Subject: [PATCH] Backport PR #17972: Fix PyPy compatiblity issue --- src/ft2font_wrapper.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp index 98e9ff74f77a..ba361ac0279a 100644 --- a/src/ft2font_wrapper.cpp +++ b/src/ft2font_wrapper.cpp @@ -637,9 +637,16 @@ static PyObject *PyFT2Font_set_text(PyFT2Font *self, PyObject *args, PyObject *k if (PyUnicode_Check(textobj)) { size = PyUnicode_GET_LENGTH(textobj); codepoints.resize(size); +#if defined(PYPY_VERSION) && (PYPY_VERSION_NUM < 0x07030200) + Py_UNICODE *unistr = PyUnicode_AsUnicode(textobj); + for (size_t i = 0; i < size; ++i) { + codepoints[i] = unistr[i]; + } +#else for (size_t i = 0; i < size; ++i) { codepoints[i] = PyUnicode_ReadChar(textobj, i); } +#endif } else if (PyBytes_Check(textobj)) { size = PyBytes_Size(textobj); codepoints.resize(size);