One Character Can Break the iOS Music App’s Lyrics Display

There are a number of problems with displaying lyrics on the iOS 10 Music app. It can display lyrics you have added to your music, but also lyrics downloaded from Apple’s servers.

But it turns out that one character can break this display.

I was contacted recently by my friends at Hyperion Records. This classical label uses the Lyrics tag in the files they sell by download to not only include sung texts, but also liner notes. They have quite an interesting system, and they’re the only label I know of that does this.

But they’d been having problems with displaying lyrics for some tracks on iOS 10 devices. Here’s one track that wouldn’t display correctly on iOS 10:

Tallis

Here’s how it looked on an iPhone:

Lyrics2

The first thought was that the text was too long; but other, longer texts display fine. The second possibility was that the text was in Latin, and iOS was trying to parse it for line breaks. We tried other Latin texts, and there was no problem. The production manager at Hyperion then compared two texts: this one, and a long text from a track which displayed correctly. He found a half dozen characters that were in the first text, but not in the other.

After testing, we found that it was the & character that caused the problem. After replacing that character with “and,” the text displays correctly:

Lyrics1

This is interesting, and I speculate it has something to do with the fact that the & character is used in HTML entities, but that may not be the cause.

This is a bit of a problem for certain bands. If there’s a writing credit after lyrics by Mumford & Sons, for example, those lyrics won’t display correctly. I can imagine plenty of texts – such as the poems of William Blake – which use the & character.

I admit that it’s an edge case, but it’s surprising that a lone character could kill the display of lyrics.

4 thoughts on “One Character Can Break the iOS Music App’s Lyrics Display

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.