Typewriter Cartography

This is my father’s manual typewriter, a Royal Safari II. Or maybe it’s mine — I appropriated it quite a long time ago.


I remember playing with it a bit as a child in the 1980s, but for the most part I’ve rarely used it. But I’ve kept it around anyway, because I’ve always had a nostalgia for old technologies. Maybe I liked the idea of being a person who owns a typewriter.

A couple of weeks ago, I remembered that it was in the basement, and I thought — as I do from time to time — about how nice it would be to have a reason for using it. And then it occurred to me that I should just go with my default reason: maps.

After a few hours of planning and typing, I managed to create a typewriter map and I put it out on Twitter, where it ended up being by far the most popular thing I’ve ever put on that platform. Or probably ever, anywhere.

It’s probably of no surprise to anyone who’s known me for more than five minutes that I chose to start this project by mapping my homeland in the Great Lakes. I think it’s always useful to begin with somewhere familiar when trying something new, because you can use your local knowledge to confirm whether or not the technique is doing justice to the place.

Click here if you want to see a giant high-resolution scan. It’s full of smudges from the ribbon, alongside errors corrected with a generous application of Wite-Out. But I’m quite pleased with its messy, organic, analog nature. Other seemed to be, too.

I hadn’t expected such a warm reception from the internet, but even before that happened, I had considered my experiment a success. So I followed it up with a couple more maps, to get a feel for some different styles. You can click on either of them to have a look in more detail.

It was an interesting diversion from the digital precision of my normal workflow. Sometimes fun, sometimes frustrating, but in any case a chance to mess around with some new challenges.

The ideas here aren’t new. John Krygier has a post about typewriter mapping. Early computer graphics, such as ASCII art, along with early mapping software (like SYMAP), use essentially the same style as what I am doing (though mine is much more rudimentary): constructing images through individual characters.

In any case, now that you’ve seen the maps, read on to learn more about the challenges and decisions that went into their creation.

While this sort of work is cool and interesting, and I give away high-resolution versions of it for free, I can only do it when I take time away from my regular paid client work. If you derive some value from what you’ve seen here, you are welcome to make a donation to support my continued efforts.

Map 1: Rivers of Lake Michigan


Though I just called this project a “diversion” from a digital workflow, all of these maps actually started on the computer. For this particular one, I began with a grid in Adobe Illustrator. Each rectangle in the grid represented one character position on the typewriter. There are ten characters to the inch, at an aspect ratio of 0.6. The final grid was 75 × 60, which would fill a 7.5″ × 10″ space.


Atop that, I dropped some data from Natural Earth. And from there, I began “tracing”: plotting out which characters I could type to represent the rivers and coastline, and where each one should go.


After a little experimentation, I decided that if I wanted to draw linear features, there were three characters that were best to use: ! / _. Together, I could create rudimentary lines that roughly connected together in a pseudo-vector style, even if the typewriter grid itself is basically a raster.

A backslash (\) would also have been great, but that was a character invented pretty much exclusively for use on computers, so it’s not found on my typewriter. As such, I had diagonal lines that sloped somewhat cleanly in one direction, while they stairstepped back down in the opposite direction. Compare the coastline on both sides of Lake Michigan, below.


For the state boundaries, I decided to try something different. I simply filled a bunch of “pixels” in with asterisks, rather than using more “linear”-looking characters. A raster, rather than a pseudo-vector, approach. It creates a small visual distinction between the boundaries and the coastline, which might be pretty hard to do otherwise. There aren’t a lot of symbology options in a situation like this.

The biggest of those options, though, is color: my typewriter has a two-color ribbon, so I tried to make the most of it by setting the rivers off in red. This also helped with a labeling problem: I could name the rivers in red, to distinguish them from any other features. Other than color, though, the only way to vary my labels was to set some in capitals, and some in title case. I’m used to labeling most every class of feature on a map in a different style, but that’s just not possible here. My islands and my cities, for example, look the same (black, title case). The states are lakes are the same, too (black, capitals).

Once I had spent a couple of hours or so on developing a plan, it was time to start typing. I loaded some paper into the typewriter and got to work. At first, I proceeded very linearly: left-to-right, top-to-bottom. But that was tedious. There’s a lot of white space in this pattern, so sometimes I was forced to hit the space bar a few dozen times to advance to the next character on the line, and there was always a chance I might miscount and make a mistake. More importantly, though, following this workflow revealed a problem with my typewriter. Whenever I hit the carriage return lever to go to the next line, there was a chance that I’d somehow get a misalignment. Have a look at these patterns I typed:


Notice how the characters don’t all line up along the left side, but then become more aligned on the right? I’m not sure why it kept happening, but it seemed most often to appear when I would use the carriage return lever. So, instead, I shifter to a different style of typing. I would start to trace features somewhat linearly. For the top left part of the map, for example, I began by typing three asterisks, then I manually moved down one line, then typed four more, then moved down another line, and typed four more, etc. following the line of the state border.


I manually moved the paper up and down and used the backspace and spacebar keys to align myself to where I needed to be at any time. In this way, I mostly avoided misalignments, though smaller ones still kept creeping in. About three-quarters of the way down the page I got a minor leftward shift that you can see in the final product. You can also see where I typed some periods over again to check if it was just my imagination or if it really was misaligned.


Fortunately, it wasn’t enough to ruin my work, but it was a constant danger, and something I am still trying to figure out.

The final product has various interesting smudges where the paper accidentally contacted the ribbon. In particular, I noticed that typing in red always produced a faint black “shadow” a couple of lines above. When the slug hit the red part of the ribbon, a small portion of it would lightly hit the black portion of the ribbon, too. Later on, I started holding scrap paper over my map in order to prevent this, so that the black shadow would go on the scrap.


In sum: my typewriter is not a precision instrument. This makes it a somewhat uncomfortable-feeling tool for a detail-oriented designer like me. I like being able to zoom in to 64,000% in Illustrator and correct errors that are small enough that no human eye could possibly ever see them. But, there’s something attractive about the organic messiness of the typewriter.

Once I was done, I scanned it, and then turned it over to the Robinson Map Library, since I wasn’t sure what to do with it now that I was finished. So, come to Madison if you ever want to see the real thing (this goes for all three maps).

Map 2: Shadow Contours


For this one, I wanted to try and see if I could squeeze some sort of terrain representation out of the typewriter. As I mentioned, early digital graphics used printed characters to create images. And shading could be simulated by using characters of different darkness. The ASCII Art page on Wikipedia has some examples of this.

My goal was to do something like illuminated contours: lines that would get darker on the lower-right side and lighter on the upper-left, to create a depth illusion. So I needed to do something rather like what John Nelson calls “Aspect-Aware Contours.”

Setting this one up required a whole different workflow than my first map. I began with a DEM of Michigan that I always keep on my Google Drive, ready to test out a terrain technique at a moment’s notice:


First off, I cropped and shrank it down to 75 × 100 pixels. Then I further compressed the vertical dimension to 60 pixels. These two separate steps were necessary because the pixels aren’t square on my typewriter, as we saw in the grid earlier: they are taller than they are wide. I needed something that had the same aspect ratio as a 75 × 100 image, but once I had the overall image aspect ratio correct, I needed it to really only use 60 characters vertically, since each character is so tall. In the images below it looks a little squished because it’s being shown with square pixels. But in the end it stretches back out correctly.


From there, I classified it into just a few elevation levels, and smoothed them out a bit via a median filter.


And then it was time to calculate the aspect of each pixel in the raster.


Flat areas have no aspect. Pixels on the boundary between elevation classes, on the other hand, are assigned values based on which direction they are facing. So, now I could tell which areas would be in shadow (facing toward the lower right), and which would be lighter (facing upper left). No, I didn’t compensate for the vertical stretching when calculating aspect, but I should have.

The aspect calculation produced a double line of pixels, one on each side of the boundary between classes. But I really only needed a single line of pixels to represent the contours, so I first cleaned those up. And then I grouped the various aspects into three shades: light, medium, and dark, based on the particular direction they were facing.


Now I had contours with some shading. All that was left was to turn them into individual typewriter characters. I converted this raster into an ASCII file, which looks like this:

Screen Shot 2018-11-25 at 10.46.06 PM.png

Each pixel is represented by a number, and there are four numbers: one for light, one for medium, one for dark, and one for white. From there, it was simply a matter of doing a Find & Replace in a word processor to convert them to the three shading characters I had chosen to use: . + $.


And from there, it was just a matter of typing things out on the typewriter.


I tried a couple of other variations on this idea, as well. I initially hoped to do a proper set of Tanaka contours, with a medium-grey background and white highlights. But the white areas weren’t obvious enough amidst all the typed characters, so it wasn’t working.


Keeping white as the background color helped a lot, so I decided to go with contours that started with at least some darkness to them even on their light side. I also tried doing it with five different shades: . : + & $.


However, I think that was too many — the distinctions aren’t really sufficiently clear between some of them, especially when each character varies so much in darkness just based on how hard I hit the key. So, when I had to halt that particular attempt partway through due to me misreading part of my pattern, I decided to start over with a simpler set of three characters. I reclassified the aspect analysis and re-converted it to characters, and that became the basis of the final attempt described above.

Map 3: Shaded Relief


Since I had been at least modestly successful applying shading to contours, I decided finally to see if I could render a rudimentary shaded relief on the typewriter, as well. I knew it wouldn’t look particularly realistic, but I was hoping it would at least be sufficient.

This time I decided to change geographies and map Africa. As with the previous map, I took a DEM and shrank it down to 75 × 60 pixels, then I generated a shaded relief. I did it in Blender, but I turned off the various realistic shadows, as I thought they’d muddle things up. The end result was basically just a simple GIS hillshade.


did try to compensate for the fact that the image, which had square pixels, would get stretched vertically once it made it to the typewriter. I set my lighting angle to be about 15° off from the typical upper-left light source that is used in shaded relief. However, I think I shifted it 15° in the wrong direction. But the end result seemed to come out well enough.

Once I had the relief, I then classified it into five levels: white, and four shades of grey. While I’d used three shades for my contour map, after having decided five was too many, this time I decided to split the difference.


And then, as before, I converted it to text characters. This time, I used . + @ $ as my set of shades.

Screen Shot 2018-11-26 at 10.39.06 AM.png

I brought this into Illustrator and added it to the same planning grid that I’d developed for my first map. I also brought in more Natural Earth data so that I could include a coastline and some rivers. The relief would be in shades of black, and the other features would be in red.

Screen Shot 2018-11-26 at 10.42.22 AM.png

The end result would be a combination of the techniques from the first map (mostly pseudo-vector) and the second map (more raster-y).

I removed bits of the relief that crept into the ocean, and also in order to make space for the rivers and a few labels I decided to cram in. After about three hours, I had the whole thing planned out. I printed my pattern and typed it up. I had a few false starts where I missed or added a character here or there, but after another three or four hours, I finished the third map.


This one has fewer of those “shadows” that accompany the use of the red portion of the ribbon. I spent a lot of time with a piece of scrap paper trying to prevent those, mostly successfully. This map also only involved me making two mistakes that required Wite-Out. I’m clearly getting better, as the first map had probably closer to ten.

The shaded relief is obviously pretty coarse. I think close up it’s more of just an interesting texture, rather than anything that suggests depth. But, it was still fun to try. If you shrink the map, or step far away from it, or blur it, the relief starts to come out a little bit as the eye focuses less on the individual characters and more on the pattern. I think that’s also true of the contour map.


I may do some more maps later on, but I think now that I’ve explored some of the basic challenges of typewriter mapping, I’ve reached a good point to pause in my efforts. Maybe I’ll come back to it some other time, or maybe I’ll get diverted into another novelty use of old technology. Or maybe I’ll spend time doing all the stuff I was supposed to be doing instead of this. We’ll see.

Smart Type Halos in Photoshop and Illustrator

Gentle readers, I am back again with yet another tutorial that relates to the legibility of type. I love the art of map labeling, and the fact that this will be my third post on integrating type into a map suggests that I’ve probably thought way too much about it. While my two previous posts were on type knockouts, this time around, I’m going to talk about another favorite trick of mine: making type halos that appear only when needed.

Notice in the map below that there’s a faint glow around parts of the label for the Cadillac Plain. You can see it most prominently on the left side of the label. By the time you get to the right side of the label, it’s mostly gone.


Clipped from the map featured in my Terrain in Photoshop: Layer by Layer walkthrough.

Notice what happens when I turn off the label, but leave that glowing halo. You can see that it shows up only in some areas.


Also, notice how the Lake Mitchell halo is much more prominent than the Lake Missaukee one.

Specifically, it pops up only where the underlying map is darkest, and then it gracefully fades away as the map lightens. This halo is a tool that we bring in only when it’s necessary to help the label’s legibility. When the map is light, the dark label survives fine, and a glow serves no purpose. The labels only need a boost when the underlying map is darker, since the contrast between the label and the map will be weaker. You can see the value that the glow brings by looking at how the labels appear without it.


We don’t want to overuse the glow when it’s unnecessary, since it’s covering up our map and it feels clunky when it’s used in places where it’s not needed. Compare the first image, with the glow that fades in-and-out, with a glow that doesn’t change based on its context.


Now the label for Lake Missaukee has a glow around it, but it’s not really necessary. It looks a little silly, and/or heavy-handed. A needless intervention.

So, how do we make these variable label halos, that fade in and out as needed? Well, that depends on what software we’re working in. Let’s start with Photoshop.

In Photoshop

Let’s start with a map, and some labels. You might have imported these labels (and/or parts of the map) from Illustrator, or perhaps you made the whole thing in Photoshop. It doesn’t really matter. Here’s my starting setup, though. For simplicity in this demonstration, I have a single map layer, and a group with a few labels in it.


Click for a larger version (you can do this with most of the screenshots below).

To start, I’m going to need to make a copy of the Labels group. Click on the it (in the Layers panel) and drag it down to the bottom until you’re hovering over the icon that looks like a piece of paper with a corner turned up. Release the mouse and you’ll have a copy of your group.


Double click directly on the name of one of these groups to rename it. Call the topmost one “Labels” and the bottom one “Glows” (you can also click and drag group in the Layers panel to re-order them). Then, turn the Labels group off by clicking on the eyeball icon to the left of the group name. We’ll be setting this aside until later.

Now I need to make some nice glowing halos. I can do that selecting the group that contains my labels, then clicking on the fx icon found at the bottom of the layers panel, and choosing Outer Glow.


There are a lot of settings here — probably more than you’d need in most situations. They’re all worth playing around with to understand, but for simplicity, let’s focus on just a few.

For color I’m going to go with a white halo, set at 60% opacity, so that my glow simply whitens up my map a bit. And if it’s not already set, the normal blending mode is probably called for here, so that I don’t have this white color blending into the map in unexpected ways.

The size slider controls how far from the type your halo will extend, and the spread slider controls how soft and fuzzy its edges are. The settings you see in my example above are not likely to be the best settings for you. This is something you need to experiment with — there’s no one-size-fits-all sort of answer that I can give you. The overall goal is to make something that’s effective, but subtle. It should give the labels a boost, but not be too noticeable on its own.

Next up, it’s time to start making things fade in and out. Select the Glows group and then go down to the bottom of the Layers panel and click on the image of a rectangle with a circular hole.


This creates an opacity mask for the group. We’ve worked with these before, if you’ve been following along with my other tutorials. If not, go check out the Opacity Masking section of this tutorial before proceeding, which will explain the basic concept (though in an Illustrator, rather than a Photoshop, context). For now, our mask is empty, and so it’s represented by a black rectangle, which means: hide everything in this layer.


We’re going to put a copy of our underlying map into this mask, so that the glows get more or less opaque as the map gets darker or lighter. I’m going to go click on my map layer, hit Cmd-A (or Ctrl-A, if on a PC) to select the whole thing (or go to the Select menu at the top and choose All), and then I’m going to copy it (Cmd-C on a Mac or Ctrl-C on a PC) to the clipboard. From there, Alt-click on the opacity mask to go inside. To paste in our map, go to the top menu and choose Edit  Paste Special  Paste in Place to ensure that the map ends up in the correct place.


Since we’re in a mask, we’re only working in shades of grey, which correspond to levels of transparency for our glows. Dark means “make the Glows layer very transparent” and white means “leave it opaque.” What that means is, right now, our mask is completely inverted from what we want. Dark areas of the map (where we want our halo to help out) are also dark in the mask, meaning that the halo is being made more transparent. To fix this, hit Cmd-I to invert the mask.


With that, you can Alt-click the mask again to escape it and once again see your map, labels, and glows. Now they’ll begin to fade in/out based on the mask, which is based on the map. The problem, of course, is that our labels are also fading in and out, not just the halos around them.


And this is why we made a second copy of our labels. Turn those back on. They’re untouched by the mask and remain solid, so they cover up the fading labels beneath. Now we have solid labels and fading glows.


From here, you may wish to make some further tweaks, either editing the glow effect, or possibly even the mask. You might use the Levels or Brightness/Contrast adjustments to modify the mask’s overall effect. But the basic idea is now in place: the labels receive more help where they need it, and the glows generally get out of the way when they are useless.

Bonus content: This is a good time to show off a cool feature in Photoshop, even though it’s one that’s unnecessary for this process. Turn Labels group back off for a moment, and then select the Glows group. Right above it on the Layers panel you’ll see an option marked Fill that’s set to 100%. Set that to 0% instead. What this does is get rid of the layer’s main artwork (the labels), while still keeping the glow on the labels. The fill setting is almost exactly like opacity, except it doesn’t operate on any layer effects (like glows). The opacity setting, on the other hand, will make both the labels and the glows get more and more transparent.


So now you’re left with just the glows, and then you can turn the Labels group back on. Again, this is totally unnecessary in this situation, because the labels in the Glows group are hidden by the solid labels in the Labels group, so there’s no need to hide the former. But, this could be handy if you wanted a Labels group that was semitransparent, and you didn’t want it affected by the labels fading in and out in the Glows group underneath.

Double Bonus Content: In the comments below, Rolf points out an even fancier way of doing this, using Photoshop’s “Blend If” sliders, which takes care of this process without needing a mask.

In Illustrator

Now, if you don’t happen to be working in Photoshop, fear not! This same idea works just fine in Illustrator, which also has the ability to create both glows and masks.

Once again, let’s set up a map and some labels. And this time, I’m going to invert things: I’ve got light labels that need a dark halo, rather than the other way around.


I’m going to click on the small circle next to my Labels layer to target its appearance (if you want to know more about appearance attributes in general, I recommend taking a detour and first reading The Power of Appearances, another Illustrator tutorial I posted on here some time back). Then I’ll go up to the Effects menu and choose Stylize → Outer Glow.


There are far fewer settings on the Illustrator version of the Outer Glow (I appreciate that simplicity). Again, they require a little messing around to find the exact look that’s best for your map, so I can’t tell you what to pick. One piece of advice: by default, the blending mode is usually set to “Screen,” which is likely not what you want. I don’t want to get into the mysteries of Adobe’s blending modes, but I’ll simply say that Screen is generally for lightening underlying things. In this case, we want a dark glow, and so if you set the mode to Normal, you’ll get a result that’s probably more in line with what you were expecting.

I’ve set my glow to 45% opacity, a black color, and a 0.5pt blur, and this seems to be enough for my labels to stand out against the lighter areas of the underlying map.


This time, for demonstration purposes, we’ll do things in a bit different order. I’m going to modulate the glow’s opacity, and then I’m going to create a separate, untouched version of the labels. It gives me a chance to show you a couple of other useful things.

As we did in Photoshop, we’re going to put a copy of our underlying map in an opacity mask, to modulate the label glows. In the case of my example map, I’ve got a bunch of hexagons and other stuff in my basemap layer. I’ll copy everything in that layer to the clipboard. Then, I’ll once again target the appearance of my Labels layer by clicking the small circle next to the layer name. From there, I’ll open up the Transparency panel.


Hit the Make Mask button. Once again, we start with an all-black opacity mask, which means: hide everything in this layer. Uncheck the Clip box — this (annoyingly default) setting tells Illustrator: hide everything that falls outside of the bounds of the artwork we have inside our opacity mask. Since we have nothing inside in our opacity mask at the start, everything on our map counts as “outside the bounds of the artwork inside the mask” and is hidden. Unchecking the box turns out mask white, so everything shows up again.


As with Photoshop, Alt-click on the mask (the white rectangle on the right) to go inside. Then go to Edit  Paste in Place to drop our basemap in at just the right location.


Unlike our exercise in Photoshop, we don’t need to invert our mask this time. We want our dark glow to be strongest when the basemap is lightest. When we were working earlier in Photoshop, the opposite was the case: we wanted our glow to fade out when the basemap was lightest, so we needed to invert the mask, so that its light parts became dark and told Photoshop to render the glow invisible.

A note: if, in the future, you do need to hit the Invert Mask button in Illustrator, note that it will have the intended effect, but won’t actually make the mask look any different, as Photoshop does.

Alt-click on the box to the left of the mask in the Transparency panel to go back to the map. Once again, our glows now fade in and our as needed. But, so do our labels.


We need, once again, an untouched copy of our labels to go on top. As with Photoshop, you can duplicate the Labels layer by clicking and dragging it to the icon on the bottom of the Layers panel that looks like a page with an upturned corner. Rename/reorder so that there’s a Glows layer on the bottom and a Labels layer on the top.


Note that the glow gets stronger now that there are two of them, one stacked atop the other.

Now, both layers are presently masked. We want to get rid of both the glow and the mask on the top, Labels, layer, so that it’s just a layer of plain, unadorned labels. Target the appearance of the Labels layer (again, click that little circle) and open the Appearance panel. You’ll see that the layer has an Outer Glow on it.


If you click on the words Outer Glow, you can go and change your glow settings. That’s handy for later on if you need to make adjustments. But we’re not working with our Glows layer, we’re working with our Labels layer, so I really want to just get rid of this spare glow. Click to the right of the words Outer Glow to highlight the effect (don’t click on the words, just next to them). Then, click the trash can icon at the bottom of the Appearance panel. That glow will be removed.


Keep targeting the appearance of the Labels layer and go to the Transparency panel next. Here, we can see that we still have an opacity mask in place. Hit the Release button.


This unfortunately doesn’t just get rid of the mask. It actually takes all the contents of the mask and dumps them back on your map. So now I have two copies of my basemap: the original, and the one that used to be in the mask. We need to delete the latter. In the Layers panel, expand the tree to see what’s inside the Labels layer. Notice that the first thing there is a Group.


That’s got all the stuff that used to be in the opacity mask. Select and delete it. And now we’re back to just a simple Labels layer, with no fancy effects. It sits atop the Glows layer, and hides the fact that the Glows layer labels are fading in and out. With that, we’re all set: we have white labels that get a little dark glow behind them when they need it. The glow fades away when it’s less useful.


Again, this would have been easier if I’d just duplicated the Labels layer before applying a glow and opacity mask, but it’s useful to know how to alter/remove those things later. And now you know how to adjust your glow using the Appearance panel, if you decide it’s necessary.

So, that’s how to make glowing type halos in Photoshop and Illustrator that respond to the basemap underneath. It’s a subtle touch. It’s not something I do all the time, but it’s a handy tool to bring out when it can help. Enjoy!

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.


Outside Readings

While I’ve not been posting here this summer, neither have I let my writing faculties lie idle. The newest issue of Cartographic Perspectives, which is the free & open journal of NACIS, came out today and it happens to have two pieces that I wrote, along with a third one that’s connected to my work. I hope you’ll check them (and the whole issue) out.

  1. The Power of Appearances” is a combination and re-working of two tutorials I’ve previously put together here: Even Fancier Type Knockouts in Illustrator and The Power of Appearances. I reworked some figures and hopefully presented everything in a cleaner, more coherent package.
  2. A Freelancer’s Approach to Teaching Cartography” involves me musing about how I bring my experiences as a practicing mapmaker into the classroom. I teach introductory cartography occasionally, and I continue to alter the structure, expectations, and content of my course in order to make the experience of my students more like my own as a freelancer.
  3. While I didn’t write it, you can also check out Daniel Cole’s “Review of the Ecological Atlas of the Bering, Chukchi, and Beaufort Seas.” I made 130+ maps for the Ecological Atlas, which was published last year. You can also see the whole atlas for free, online.

Before I leave off, I’ll also immodestly drop in those donation buttons you’ve probably seen me adding everywhere. In the mapmaking community, practitioners both inside and outside academia come together to share knowledge through journals or conferences. Academics build their CVs and get tenure based partly on this sort of work, and are highly incentivized to do so. But many of the rest of us have no such incentive (in fact, some people’s companies would prefer that their employees not spend work time writing tutorials or presentations). It’s an ongoing challenge with a journal like Cartographic Perspectives, which relies on getting content from non-academics. If you’re outside academia, I hope you’ll consider being a part of the journal sometime, if you’re in a position where you have the time and resources to share your knowledge.


On Airline Mapping

A couple of months ago, I had the opportunity to redesign the route map for a major airline, to be printed in their in-flight magazine.


Click for a larger version. Also: yes, I know, I put the wrong Rostov on the map.

This is not the final product that I ended up creating for the client, but it’s my favorite iteration, and the one that I want to talk about today. I just want to break down a few elements of how and why this came together the way it did: a little behind-the-scenes of my work and thought processes.


As I began exploring layout options for the project, I started with a simple Gall Stereographic projection.


Antarctica has been removed in order to leave space for some logos and other information that the client wanted on the page.

But I quickly ran into a couple of challenges, due to the demands of the two-page print spread that I needed to fit this map into.

  1. Gutter: There’s a fairly wide gutter in the middle of the spread, where the pages are bound together. No cities or labels or other important stuff can fall within that zone. That leaves me with very few ways to non-awkwardly divide the map into two pages. The above image is one of the only options. In fact, I had to widen the Atlantic Ocean a little bit just to make it work — Iceland and Greenland are much closer together in reality. The end result is that the whole thing is kind of unbalanced. The vast majority of the routes are on the right side.
  2. Scale: The whole map has to fit within 398 × 270mm (15.7 × 10.6in). That seems like a fair amount of space, but, because of the distribution of the airline’s flights, some areas, such as Europe, are very densely packed. Far too crowded to label.

So, I decided to take a different approach. Instead of being beholden to reality, and the true size and shape of the Earth’s landmasses, I made a cartogram. By resizing and reshaping different areas, I could both alleviate overcrowding and better distribute the world on either side of the gutter.


I widened a portion of Asia, just west of India, in order to make space for the gutter. I shrank areas where there were fewer destination cities, and expanded those that had more. But despite all the distortions, it looks (to me) still reasonably familiar. Cartograms tread a fine line between reshaping the world and keeping it recognizable, and I think that I did OK here. The extent of the distortions becomes much more apparent when you run it through Bernie Jenny’s MapAnalyst.

Undistortion Grid.jpg


The white grid in the top map corresponds to the white grid on the bottom, showing how warped the original Gall Stereographic has become. As the land is distorted, so is the grid. You can see, for example, how all the grid squares in the Pacific have been compressed as the Americas have been moved closer to Asia. Click the bottom image to enlarge it.

To make the cartogram, I started with the Gall Stereographic map in Illustrator. Then I simply selected chunks of land and resized/moved them until I was happy. I made heavy use of the Lasso tool.


Let’s just put that right over there.

I would shrink an area here, expand or shift one there. It was an iterative process over the course of an hour or two, changing a piece at a time and seeing the effect it had on the other pieces. The end result looked terrible and jagged, due to the way it was constructed, but it had everything in approximately the location that I wanted it.


To clean up all that roughness, I then redrew a new, tidier set of linework on top of the distorted map. I built mine out of straight lines and circular arcs, much like the Geo-Metro set I did for Project Linework. It gives things a modern, urban feel. I think it keeps enough detail to make places seem familiar, while smoothing over a lot of details that had to be distorted.


Finally, I nudged around some of the city dots. Since the linework I drew didn’t exactly match the (now-distorted) coastline, some coastal cities had moved a bit far from the sea. In other cases, I shifted them a little bit just to make more room for labels.

Root and Branch Lines

I began the project determined to avoid the clutter that characterizes so many flight maps. Major airlines have a lot of connections, and drawing each possible route can lead to a tangled mass of impossible-to-follow lines.


I expect that designing the flight map for United Airlines is a pretty tough job.

That’s an extreme example, but you get the idea. These things can get out of control quickly, and the map ends up not really being useful as an informational tool.

My client had far fewer flights than United, and fortunately almost all of them originated in Dubai. But, even then, showing every line could lead to chaos (if a lesser degree of it). So, instead, I created a root-and-branch structure. Lines to each city were bundled together (as though with cable ties) and routed through empty spaces. I also gave everything an elegant, flowing curvature. It’s sort of plant-like.


This was another iterative process. I’d draw a root, then start to add branches to it, then figure out a better routing and start that section over, or I’d decide another root was needed to keep things tidy, etc. It took quite some time. As a starting point, I mostly just looked for open spaces that had a good balance of cities on each side.


Smooth Line Joins

Getting the lines to join smoothly also took a some work. I couldn’t just quickly connect the city lines to the bundled lines — I wanted them to flow into each other. This meant adjusting the curvature on each line carefully until things looked right. Basically, I had to set the bezier handle of the thinner line to be tangent to the curvature of the thicker line at the point where it joins. To explain this, I’ve put together some diagrams that approximate (a nicer version of) Outline Mode in Illustrator, which shows you just the bare vector paths, with no styling.


Left: one line carelessly jammed into the other. Right: the branch line has been curved to flow into the root line more smoothly.

That looks much better. But, there’s still one issue. These paths are styled with strokes, and those strokes have widths to them. So, in reality, it’s more like this:


Now things don’t look quite so smooth. There’s a little bit of a non-organic-seeming corner on one side where the lines come together. When I did my manual smooth join, I didn’t really account for the fact that the edges of the stroke are a short distance away from the center of the stroke.

So, instead of connecting the branch straight to the root, I need to connect the branch a short distance away from the root, so that the right edge of each of those two strokes will be in alignment with each other. The roots have a stroke width of 3pt, and the branches are 1pt, so if I do a little math, it turns out that I want to connect the branch to something that’s 1 pt away from the center of the root, and it’ll all work out.


By shifting the branch up a little bit, now its right edge is in alignment with the right edge of the root, and they flow together well. How did I place it exactly? I used the Offset Path tool to make a new version of the root line, 1 point away from the old line. This is a little different than just shifting the line left or right by 1 points. It’s more like creating a buffer around the line, 1 point wide. Offset Path is great, and I use it a lot (often to make waterlines).


The end result is a nice smooth set of flowing lines. It’s a really little touch. But, so much of good mapmaking inheres in the small details, doesn’t it?

Gradients on Strokes

You may have noticed that some cities are red and some blue — the former are the client’s flight destinations, and the latter are those of one of their major codeshare partners. I wanted to show the flights to the codeshare cities in a matching blue, but it would have looked awkward to just join a blue line straight into a red trunk.


So, instead, I applied a gradient stroke to each of the codeshare lines, so that they were blue near the dot, and red near the root. I had to adjust each gradient manually; since each line was a different length, I couldn’t simply say, “make it red for the first 10% of the line.”


Make sure to choose the second Stoke option: apply the gradient along the stroke.

The end result gives us a fairly-smooth transition between roots and branches when we need to use blue.

Fun fact: one alternate version of the map that we looked at also used gradients, but this time for opacity. Each city had a separate arc line running toward Dubai, but the lines became invisible shortly after leaving the city, to hint at their destination while avoiding a lot of overlap and clutter. I used the same gradient panel in Illustrator to do this, keeping the color constant but changing the opacity for the middle portion of the line. It was a fun idea, though ultimately we decided not to use it.


I’m pretty pleased by the overall result of the root and branch style. It both shows the extensiveness of the network, and allows the reader to easily figure out which cities connect to which other cities. It’s relatively clutter-free. Again, I had a little bit of an easier job than the designer of that United Airlines map I showed above — I have fewer cities to deal with, and most of them connect to the same place. But I suspect that this style would still yield some benefits on a more crowded network; even if it might not make everything 100% clear, it would probably still help a lot.


My initial draft of the map started out with a much brighter color scheme for the basemap, and bolder lines.


Fortunately, I solicited the ever-valuable advice of my colleague Tanya Buckingham. She said it felt a little childlike to her, which I started to agree with as I looked at it. Over the course of about twenty minutes, we slowly adjusted the palette to look a little more mature and refined. Mostly this was driven by her; she had a particular shade in her mind and we kept trying to match it.

I also gave the route lines some transparency. This was actually done out of necessity on a later draft of the map, one that was much more crowded and which needed the lines to fit comfortably underneath the labels, rather than dodging around them. But I liked the look of it, and so I went back at the end and applied the change to the cartogram, long after we’d abandoned it, and I think it helps. It makes the route network seem much less vascular.

Odds and Ends

I tried to avoid crossing lines, but there were a couple of places where it was necessary. In those cases, I added little breaks to help make it clearer that these did not connect.


Given the distortions in the cartogram, I threw in a couple of ocean labels to help remind people of the geography they were looking at. If I’d done another draft, I might have also included some continent labels, as well. Just little context clues.


Finally, I wanted to show you a couple of the other maps in this project. Besides making a world map, I was also tasked with making a series of half-page regional maps, as well. Here, I took a page from the work of folks like Erwin Raisz and Richard Edes Harrison and did a series of perspective views.


I did not make these.


But I did make these.

I used both Orthographic and Vertical Perspective projections to create five regional maps. It’s an immersive viewpoint that I find very powerful. These kinds of projections always suggest the concept of distance and travel to me, by showing the far-ness of some place on the horizon. It also feels like flying, positioning the reader high above the Earth (though the eye is more at space travel height than airline height).

Concluding Thoughts

In the end, the client eventually preferred a more traditional representation, including a non-cartogram world map, and non-bundled flight lines, though we did keep the perspective views. That’s the nature of this business: there’s often a lot of stuff that gets discarded as drafts are done and different visions explored. Sometimes the artist’s favorite versions don’t make it to print; that’s something I find challenging about being a creative professional. But, this blog gives me a place to show off and talk about something that might not otherwise have had an outlet. I hope you found it interesting or useful!

This project walkthrough 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.

Cartographic Freelancer Survey Results

A few weeks ago, Aly Ollivierre and I had an email conversation about freelancing, and whether or not the rates we charged were “normal.” Freelancing can be an opaque world, and I’ve tried to bring a little transparency to it in my own way. To help shed a little more light on the cartographic freelance world, we conducted a survey, asking people about their rates and freelancing practices, as well as a few demographic questions. You can see the specific questions we asked by clicking here.

Rather than a straightforward run-down of the results in a blog post, we decided to present them in the context of a conversation with each other, FiveThirtyEight style. Here’s an edited transcript of our conversation. All graphics are by Aly.

Daniel Huffman: I think the bottom-line thing that most people would want to know about the survey is: how much money are people charging on average? That was sort of the impetus for creating this thing. 81 people were kind enough to tell us what their average hourly rate (or equivalent) was, and the average of those numbers was $65/hr.


Which means I really need to start charging more.

Aly Ollivierre: That’s definitely good to figure out, I also split out the numbers by women vs. men. It looks like women are definitely not asking for enough!

Average Rates Resize.png

People’s average years in the business wasn’t a big difference either to explain that big of a gap: 10.4 for women and 11.7 for the men who answered.

Daniel: When I looked at these data, a voice in the back of my mind said “hey, remember you took a stats class nearly 10 years ago?” I remembered that there are t tests, by which we can demonstrate the statistical significance of these differences. I found an online t-test calculator, and the p-value for the men vs. women average pay was 0.0272, so it’s definitely real, not just due to sample sizes.

I preemptively apologize to Jim Burt, my stats instructor, for everything I have forgotten.

Aly: When asked if they thought they were paid fairly, women’s average answer was 3.1 out of 5 (with 5 being the best), while the average of men was 3.6, so both aren’t super confident that they are being paid fairly.

Paid Fairly-01.png

Daniel: Speaking of fair pay, I did notice a trend in pay rate vs. perceived fairness. I compared perceived pay fairness against how a respondent charged on average. There’s a definite trend, even if it’s not a strong one.


Aly: That’s really interesting to see.

Daniel: Unsurprisingly, people who charged more were generally more likely to say they were paid fairly. Though the numbers are all over the place. There are plenty of people who are unsatisfied, yet charging much more than satisfied people.

Aly: People seem to be all over the board. I looked at education, but didn’t compare it to pricing. Not much of a trend here either, but interesting to visualize.


Daniel: That’s cool to see like that. There are actually lots more folks out there practicing with a degree/certification than I might have expected. I think of cartography as something that a lot of people are self-taught in, but our respondents seem to have a lot of formal training.

Aly: I thought there would be more bachelor’s degrees at least, but I’m not particularly surprised master’s degrees were so high, there’s a lot of pressure these days to get a master’s in order to get paid fairly.

Daniel: And yet, for freelancers at least, it didn’t seem to have a big effect on rates. I created a quick education score (1 point for a Bachelor’s or certificate, 2 for a Master’s, and 3 for Ph.D.) and correlated it with the average pay rate. The correlation was 0.00009, so nothing going on there. I’d be curious if that’s true in the salaried sector.

We also asked people about how long they’d been mapping. I didn’t find a correlation between average charge rates and years of experience. The R-squared was 0.02, so basically nothing. Likewise with age; the R-squared was 0.04.

There’s a surprising (to me) disconnect between age/education/experience and rate. It doesn’t seem to have a big effect whether you’re brand new and self-taught, or whether you’ve got 30 years experience and a master’s degree. Any thoughts as to why that might be?

Aly: That is hard … I feel like my prices have gone steadily up since undergrad as I got additional degrees, certifications, awards, and years of experience. But maybe more experienced folks are not realizing they can or should be charging more?

Daniel: I imagine there can be a hesitancy to raise your rate if you depend a lot on existing clients, so if you set a rate that seemed reasonable 10 years ago, you might get uncomfortable having to tell them you’re increasing it.

Aly: My dad (who owns his own business) checked me on that the other day, saying that my rates should be going up every year, even with the same client, as the cost of living goes up every year.

Daniel: If I were a salaried employee, I’d expect annual cost of living raises from my boss.

One theory I have about the relative immunity of hourly rates to skills/experience/etc. is that I think it’s predicated on the assumption that our clients can assess our resumes. If I got a salaried job, I’d expect an employer to look at my background and pay me with an understanding of my abilities. But I think most freelance clients don’t think that deeply about it. I’m not sure most of my clients know, when they hire me, whether I’m good at my job or not.

Aly: That’s a good point, I do make sure that my LinkedIn is up to date and try to remember to get recommendations for my freelance work on there as I can.

Daniel: That’s a good thought. I imagine hearing from another person, “Oh, she’s very good and thought of all these things we didn’t” would be helpful.

Aly: I agree, but it feels weird to put it on my website, so I just try and link people back to my LinkedIn.

Did you look at all at rates based on full time or part time?

Daniel: I did. 32% of our respondents indicated they were full-timers, so part-timers are the majority, if our sample is any fair indication. Part timers indicated an average rate of $68/hr, while full-timers said they charged $61. The p-value was 0.38, though, so this difference isn’t really statistically significant. This is something I’ve heard people wonder about — whether part-timers have the flexibility to charge more because they can “afford” to lose out on projects. Which kind of ignores the fact that part timers often still rely quite strongly on the mapping income even if it’s not their only gig. I also looked at gender and part-time.

Part-time vs Full-time-01.png

Aly: I’m not particularly surprised that there were more part-timers, I think it’s still hard to find enough work to fill up a full-time schedule and be able to afford insurance/rent/etc.

The part-time vs. full-time conversation is interesting. A lot of the comments reiterated my feelings that you have to accept projects on a sliding scale based on the client and that being full-time vs part-time doesn’t necessarily mean you can charge more … who your clients are is more important.

Daniel: A lot of people gave feedback along those lines. Some comments that respondents said we could share:

“I change my rate based on my client. If it’s a nonprofit or NGO, I typically work for less”

“If i’m working for a non-profit that I support the mission of, i’m willing to take a lower rate.”

“Sometimes I charge more based on willingness/ability to pay rather than the difficulty of the work”

Aly: There were some other helpful comments in there as well: like,

“I always have a clause in the contract that extensive revision or modifications to the scope work will be billed separately at a rate of X per hour.”

This is advice that I should take myself as extensive revisions is what tends to hurt me on flat rate projects.Flat Rate vs Hourly-01.jpg

Daniel: I have also gotten hammered on some of those flat rate pieces. I sometimes come back and ask for more, but I’m one of those people who doesn’t work with a contract very often. And our survey suggests that folks are pretty split on this, so I guess I’m not alone in not having one.


Any contracts I sign are usually ones offered by large organizations that have boilerplate ones.

Aly: I was surprised how many people said they do! I’m lucky that most of my clients are personally recommended to me or small-scale so I haven’t felt the need to write up a contract, but I definitely think I should put more thought into that. I wonder if anyone who always uses one might be willing to share a copy. I wouldn’t even know where to start to make sure it covers everything that it should.

Daniel: I think that would be helpful. I’ve looked online for various bits of legal language before, but it always ends up getting adapted to be more map-and-illustration specific. Oftentimes it feels like too big of a hassle for the small bits of work that I do. If someone’s paying me $250 for some small greyscale pieces for their short-run university press book, I start to weigh up in my head the amount of time it will cost me just to get a contract set up, vs. the amount I’m being paid.

One piece of advice on contracts that I’ve received from Tanya Buckingham (who is my mentor in so many ways): add kill fees. So that if the work gets cancelled part way through, it’s clear how much money will be owed to you, even if it’s not the full amount.

Aly: I also liked the comment:

“I usually charge a flat rate with an additional line in the estimate for changes beyond the first (or sometimes second) round of revision. Additional client revisions are billed at $100/hour.”

I never would have thought about charging a higher flat rate for revisions, but I definitely see the appeal, oftentimes I spend more time on revisions than on making the map itself.

Because as another respondent noted:

“Maps are more of an analytical domain than the typical graphic design project involves. As such it can be really difficult to safely arrive at a mutual understanding without essentially making, then iterating, maps to show as a “mockup” while simple “changes” are full re-builds with variable effort. External examples were helpful, but I found the customers’ mind’s eyes were frequently quite different from cited examples in critical (and time-consuming) ways.”

Daniel: Absolutely. I think a lot of clients don’t quite know what it’s going to look like when they hire me, or they don’t quite know what they want. The various drafts are an exploration process.

And this ties in with the previous quote about contracts allowing a set number of revisions. Locking that down early is good. I have occasionally done that (verbally, by email), but perhaps not as often as I should.

Along those lines, though, I do tend to raise my rate if I’m already busy with other work and sort of don’t feel like taking something else on. I factor my mental stress into the rate a bit, so that it will be compensated monetarily, or they’ll just say no and I won’t need to deal with them.

Aly: It’s really important to take your own mental stress into account when assessing whether or not to take on a project, especially when this work is alongside a full-time job. As one of the respondents noted:

“I require a $100/hour minimum because I have a full time job and I don’t want or need to add extra stress unless the client is serious and the project is worthwhile.”

Daniel: The last bit of statistical analysis I did on the survey was to compare countries a bit. Most of our respondents were from the United States (79%) which, given the language of the survey and our professional networks, was not surprising. But we had a fair number of folks from Europe answer, as well (12%). I lumped them all together so that we had enough to compare. In the US, the average hourly rate was $64, and it was $65 in Europe, so not much going on there.

Also: my apologies to folks in other countries. We had few enough responses from some places that I couldn’t break those out separately, but your answers were still valuable for the other numbers we calculated above!

Aly: There’s not much of a market for freelance cartography-specific work in the other parts of the world I’ve lived in.

Daniel: That’s an interesting thought: is the market actually mostly US-centered? I thought maybe it was just a bias in our sample, but maybe if we could count every mapmaking freelancer, we’d actually find that a lot of them are in the US?

In your time in the Caribbean did you encounter other freelancers there? Or in other countries you may have lived in?

Aly: I haven’t, not in the countries that I have lived in while I was at the point in my career that I was freelancing (and paying attention to others that did as well). I worked with a fellow student subcontracting on a project from a professor in Trinidad, so a few of my professors from my master’s program did take on some side work.

Daniel: I’d be curious for our readers in other countries to comment on the robustness of their freelance cartographic scenes.

Any other things you saw in the survey that interested you, or surprised you? I think that’s mostly what I’ve extracted from it.

Aly: That’s mostly what I gathered from it as well, I hope we can get a discussion of the results started with the carto-audience, I’d be interested to hear other people’s thoughts.

Daniel: Absolutely. I think people will be excited. Even just the bottom-line understanding that the average going rate is about $65/hr is extremely useful for all of us floating, disconnected out there who don’t know where to begin valuing our services.

I’m also beginning to learn from the survey how undifferentiated the market is as far as skills and experience, and I think it’s useful for all of us to think about ways to educate clients as to how much we’re worth. If they can’t judge our resumes, maybe we (or testimonials from other clients) can help them understand.

Aly: I’d also be interested to break that down even more into a price range for small-scale orgs or NGOs vs a price range for larger or corporate clients as well as how that average rate changes more clearly based on experience (which didn’t show up with much of a trend in the survey)

Daniel: Sounds like we have some thoughts for future surveys. Perhaps down the line, especially after we see what new questions this one prompts in people’s’ minds, we can do some more.

Thanks to everyone who took our survey! Aly and I hope that you will all find this enlightening, and that it will lead all freelancers to feel more comfortable and confident in setting rates.

Another Survey!

It’s time for another survey! Apparently instead of making random maps in my spare time, my new current hobby is asking questions of my colleagues.

As you may know, I’m keen to make the money side of freelancing more transparent. Toward that end, Aly Ollivierre and I are collaborating on an anonymous survey of freelancers, asking them how much they charge, as well as a few other details about their practices. If you do any freelance mapmaking (whether occasional, part-time, or full-time), I hope you’ll take a few minutes to answer. The survey is open to you no matter what country you live in, as well.

Take the survey here: https://goo.gl/forms/0y5RALVW0tQ4QFZ72

Finally, please help us spread the word! We’d like to get a robust data set with lots of respondents. Stay tuned to this space for a writeup of our results later on.

Cartographers’ Preferred Typefaces

“What typeface should I choose for my map?”

It’s a question that cartographers of all skill levels get stuck on, from time to time. Sometimes it’s just a matter of browsing around until you stumble upon the right one, one that looks right to you, in the specific context. And sometimes having a list of inspirations can help. Toward that end, I recently did a survey of some of my fellow cartographers, asking them what typefaces they preferred to use on maps. This list may give you a starting point, or just satisfy your curiosity, as it did mine.

I received 40+ answers, but I’ve simplified things here by only noting the typefaces that were chosen by multiple respondents. I’ve also included some quotes by those who chose to offer them.

(apologies for showing off these typefaces with raster images; I don’t want to pay for the $25/month WordPress.com upgrade that includes SVG support)

Sans Serifs

Avenir is a favorite of mine, and it’s found its way into many of my projects. It’s also the typeface of the Atlas of Design. I think it’s got some character without being too forward. I described it once thusly: “a man in a sharp suit walks up to you and says, ‘let me introduce my friend, the map,’ and then gets out of the way.”

Louis Hill described it as a “very clean, sleek font,” while Joshua Stevens added, “Avenir is legible, crisp, and clean.” All these descriptions are pointing the same way, I think, and perhaps you can get a sense of it.

It’s also versatile. Joshua Stevens pointed out that “it also offers numerous weights for building effective hierarchies overtop a variety of background maps or images.”


Century Gothic is another favorite of mine; I do love a good geometric sans, as do some of my colleagues, it seems. John Nelson’s described it as having “clean mid-century appeal,” and I quite agree. Liam Mason called it “lightweight, modern, and dyslexia-friendly” — I hadn’t heard the latter, but it’s good to know!


Easily the most popular choice on the survey. While some typefaces here received two or three votes, Frutiger got five.

Survey takers commented most on its versatility. Tom Patterson likes its “wide range of weights and styles,” and Dennis McClendon mentioned that “it was designed for readability at very small sizes (on Aéroport Charles DeGaulle signage).” Another respondent added that it has “good contrast on busy background[s].”

Aesthetically, it was described as “clean” (Hans van der Maarel) and “beautifully designed” (Dennis McClendon). Dennis further notes that “it’s not Helvetica, which in the 1980s was sufficient to distinguish a design on its own.” Though I’ll juxtapose that with Tom Patterson’s comment that “Frutiger is the Helvetica of the 21st century.”


Lato is free from Google, unlike some of the proprietary options in this list. One survey taker described it as “bland enough not to call attention to itself, but doesn’t look like a cheap Helvetica (or Arial, for god’s sake).” They “sure do hate the capital W though.”


Another free Google font. Open Sans has, according to Michel Stuyts, “good readability,” and is “good to combine with a contrasting ghosting/halo.” Technically only one person voted for this one, but another one voted for “Open Sand,” and I’m guessing that was a typo.


Adrian Frutiger’s third mention on this list is Univers. I expect he never knew what a world of good he did for cartography.

One respondent wrote that it has “a whole bunch of weights and styles to use,” while another, David, also commented on its “lots of family members.” I’ve likewise appreciated Mr. Frutiger’s various typefaces for this reason — you can create a lot of label distinctions when you have so many options.

David further added that it’s “clean [and] easy to read.” There’s definitely a pattern emerging here with the use of the word “clean” to describe many of these sans serifs.


To my surprise, there were only two serif faces that made the list, versus six sans serifs. And one of the serifs is only here because I voted for it, too.


There are actually a lot of versions of Caslon, but this is the one that I use. I’m not picky or deeply aware enough to really make distinctions between them. Technically one survey respondent answered “Caslon,” and then I also voted for it and bumped it to this version.

Kristian Underwood noted that it has a “large famil[y],” and that’s a big reason I like to use it, too. Not only does it have a couple of weights and styles, but it’s also got small caps, and a fairly decent selection of diacritics. I also think it’s classy while also being unobtrusive.


Finally, we end with Georgia. Brian Lewis noted that “it’s serif and not Times,” which I suppose is like the comment above on Frutiger not being Helvetica. He also noted that it has a “strong vertical to horizontal ratio” and good clarity.

The Rest

So there you have it: a few typeface ideas from a highly informal survey of mapmakers. In addition to these, a number of faces were mentioned only once, so I’ll just add them here without further comment.

Serif: Hightower Text, ITC Souvenir, PT Serif, Surveyor Text
Sans-Serif: Adobe Source Sans Pro, Akzidenz Grotesk, Barlow, Calibri, Candara, Corbel, Gill Sans, Grotesque MT, Maven, Myriad Pro, Raleway, Segoe UI, SST, Trade Gothic, Whitney
Both: DejaVu
Probably a Joke: Comic Sans, Papyrus

Once again, respondents demonstrated a very clear preference for sans-serif faces. That really surprised me, I must admit. I suppose I haven’t paid a great deal of attention to the serif/sans ratio on other maps that I’ve seen, but I feel like I make common use of both in my own work, and I just guessed that everyone else did, too. Then again, the survey just asked about preferences, not frequency of use, so maybe it’s unfair to conflate them. It could be that (this small sample of) cartographers use both of them a lot, but just happen to like sans-serifs the most.


If you’re curious about the survey methodology, I asked

What’s the name of one of your most-preferred typefaces for mapping?


Why do you like to use it? What advantages does it offer? 

and then allowed people to offer their name for a quote attribution, and/or to offer a link to a map using the typeface in question—ultimately, I didn’t end up using the map examples because they weren’t offered for some typefaces, and I wanted to present each one on equal footing. I had 41 replies, though a few of them mentioned multiple typefaces.

Closing Thoughts

As Ken Field rightly noted, “Keeping an open mind and not defaulting to a favourite helps with being flexible and open to the stylistic demands of the specific map.” However, some maps have clearer demands than others, and the style can sometimes be driven by our personal taste (and, therefore, the typefaces that we find most attractive or interesting).

An anonymous respondent provides a different perspective: “In general though I tend to find a font and stick with it for awhile. Spending an hour each project worrying about typefaces is terribly easy to do, so having a go-to font that I know will at the very least be alright keeps me focused on the other million things to worry about.”