Open sam210723 opened 4 years ago
Possibly caused by non-Unicode characters in font path
Same issue after updating to Pillow 7.0.0
Added try/catch and warning for missing fonts in 92df164
I have the same issue when using Windows 10
with Japanese
and trying to open the font ARIAL.TTF
I'm using version 7.0.0
and handle dependencies with Poetry
Traceback (most recent call last):
File "render_annotations.py", line 240, in <module>
main(file_path)
File "render_annotations.py", line 216, in main
write_image_with_annotations(image_annotations, url, item["key"])
File "render_annotations.py", line 182, in write_image_with_annotations
newly_drawn_text_box = draw_annotation_to_image(annotation, image, drawn_text_boxes)
File "render_annotations.py", line 154, in draw_annotation_to_image
return draw_text(annotation, image, drawn_text_boxes)
File "render_annotations.py", line 112, in draw_text
fnt = ImageFont.truetype("ARIAL.TTF", ANNOTATION_FONT_SIZE)
File "C:\Users\Man\AppData\Local\pypoetry\Cache\virtualenvs\qa-show-all-annotations-gvzPHQ0M-py3.7\lib\site-packages\PIL\ImageFont.py", line 642, in truetype
return freetype(font)
File "C:\Users\Man\AppData\Local\pypoetry\Cache\virtualenvs\qa-show-all-annotations-gvzPHQ0M-py3.7\lib\site-packages\PIL\ImageFont.py", line 639, in freetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "C:\Users\Man\AppData\Local\pypoetry\Cache\virtualenvs\qa-show-all-annotations-gvzPHQ0M-py3.7\lib\site-packages\PIL\ImageFont.py", line 188, in __init__
font, size, index, encoding, layout_engine=layout_engine
OSError: cannot open resource
PS C:\Users\Man\Documents\GitHub\crowd-ops\Projects\Add-Annotations>
I was able to find a work-around copying the file to the same folder as the script and then changing:
fnt = ImageFont.truetype("ARIAL.TTF", ANNOTATION_FONT_SIZE)
to
fnt = ImageFont.truetype("./ARIAL.TTF", ANNOTATION_FONT_SIZE)
Ok interesting, this seems to be a bit tedious to get going cross-platform. I'll investigate.
PIL throws an OSError when it can't load a font