Let’s Look at Text – Understanding the Insertion Point

Campaign Cartographer contains a host of nice features to help you make your maps. But it also contain some features whose functionality might need a bit more of an explanation before one understand how to use them properly, and why they on the surface might seem complicated when compared to a similar feature in an image editor.

One of these features is text. If you are new to CC3+ you might have experiencing that text sometimes appear to have a mind of it own, and you may have experienced behavior where text looks perfect as you place it, but when you zoom in or out, it may appear to no longer fit into the space for it, or that text you struggled placing neatly in the corner of the map suddenly expands into/over the map border.

So, let us have a look. Why can text be so troublesome at times? And how can we master it to make it work like we want?

Before continuing on, note that I did intentionally go looking for bad cases here. In many cases, you won’t notice this problem at all, but the idea behind this article is that when/if you encounter this, you should understand why, and how to handle it.

First of all, why does this happen in the first place? After all, if you use an image editor and place some text, it stays exactly where you placed it no matter how much you zoom and scroll. Why can’t CC3+ do the same?

The core of the issue here is that CC3+ is a CAD-based (Computer Assisted Design) program, using vector rather than pixel drawings. Vectors have many advantages, but it also sometimes complicates things. You see, when you place a piece of text in an image editor, it is immediately aligned to the pixels in the image, and is in practice converted to pixels once and for all (This is true even if the image editor lets you keep it as an editable text entity, and is possible because the text is aligned to a fixed image size). On the other hand, vector-based programs like CC3+, doesn’t have a fixed pixel size for the drawing. Instead, the visible portion of the image is rendered out to pixels as needed, for example when displaying on screen or exported to an image file. But behind the scenes, CC3+ is very happy to work with fractional units of measure, something pixel-based drawing doesn’t support, because pixels always need to be a whole number. This approach lets us render out any section of a CC3+ map to any pixel size we desire, which is why CC3+ maps don’t get pixelated as you zoom in, like what happens in typical image editors. This is quite nice, because we don’t have to decide up front the pixel dimensions for our map. However, because of the way fonts are rendered by the operating system and the way fonts work, and the fact that your monitor wants the final result in pixels, text cannot be rendered to an exact size. And this means that since CC3+ needs to re-render the text every time you change zoom levels, it won’t be the exact same size compared to the other map elements on various zoom levels, but it will appear to grow or shrink a bit.

To handle this issue, there is one very important property of text in CC3+, and that is the insertion point. You see, the insertion point is kind of the origin of the text. And by using this correctly, we can avoid most of the issues caused by the rendering. This is because text always grows(shrink) away from(towards) the insertion point, so when used correctly, you are in control over which way the text will “lurch”.

Let us show an example. Here, I have place the map title by eye without caring about the insertion point

First, I take great care manually placing the map title in the corner, resulting in it looking just as I wanted:

But then I export the map to an image, and noticing the title looking like this (You would also be able to see the same when zooming in):

Now, what happened here? Why do my carefully placed title get pushed into the left map border like that?

Well, I already gave the explanation for this behavior above, but I also mentioned something about an insertion point. Let us see why this gets so important. I’ll indicate where the insertion point of this piece of text is with a red dot. As you can see, it is placed in the lower right corner of the text. And this position is very important. The reason for this is that as I explained above, due to the fact that CC3+ needs to re-render the text to different pixel sizes as you zoom in/out, the actual size of the text can vary a little bit. This means that sometimes the text gets a little longer, taller or shorter, something we usually refer to as lurching. But the insertion point is treated as the absolute reference for where to place the text. This means that when the insertion point is placed in the lower right like this, the text will always end at the reference points, and if it get slightly longer at this zoom level, the start will be pushed to the left, just as we saw with the example above. In other words, the text will lurch in the direction of the arrows, which is up and left when the insertion point is in the bottom right.

So, how do we fix our original title? Easy, we just have to place the insertion point in the top left instead. If the insertion point is in the top left, it means the text will only lurch downwards and to the right, but never to the left or up. And if we place something in the top left corner, like this title, that makes sense, right? So, here is out original text with the new insertion point shown. The text can still lurch a bit, but it will only expand/contract to the right or downwards, but this won’t be noticeable, as we have completely eliminated the issue of the text lurching into the map border like in our “bad” image shown earlier.

So, in short, simply think about the insertion point as an absolute barrier the text won’t cross. If you want to have text in the top left corner (map border or other map element), you place the insertion point in the top left. Want text in the top right corner. Well, then the insertion point should be set to top right as well, it is really all that’s to it.

The important question then obviously become – how do you set that insertion point?

When adding text to the map using the Text command there is a button inside that dialog labeled properties. You have probably clicked it before, as this is also how you set other text properties, like size, font, bold text, and so on. Right above the font selector, you’ll see an option called “Justify”. This controls the alignment of the text, but also the insertion point, as these are very tightly connected. This works the same way as in most other programs, if you try setting right justification in a text editor for example, you would notice the text insertion point would switch to the right, and as you write, text is pushed towards the left. This is exactly the same as in CC3+, the main difference here is that because you place the text by freehand, it is easy to completely ignore the insertion point, while a text editor forces you to set it. But if you ignore it in CC3+, you do get the issues discussed above.

Now, the first thing you’ll notice when placing the text after picking the insertion point is that the text preview on the cursor is positioned with the cursor as the insertion point, so you can easily see that your insertion point is correct. If your cursor is NOT at the top left of your text when trying to place text in the top left corner of your map, well, then your insertion point/justification isn’t set correctly and needs to be changed.

Fortunately, even if you forgot to set your insertion point (or set it wrong), you can still change it by using certain shortcut keys while you have the text preview at the mouse cursor. Just press one or more of the following keys, and you should immediately see how it reposition itself on the mouse cursor (For example, to change to top left justify, hit T for top and then L for left):

  • L – Left
  • C – Center (Centers along the length of the text)
  • R – Right
  • B – Bottom
  • M – Middle (Centers along the height of the text)
  • T – Top

Once the preview shows the desired justification, you can then click to place the text.

 

Justification Tips

With the basics down, let me give you a few tips for how to use justification correctly, in addition to the obvious example from above, when you need to put text into a corner.

Labeling map features

When you are labeling a feature that is a point/marker on a map, like a city on an overland map, always place the justification point on (or close to) the marker, with a justification so the text flows away from the marker. For example, if you want text centered below your city marker, make sure to set the justification to top (or above) center, or if you wish the text to be placed to the left of the marker, you’ll want the justification to be Mid Right. This way, you don’t risk the text covering the marker or lurching away from it.

Making lists

At times, we add lists of text to our map, for example when making a legend. When doing this, we should make sure to set the text justification based on how we want the text to line up. Most legends will have the beginning (left side) of the text lining up, so the best justification is usually bottom left, and then use snaps or similar so we ensure that the insertion points themselves are precisely placed. Of course, if you want a legend with centered text or the right edge lining up, then you can just use the bottom center or bottom right justifications respectively. But if you try to manually line up the left edge of text with center-justified text, it is very likely to look bad. Below is an example of two lists of text, the left list is using justification properly (bottom left), while the right is lined up by eye using bottom center aligned text). Everything looks fine in the top screenshot which is taken at the zoom level when I placed the text, while the bottom screenshot is taken from an export of the map to an image file, and shows how bad this can look when not using justification correctly. You can also see that the length of the text is slightly shorter in the export, but for the properly aligned text (left lists), that doesn’t ave any real impact. (Sorry for the low res, it is not always easy to force a bad example when you actually need it, so in my particular case it was easiest to reproduce by exporting in a bit of a low resolution).

Note that when making lists like this, also remember that CC3+ text can be multi-line. In many cases, it is far better to enable multiline in the text dialog and add all your lines into one text entity, rather than place them one by one as I have done here. This avoids this problem altogether, at least as far as aligning the line goes, and is the recommended approach. But, there will still be cases when you do need to place lines below each other; maybe you need different colors, fonts, size or similar, and in that case, aligning them properly with the justification point will ensure they behave as you want.

Changing the insertion point of existing text

You can easily change the insertion point of existing text in your map, but note that when you do this, it means the text align to the new justification, but the insertion point itself stays in the same place in the map as where it was placed, so after doing it, you will need to move the text back into position, but after doing that, it will now have the new proper insertion point. To change the insertion point, simply use Change Properties on the text (remember that text needs to be selected by it’s baseline), then in the dialog, hit the Pick Text Properties and set the new justification, and once you’re back out use Move,Scale,Rotate to move the text back into position.

Instead of using change properties, you can also use Numeric Edit on the text. You’ll still need to move it back into position, but numeric edit gives you access to edit the text itself, as well as changing properties.

Exploding text

One final advice if you need to avoid text lurching altogether. If you right click the Explode button you’ll find the Explode Text command. Using this on text will turn the text into vector entities instead of text, and will cause it to behave like any other vector entity, so no more lurching. It will probably do a “final lurch” when you do this as a result of converting it away from text, but from now on you can treat it like any other well-behaved entity in your map. However, note that when you do this, the text is now vector entities, it is no longer text. So you can no longer use the text tools to edit the text, and there is no way to turn it back into text. So make sure everything is spelled right before you do this.

When using this command, the text entities will also end up on the current sheet/layer so if the TEXT sheet wasn’t the currently active sheet, you’ll find that it is no longer on the TEXT sheet. But you can obviously move it back as with any other entity. Additionally, when using the command on a line of text, CC3+ groups the letters so you can still easily manipulate it as one single entity like you would do with a line of text. But you can always either ungroup it (or temporarily disable groups) if you need to manipulate individual letters. Each letter will also be a multipoly, which can be further exploded using the regular explode command to turn it into it’s primitive shapes if needed.

So, while the disadvantage to doing this is that it is no longer editable text, you get other advantages, such as the ability to change the color or size of one of the letters individually.

 

If you have questions regarding the content of this article, please use the ProFantasy forums. It can take a long time before comments on the blog gets noticed, especially for older articles. The forums on the other hand, I frequent daily.

 

Leave a Reply