簡體   English   中英

如何在 Python Pillow 中設置字體的字距?

[英]How to set font's kerning in Python Pillow?

對於枕頭 class ImageDrawhttps://pillow.readthedocs.io/en/stable/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.text )我找到了參數特征 它可以調整這個字體參數: https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist

如何設置字距(kern)參數? 我不知道語法。

這是行不通的:

draw.text((61, 386), text, (0, 0, 0), font=font, features={"kern": 1.0})

我最近遇到了同樣的問題。 我認為最好的方法是單獨繪制每個字母並計算使其均勻所需的空間。 這是我使用的代碼。

total_text_width, total_text_height = draw.textsize("Sample Text", font=font)
width_difference = desired_width_of_text - total_text_width
gap_width = int(width_difference / (len(total_text_width) - 1))
xpos = left_side_padding
for letter in header_text:
    draw.text((xpos,0),letter, (0,0,0), font=font)
    letter_width, letter_height = draw.textsize(letter, font=font)
    xpos += letter_width + gap_width

默認間距與繪制每個字母並計算間距

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM