Escrevendo texto com diacrítico (“nikud”, marcas de vocalização) usando PIL (Python Imaging Library)

fácil escrever texto simples em uma imagem usando PI

draw = ImageDraw.Draw(img)
draw.text((10, y), text2, font=font, fill=forecolor )

No entanto, quando tento escrever sinais de pontuação em hebraico (chamados "nikud" ou ניקוד), os caracteres não se sobrepõem como deveriam. (Eu acho que essa pergunta também é relevante para o árabe e outros idiomas semelhantes.)

No ambiente de suporte, essas duas palavras ocupam o mesmo espaço / largura (o exemplo abaixo depende do seu sistema e, portanto, da imagem):

סֶפֶר ספר

No entanto, ao desenhar o texto com PIL, recebo:

ס ֶ פ ֶ ר

desde que a biblioteca provavelmente não obedece às regras de kerning (?

É possível que o caractere e o sinal de pontuação hebraico ocupem o mesmo espaço / largura sem escrever manualmente o posicionamento do caracter

image - nikud e espaçamento entre letras http://tinypic.com/r/jglhc5/

imagem URL:http: //tinypic.com/r/jglhc5/

questionAnswers(8)

yourAnswerToTheQuestion