31 lines
979 B
Python
31 lines
979 B
Python
# -*- coding: utf-8 -*-
|
|||
|
|
"""Render the 480x480 page spec with the real MiSans fonts (previews + overview)."""
|
||
|
|
import os, sys
|
||
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||
|
|
import render_ui as R
|
||
|
|
from PIL import Image
|
||
|
|
from paths import DOCS
|
||
|
|
R.W = R.H = 480
|
||
|
|
from s5e_pages import PAGES
|
||
|
|
|
||
|
|
outs = []
|
||
|
|
for name, items in PAGES.items():
|
||
|
|
p = os.path.join(DOCS, 's5e_ui_%s.png' % name)
|
||
|
|
R.render(items, p)
|
||
|
|
outs.append((name, p))
|
||
|
|
print('wrote', p)
|
||
|
|
if R.OVERFLOW:
|
||
|
|
print('!! label overflow (text, lh, lines, total, box, natural):')
|
||
|
|
for o in R.OVERFLOW:
|
||
|
|
print(' ', o)
|
||
|
|
else:
|
||
|
|
print('no label overflow')
|
||
|
|
cols = 3
|
||
|
|
rows = (len(outs) + cols - 1) // cols
|
||
|
|
sheet = Image.new('RGB', (cols * (480 + 12) + 12, rows * (480 + 12) + 12), (28, 28, 32))
|
||
|
|
for i, (name, p) in enumerate(outs):
|
||
|
|
sheet.paste(Image.open(p), (12 + (i % cols) * 492, 12 + (i // cols) * 492))
|
||
|
|
sp = os.path.join(DOCS, 's5e_ui_all.png')
|
||
|
|
sheet.save(sp)
|
||
|
|
print('wrote', sp, sheet.size)
|