mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Smarten punctuation: Add a few more cases for detecting opening and closing quotes
This commit is contained in:
commit
1fb9cd8256
@ -591,6 +591,21 @@ def educateQuotes(str):
|
||||
str = re.sub(r'''""''', """””""", str)
|
||||
str = re.sub(r"""''""", """’’""", str)
|
||||
|
||||
# Special case for Quotes at inside of other entities, e.g.:
|
||||
# <p>A double quote--"within dashes"--would be nice.</p>
|
||||
str = re.sub(r"""(?<=\W)"(?=\w)""", r"""“""", str)
|
||||
str = re.sub(r"""(?<=\W)'(?=\w)""", r"""‘""", str)
|
||||
str = re.sub(r"""(?<=\w)"(?=\W)""", r"""”""", str)
|
||||
str = re.sub(r"""(?<=\w)'(?=\W)""", r"""’""", str)
|
||||
|
||||
# Special case for Quotes at end of line with a preceeding space (may change just to end of line)
|
||||
str = re.sub(r"""(?<=\s)"$""", r"""”""", str)
|
||||
str = re.sub(r"""(?<=\s)'$""", r"""’""", str)
|
||||
|
||||
# Special case for Quotes at beginning of line with a space - multiparagraph quoted text:
|
||||
str = re.sub(r"""^"(?=\s)""", r"""“""", str)
|
||||
str = re.sub(r"""^'(?=\s)""", r"""‘""", str)
|
||||
|
||||
# Special case for decade abbreviations (the '80s):
|
||||
str = re.sub(r"""\b'(?=\d{2}s)""", r"""’""", str)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user