Pre-Word 2013, a persistent annoyance was that non-breaking spaces (Chr(160)) were fixed width, even in justified text. Word 2013 changed that. Now, in justified text, regular spacing and non-breaking spaces are the same width.
If you’re lucky.
User slasza on Microsoft Answers posted this test case from Word 2013, in which everything should have been right, but the nonbreaking spaces still didn’t show up:
NBSP failure – image by slasza
I ran some test files and took a look at the Word XML, and found the culprit at last! It is the <w:useFELayout/> tag in the <w:compat> group in word/settings.xml. If that tag is present in a Word 2013 document, nonbreaking spaces are fixed-width. If it is absent, nonbreaking spaces are variable-width.
More detailed instructions on how to fix this are coming soon. But rejoice that at least now you know what the problem is!
I just fixed one legacy file by going on an odyssey through the UI and the XML. I:
- In the UI, turned off all the fancy OpenType features
- Set the proofing language to US-English for all text
- In word/settings.xml, removed FELayout, everything under w:compat except for w:compatSetting, and I think a few other things under /w:settings.
- In word/*.xml, removed just about every mention of the word “asia” (case-insensitive)
And my NBSPs are finally variable-width!
8192. I like round numbers 🙂 . A belated Happy Easter to all!
Thanks to the wiki for this. If you run across a file that mixes tabs and spaces (ewww!), set the tab settings the way you want (e.g., ts=4 sts=4 sw=4 et ai) and run
to convert all the tabs to the right number of spaces. This takes tab stops into account, which :%s/^I/ /g won’t.
This replaces what I used to do, which was /^I s<Tab><Esc> followed by a whole lot of n.n.n.n.n.n.n.n. … . One command is much better 🙂 . I’m not even going to try to count the keystroke savings on my current project (pym, a preprocessor written in Python).
This handy file-renaming script at Perl Monks has source code with red “+” marks marking wrapped lines. I pasted it into Vim and wanted to wrap those lines back to the way they should be. After a bit of fiddling, I got:
:g/^+/execute "norm 0x" | .-1,.j!
The `g/^+/’ finds the lines beginning with a “+”. Then the `execute “norm 0x”‘ deletes the “+” (“0” moves to beginning of line; “x” deletes), “|” marks the next command, and `.-1,.j!’ joins (“j”) the current line (“.”) with the previous line (“.-1”) without whitespace (“!”) added between the lines.
I leave it to you whether I have too much time on my hands.
Never had a problem before, but today WMP12 (on Win8.1 Enterprise) wouldn’t recognize my new copy of Music of the Spheres by Mike Oldfield (thanks to B. and N. for an early Christmas!). I could play it just fine on VLC, so I knew it wasn’t the hardware. It’s working now, thanks to this forum post and this Windows Club page.
I ran the WMP troubleshooter using Start | Run with the following command line:
msdt.exe -id WindowsMediaPlayerConfigurationDiagnostic
- I hit “Advanced” and selected “Run as Administrator.” (Not sure if that would have been required, but it’s what I did.) I also cleared “automatically apply fixes” because that’s the kind of person I am!
- I let it do the settings reset it suggested.
- I restarted WMP, and it recognized the disk right away.
I didn’t even have to reboot! How often does that happen? 😉
I got it unstuck by:
- installing the two updates listed here (by Elder Geek); and then
- following the procedure listed on InfoWorld.
Tedious? Yes. Yes, it was. At least I had plenty of time to write my last post while the updates were downloading and installing!
Edit: When stuck at “Preparing to install,” I checked the system tray per RogerSC’s post here and it worked.
As of 2016/11/28: The short version is below. See the linked pages for more details and any updates.
- Manually download the updates noted below.
- Set Windows Update to “Never check for updates.”
- Stop the Windows Update service, and set it to Manual startup. (Use services.msc.)
- Manually install, in this order, rebooting as prompted:
- Install the latest rollup. As of writing, that is KB3172605.
- Change the Windows Update service back to Automatic (Delayed start) and start the service. Reboot.
Tested on Win7 Pro x64.