summaryrefslogtreecommitdiff
path: root/tests/src/render.py
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-08-01 00:01:17 +0200
committerLaurenz <laurmaedje@gmail.com>2020-08-01 00:10:54 +0200
commit06dbac6efd98be5a015023c88ed3dbd9a35a4594 (patch)
treebb3c75230098bf71d1ac23bbe7184e4ae7a6cef2 /tests/src/render.py
parent064954cf9edbb0201b6184e69978f86e93741008 (diff)
Port font handling to fontdock and ttf-parser 🛳
- Use fontdock for indexing fonts and querying - Typst binary now automatically indexes and uses system fonts in addition to a fixed font folder! - Removes subsetting support for now (was half-finished anyways, plan is to use harfbuzz for subsetting in the future) - Adds font width configuration support
Diffstat (limited to 'tests/src/render.py')
-rw-r--r--tests/src/render.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/tests/src/render.py b/tests/src/render.py
index 30289c3b..0ef8ae2b 100644
--- a/tests/src/render.py
+++ b/tests/src/render.py
@@ -29,10 +29,10 @@ class MultiboxRenderer:
def __init__(self, data):
self.combined = None
- self.fonts = {}
- for entry in data["fonts"]:
- index = int(entry[0]["id"]), int(entry[0]["variant"])
- self.fonts[index] = os.path.join(BASE, '../../../fonts', entry[1])
+ self.faces = {}
+ for entry in data["faces"]:
+ face_id = int(entry[0]["index"]), int(entry[0]["variant"])
+ self.faces[face_id] = os.path.join(BASE, '../../../fonts', entry[1])
self.layouts = data["layouts"]
@@ -45,7 +45,7 @@ class MultiboxRenderer:
for layout in self.layouts:
size = layout["dimensions"]
- renderer = BoxRenderer(self.fonts, size["x"], size["y"])
+ renderer = BoxRenderer(self.faces, size["x"], size["y"])
for action in layout["actions"]:
renderer.execute(action)
@@ -87,8 +87,8 @@ class MultiboxRenderer:
class BoxRenderer:
- def __init__(self, fonts, width, height, grid=False):
- self.fonts = fonts
+ def __init__(self, faces, width, height, grid=False):
+ self.faces = faces
self.size = (pix(width), pix(height))
img = Image.new('RGBA', self.size, (255, 255, 255, 255))
@@ -126,9 +126,9 @@ class BoxRenderer:
self.cursor = [pix(args[0]["x"]), pix(args[0]["y"])]
elif cmd == 1:
- index = int(args[0]["id"]), int(args[0]["variant"])
+ face_id = int(args[0]["index"]), int(args[0]["variant"])
size = pix(args[1])
- self.font = ImageFont.truetype(self.fonts[index], size)
+ self.font = ImageFont.truetype(self.faces[face_id], size)
elif cmd == 2:
text = args[0]