Transposition and Fonts

Transposition is a very tricky business, even for a human. We put a lot of brain power into the job. Our software works very hard to simplify the process, and to make the results just what you'd expect, but there are some things you can do to make the chord spacing work out better in the end.

There are two basic types of fonts: proportional and non-proportional (aka Monospaced).

A font like Times or Arial is a proportional font. In other words, the width of each character is proportional to its size; an "m" is obviously wider than an "l", and a proportional font allows more width on a line for an "m". On the other hand, a font like Courier New is a non-proportional font. That means every character is given the same width on the page.

When you're working with chords on a typed page, you probably use tab characters or spaces to position the chords. This is where the transposition process becomes complex.

When you change the chords, you may end up with different numbers of characters - for example, if you transpose from the key of C to the key of B, a G will become an F# - two characters instead of one.

If you change fonts, the opposite happens - the width of the characters changes. A long line of lyrics will become much shorter if you change from Courier to Times - and the line of chords above it will become MUCH MUCH shorter because spaces are the narrowest thing in a Times font - so the chord alignment would become completely incorrect.

Of course, when you transpose or change fonts, you want the chords to stay right where you left them. Chords moving to a new position is obviously a bad thing. If you transpose a song in Courier, it's fairly easy for the transposition code to maintain chord spacing - if you change from Em to F#m, for example, you just delete one of the spaces after the chord, and then things to the right don't move around. (This works okay as long as there's not another chord one space after that!) But if the chord is in Times, then a space is not the same size as a letter. Two letters plus one space don't equal three letters. So it's VERY complex transposing a song in Times or any font other than Courier. It's also even MORE complex changing the font without changing the chord spacing. It's doable - the software manages okay - but even on a decently powerful home PC, it takes a second or two or five for the software to handle.

(This complicated work is well beyond the scope of the web-based software, which is why we don't include a formatted-text editor for the free Web Transpose Tool.)

So what can you do to make it easier?

First, the software will work much faster if you stick to non-proportional fonts like Courier or Monaco.

Second, once you've picked a font, stick with it. You can change the font, but you will find things shifting around a little bit, no matter how well the software handles the transposition.

Third, avoid using tab characters in your chording arrangements. Use spaces to align the chords.

Fourth, avoid the Arial Black font for anything with chords. Yes, it looks great for projection, and is really easy to read - but Windows often cannot accurately calculate the width of its letters (this is a Windows bug, not something in our software), and so the transposition spacing results will often be poor.

Finally, avoid using Bold fonts whenever possible. This changes the width of the characters, and makes the transposition spacing less accurate.