is now part of CreativePro.com!

Why Word Character Styles Won’t Map Cleanly to InDesign Styles

10

The ability to map Microsoft Word text styles to InDesign styles is an incredibly important feature that many of us rely on to get our work done efficiently. And for the most part, the process works without a hitch. You can even customize the style mapping in the Import Options dialog box. But once in a while you might come across a glitch that prevents the mapping from working correctly. For example, here’s some text in Word that includes a figure reference formatted with a character style.


Here’s how the text is supposed to look when formatted with styles in InDesign. Note the slab serif font.

When the text is placed into InDesign, the Word styles can be mapped to their InDesign counterparts either manually, or automatically if they’re named identically.

But when the character style is applied, there’s a local override (the font from Word) that needs to be removed.

The source of the problem is the way the character style was defined in Word. No font was defined in the New Style/Modify Style dialog box.


Note that it doesn’t matter whether the Word style is based on the Default Paragraph Font or the Underlying Properties of the text. It also doesn’t matter whether the InDesign style specified a font or not. It seems like InDesign needs a specific font to map from, and if it’s not there there the font information is ignored during the mapping and just gets passed through.

So to prevent this problem make sure your Word character styles specify a font.


That way, InDesign can correctly map it to the font specified in your character style.

Editor in Chief of CreativePro. Instructor at LinkedIn Learning with courses on InDesign, Illustrator, Photoshop, GIMP, Inkscape, and Affinity Publisher.
  • Ah yes, the horrors of transforming Word documents into ID ones. I’m currently working on a complex, 400-page document that does just that. Over the years, I’ve come up with a lot a scripts to fix the local formatting issues of what comes it. The hassle could be immeasurably improved if ID had two new features:
    1. A metascript that’ll run a series of other scripts in order.
    2. A way to specify that a metascript or script automatically be run on placed text.
    When I’m doing a lot of importing, I tend to forget to run those clean-up scripts. It’s not fun to restore italicization to 100+ endnotes.
    Unicode has solved most of the problems that used to trouble efforts to move character sets around. What we need now is a Uniformat standard, meaning one that would specify formatting in ways that’d move formatting cleanly from one app and document to that same document in another app and survive changes in the font used without the workarounds mentioned in this article. For instance, italicized words could be moved from Word to ID with every assurance the italicization would remain.

    • Jamie McKee says:

      Michael-
      While InDesign does not have #1, Multi-Find/Change (https://automatication.com/index.php?id=24) can accomplish this. But yes, I wish your #2 existed.

    • Why don’t you use a paragraph style for italic endnotes? You might set a style for endnote text and endnote reference in the endnote options before you import the Word file.

    • BTW I often use the Word VBA capabilities for preparing a Word file for Import to ID. Find/change operations can be recorded, then easily copied/pasted/modified in the script, looped (e.g. conditioned using a WHILE filter) etc. Find/change works with multiple codes enabling you to search for paragraphs, tabs etc. You can combine these options e.g. searching for tabs in a certain paragraph style. You might even search for a specific text, cut it, find the right place to put it and insert it there. Very useful!

  • Anne-Marie Concepcion says:

    Brilliant find, Mike! Thank you!

  • Another solution would be, to use a script, that Sets all the formats back to their standard:
    myStyles = app.documents[0].allParagraphStyles;
    app.findTextPreferences = app.changeTextPreferences = null;
    //One can start a loop from 0 to include [Basic Paragraph Style]
    for (var n = 1; n < myStyles.length; n++){
    app.findTextPreferences.appliedParagraphStyle = app.changeTextPreferences.appliedParagraphStyle = myStyles[n];
    app.documents[0].changeText();
    }
    app.findTextPreferences = app.changeTextPreferences = null;
    I checked it works for paragraph and text styles

  • Bless you for this article and elegant solution! Nothing is more annoying than being in the throes of page production and having to chase down niggling wrong fonts with Find/Change because Word dropped the ball. I can already feel my blood pressure easing. Thank you!

  • flypig says:

    I pretty much want to murder the Style Mapping window. This hasn’t changed in any useful way in decades, it seems.

    I have loads of Pre-sets, but still receive Word docs with a zillion stupid unused Styles that I have to map to [No Paragraph Style] or [None] for Character Style.

    This has to be done with the mouse, one line at a time, changing each Paragraph Style to [No Paragraph Style]. You can’t type [No and have it jump there and you can’t paste into the stylename field.

    When mapping an unused Character Style, I have to scroll down through the enter Paragraph Style list to find the Character Styles at the bottom and then find [None]. This is incredibly laborious. (And sometimes, inexplicably, it does show only the Character Style list, for one line, then changes to all styles for the next.)

    Several things would address this time-waster.

    1. “Ignore Unused Styles” checkbox could show only those Word styles that are actually applied to anything. (Word does not allow removal of dozens of default styles.)
    2. Allow a checkbox to Set Style Mapping to default to [NONE] for any unmatched styles. As in, anything I haven’t already mapped gets set to No Style (or to some other default, like Delete Me).
    3. Barring these things, at least let me type the style name in the name box, and start matching as I type.
    4. Have the option to Ignore Case. InDesign will not map “Footnote Reference” to “Footnote reference”.

    I have done all I can think of to automate this process, but it is the single biggest time waster of my life in book production all day every day. I have yet to find script or trick to address this particular challenge.

    • Mike Rankin says:

      Those are all great points, Carol. I wish I could do more than just nod in sad agreement. One thing: have you tried posting this in the InDesignSecrets Facebook group? With over 22,000 InDesign pros participating, if there is a solution for any of those issues, someone there would know about it.

  • >
    Notice: We use cookies on our websites to give you a great online experience. If you keep browsing, we'll assume you're ok with this. For more information, see our privacy policy. By closing this banner, you agree to the use of cookies.I AGREENo