Command of the Week - Text Justification (Week 18)
This series is called the command of the week, but it could also explain a feature. The explanations will tend to explain the technical parts of the command, and is intended to highlight the basics (and complexities) of the command, and information about how to use it, but won't be a detailed tutorial. It is up to you to use it creatively in your maps.
Week 18 - Text JustificationMost maps need text in some form, and most of the time, text is pretty straight forward. However, there is one thimg about text that is very important to keep in mind, and that is the text justification. This is important for two reasons:
|1) Not all users have the same font installed. That means that CC3+ might need to use a replacement font, which most probably will not be the exact same size as your original font, as font sizes are not consistent across fonts. (The size of text, measured in points, describe the height of a normal letter, but some fonts are wide, others are narrow, causing the width of a piece of text to differ greatly when the font is changed.|
2) Because how fonts work, rendering them into the CC3+ map unit system is not a precise science. You may have noticed that the size of the text changes slightly as you zoom in and out, causing text that fits snugly inside a box in one zoom level, to not really fit when you zoom in. I won't go into details here why this is so, but we still need to acknowledge and handle this.
To make both these two issues affect our map as little as possible, it is important to use the text justification properly, as this property affects how text will grow, shrink in relation to the insertion point. For example, if you wish to place the map title in the bottom right corner of the map, you'll want to make sure that it never extends right beyond the map border, it is usually much better that it does all the stretching towards the left instead.
The Insertion PointWhen you place text in your map, the actual point you click with your mouse is the insertion point for the text. It is this point that is stored in the text entity, and uses as the basis for calculating where exactly to render the text. It is very important to have a conscious relation to this point when placing text, and not just focus on the text preview being displayed on your cursor. The main reason for this is that the preview shows how the text will look if the chosen font is available, AND at the current zoom level, but as shown in the example image above, this can change. The insertion point on the other hand is the key to making sure the text behave as good as possible in those situations, which is often much more important.
Think of the insertion point as the anchor for your text.
|The text justification controls how text is placed in relation to the insertion point. It is always described using two words, like "bottom center". The first word tells where the insertion point is related to the height of the text, for example "bottom" means that the insertion point will be along the baseline of the text. The second word tels where the point is along the length of the text, for example "center" means that it is in the middle of the text. These terms are not that special, you are probably familiar with them from your word processor. However, in a program like CC3+ it is easy to ignore the justification, because you plop down the text anywhere you want, you don't need to set a right justification to have text on the right hand side of your map like you would need to do in a word processor. However, there is one very important reason to use justification properly, and that is because text will grow(/shrink) outwards from the insertion point depending on the justification.|
For example, if you wish to have the right edge of the text at a given point, no matter replacement fonts nor zoom issues, you would use a right justification, since this causes the text to only grow towards the left. If you use a center justification, the text will grow both ways, as is the case with the example text in the first image above.
ExamplesThe images below shows good and bad choices for justification. I've indicated the insertion point with a red dot. I've used a replacement font in the examples to more easily force a larger, more noticable change, but it applies equally well to changes in font size due to zoom levels as well, although those tends to be slightly less pronounced. In the two top islands, both the good and bad placements look fine, but after replacing the font, we can clearly see that we made some bad choices for justification for the bad island.
Explode TextSometimes, it is important to place text that does not change size as we zoom in/out, and that will display properly, even if the map may be used on a computer without the font installed. If this is required, you can use Explode Text on the text entity. You can find this command by right clicking the Explode button.
When you use explode text on a text entity, it is converted to a regular CC3+ entity (or more precisely, several CC3+ entities that are grouped into a multipoly). Doing this has several advantages and disadvantages:
- The text will display the same at all zoom levels and computers. This is very helpfull when the text needs to be fitted into a constrained space (like the boxes in the first image above)
- It is no longer a requirement to have the font installed to see the text
- You can no longer edit the text, because it is no longer a text entity. You can only use the same editing tools as you can on any polygon, like node editing tools.
- You cannot change text properties (font, bold, italics, etc), since it isn't text. (You can still change the size using the scale command)
Clearly, if you are making a map for others to use (and you plan to give them the .fcw file so they can modify it, and not just an image export), exploding the text is a bad idea, since this prevents easy changing the text in the map. This is especially true for the normal text in the map, although it can be justified for things like the map title so you can use a particular fancy font.