def writeWord (self, word): xpos = self.current letterList = [] for char in word: if char == '&': char = '&' elif char == "'": char = ''' if LetterDict.has_key (char): letter = LetterDict[char] id = char s = Symbol (id = id, viewBox = ViewBox (0, -800, letter[0], 250)) p = CDATAPath (data=letter[1], transform = 'scale(1,-1)') p.style.strokeColor = 'black' w = self.textHeight * (letter[0] / 1050.0) l = Letter (href = ('#' + id), x = xpos, y = self.currentLine, width = w, height = self.textHeight) letterList.append ((s, p, l)) xpos += w if xpos > (self.lineLength + self.x): raise EndLine () elif char == ' ': xpos += self.textHeight * (300.0 / 1050.0) self.current = xpos for s, p, l in letterList: s.draw (p) self.createDef (s) self.draw (l)
def createText (self): xpos = self.x for char in self.text: if char != ' ': letter = LetterDict[char] id = char s = Symbol (id = id, viewBox = ViewBox (0, -800, letter[0], 250)) p = Path (data=letter[1], transform = 'scale(1,-1)') p.style.strokeColor = 'black' s.draw (p) self.createDef (s) w = self.textHeight * (letter[0] / 1050.0) self.draw (Letter (href = ('#' + id), x = xpos, y = self.y, width = w, height = self.textHeight)) xpos += w else: xpos += self.textHeight * (300.0 / 1050.0) self.width = xpos - self.x self.height = self.textHeight self.applyAnchors ()