diff --git a/src/calibre/ebooks/conversion/preprocess.py b/src/calibre/ebooks/conversion/preprocess.py index 6dc4b9143c..5f1407d630 100644 --- a/src/calibre/ebooks/conversion/preprocess.py +++ b/src/calibre/ebooks/conversion/preprocess.py @@ -114,7 +114,7 @@ class HTMLPreProcessor(object): (re.compile(u'¨\s*()*\s*a', re.UNICODE), lambda match: u'ä'), (re.compile(u'¨\s*()*\s*A', re.UNICODE), lambda match: u'Ä'), - # Fix French accents + # Fix accents (re.compile(u'`\s*()*\s*o', re.UNICODE), lambda match: u'ò'), (re.compile(u'`\s*()*\s*O', re.UNICODE), lambda match: u'Ò'), (re.compile(u'`\s*()*\s*u', re.UNICODE), lambda match: u'ù'), @@ -126,6 +126,32 @@ class HTMLPreProcessor(object): (re.compile(u'`\s*()*\s*a', re.UNICODE), lambda match: u'à'), (re.compile(u'`\s*()*\s*A', re.UNICODE), lambda match: u'À'), + (re.compile(u'´\s*()*\s*o', re.UNICODE), lambda match: u'ó'), + (re.compile(u'´\s*()*\s*O', re.UNICODE), lambda match: u'Ó'), + (re.compile(u'´\s*()*\s*u', re.UNICODE), lambda match: u'ú'), + (re.compile(u'´\s*()*\s*U', re.UNICODE), lambda match: u'Ú'), + (re.compile(u'´\s*()*\s*e', re.UNICODE), lambda match: u'é'), + (re.compile(u'´\s*()*\s*E', re.UNICODE), lambda match: u'É'), + (re.compile(u'´\s*()*\s*i', re.UNICODE), lambda match: u'í'), + (re.compile(u'´\s*()*\s*I', re.UNICODE), lambda match: u'Í'), + (re.compile(u'´\s*()*\s*a', re.UNICODE), lambda match: u'á'), + (re.compile(u'´\s*()*\s*A', re.UNICODE), lambda match: u'Á'), + + (re.compile(u'ˆ\s*()*\s*o', re.UNICODE), lambda match: u'ô'), + (re.compile(u'ˆ\s*()*\s*O', re.UNICODE), lambda match: u'Ô'), + (re.compile(u'ˆ\s*()*\s*u', re.UNICODE), lambda match: u'û'), + (re.compile(u'ˆ\s*()*\s*U', re.UNICODE), lambda match: u'Û'), + (re.compile(u'ˆ\s*()*\s*e', re.UNICODE), lambda match: u'ê'), + (re.compile(u'ˆ\s*()*\s*E', re.UNICODE), lambda match: u'Ê'), + (re.compile(u'ˆ\s*()*\s*i', re.UNICODE), lambda match: u'î'), + (re.compile(u'ˆ\s*()*\s*I', re.UNICODE), lambda match: u'Î'), + (re.compile(u'ˆ\s*()*\s*a', re.UNICODE), lambda match: u'â'), + (re.compile(u'ˆ\s*()*\s*A', re.UNICODE), lambda match: u'Â'), + + # Fix more special characters + (re.compile(u'¸\s*()*\s*c', re.UNICODE), lambda match: u'ç'), + (re.compile(u'¸\s*()*\s*C', re.UNICODE), lambda match: u'Ç'), + # Remove page links (re.compile(r'', re.IGNORECASE), lambda match: ''), # Remove
tags