There are lots of questions about MTEXT not centering verticaly to be found on Google, but I didn't find a solution that worked for me and nobody seemed to notice that there seems to be an issue around upper case v lower case. There are a couple of settings mentioned I am not familiar with and didn't understand what they did, so there might be a way of getting the justification to behave the way I expected it to.
MY SOLUTION
With an item of MTEXT justified to Middle center, the center point seems to be set at the centre of the lower case lettering. For upper case letters, this is at 1 third of the height for a paragraph spacing of Multiple or Exactly, but varies with At least.
I can center the upper case text by setting the Before paragraph spacing TO 1/3 of the height. Not unexpectedly, the lower case text aligns with the bottom edge of the upper case text so this works if you are entering capitalised words etc.
When you select the text within the MTEXT editor, you get a highlight that shows the paragraph spacing and in the grab attached, you can see the spacing is even for the text.
Hope this helps somebody.
Incidentally, this has annoyed me for years and I only worked out the above when trying to give full precise details of the issue so somebody else could solve the issue for me!
Solved! Go to Solution.
Solved by Kent1Cooper. Go to Solution.
When dealing with single line content as in your examples, consider using "plain" Text instead of Mtext. Then you have simpler control over the situation, with the choice of either Middle or Middle-Center justification. Here, all have their insertion points at intersections of the grey center-lines, and the blue dashed lines are the nominal height centered vertically around the insertion-point level:
Middle justification centers things vertically on the overall height of the particular characters in the text content, which can vary considerably depending on the characters involved. Middle-Center justification keeps the baseline half the height below the insertion point, regardless of whether or not there are any descenders and/or any full-height characters. And it's also affected by the font involved. For example, slash characters and quotation marks and parentheses and brackets all extend considerably farther above the nominal height in ROMANS.shx than they do in ARIAL.ttf, so like lower-case letter descenders, they can affect the positioning in Middle justification, but not in Middle-Center.
So, say for example you have a Text object that labels a room LIVING ROOM. If it's all caps like that, it doesn't matter whether you use Middle or Middle-Center justification -- the positioning will be the same. But if you change its content to say Living Room instead, because of the descender on the g, if it's Middle justified that change will shift its position a little, but if it's Middle-Center justified it will not move, but the descender will just descend below the same baseline.
Thanks Kent - it's not a bad suggestion to use single line text, but I generally prefer Mtext as I can use the handles to drag it about and position it more easily.
Most of the labels I use are all caps with no special characters, so single line text would work with middle justification. I prefer to use TT fonts as they are searchable in the pdf outputs that we use.
My hack of using the space before setting of 1/3 of the font height seems to work for mixed case text with brackets etc, at least with Arial font, so I will probably stick wiht that.
Check the "Line Space Style"of your text. I couldn't get Cap text or numbers (M-text or plain) to line up in the center of a circle and couldn't get anything to work until I changed this from the default "Exactly" to "At least".
Can't find what you're looking for? Ask the community or share your knowledge.