【问题标题】:using pillow to make a rank card in discord, but it can't write the name properly for some users用枕头打出不和谐的排名卡,但有些用户不能正确写名字
【发布时间】:2021-06-06 07:05:39
【问题描述】:
txt3 = f"{str(member.name)}"
font3 = ImageFont.truetype("./font/arial.ttf", fontsize3)
draw.text((35,35), txt3, font=font3, fill=(255, 255, 255))

好的,问题来了。以上工作正常,就像它应该的那样。以下是代码用于正常姓名的人的场景:

所以,这一切都很好。但是,当我对具有唯一/花哨名称的用户使用该命令时,它会向我抛出这个。

这只是扔盒子。我试图模仿等级卡的 API。问题是,API 也使用arial(我问过 API 的所有者),但它可以正确显示名称,而在使用 PIL 时,它会失败。因此,我认为问题在于 PIL 而不是我使用的字体。 有什么办法可以解决这个问题。 (出于参考目的,我将使用 API 调用制作的图像放在下面)

感谢任何帮助!

【问题讨论】:

  • 问题也可能是在脚本执行期间 unicode 字符信息丢失。 PIL 可能会起作用,但会事先失败。我会在代码期间注销字符串几次,看看它是否正确显示在那里。
  • txt3.decode('utf-8')

标签: discord discord.py python-imaging-library


【解决方案1】:

您需要为此使用 Unicode 字体。例如 Arial Unicode MS

使用 Arial: https://i.imgur.com/hgzX4xQ.png

使用 Arial Unicode: https://i.imgur.com/Tpb3nPC.png

【讨论】:

    猜你喜欢
    • 2020-11-15
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2021-10-03
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多