diff --git a/Dockerfile b/Dockerfile
index dc6da06..5eb6ef8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -27,6 +27,9 @@ RUN apt-get update && apt-get upgrade -y \
libpq-dev \
libpango-1.0.0 \
libpangocairo-1.0.0 \
+ # Installing Japaneese fonts (because it's fun)
+ fonts-noto-cjk \
+ fonts-vlgothic \
# Installing `poetry`:
&& curl -sSL 'https://install.python-poetry.org' | python - \
diff --git a/labelmaker/main.py b/labelmaker/main.py
index 8cc22db..d8aa6df 100644
--- a/labelmaker/main.py
+++ b/labelmaker/main.py
@@ -48,8 +48,8 @@ class Renderer(object):
context.paint()
return new_surface.write_to_png()
- def render_text(self, text, fontname, x, y, html=False):
- print("Fontname:", fontname)
+ def render_text(self, text, fontname, size, x, y, html=False):
+ print(f"Fontname: {fontname} {size}")
self.context.save()
if y != -1:
self.context.translate(x, y)
@@ -59,10 +59,10 @@ class Renderer(object):
layout._set_alignment(pango.Alignment.CENTER)
if html:
# Absolutely horrifying hack to fix broken text wrapping
- layout.apply_markup('%s' % (fontname, text))
+ layout.apply_markup('%s' % (fontname, size, text))
else:
- self.font.family = fontname.split()[0]
- self.font.size = pango.units_from_double(int(fontname.split()[1]))
+ self.font.family = fontname
+ self.font.size = pango.units_from_double(size)
layout.font_description = self.font
layout.text = text
@@ -84,7 +84,7 @@ def stuff_preview(size):
text = flask.request.args.get('text')
html = flask.request.args.get('html') == '1'
renderer = Renderer()
- renderer.render_text(text, 'Sans {}'.format(size), 0, -1, html)
+ renderer.render_text(text, 'Noto Sans CJK JP', size, 0, -1, html)
preview = renderer.get_preview()
return flask.Response(preview, mimetype='image/png')
@@ -95,7 +95,7 @@ def stuff_print(size):
text = flask.request.args.get('text')
html = flask.request.args.get('html') == '1'
renderer = Renderer()
- renderer.render_text(text, 'Sans {}'.format(size), 0, -1, html)
+ renderer.render_text(text, 'Noto Sans CJK JP', size, 0, -1, html)
data = renderer.surface.write_to_png()
response = requests.post(