Continuing my trend of recording tips & tricks that I am commonly asked about, I thought I’d share my method for creating type knockouts in Adobe Illustrator (please note that I have no idea if that’s a proper use of the term, nor do I know what other people call them).
In the above image, the situation at left happens all the time. You’ve got some type on the map, but it’s hard to read because all of the other stuff on the map is getting in the way. The solution, on the right, is to selectively erase bits of the map in order to make the type more legible.
There are a few ways of going about this, each of which has some limitations (including the one I’m going to show you). Two common solutions are deleting linework and adding halos. The problem with the former is that it’s destructive. If you move the label and want to put that linework back, you’re out of luck — it’s gone (though you could keep it backed up in a separate layer, or pull it from an older file, but these are time-consuming). Instead, you could try adding a halo. It’s a great idea when the type sits on just one color, but it doesn’t work if a label has multiple background colors.
So, when I can’t do a halo, I make use of a different method, which relies on…
In Illustrator, we can make objects more or less transparent. When they are completely transparent, they become invisible.
But, it also lets us make parts of objects transparent as well. And that’s what we’re going to do. We’ll make just pieces of those map lines completely transparent, so that they are still there (in case we ever need them again), but cannot be seen.
To do that, we need to use opacity masking, which is a way of telling Illustrator how transparent to make things. The terminology gets a bit confusing here, as Illustrator has two ways of describing the same thing. Objects can have varying transparency (how see-through they are), which is sometimes instead called opacity (how not-see-through they are). Both words get at the same idea, just from opposite perspectives.
So, let’s set up an opacity mask, and I’ll explain as we go along what it is and how it works. To start, we need to first select the map labels that are hard to read, the ones that need the features underneath to disappear. Copy those to the clipboard with Cmd-C (or Ctrl-C, if you happen to be on a PC for some reason; mentally replace “Cmd” with “Ctrl” for the rest of this tutorial and you’ll be fine). We’ll make use of them in a while.
Now, find a layer of map features that needs to be knocked out, then select its appearance. That means clicking the little circle next to the layer name. This tells Illustrator you want to do something to affect how the whole layer looks. Like, for example, changing its transparency.
Now open up the Transparency panel. Notice that there are a couple of little squares that appear in the panel (if you don’t see them, click on the icon in the upper-right of the panel and select “Show Options”). The one on the left shows a little preview of everything in the layer. The one on the right is greyed out and usually marked with something like a symbol for “nothing going on here,” depending on your version of Illustrator. If you have an older version, there won’t be a square on the right at all, just an empty space — this is fine. All the things I’m describing exist in the last several Illustrator versions, but they may look a little different.
Double-click on the square on the right, or click “Make Mask.” Unless you’ve messed with some defaults, you’ll see the square on the right turn black, a box marked “Clip” will get checked, and all the artwork in the layer will disappear.
You’ve just created an opacity mask. Here’s how it works: this is a special kind of layer, which exists parallel to your “real” Illustrator layer, and which tells Illustrator to make certain parts of the real layer transparent or not. If part of your opacity mask is black, that tells Illustrator to make the corresponding part of the real layer invisible. If a part of your opacity mask is white, the corresponding part of the real layer is given no transparency. And you can go in-between: if you put some grey in your opacity mask, it makes the corresponding part of the real layer partially, but not fully, transparent.
Right now, the opacity mask is completely filled with black, and that tells Illustrator to make the corresponding layer completely invisible, which is why it disappeared. Uncheck the box that says “Clip,” if it’s checked. Your mask turns white, and your art reappears, because white means “0% transparency,” while black means “100% transparency.”
Alt-click on the opacity mask (the square on the right). Now, your map disappears and you’re taken into the mask, which is currently empty. Now to draw a black circle, and put it in a spot where there’s some artwork in the real layer. Notice, on the transparency panel, you can now see that black circle appear in the preview on the right.
Next, let’s Alt-click on the square on the left of the Transparency panel. This takes you back to your real layer. You can Alt-click on these two squares on the Transparency panel to alternate between the layer and its mask. When you return to the layer, notice that part of your artwork has been made invisible, exactly where you drew the circle. The black circle in the opacity mask is telling Illustrator to make the corresponding area in the layer 100% transparent, meaning invisible.
Alt-click on the opacity mask to go back to it, and delete the circle. Now, you could painstakingly draw little black circles or boxes everywhere you want to hide the linework, but that’s kind of annoying. Instead, let’s do this smarter. Remember those labels you put on the clipboard? Let’s use those. Paste them in place using Cmd-Shift-V. This is different from pasting with Cmd-V. Pasting in place makes sure the labels appear in exactly the same position as they were when you copied them, so that these labels you’re pasting in will line up exactly with the real labels.
Now, make those labels black, and give them a black stroke. I usually make the stroke around 2pt thick, and give it rounded corners. Your labels, inside the opacity mask, will look something like this:
Now, Alt-click out of the mask. You’re done! Your linework on this layer is now knocked out. The opacity mask has black areas, in the shape of your labels, plus a little extra (from the stroke you gave them), and that means your linework has turned invisible in the area of those labels, plus a little beyond.
It’s important to understand that you now have two copies of these labels — the real ones in your map, and a separate copy in the opacity mask. If you move a label in the map, the copy in the opacity mask doesn’t change. You’ll have to re-do it.
This is a similar problem to having to fix things if you were deleting linework, but it’s a little less hassle to fix and it’s non-destructive. Also note that you’ll have to repeat this process for each layer of artwork you want to knock out.
If you want to work a little more efficiently, you can actually draw/copy/paste/etc. inside the opacity mask while still viewing the art layer. Instead of Alt-clicking to go into the opacity mask, just plain click on it. You’re now editing the contents of the mask, but you’re seeing the layer. So, if you can keep them mentally separate, it’s a nice way to see how you’re affecting your art while working in the mask.
Instead of completely knocking out a layer, you might also instead try making it partially transparent, as I did in this example:
Here, I set an opacity mask with a copy of my type, but I didn’t make it black. Instead, I made it grey, which tells Illustrator to make the art only partially transparent. The darker the grey, the more transparent, until you get to black, which is 100% transparent.
Finally, in case you were curious about the “Clip” checkbox, that just tells Illustrator to set any areas of the opacity mask where you didn’t draw artwork to black. So, at the beginning, when we made the mask, there was no artwork in the mask, and so everything was turned to black. If we’d drawn a white circle in the mask with the “Clip” box checked, the circle would stay white, and everything around the circle would remain black.
So, that’s opacity masking for type knockouts. It’s not a perfect solution, but I find it pretty workable, and it’s pretty quick once you get used to it. Hope this writeup helps!
This tutorial is, and will remain, free, but if you derive some value from it, you are welcome to make a donation to support my continued work.
11 thoughts on “Type Knockouts in Illustrator”
GREAT tutorial Daniel. I do this using MAPublisher and love the results, but I never really understood what was going on in the background. Now I have a much better idea of what is really happening and can do it manually if needed.
Before I started using MP I was obsessed with trying to figure out how to do this and I never really figured it out. Thanks for sharing your knowledge!
THANK YOU! I have seen other tutorials trying to explain how to do type knockouts, but I could never get them to work for me. Your method works like a charm. I do a lot of topographic maps with labeled contours. I used to use halos on the contour labels but they didn’t look quite right. Lately I have resorted to clipping the contour lines out under the labels. This looks great but the process is extremely tedious for some of the large maps I have been making. Now I have a way to easily accomplish the masking of the contour labels and I am thrilled!
Interesting, although for my poor vision merely greater magnification is typiocally sufficient. In the first pair I had to look very carefully to even see a change. And the IND and ILL are reversed in the final map.
Right you are! Good thing it’s still a draft =). Thanks for catching that.
Another excellent tutorial! I’m lucky enough to use MAPub for now but these “manual” techniques are well worth knowing. It would be great to have the very small map section you are showing here as an AI file to download for users who want to follow along with the data shown. And “knockout” = correct term as far as I know from my AAA cartography days.