#!/usr/bin/env python
import chardataeffect, inkex, string
class C(chardataeffect.CharDataEffect):
sentence_start = True
was_punctuation = False
def process_chardata(self,text, line, par):
r = ""
#inkex.debug(text+str(line)+str(par))
for c in text:
if c == '.' or c == '!' or c == '?':
self.was_punctuation = True
elif ((c.isspace() or line == True) and self.was_punctuation) or par == True:
self.sentence_start = True
self.was_punctuation = False
elif c == '"' or c == ')':
pass
else:
self.was_punctuation = False
if not c.isspace():
line = False
par = False
if self.sentence_start and c.isalpha():
r = r + c.upper()
self.sentence_start = False
elif not self.sentence_start and c.isalpha():
r = r + c.lower()
else:
r = r + c
return r
c = C()
c.affect()