When Microsoft Word runs in multilingual mode, there's a dual selection of Complex Font (like Hebrew, Arabic, Russian, Chinese, etc.) and Latin text font. If they don't match, when you send the document (DOCX or DOC) to Kindle (in my case Paperwhite) via e-mail, a space is added before any letter that precedes any punctuation (comma, dot, etc.).
For example, in A line. the line. will turn to lin e.
If you copy the resulting AZW3 file from your Kindle into your computer, open it in Calibre and choose to "Edit book", you'll see it happened because Send to Kindle added letter-spacing:0.25rem to the e of line.:
<span style=" font-size:1.0rem">lin</span><span style=" font-size:1.0rem ;letter-spacing:0.25rem">e</span><span style=" font-size:1.0rem">.
None of this shenanigans happen if you modify the document so that Complex Font and Latin text font match. Once I understood that, I came up with this code:
Sub FixMismatchedFont() Application.Selection.EndOf 'Get the default font by not selecting any specific text ActiveDocument.Content.Font.Name = Selection.Font.Name End Sub
Now I can finally read the example document right! But I don't understand why is it needed in the first place. Send to Kindle removes the document's font face anyway. So why should a document's font make Send to Kindle decide if letter-spacing is needed or not?
If you can confirm this in other types of Kindle than Paperwhite, feel free to remove the Paperwhite tag.