0
votes

Pil.Imagefont ne peut pas ouvrir la police avec de l'espace

Si j'essaie d'utiliser Pil.Imagefont.TudeType pour ouvrir une police Ceci est pour un projet OCR

J'ai été incapable de trouver une solution dans Google ou sur ce site jusqu'à présent. Le problème se produit lorsque j'essaie d'ouvrir une police avec des espaces dans le nom. Tout nom de police sans espace fonctionne bien xxx

erreur est ici:

fichier "b: \ python \ lib \ site-sites-packages \ pil \ imagefont.py", ligne 145, dans init Layout_Engine = Layout_Engine)
OSError: impossible d'ouvrir la ressource

J'ai essayé les

1) Renommer le fichier (pas une solution élégante de toute façon)
2) déplacer la police sur le même répertoire que le script Python
3) Ajout / espace intérieur (suggéré)

J'ai également vérifié l'erreur en essayant plusieurs fois avec différents noms de polices et les mêmes erreurs se produisent.

jusqu'à présent rien ne fonctionne

merci d'avance


0 commentaires

3 Réponses :


0
votes

Ce n'est pas la chaîne que vous pensez que c'est:

os.path.join('C:\\', 'Windows', 'Fonts', 'Times New Roman.ttf')


0 commentaires

1
votes

OK,

J'ai peut-être une solution. L'indice est venu à moi lorsque je tapais dans le nom du fichier de police et qu'un menu contextuel est apparu.

Dans le menu contextuel était une liste des polices. Tous les noms de police ont été modifiés en un seul nom. Par exemple, "Time New Roman" a été changé en "Times"

Je serais curieux de savoir où cette liste existe. J'ai essayé de le trouver mais est venu vide.

En outre, je voulais travailler avec une police personnalisée qui n'a pas été répertoriée. Après avoir téléchargé la police, je l'ai renommé à une seule police. Ensuite, j'ai placé la police dans le même répertoire que mon script Python. Cela a fonctionné OK.

Je pensais poster cela au cas où quelqu'un d'autre avait le même problème


0 commentaires

0
votes

J'ai trouvé une liste en ligne avec des noms de polices mappage au nom de fichier. Vous pouvez utiliser le nom du fichier pour le nom de police correspondant.

Par exemple: pour "Times New Roman", nous pouvons utiliser "Times.TTF"

Veuillez trouver la liste complète dans le lien ci-dessous

https://docs.microsoft.com/en-us/typography / polices / windows_10_font_list


0 commentaires