Controlling how tightly or loosely your text appears is a useful technique for making any visual content look better. Like many applications, Visio provides this control, but it is buried. In this post and screencast I’ll show you how to control the character spacing and some advanced techniques in Visio to control it smartly.
First, let’s get on the same page about what character spacing looks like.
Below the the default character spacing to which we are all accustomed.

Now with expanded spacing …

And now with condensed spacing …

(as you can see from the last example, if we condense too much the letters may run into each other)
Right-click on a shape and select Format > Text

The Text properties dialog will appear

Select the Character tab.

You’ll see options for spacing. By default text will be set to Normal. There are two more options, Expanded and Condensed which do what their names imply.

If you select Expanded, it will default to a 1pt expansion that you can alter.

If you select Condensed, it will default to a –1pt expansion that you can alter.

In this example, let’s choose Condensed and set it to –2.5pt.
So our text turned from this …

To this…

By default there is none. Changing the character size will not change the character spacing. So for example, the text in the screenshot above is 36pt and has a –2.5pt character spacing. If one changes the text size to for example 14pt it will leave the spacing at –2.5pt.

And the result will look like as shown below.

It’s clear something looks wrong. The characters are jammed together to much.
Let’s zoom in to get a closer look.
At 400% zoom you can see it much more clearly.

What we really need is a way to make the character spacing be relative to the character size.
Fortunately, this is completely possible in Visio, and as it so often true, we must look toward the ShapeSheet for help.
Right-click on the shape and select Show ShapeSheet.

The Character section clearly has the spacing set to a hardcoded value of –2.5pt.

Now let’s change it to be relative to the Character Size using this simple formula
=-Char.Size*0.05

Looking at the 14pt text it looks fine.

Let’s zoom in to be sure…

And zoom back out and set the text size to 36pt to see if the spacing is preserved.

And it is. Success!!! Now the character spacing will respond to the text size so we don’t have to keep adjusting it manually.
