The X-System for Esperanto

  FR, EO
 4 min. to read
 No comment yet

When you start Esperanto, the first thing you learn about is the alphabet. Some latin letters are not used. Others are used with diacritics in combination that are not seen in other languages. Typing those characters may be complicated on a usual computer system. Here’s a workaround.

Esperanto’s Uncommon Letters #

So, here are the letters from Esperanto that you won’t find in other languages: ĉ, ĝ, ĥ, ĵ, ŝ and ŭ (and their uppercase equivalent).

Now, unless you already configured your system to be able to type Esperanto, you’d expect that typing ^, then g would print ^g , not ĝ, and that doesn’t even start to explain how to type ŭ. There are ways to do that on your system, but I won’t address those in this post.

Today, I’d rather tell you of a way to write Esperanto when you can’t do that configuration.

Using Digraphs #

A Digression #

In the few weeks I spent in Germany, I still had some administrative steps to take, with computerized forms later printed to paper. Something caught my eye once. The clerk was working with Cobol-like computer screen, the kind I saw numerous times in pharmacies and other small shops in France, but that’s not what I noticed. What I saw was that, each time she should have typed a character with an Umlaut (a diaeresis), she typed the non-accented letter followed with an e instead.

Of course, it’s not rocket science: accented letters are not part of the ASCII characters1. If you need to have the Umlaut2 in a system that doesn’t support it, you must have a workaround. Using digraphs was the common solution in Germany. It was also adopted to replace the Esszett (ß), usually with ss or occasionnally sz.

First Attempt in Esperanto #

Zamenhof suggested something similar for Esperanto:

  • For ŭ, use u.
  • For circumflex accent, use an h after the letter (ex. ŝsh).

This was dubbed the H-system.

There were things to keep in mind about this suggestion, though. The first one is that some attention had to be paid to the writing of composed words. For instance, an airport is called a flughaveno, the contraction of flugo (flight) and haveno (harbour), but you need to know it’s not fluĝaveno written in H-system, so rules were made to add an hyphen or an apostrophe in case the h was in a correct place (thus turning our example to flug’haveno).

The other issue was with sorting. Typically, all words beginning with ĉ should be after words beginning with c (ci would be before ĉu). With H-system though, a basic sorting would be messed up, and ci is after ĉu/chu.

The X-System #

The system I discovered when I started learning on Ikurso is quite similar to the H-system:

  • For ŭ, use ux.
  • For circumflex accent, use an x after the letter (ex. ŝsx).

Quite unsurprisingly, it’s called the X-system. It (nearly) solves the problems from the H-system:

  • x is not a letter in the Esperanto alphabet, so you can kiss those ambiguities goodbye.
  • Sorting is mainly correct (ĉu/cxu is indeed after ci). Some error remain in the case of a z in a bad place, but such occurrences are quite rare.

This system is not perfect and doesn’t solve all issues, but it’s a convenient way to write in Esperanto when you can’t use the Esperanto diacritics. In most cases, you can even automate the replacement of those digraphs with the correct, accented letter.

In VSCodium #

Want to use the X-System in your favourite VS Code-compatible editor? There’s an extension for that! Klavaro (“keyboard” in Esperanto) allows you to replace X-digraphs on the fly. You can turn it off with a click when you aren’t typing Esperanto.

And since the developer also deployed it on Open VSX, [you can easily add it to VSCodium or Theia.][openvsx] Hope you enjoy it!

  1. Well, they are part of the extended ASCII code, but I’m digressing enough as it is. ↩︎

  2. The Umlaut is important in German, as it changes both the pronunciation and the meaning of a word. For instance, schon means “already” while schön means “beautiful.” Some embarrassing situations might also arise from confusing schwül (humid) with schwul (homosexual). ↩︎