From fda92083680408b8525145759d22e912b27d6328 Mon Sep 17 00:00:00 2001 From: dataymeric <13287345+dataymeric@users.noreply.github.com> Date: Thu, 27 Apr 2023 21:22:37 +0200 Subject: [PATCH] Fix test failures and deprecated Pillow functions (#711) * fix: remove deprecated np.int to int * fix: remove deprecated Pillow functions * feat: add aarch64 cp311 --------- Co-authored-by: Valinquish <13287345+Valinquish@users.noreply.github.com> Co-authored-by: Andreas Mueller --- .github/workflows/test.yml | 2 +- wordcloud/color_from_image.py | 4 ++-- wordcloud/wordcloud.py | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7c6ac4a85..c8fe74e05 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,7 +31,7 @@ jobs: name: "Build aarch64 ${{ matrix.pyver }}" strategy: matrix: - pyver: [cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310] + pyver: [cp37-cp37m, cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311] fail-fast: false runs-on: ubuntu-latest env: diff --git a/wordcloud/color_from_image.py b/wordcloud/color_from_image.py index 908168539..4bce014a9 100644 --- a/wordcloud/color_from_image.py +++ b/wordcloud/color_from_image.py @@ -38,11 +38,11 @@ def __call__(self, word, font_size, font_path, position, orientation, **kwargs): transposed_font = ImageFont.TransposedFont(font, orientation=orientation) # get size of resulting text - box_size = transposed_font.getsize(word) + box_size = transposed_font.getbbox(word) x = position[0] y = position[1] # cut out patch under word box - patch = self.image[x:x + box_size[0], y:y + box_size[1]] + patch = self.image[x:x + box_size[2], y:y + box_size[3]] if patch.ndim == 3: # drop alpha channel if any patch = patch[:, :, :3] diff --git a/wordcloud/wordcloud.py b/wordcloud/wordcloud.py index f29bc803d..2d87a96ea 100644 --- a/wordcloud/wordcloud.py +++ b/wordcloud/wordcloud.py @@ -505,10 +505,10 @@ def generate_from_frequencies(self, frequencies, max_font_size=None): # noqa: C transposed_font = ImageFont.TransposedFont( font, orientation=orientation) # get size of resulting text - box_size = draw.textsize(word, font=transposed_font) + box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt") # find possible places using integral image: - result = occupancy.sample_position(box_size[1] + self.margin, - box_size[0] + self.margin, + result = occupancy.sample_position(box_size[3] + self.margin, + box_size[2] + self.margin, random_state) if result is not None or font_size < self.min_font_size: # either we found a place or font-size went too small