I've just checked in a fix to my branch for this, and I expect it will get in the next release. If someone enables smarten punctuation then Calibre will always run the 'replace entity indents' code before running smarten punctuation.
The work the other posters did still applies to other problems with smarten punctuation - non-breaking space indents aren't the only thing that trips it up.
|