backports/py3-svgpath: new aport
This commit is contained in:
parent
9067438ed8
commit
993c865a5c
3 changed files with 350 additions and 0 deletions
300
backports/py3-svgpath/105_use-better-than-nothing-font.patch
Normal file
300
backports/py3-svgpath/105_use-better-than-nothing-font.patch
Normal file
|
@ -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
|
35
backports/py3-svgpath/APKBUILD
Normal file
35
backports/py3-svgpath/APKBUILD
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
|
||||
# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
|
||||
pkgname=py3-svgpath
|
||||
pkgver=6.3
|
||||
pkgrel=0
|
||||
pkgdesc="SVG path and object parser"
|
||||
url="https://github.com/regebro/svg.path"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
depends="python3"
|
||||
makedepends="py3-setuptools"
|
||||
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
|
||||
}
|
||||
|
||||
check() {
|
||||
PYTHONPATH=build/lib pytest
|
||||
}
|
||||
|
||||
package() {
|
||||
python3 setup.py install --skip-build --root="$pkgdir"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
fd9dd9e1e603be5e212e3eb247c9f3778203f5285397a4cdde4c038c3f31f7bc2b8904491c208256996e2fbd39b4e5f7ea58d964bd5d22bc09c57e4bc2c70317 py3-svgpath-6.3.tar.gz
|
||||
d12d32b0f6b075ee8602a7eee5dd1ddaa8f097fe3d471f2941fac0bba335641111eb2c0e2819dffea822f895833ffafa35baac80085cf759ca1ed8f7a6b92773 105_use-better-than-nothing-font.patch
|
||||
62ab1e0980c7fb797f74b81c937a68b6af1112fff293e6ddec6389a8e490a08e181c37217408b58ce3a2ae2afda7813bb3bbe57d5414cfc18e4e53e6d2f2ea5a no-install-tests.patch
|
||||
"
|
15
backports/py3-svgpath/no-install-tests.patch
Normal file
15
backports/py3-svgpath/no-install-tests.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- ./setup.py.orig
|
||||
+++ ./setup.py
|
||||
@@ -1,3 +1,3 @@
|
||||
-from setuptools import setup
|
||||
+from setuptools import setup, find_packages
|
||||
|
||||
-setup()
|
||||
+setup(packages=find_packages("src", exclude=["*tests"]))
|
||||
--- ./MANIFEST.in.orig
|
||||
+++ ./MANIFEST.in
|
||||
@@ -3,3 +3,4 @@
|
||||
|
||||
recursive-include src *.png
|
||||
|
||||
+global-exclude tests/*
|
Loading…
Reference in a new issue