+# This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
+#
import PIL.Image
import PIL.ImageDraw
def text_with_tracking(draw, tracking, pos, text, fill=None, font=None):
x, y = pos
for c in text:
- width = font.getsize(c)[0]
+ # TODO: adjust for kerning?
+ width = font.getlength(c)
draw.text((x, y), c, fill=fill, font=font)
x += width + tracking
def find_grouping(self, groups, ngroups, glue):
best = None
best_var = None
+ if not groups:
+ return []
mean = sum(g[0] for g in groups) + (len(groups) - ngroups) * glue
if mean > self.width * ngroups: