From f5e4530a46d8f473efec2207fca53d299b49da49 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Fri, 19 Jan 2024 00:03:20 -0500
Subject: [PATCH] testing/py3-svgpath: fix check

---
 .../105_use-better-than-nothing-font.patch    | 300 ++++++++++++++++++
 testing/py3-svgpath/APKBUILD                  |  14 +-
 2 files changed, 309 insertions(+), 5 deletions(-)
 create mode 100644 testing/py3-svgpath/105_use-better-than-nothing-font.patch

diff --git a/testing/py3-svgpath/105_use-better-than-nothing-font.patch b/testing/py3-svgpath/105_use-better-than-nothing-font.patch
new file mode 100644
index 000000000000..7e3d18d1fc53
--- /dev/null
+++ b/testing/py3-svgpath/105_use-better-than-nothing-font.patch
@@ -0,0 +1,300 @@
+From a17ed35e490a99a7dfab9833f6f3be86f004f699 Mon Sep 17 00:00:00 2001
+From: Benjamin Drung <benjamin.drung@canonical.com>
+Date: Fri, 15 Dec 2023 15:32:16 +0100
+Subject: [PATCH] tests: Use better than nothing font
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Pillow 10.1.0 uses a version of Aileron Regular instead of the previous
+“better than nothing” default font (in case FreeType support is
+available). This font change changes the resulting bitmap.
+
+Use the "better than nothing" font to keep the expected result
+identical. The proper solution is either to use one specific font in
+svg.path or make pillow support loading the “better than nothing”
+default font.
+
+Bug-Debian: https://bugs.debian.org/1055159
+---
+ tests/font.py                   | 145 ++++++++++++++++++++++++++++++++
+ tests/test_boundingbox_image.py |  18 ++--
+ tests/test_image.py             |  18 +++-
+ 3 files changed, 170 insertions(+), 11 deletions(-)
+ create mode 100644 tests/font.py
+
+diff --git a/tests/font.py b/tests/font.py
+new file mode 100644
+index 0000000..d375f49
+--- /dev/null
++++ b/tests/font.py
+@@ -0,0 +1,145 @@
++# Code taken from https://github.com/python-pillow/Pillow/blob/main/src/PIL/ImageFont.py
++#
++# License: the open source HPND License
++# Copyright (c) 1997-2003 by Secret Labs AB
++# Copyright (c) 1996-2003 by Fredrik Lundh
++
++from PIL import Image, ImageFont
++from io import BytesIO
++import base64
++
++
++def get_better_than_nothing_font():
++    font = ImageFont.ImageFont()
++    font._load_pilfont_data(
++        # courB08
++        BytesIO(
++            base64.b64decode(
++                b"""
++UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA
++BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL
++AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA
++AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB
++ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A
++BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB
++//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA
++AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH
++AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA
++ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv
++AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/
++/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5
++AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA
++AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG
++AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA
++BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA
++AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA
++2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF
++AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA////
+++gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA
++////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA
++BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv
++AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA
++AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA
++AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA
++BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP//
++//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA
++AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF
++AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB
++mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn
++AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA
++AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7
++AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA
++Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB
++//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA
++AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ
++AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC
++DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ
++AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/
+++wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5
++AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/
++///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG
++AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA
++BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA
++Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC
++eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG
++AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA////
+++gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA
++////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA
++BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT
++AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A
++AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA
++Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA
++Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP//
++//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA
++AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ
++AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA
++LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5
++AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA
++AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5
++AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA
++AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG
++AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA
++EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK
++AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA
++pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG
++AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA////
+++QAGAAIAzgAKANUAEw==
++"""
++            )
++        ),
++        Image.open(
++            BytesIO(
++                base64.b64decode(
++                    b"""
++iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u
++Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9
++M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g
++LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F
++IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA
++Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791
++NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx
++in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9
++SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY
++AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt
++y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG
++ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY
++lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H
++/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3
++AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47
++c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/
++/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw
++pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv
++oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR
++evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA
++AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v//
++Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR
++w7IkEbzhVQAAAABJRU5ErkJggg==
++"""
++                )
++            )
++        ),
++    )
++    return font
+diff --git a/tests/test_boundingbox_image.py b/tests/test_boundingbox_image.py
+index 21f19a7..414f0b1 100644
+--- a/tests/test_boundingbox_image.py
++++ b/tests/test_boundingbox_image.py
+@@ -5,6 +5,7 @@
+ 
+ from PIL import Image, ImageDraw, ImageColor, ImageChops
+ from svg.path.path import CubicBezier, QuadraticBezier, Line, Arc
++from .font import get_better_than_nothing_font
+ 
+ 
+ RED = ImageColor.getcolor("red", mode="RGB")
+@@ -57,17 +58,15 @@ def draw_boundingbox(self, path):
+         sys.platform != "linux", reason="Different platforms have different fonts"
+     )
+     def test_image(self):
+-        self.draw.text((10, 10), "This is an SVG line:")
+-        self.draw.text(
+-            (10, 100),
+-            "The red line is a bounding box.",
+-        )
++        font = get_better_than_nothing_font()
++        self.draw.text((10, 10), "This is an SVG line:", font=font)
++        self.draw.text((10, 100), "The red line is a bounding box.", font=font)
+ 
+         line1 = Line(40 + 60j, 200 + 80j)
+         self.draw_path(line1)
+         self.draw_boundingbox(line1)
+ 
+-        self.draw.text((10, 140), "These are Arc segments:")
++        self.draw.text((10, 140), "These are Arc segments:", font=font)
+         arc1 = Arc(260 + 320j, 100 + 100j, 0, 1, 1, 260 + 319j)
+         self.draw_path(arc1)
+         self.draw_boundingbox(arc1)
+@@ -83,6 +82,7 @@ def test_image(self):
+         self.draw.text(
+             (10, 500),
+             "Next we have a quadratic bezier curve, with one tangent:",
++            font=font,
+         )
+         start = 30 + 600j
+         control = 400 + 540j
+@@ -95,12 +95,16 @@ def test_image(self):
+         self.draw.text(
+             (10, 670),
+             "The white dot is the control point, and the cyan lines are ",
++            font=font,
++        )
++        self.draw.text(
++            (10, 690), "illustrating the how the control point works.", font=font
+         )
+-        self.draw.text((10, 690), "illustrating the how the control point works.")
+ 
+         self.draw.text(
+             (10, 730),
+             "Lastly is a cubic bezier, with 2 tangents, and 2 control points:",
++            font=font,
+         )
+ 
+         start = 200 + 800j
+diff --git a/tests/test_image.py b/tests/test_image.py
+index 49967ea..ae3a357 100644
+--- a/tests/test_image.py
++++ b/tests/test_image.py
+@@ -4,6 +4,7 @@
+ from math import sqrt
+ 
+ from svg.path.path import CubicBezier, QuadraticBezier, Line, Arc
++from .font import get_better_than_nothing_font
+ 
+ 
+ RED = ImageColor.getcolor("red", mode="RGB")
+@@ -57,25 +58,30 @@ def draw_tangents(self, path, count):
+             self.draw.line([c2t(p), c2t(tt + p)], fill=YELLOW, width=1)
+ 
+     def test_image(self):
+-        self.draw.text((10, 10), "This is an SVG line:")
++        font = get_better_than_nothing_font()
++        self.draw.text((10, 10), "This is an SVG line:", font=font)
+         self.draw.text(
+             (10, 100),
+             "The red line is a tangent, and the yellow is 90 degrees from that.",
++            font=font,
+         )
+ 
+         line1 = Line(40 + 60j, 200 + 80j)
+         self.draw_path(line1)
+         self.draw_tangents(line1, 1)
+ 
+-        self.draw.text((10, 140), "This is an Arc segment, almost a whole circle:")
++        self.draw.text(
++            (10, 140), "This is an Arc segment, almost a whole circle:", font=font
++        )
+         arc1 = Arc(260 + 320j, 100 + 100j, 0, 1, 1, 260 + 319j)
+         self.draw_path(arc1)
+         self.draw_tangents(arc1, 5)
+-        self.draw.text((10, 460), "With five tangents.")
++        self.draw.text((10, 460), "With five tangents.", font=font)
+ 
+         self.draw.text(
+             (10, 500),
+             "Next we have a quadratic bezier curve, with one tangent:",
++            font=font,
+         )
+         start = 30 + 600j
+         control = 400 + 540j
+@@ -88,12 +94,16 @@ def test_image(self):
+         self.draw.text(
+             (10, 670),
+             "The white dot is the control point, and the cyan lines are ",
++            font=font,
++        )
++        self.draw.text(
++            (10, 690), "illustrating the how the control point works.", font=font
+         )
+-        self.draw.text((10, 690), "illustrating the how the control point works.")
+ 
+         self.draw.text(
+             (10, 730),
+             "Lastly is a cubic bezier, with 2 tangents, and 2 control points:",
++            font=font,
+         )
+ 
+         start = 30 + 800j
diff --git a/testing/py3-svgpath/APKBUILD b/testing/py3-svgpath/APKBUILD
index 4879e0d01bd1..875abb447bdf 100644
--- a/testing/py3-svgpath/APKBUILD
+++ b/testing/py3-svgpath/APKBUILD
@@ -2,21 +2,23 @@
 # Maintainer: Aiden Grossman <agrossman154@yahoo.com>
 pkgname=py3-svgpath
 pkgver=6.3
-pkgrel=0
+pkgrel=1
 pkgdesc="SVG path and object parser"
 url="https://github.com/regebro/svg.path"
 arch="noarch"
 license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
 checkdepends="py3-pytest py3-pillow"
 subpackages="$pkgname-pyc"
 source="$pkgname-$pkgver.tar.gz::https://github.com/regebro/svg.path/archive/refs/tags/$pkgver.tar.gz
+	105_use-better-than-nothing-font.patch
 	no-install-tests.patch"
 builddir="$srcdir/svg.path-$pkgver"
 
 build() {
-	python3 setup.py build
+	gpep517 build-wheel \
+		--wheel-dir .dist \
+		--output-fd 3 3>&1 >&2
 }
 
 check() {
@@ -24,10 +26,12 @@ check() {
 }
 
 package() {
-	python3 setup.py install --skip-build --root="$pkgdir"
+	python3 -m installer -d "$pkgdir" \
+		.dist/*.whl
 }
 
 sha512sums="
 fd9dd9e1e603be5e212e3eb247c9f3778203f5285397a4cdde4c038c3f31f7bc2b8904491c208256996e2fbd39b4e5f7ea58d964bd5d22bc09c57e4bc2c70317  py3-svgpath-6.3.tar.gz
+d12d32b0f6b075ee8602a7eee5dd1ddaa8f097fe3d471f2941fac0bba335641111eb2c0e2819dffea822f895833ffafa35baac80085cf759ca1ed8f7a6b92773  105_use-better-than-nothing-font.patch
 62ab1e0980c7fb797f74b81c937a68b6af1112fff293e6ddec6389a8e490a08e181c37217408b58ce3a2ae2afda7813bb3bbe57d5414cfc18e4e53e6d2f2ea5a  no-install-tests.patch
 "
-- 
GitLab