skip to Main Content

I am trying to generate a word cloud using the WordCloud module in Python, however I see the following error whenever I call .generate

Traceback (most recent call last):
  File "/mnt/6db3226b-5f96-4257-980d-bb8ec1dad8e7/test.py", line 4, in <module>
    wc.generate("foo bar foo bar hello world")
  File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 639, in generate
    return self.generate_from_text(text)
  File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 621, in generate_from_text
    self.generate_from_frequencies(words)
  File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 453, in generate_from_frequencies
    self.generate_from_frequencies(dict(frequencies[:2]),
  File "/home/mjc/.local/lib/python3.10/site-packages/wordcloud/wordcloud.py", line 508, in generate_from_frequencies
    box_size = draw.textbbox((0, 0), word, font=transposed_font, anchor="lt")
  File "/usr/lib/python3/dist-packages/PIL/ImageDraw.py", line 671, in textbbox
    raise ValueError("Only supported for TrueType fonts")
ValueError: Only supported for TrueType fonts

As it stands, I am trying to create a very simple example WordCloud

import matplotlib.pyplot as plt
from wordcloud import WordCloud
wc = WordCloud(background_color="white", font_path="./arial.ttf", width=800, height=400)
wc.generate("foo bar foo bar hello world")
plt.axis("off")
plt.imshow(wc)
plt.savefig("test.png")
plt.show()

Where arial.ttf is downloaded from https://www.freefontspro.com/14454/arial.ttf and placed in the same directory as test.py. I am using Ubuntu 22.04 and Python 3.10.6.

I was expecting to generate a word cloud from the input "foo bar foo bar hello world", however see the error ValueError: Only supported for TrueType fonts despite passing a ttf to the font_path argument.

Any help on resolving this is appreciated!

2

Answers


  1. I could not reproduce your error with Python 3.10 even after downloading the same font – though I am on macOS.

    The only thing I can imagine is that your PIL doesn’t support TrueType fonts, so you can check with:

    python3 -m PIL
    

    Sample Output

    --------------------------------------------------------------------
    Pillow 9.4.0
    Python 3.10.0 (v3.10.0:b494f5935c, Oct  4 2021, 14:59:19) [Clang 12.0.5 (clang-1205.0.22.11)]
    --------------------------------------------------------------------
    Python modules loaded from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/PIL
    Binary modules loaded from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/PIL
    --------------------------------------------------------------------
    --- PIL CORE support ok, compiled for 9.4.0
    --- TKINTER support ok, loaded 8.6
    --- FREETYPE2 support ok, loaded 2.13.0             <--- HERE
    --- LITTLECMS2 support ok, loaded 2.14
    --- WEBP support ok, loaded 1.3.0
    --- WEBP Transparency support ok
    --- WEBPMUX support ok
    --- WEBP Animation support ok
    --- JPEG support ok, compiled for libjpeg-turbo 2.1.4
    --- OPENJPEG (JPEG2000) support ok, loaded 2.5.0
    --- ZLIB (PNG/ZIP) support ok, loaded 1.2.13
    --- LIBTIFF support ok, loaded 4.5.0
    --- RAQM (Bidirectional Text) support ok, loaded 0.9.0, fribidi 1.0.12, harfbuzz 7.1.0
    *** LIBIMAGEQUANT (Quantization method) support not installed
    --- XCB (X protocol) support ok
    --------------------------------------------------------------------
    BLP
    Extensions: .blp
    Features: open, save, encode
    --------------------------------------------------------------------
    BMP image/bmp
    Extensions: .bmp
    Features: open, save
    --------------------------------------------------------------------
    BUFR
    Extensions: .bufr
    Features: open, save
    --------------------------------------------------------------------
    CUR
    Extensions: .cur
    Features: open
    --------------------------------------------------------------------
    DCX
    Extensions: .dcx
    Features: open
    --------------------------------------------------------------------
    DDS
    Extensions: .dds
    Features: open, save
    --------------------------------------------------------------------
    DIB image/bmp
    Extensions: .dib
    Features: open, save
    --------------------------------------------------------------------
    EPS application/postscript
    Extensions: .eps, .ps
    Features: open, save
    --------------------------------------------------------------------
    FITS
    Extensions: .fit, .fits
    Features: open, save
    --------------------------------------------------------------------
    FLI
    Extensions: .flc, .fli
    Features: open
    --------------------------------------------------------------------
    FTEX
    Extensions: .ftc, .ftu
    Features: open
    --------------------------------------------------------------------
    GBR
    Extensions: .gbr
    Features: open
    --------------------------------------------------------------------
    GIF image/gif
    Extensions: .gif
    Features: open, save, save_all
    --------------------------------------------------------------------
    GRIB
    Extensions: .grib
    Features: open, save
    --------------------------------------------------------------------
    HDF5
    Extensions: .h5, .hdf
    Features: open, save
    --------------------------------------------------------------------
    ICNS image/icns
    Extensions: .icns
    Features: open, save
    --------------------------------------------------------------------
    ICO image/x-icon
    Extensions: .ico
    Features: open, save
    --------------------------------------------------------------------
    IM
    Extensions: .im
    Features: open, save
    --------------------------------------------------------------------
    IMT
    Features: open
    --------------------------------------------------------------------
    IPTC
    Extensions: .iim
    Features: open
    --------------------------------------------------------------------
    JPEG image/jpeg
    Extensions: .jfif, .jpe, .jpeg, .jpg
    Features: open, save
    --------------------------------------------------------------------
    JPEG2000 image/jp2
    Extensions: .j2c, .j2k, .jp2, .jpc, .jpf, .jpx
    Features: open, save
    --------------------------------------------------------------------
    MCIDAS
    Features: open
    --------------------------------------------------------------------
    MPEG video/mpeg
    Extensions: .mpeg, .mpg
    Features: open
    --------------------------------------------------------------------
    MSP
    Extensions: .msp
    Features: open, save, decode
    --------------------------------------------------------------------
    PCD
    Extensions: .pcd
    Features: open
    --------------------------------------------------------------------
    PCX image/x-pcx
    Extensions: .pcx
    Features: open, save
    --------------------------------------------------------------------
    PIXAR
    Extensions: .pxr
    Features: open
    --------------------------------------------------------------------
    PNG image/png
    Extensions: .apng, .png
    Features: open, save, save_all
    --------------------------------------------------------------------
    PPM image/x-portable-anymap
    Extensions: .pbm, .pgm, .pnm, .ppm
    Features: open, save
    --------------------------------------------------------------------
    PSD image/vnd.adobe.photoshop
    Extensions: .psd
    Features: open
    --------------------------------------------------------------------
    SGI image/sgi
    Extensions: .bw, .rgb, .rgba, .sgi
    Features: open, save
    --------------------------------------------------------------------
    SPIDER
    Features: open, save
    --------------------------------------------------------------------
    SUN
    Extensions: .ras
    Features: open
    --------------------------------------------------------------------
    TGA image/x-tga
    Extensions: .icb, .tga, .vda, .vst
    Features: open, save
    --------------------------------------------------------------------
    TIFF image/tiff
    Extensions: .tif, .tiff
    Features: open, save, save_all
    --------------------------------------------------------------------
    WEBP image/webp
    Extensions: .webp
    Features: open, save, save_all
    --------------------------------------------------------------------
    WMF
    Extensions: .emf, .wmf
    Features: open, save
    --------------------------------------------------------------------
    XBM image/xbm
    Extensions: .xbm
    Features: open, save
    --------------------------------------------------------------------
    XPM image/xpm
    Extensions: .xpm
    Features: open
    --------------------------------------------------------------------
    XVTHUMB
    Features: open
    --------------------------------------------------------------------
    

    Or, more speedily – since we are only interested in "freetype" lines:

    python3 -m PIL | grep -i type
    

    Then you may need to install freetype with a command something like – not too sure of the exact package name:

    sudo apt install libfreetype6
    
    Login or Signup to reply.
  2. These work for me:

    pip install –upgrade pip

    pip install –upgrade Pillow

    Tell me if it doesn’t work

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search