Ppsmq attempts to convert a text file with straight quotes into one with curly quotes. It only makes changes it's pretty certain are correct. It will flag those it is uncertainabout with the "@" character. It will leave alone any straight quotes it can't reliably classify.
Once you've run the program and downloaded the result file, search everywhere for "@" and manually enter the correct punctuation, then remove the "@" flag. Then search for straight double quotes (there should be none) and straight single quotes (there usually are some).
If you run this on an HTML file, you will find it converts all single quotes inside HTML tags to "∮" and all double quotes in tags to "∯" to protect them. The process is the same as in the previous paragraph. Then there is an added step to replace all "∮" with single quotes and all "∯" with double quotes to restore the HTML tags.