Word – How to adjust the ruby text height

microsoft wordrubytext formatting

Thanks to @phuclv who answered the question How to type characters for phonetic guide over a word in Microsoft Word? to use ruby text to solve my issue.

However the ruby the text height and offset does not seem to work on all fonts.
As the following screenshot shows, the offset and size of the ruby text works well for the Calibri font and does not work for the Sanskrit font Mangal or for many other Sanskrit fonts.
enter image description here

Any idea why it is not working or how can I make it work? i.e. The ruby text height and offset should be honored when I change the value in the popup dialog box.

Best Answer

I can replicate this problem, but do not know the cause.

To fix it, I think you will have to change the text in the EQ fields that Word uses for this feature. (FWIW I thought Word had stopped using EQ fields for this a while ago, but apparently not). I'm not even sure that will work consistently.

For example, Word might insert an EQ field like this. In this case, "123" is the Ruby Text and the Ha (sorry, I do not know much about the Devanagari writing system!) is the body text :

{EQ \* jc2 \* "Font:Mangal" \* hps9 \o\ad(\s\up 9(123),ह)}

The \* hps9 is supposed to set the size of the Ruby Text to 9 half-points, i.e. 4.5 points. But it doesn't. If I do the same thing using text that's all in the Calibri font (for example) it works. But I also see that in that case, the "123" is formatted as the correct size, and in fact the ability to format text in an EQ field is probably how to work around this problem.

Personally, I think this is an error ("bug") in Word, and you should really bring it to Microsoft's attention, e.g. using Word's smiley mechanism, if you have that, or word.uservoice.com. Perhaps someone there has already mentioned it. But I suppose there could be some reason why Devanagari fonts are treated differently.

Anyway, The thing that seemed to work here was to format the 9(123) (starting with the space) with the font and size that you want. It might be simpler in Find/Replace to change the size of the whole \up <n>() instruction, in this case up 9(123) . It might also be helpful to create character styles with specific font sizes and apply those styles instead of direct formatting, in case you need to change them later.

That said, at one point, the EQ field seemed to "honor" both the directly applied formatting and the \* hps field by reducing the Ruby text size even further. So it may make sense to delete the \* hps<size> part as well.

NB, the \* jc<n>, \* "Font:something" and \* hps<n> switches were created to help format Ruby text and most documentation of the \EQ field does not describe them. There is further information at https://docs.microsoft.com/en-us/archive/blogs/murrays/word-eq-field-and-east-asian-formatting (Incidentally, the author of that article, Murray Sargent, seems to have been heavily involved in most of Microsoft's layout features for 20 years or so, so it's interesting that even he was not sure about some of the information in that article). His documentation for the regular EQ field instructions is at https://docs.microsoft.com/en-us/archive/blogs/murrays/microsoft-word-eq-field

Related Question