Font substitutions in MS Word

I frequently create MS Word documents that include Sanskrit Diacritics (using Keyman).
My default font is Calibri which handles diacritics well in both Windows and Mac environments.
When I have the Sanskrit Transliteration turned on and I am inserting text, MS Word is substituting Mangal instead of my default font of Calibri. Is there any way to avoid this?

Thank you for any suggestions you might have!


1 Like

Hi David,
In my experience, character substitution doesn’t respect a default font. It is something that Microsoft does in the background. It just grabs a font that has the characters, and it is most often a poor choice that doesn’t match.

If you’re getting substitutions you don’t want, the problem is that your default font doesn’t contain them. You probably need to choose a more complete font for the text than Calibri.

I don’t have any experience with Sanskrit to suggest something. If you type out the alphabet and diacritic combinations, you can either test them in Character Identifier (Character Identifier tool – Keyman Blog) or the same tool in Keyman developer to find out which fonts have 100% coverage for the language.


Thank you, Matthew. That is a good clue to pursue. I will try some other default fonts and see if they work better.


A couple of thoughts:

As @Matthew_Lee indicated, lack of font coverage can trigger the change of font.

But other issues that can also trigger font change in MS Word include:

  • Your settings in MS Word for default fonts, esp if text contains character combinations requiring complex script rendering, this could force a change to the default complex script font.
  • MS Word’s settings regarding tracking the language of input, and the language the Keyman keyboard is assigned to. This can in some cases trigger a font change.


Hi Matthew,

I thought Cambria was working, but it is still substituting Mangal when I am in Keyman’s Transliteration mode, even though I have Cambria set as the default font for Asian fonts. I am not sure if that is the same as “default complex script font”. Can you let me know how to edit “the language the Keyman keyboard is assigned to”?

Thank you much!

I think the issue is as @Andrew_Cunningham suggested – the input language. You can change the language association for a Keyman keyboard in Keyman Configuration.

Here’s how: How To - Set up Your Computer for a Keyman Keyboard.

I suggest trying the language code und (in a future update, we hope to be able to use sa-Latn-x-trans or something similar, which would indicate a transliteration of Sanskrit into Latin script). Language codes are also known as “BCP 47 tags”, and there’s a lot of complexity in choosing appropriate tags, particularly when working across systems with varying levels of compatibility.

Failing that, you could use the language tag en but that will trigger Word’s proofing engine for English which would not be terribly useful.

Hi Marc,

I am not very technically literate in this particular area, but for now, I added the English tag en and that overcomes my problem. I am able to continue in Cambria and Word does not change the font when I go into Transliteration mode. I haven’t found a good dictionary for transliterated Sanskrit anyway, so that is not presently an issue of concern.

Thank you very much for your help!

1 Like

Glad to hear that resolved the issue for you!

Another option in MS Word is to use different kinds of “pasting”. Instead of “CTRL+V”, right click to view the “Paste Options” submenu. These four buttons (from left to right) allow you to:

  • “Keep Source Formatting”
  • “Merge Formatting” = Use destination formatting
  • “Picture” = Paste as a picture instead of text
  • “Keep Text Only” = pastes Plaintext stripped of formatting (to which your document’s formatting will then be applied)

You can also add a “Paste” button that gives you these four options on the Quick Access Toolbar.