-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
Hi! We're currently rebuilding all packages against python 3.10 on Arch Linux.
Upon rebuild seqdiag 2.0.0 fails on the following:
======================================================================
ERROR: test_setup_inline_svg_is_true_with_multibytes (test_rst_directives.TestRstDirectives)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/seqdiag/src/seqdiag-2.0.0/src/seqdiag/tests/test_rst_directives.py", line 185, in test_setup_inline_svg_is_true_with_multibytes
doctree = publish_doctree(text)
File "/usr/lib/python3.10/site-packages/docutils/core.py", line 482, in publish_doctree
output = pub.publish(enable_exit_status=enable_exit_status)
File "/usr/lib/python3.10/site-packages/docutils/core.py", line 217, in publish
self.document = self.reader.read(self.source, self.parser,
File "/usr/lib/python3.10/site-packages/docutils/readers/__init__.py", line 71, in read
self.parse()
File "/usr/lib/python3.10/site-packages/docutils/readers/__init__.py", line 77, in parse
self.parser.parse(self.input, document)
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/__init__.py", line 191, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 170, in run
results = StateMachineWS.run(self, input_lines, input_offset,
File "/usr/lib/python3.10/site-packages/docutils/statemachine.py", line 241, in run
context, next_state, result = self.check_line(
File "/usr/lib/python3.10/site-packages/docutils/statemachine.py", line 459, in check_line
return method(match, context, next_state)
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2342, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_construct
return method(self, expmatch)
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2096, in directive
return self.run_directive(
File "/usr/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2146, in run_directive
result = directive_instance.run()
File "/usr/lib/python3.10/site-packages/blockdiag/utils/rst/directives.py", line 54, in decorator
return fn(*args)
File "/usr/lib/python3.10/site-packages/blockdiag/utils/rst/directives.py", line 178, in run
results[0] = self.node2image(node, diagram)
File "/usr/lib/python3.10/site-packages/blockdiag/utils/rst/directives.py", line 239, in node2image
return self.node2image_inline_svg(node, diagram)
File "/usr/lib/python3.10/site-packages/blockdiag/utils/rst/directives.py", line 270, in node2image_inline_svg
content = drawer.save(size)
File "/usr/lib/python3.10/site-packages/blockdiag/drawer.py", line 188, in save
return self.drawer.save(self.filename, size, self.format)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/filters/linejump.py", line 182, in save
self._run()
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/filters/linejump.py", line 109, in _run
method(self.target, *args, **kwargs)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/svg.py", line 136, in textarea
lines = self.textfolder(box, string, font, **kwargs)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/textfolder.py", line 66, in get
return HorizontalTextFolder(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/textfolder.py", line 208, in __init__
self._result = self._lines()
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/textfolder.py", line 285, in _lines
for folded in splittext(self, line, maxwidth, measure):
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/textfolder.py", line 41, in splittext
textsize = metrics.textsize(text[0:i])
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/textfolder.py", line 212, in textsize
textsize = self.drawer.textlinesize(text, self.font)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/utils/__init__.py", line 65, in func
fn.cache[key] = fn(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/svg.py", line 116, in textlinesize
return self._pil_drawer.textlinesize(string, font)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/utils/__init__.py", line 65, in func
fn.cache[key] = fn(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/blockdiag/imagedraw/png.py", line 276, in textlinesize
size = self.draw.textsize(string, font=None)
File "/usr/lib/python3.10/site-packages/PIL/ImageDraw.py", line 563, in textsize
return font.getsize(text, direction, features, language, stroke_width)
File "/usr/lib/python3.10/site-packages/PIL/ImageFont.py", line 129, in getsize
return self.font.getsize(text)
UnicodeEncodeError: 'latin-1' codec can't encode character '\u3042' in position 0: ordinal not in range(256)
-------------------- >> begin captured logging << --------------------
PIL.PngImagePlugin: DEBUG: STREAM b'IHDR' 16 13
PIL.PngImagePlugin: DEBUG: STREAM b'IDAT' 41 1216
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 88 tests in 0.502s
It appears that the default font used for the operation can not render unicode (see also python-pillow/Pillow#2779).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels