···
SVG node e.g. fill="red", font_size=20, text_anchor="middle". '''
-
def __init__(self, text, fontSize, x, y, center=False, lineHeight=1,
singleLine = isinstance(text, str)
if 'text_anchor' not in kwargs:
kwargs['text_anchor'] = 'middle'
-
centerOffset = fontSize*0.5*center
-
emOffset = 0.4 - lineHeight * (numLines - 1) / 2
fontSize = float(fontSize)
translate = 'translate(0,{})'.format(centerOffset)
if 'transform' in kwargs:
-
kwargs['transform'] = translate + ' ' + kwargs['transform']
kwargs['transform'] = translate
super().__init__(x=x, y=-y, font_size=fontSize, **kwargs)
self.escapedText = xml.escape(text)
···
SVG node e.g. fill="red", font_size=20, text_anchor="middle". '''
+
def __init__(self, text, fontSize, x, y, center=False, valign=None,
+
lineHeight=1, **kwargs):
singleLine = isinstance(text, str)
+
text = text.splitlines()
if 'text_anchor' not in kwargs:
kwargs['text_anchor'] = 'middle'
+
# Backwards compatible centering
+
centerOffset = fontSize*0.5*center
+
emOffset = 0.4 - lineHeight * (numLines - 1) / 2
+
emOffset = 0.4 - lineHeight * (numLines - 1) / 2
+
elif valign == 'bottom':
+
emOffset = -lineHeight * (numLines - 1)
fontSize = float(fontSize)
translate = 'translate(0,{})'.format(centerOffset)
if 'transform' in kwargs:
+
kwargs['transform'] += ' ' + translate
kwargs['transform'] = translate
super().__init__(x=x, y=-y, font_size=fontSize, **kwargs)
self.escapedText = xml.escape(text)