Missing Old-style figures in DOCX compile

I have a situation which is either the rearing of a bug’s ugly head or a personal learning opportunity.

In compiling a document with the Old-style figures typographic option to RTF, RTFD, PDF, and DOCX, the Old-style figures are present in all but the resulting DOCX document.

I am only in my novitiate with Scrivener, and a bit foggy on the relationship of Word’s styles to those generated in a compile, and thus have more than less confidence in the fault being my own. Though I have sorted through all the options in Scrivener and Word, I have yet to effect a remedy. It’s quickly addressed by modifiying the relevant style upon opening the document in Word—the work of only a few seconds. Yet it would be nice to know why this is happening. The rest of the compiled styling is present but for the Old-style figures. It’s altogether puzzling.

Has anyone else run into this? I welcome your suggestions.

What are “old-style figures?”

‘Old-style figures’ are numerals with differences in ascenders and descenders, tending to be smaller overall, some dipping below the baseline. ‘Lining figures’ are regular numerals, all the same height and narrower, and not descending below the baseline.

See here.

Different compilers, different results, I’d say. Like some programs that use the Apple Text Engine—which allows setting OpenType Features—allow to set those features but do not save them the programmers of the .docx format might just have not thought about them.

It is important what the default of the font is—old style figures on will probably always result in old style figures in the compiled format. While if they have to get switched on at first this setting might not get transferred to the compiled format.

That’s a very interesting possibility. They do need to be ‘turned on.’ On the other hand, I have them set on by default in Word, so I don’t think there is any Microsoftian animus—or indifference—directed toward old-style figures. Within Word they work well. Within Scrivener they work well. But there is a breakdown in communication between Scrivener and Word in their regard. I was thinking it might be related to the Aspose converter for Word, the Java-reliant one that Scrivener uses, some particular setting in that, perhaps. I’ve no idea how to check that other than seeing on their website that they do support old-style figures amongst other things. So there we are!

At least they don’t need to be turned off (if on is the default). This certainly could get messed up.

Well, on is the default in my word processors (for now), but off is the default in general.

There are other oddities, as well. The different docx compilers in Scrivener output different sets of styles in the docx, though they do include the compiler styles from Scrivener, though the latter lack the old-style figures. It seems they have different ‘normal’ templates they’re based on, and so they render docx files with differing Word-based styles included. In my Word, for instance, I edited all the font/character styles to include the Plantin font I’m using with its old-style figures activated. Then, looking at the docx files generated in a compilation, all those styles have the default Calibri font, etc, all of which need to be replaced by the styles in my ‘normal’ template. Word is so awkward with all these things now; it’s a chore to address them. So, I figured that if someone here has encountered the issue before, I may be in luck with a quick or not-so-quick fix.

To see if it’s a converter issue, compile to RTF and open the result in Word. That will use Word’s converter. If that gives a different result than compiling directly to DOCX, then you’ve found the culprit.

Note that Scrivener actually has two converters available, our own and the Aspose converter. Use the Scrivener → Settings → Sharing → Conversion pane to switch between the two.

That’s another interesting thing. Opening the compiled RTF in TextEdit, the old-style figures are there, but opening it in Word, they are not. So, I’m not sure where the issue lies in that cozy little ménage.

That would be a problem on the Word side, or in Word’s RTF conversion.

Scrivener and TextEdit are both based on the Mac OS text system. So if you see the figures in TextEdit, you can be pretty sure that Mac OS is handling them correctly.

Further, opening the RTF in Mellel it likewise lacks the old-style figures though they’re there in TextEdit. Very strange. And in Mellel I see Helvetica Neue in one of the styles in the compiled RTF, which I’ve used in Scrivener for some titles and interface text, but not in this particular project. So, I’ll have to look into that.

Ah, okay. That’s good to know. So which of the choices for conversion represents best the MacOS text system in Preferences: Sharing: Conversion? Not the ‘Use Java’ option, I’m fairly certain. Is it the ‘Use Word 2011-compatible copy’, or is it whatever comes into play when neither of those are checked? And now I can anticipate becoming more familiar with Word’s arcane settings. Oh joy.

The best representation of the Mac OS text system is to not convert at all, but compile to RTF.

Thanks for that. I’ll experiment with RTF. It either takes an extremely long time to compile the RTF or it simply hangs, I think the latter. Only very few pages compile at one time. The document is very large: a literary concordance, multi-columnar, tiny font, 2K+ pp total.

Take your output compiled to Word format, open in Word, select all, paste into a brand new Word document and see if that helps with your old figures. Word docs created by Scrivener seem to roll there own – by which I mean they do not invoke your Normal template – where many things you like and use are stored. A complete copy and paste does the trick in many cases.


Yes, this reflects what I’ve been experiencing. The styles in the compiled docx file differ from the saved styles in the Word normal template. It’s something to do with a difference in how the names of fonts are read/recognized. It’s thoroughly frustrating. Word is on my last nerve. Thank you for the advice.

I’ve advocated for Scrivener doing what Pandoc does. Pandoc basically uses an existing Word document (which is really just a zip file of mostly text files; you can use your own as a template) then injects the content into this. This means you get the document styles / page setup etc from your template and only the content comes from your source. If you use Pandoc with Scrivener then you can benefit from that now…

If you are a nerd, you can easily diff the changes to the XML in the DOCX when you enable old-style numbers, that will tell you exactly how Word encodes this…

Thank you for that. I am sufficiently nerdy that I can diff files, thankfully. That should be diverting. And I did start looking at the Pandoc method/workflow last night. I find it promising, though I’ll need to familiarize myself with the process(es) involved. I did a few trial runs and was as bewildered as I was amused. I am not, however, one to shrink from a challenge!

It might be worth testing with partial compiles to see if something in the project is dragging things down.

In the meantime, obviously to test conversion behavior you only need a sample that contains the features you want to test, not the whole thing.