diff --git a/src/drawer/svg.py b/src/drawer/svg.py --- a/src/drawer/svg.py +++ b/src/drawer/svg.py @@ -1,11 +1,15 @@ -from jinja2 import Template - - c=28 padding=15 highNumbers=True +def adjustFont(base,text): + text=str(text) + if len(text)<2: return round(0.7*base) + elif len(text)<3: return round(0.55*base) + else: return round(0.4*base) + + class DiagramPoint: def __init__(self,x,y,color="",label=""): self.x=x @@ -48,16 +52,6 @@ class Svg: moves = [p for p in points if p.color and p.label] labels = [p for p in points if not p.color and p.label] - params = {"boardSize":self.boardSize, "padding":self.padding, "stones":stones, "moves":moves, "labels":labels} + params = {"boardSize":self.boardSize, "padding":self.padding, "stones":stones, "moves":moves, "labels":labels, "adjustFont":adjustFont} return template.render(params) - - # def getFontSize(self,text): - # if len(text)<2: return round(0.7*c) - # elif len(text)<3: return round(0.55*c) - # else: return round(0.4*c) - # - # def writeLabel(self,x,y,label,color): - # label=str(label) - # fontSize=self.getFontSize(label) - # self.content+=' {4}\n'.format(padding+x*c, padding+y*c+0.35*fontSize, color, fontSize, label)