Linked by Thom Holwerda on Wed 17th Jun 2015 13:51 UTC
Windows Windows is an old and complex operating system. It's been around for a very long time, and while it's been continuously updated and altered, and parts are removed or replaced all the time, the operating system still houses quite a few tools, utilities, and assets that haven't been updated or replaced in a long, long time. Most of these are hidden in deep nooks and crannies, and you rarely encounter them, unless you start hunting for them.

Most. But not all.

There's one utility that I need to use quite often that, seemingly, hasn't been updated - at least, not considerably - since at least Windows 95, or possibly even Windows 3.x. Using this utility is an exercise in pure frustration, riddled as it is with terrible user interface design and behaviour that never should have shipped as part of any serious software product.

This is the story of the dreaded Character Map. I'll first explain just how bad it really is, after which I'll dive into the little application's history, to try and find out why, exactly, it is as bad as it is. It turns out that the Character Map - or charmap.exe - seems to exist in a sort-of Windows build limbo, and has been stuck there since the days Microsoft scrapped Longhorn, and started over.

Thread beginning with comment 612797
To view parent comment, click here.
To read all comments associated with this story, please click here.
Doc Pain
Member since:
2006-10-08

Allow me a short addition:

Linux seems to have the best method for entering special characters, at least in my opinion.


Nothing specific to Linux here. This is a feature being present in many UNIX operating systems, such as BSD or Solaris - basically everywhere where X is available. Even better: Sun keyboards have a dedicated key named "Compose" which allows you to inout a key sequence (instead of a key combination) to combine two characters to one.

A few example:

Compose / L generates polish Ł
Compose s s generates german ß
Compose a a generates swedish å
Compose a , generates polish ą
Compose c C generates czech Č
Compose c , generates turkish ç
Compose / o generates danish ø

So basically all characters which have an equivelant in the character table and the font in use can be constructed, and it will be visible immediately. It works independently from the selected keyboard language and layout.

If you set this command to run on startup: "setxkbmap -option compose:ralt", it allows you to enter special characters by holding down the right alt key and typing a two-character combination.


On a german keyboard, you already have the right Alt key ("Alt Gr") as a modifier level similar to Shift. While this is already set when you select the German key map, using Compose requires a little addition, for example in ~/.xmodmaprc you put

keycode 117 = Multi_key

where 117 is the code of the "Compose" key on the Sun USB Type 7 keyboard (german language variant). If you wish to use another key, use the xev (X event viewer) program to find its code and then assign it to that key.

Characters with accents (and few others), like ó ò ñ â, usually don't require any addition.

No need to open a character map!


A character map might still be useful when you do not know how to input one character (or a few ones) you hardly use, "for the overview". In daily work where you need to input those characters regularly, a character map application is probably simply overkill (text production flow interruption, distraction, "mental break" / paradigm break)...

Reply Parent Score: 2