Home » Add-ins & Tools, Shapes

Text on a Circle Visio Shape

Submitted by on May 9, 2014 – 4:25 pm | | 90570 views 53 Comments

« »

text-on-a-circle-shape-thumbMany Visio users would like to create graphics with text running around a circle. I’ve come up with a third iteration to solving this problem.

This time, you get a single shape, with no need for VBA macro code!

While Visio has no built-in way to put text on a circle, visguy.com has offered two work-arounds in the past. Maybe you’ve seen them: Circular Text Generator (version 1), Circular Text Generator (version 2).

Those solutions required the use of VBA macro code, which confused a lot of users, produced a disjoint set of shapes that needed to be used–and kept–together (further confusing users), and produced a static result. If you wanted new text-on-a-circle, you had to regenerate a new set of characters.

This latest version is now a single shape. You can edit the text on the shape to your heart’s consent. The only drawbacks to this version are that the number of characters are limited, resizing of the higher-character versions of the shape can be slow, and I’m only offering a four-character trial version for free (I have mouths to feed!)

Editing

Using the shape is quite simple. You just mix and match these actions:

  • Select and type, or double-click and edit existing text
  • Fine-tune settings by editing Shape Data fields or by right-clicking
  • Position text and background circles using control handles
  • Right-click and choose Update if anything goes wonky (this happens for larger amounts of text, jump to the Refresh section near the end of the article if you want more information)

The editing uses a trick I’ve used several times with other visguy.com offerings. The text you edit is actually invisible. You only see it while typing. Thereafter, subshapes within the group pick out individual characters, and rotate them properly:

editing

This adds the advantage that you don’t have to twist your neck oddly in order to read the text as you type.

Here’s an animated GIF I whipped up to give a feel of how it flows. Features will be explained in detail in the sections after.

text-on-a-circle-gif

Features

The easiest way to see all of the shape’s features is to look at the Shape Data panel. Here we can see six fields, with the possible values shown at right:

shape-dataLet’s go through each setting one by one, to get a better picture of how each field affects the look of your text on a circle shape.

Show Guides

The shape has guide-styled geometry that appears as blue dashed lines. These serve as visual references to help you configure the shape.

There are three guide elements:

  • Circle that the text rests upon
  • Crosshairs at the center of the circle
  • Clock-hand that shows the left/center/right side of the text, depending on the Text Alignment setting

The guides don’t show up when you print, or when you export the shapes to an image format or PDF. Nevertheless, you can turn them on or off with the Show Guides setting:

show-guides

One scenario where this is particularly useful is if you make presentations directly from within Visio. In that case, the guides might be a distraction. So you can simply select all the text-on-a-circle shapes, then use Shape Data to set Show Guides to False.

Text Size/Font Size

The best way to resize the font of characters is to:

  1. Select the shape
  2. Use the Increase Font Size, Decrease Font Size buttons, or the Font Size drop-down

Make sure you don’t try to do this while you are editing the text. Remember that the text you edit is “ghost text”, so to speak. You don’t actually see this text when you’re done editing. Instead, that text gets sent character-by-character to characters arranged around the circle.

So again, be sure to exit text-edit mode, make sure the shape is still selected, then simply bump the text size up or down.

If you need to increase the sizes of individual characters, see the section further on in this post, entitled “Open Group Window…”.

Text Orientation

Depending on where you place the text, and which direction your language goes, there are four logical orientations.

The setting makes more sense once you see an example of what can go “wrong”. Here we have the typical, default “Left-to-right Top” text. As we rotate the text around to the bottom of the shape, it becomes upside down and harder to read:

left-to-right-examples

If you have lots of text that goes all the way around the circle, you can’t avoid this situation entirely, unless you stack two different shapes on top of each other, with two different settings. In that case, you would set the top text to “Left-to-right Top”, and the text at the bottom to “Left-to right Bottom” as shown in the left column below:

text-orientationThe shapes in the right column say “Happy New Year” in Arabic (according to Google). Arabic uses a right-to-left writing system, so this is simply the mirror case of the shapes on the left.

Text Alignment

You position the text by adjusting a control handle that is always in the middle of the little blue guide-circle that lies along the radial clock-hand line. Using the Text Alignment setting, you can choose to have the text aligned by the left/start, center or right/end. As usual, the image makes a lot more sense than the text:

text-alignment

Text Baseline

The “baseline” of a font or line of text is the conceptual bottom, along which the characters are positioned. For typography types, it’s probably a super-important characteristic, worthy of a much more accurate definition. As applied to this shape, it’s another parameter that you can set, which moves the text up or down, in relation to the baseline.

Here we can see that negative values push the text up above the baseline, while positive numbers push it down. 0% is the default setting. Since you can change the radii of the inner and outer circles, the baseline setting isn’t super-important:

baselines

Horizontal Spacing

Sometimes you want your text to fill up a larger amount of space than the number of characters naturally wants to do. The Horizontal Spacing setting allows you to stretch out the space between characters, without resorting to cheap tricks like adding spaces between characters:

horizontal-spacing

Adding spaces between characters is a bad idea for a couple of reasons. First, it uses up valuable characters in a shape that only handles a limited amount of text. Second, the width of a space probably changes between characters due to kerning, although I don’t really know how much kerning Visio actually does with its text.

Background

You can choose to have no circles, a single circle, or a ring as a background for your circular text. Just set the Background setting in the Shape Data panel:

backgrounds

Context Menu

Almost all of the settings in the Shape Data panel are available by right-clicking the shape, plus a few extra items. Baseline is missing, Text Orientation only has two values to choose from, and Horizontal Alignment only has four.

Keep in mind that when you right-click a shape, only the primary selection (first selected shape) will be affected when you choose the custom actions at the top of the menu. If you need to change multiple shapes at once, use the Shape Data panel.

context-menu

You’ll notice a few items in the menu that aren’t in the Shape Data panel. Let’s go over those:

Refresh

The purchasable shapes come in 25-, 50- and 100-character versions. For some reason, on the higher-character version, changing certain settings can cause the text to get out-of-whack. I’ve worked and worked on this problem, but I was not able to keep it from happening. I think the chains of cell references inside the ShapeSheet for this beast-of-a-shape are quite long, and at some point, Visio gets overloaded.

I was, however, able to come up with a workaround. Just right-click and choose “Refresh”. This forces the shape to do a lot of recalculation, and your characters should magically jump into their proper positions.

In this example, a change to the Text Orientation causes the characters to get jumbled near the end of the phrase:

refresh

Right-clicking Refresh clears it right up in a jiffy!

I know it seems a bit 1990’s, but I just couldn’t find any other solution. Remember, we are pushing Visio into areas where it wasn’t originally conceived to go!

Live Dynamics

Visio shapes support “live dynamics”, which lets you see how the shape will react as you resize it, and as you move control handles. Since this shape has a large amount of ShapeSheet references, it can get pretty slow, especially in the versions that have more than 25 characters.

For this reason, Live Dynamics is off by default. And if you are doing lots of resizing, you should leave it off. But once you’ve got the shape to the size you want it, live dynamics performs just fine when you are rotating the text around the circle with the control handle. Even for large numbers of characters. So try turning it on, it’s pretty fluid, and cool to watch!

Show Warning Text

For performance and economic reasons, there are different versions of the shape, that support different numbers of characters. If you exceed this number, a red warning appears. Here we have a “25-banger” shape that has run out of space and only shows the “ch” in “characters”:

 

overflow-warning

If you plan on shortening the text later, you might want to suppress the warning. Just right-click the shape and uncheck “Show Warning Text”. If, in the future, you reduce the text to below the maximum characters, and then exceed it again, the warning will reappear, so you don’t have to worry about it being permanently asleep.

Angle Presets

Sometimes it is hard to position a control handle exactly as you want it. For this reason, there are four presets available for quickly snapping your text clock-hand to the 12, 3, 6 and 9 O’Clock positions.

Open Group Window…

When editing the shape normally, you can’t give individual characters or runs of characters different styling. This is because the text you normally edit is actually mirrored by subshapes within the group.

Once you’ve set your text, you can can go into the group and style individual characters. Just right-click, select Open Group Window, then manipuplate individual character subshapes.

In fact, I did just that when making the presidential seal graphic that serves as the thumbnail for this article.  The “OF THE” bits needed to have a smaller font size, so I went inside the group, selected the shapes, then reduced their font size:

group-windowIf you edit the outer text later, keep in mind that you might end up with the wrong formatting for the wrong characters within your new text.

The almost-finished presidential seal:

text-on-a-circle-shape

The shape contains two text-on-a-circle shapes. The main text, and the white-on-blue that has a bunch of asterisks. Getting the spacing on the asterisks just right involved tweaking the font size, then tweaking the Horizontal Spacing setting. Since these are the 100-character versions, changing the settings took a few seconds to complete. It’s a busy shape! You can also see a small gap at the bottom of the stars. The shape has no automatic way to distribute characters evenly around the entire shape. Maybe in the next version!

More Examples

Customers raise questions from time to time in the comments below.  When I think an animation or further explanation might help, I’ll post some additional content in this section.

2017.03.07 – User bundgaj1 wasn’t sure about a few things, so I whipped up this animation.

It covers:

  1. Making the ring bigger to accommodate large-font-size text
  2. Changing the orientation of text at the bottom of the circle
  3. Aligning or stacking multiple text-on-a-circle shapes
  4. Hiding the guides
  5. Aligning two shapes together, and resizing them together
  6. Shows that the shape works on German Windows 7 in German Visio 2007, just because.

click to view full-sized image with animation!

Notice that the right-click menus do not have cascading in Visio 2007. So you’ll see a very long list when right-clicking in versions of Visio prior to 2010. But the features are all still there!

 

2017.03.08 – Here’s another animation, similar to the previous one, but it shows the Text on a Circle shape running on Windows XP in Visio 2003, both U.S. English versions. FOR THE LOVE OF GOD PEOPLE, UPGRADE! I know, I know, I’m just kidding. Visio can be expensive. Anyway, dig that default Windows XP background. Ahh, spring is in the air!

click to view full-sized image with animation!

 

Get the Text on a Circle Visio Shape

There are two versions of the text on a circle visio shape: a free trial version, and a for-pay version.

Free Version

The free version has all of the features described above, but only supports four characters of text. You can download it with this link:

Text on a Circle FREE (21.62 kB) - 1965 downloads

Full Version

Once the free version has convinced you that you need more,  head on over to my online store and purchase the full version here:

Buy the full product on Gumroad: Text on a Circle Visio SmartShape on Gumroad

 

53 Comments »

  • epweiss@hotmail.com says:

    Question? Can I place one circle in another, so I can get a double height text in a circle? Thank you. Ed Weiss

  • Visio Guy says:

    Hi Ed,

    Please check your junk filters. I’ve sent you three e-mails from two different addresses regarding your recent purchase.

    Cheers,

    Chris

  • anon says:

    This is without a doubt the least straight forward set of instructions I have read in a long while. From the very beginning it makes little sense, and I have been using Visio for years. Please do not present every option for accomplishing a simple task. A 1) 2) 3) list would be great. Double click text, click this field, modify this parameter… that sort of thing. If you have to be so advance at Visio to understand these instructions, why would you need instructions??

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" extra="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*