【发布时间】:2021-08-20 15:33:30
【问题描述】:
我在使用 Pillow 的文本呈现功能时遇到问题。我想为字体启用字距调整,让它看起来更漂亮,但却陷入了无穷无尽的疯狂兔子洞。
尝试运行此代码行时:
draw.text((1255, 224), desc, font=font.font_variant(size=94), fill=0xff0000ff, features=['kern'])
我收到以下错误消息:
size, offset = self.font.getsize(
KeyError: 'setting text direction, language or font features is not supported without libraqm'
我在网上搜索了很长时间,找到了一些没有任何结果的答案... 最值得注意的是How to install pre-built Pillow wheel with libraqm DLLs on Windows? 和Installing Raqm (Libraqm) Windows 10。
压力很大,最终我将 DLL 文件复制并粘贴到了我能想到的每个文件夹中(例如 System32、SysWOW64、Python38、Python38\Scripts、Python38\DLLs 等),但仍然失败。
我什至改变了PATH、PYTHONPATH和sys.path。
>>> from PIL import features
>>> features.check('raqm')
False
上面的支票总是打印False
我检查了检查功能是否存在的代码并检查了自己,它找不到任何 DLL:
>>> imported_module = __import__('PIL._imagingft', fromlist=['PIL'])
>>> vars(imported_module)
{ ..., 'HAVE_RAQM': False, 'HAVE_FRIBIDI': False, 'HAVE_HARFBUZZ': False, ... }
作为参考,这些是我的版本:
- Windows 10 专业版 20H2
- 枕头 8.2.0
- Python 3.8.7
我已经变得非常渴望任何答案...在网上查了一段时间并没有找到太多信息,总是只有一两个谷歌结果与这个问题有一些相关性。
【问题讨论】:
-
您是否尝试将
libraqm.dll放在脚本的当前工作目录中?不久前,这对我有用,当时我需要 Windows 10 上的 Pillow 中的 Raqm 支持。 -
@HansHirse,仍然报告为不存在...
-
那么请把你的问题放在一起minimal reproducible example和edit,以便人们进一步测试。
标签: python windows-10 python-imaging-library