Friday, October 26, 2007

PopChar - a delightful character map replacement utility

There are many reasons why one would need to use the Windows CharMap utility from time to time - be it to insert special mathematical characters, Greek letters, to properly write Daisuke Matsuzaka-san's name in Kanji (松坂 大輔), or enter any other Unicode characters into your XML documents - but one use was mostly on my mind this week in Austria: the need to write German Umlaut characters (ä, ö, ü) and the German sharp-s character (ß) when you want to write proper German text. This is, of course, next to impossible when you have non-German keyboard, because none of these characters are available on the standard US keyboard layout.

Unfortunately the Windows CharMap utility isn't really that helpful at all when you want to type those characters, because you have to find it (typically it's hidden away under Start > Programs > Accessories > System Tools) and then you have to copy/paste every character into your word processor or e-mail program one at a time.

PopChar1 I was, therefore, very happy to rediscover an old "friend" this week: PopChar is a character map replacement utility and much more. I say rediscover, because I used to use PopChar all the time some 15+ years ago on the Mac, but they now have a Windows version 3.2 as well, and it is just so much more powerful and useful than CharMap.

After installing PopChar for the first time, you get to adjust some preferences, such as whether you want PopChar to auto-start every time you login, or what hot-key you want to associate with PopChar (I use Ctrl-~ on my laptop). From then on PopChar lives happily among the task bar icons in the lower right corner of your screen. Then, when you want to insert a special character into your word processing document, e-mail, or XML document in your favorite XML editor, all you have to do is hit the hot-key and PopChar pops up with a list of characters that you can insert. Click on the character you want, and PopChar inserts it at you current cursor position in whatever document you've been working on, and disappears again. Fast, convenient, and unobtrusive.

The PopChar display is highly customizable, too, and you can pick either ASCII mode or Unicode depending on what characters you need to work with. The font size of the characters can be adjusted as well as the width and height of the window. You can select what font you want to use, and PopChar can optionally also style those characters in the selected font when you insert them into your document, which is highly useful if you pick some special symbols from a Dingbats or similar font.


But working with Unicode characters in XML documents is where PopChar truly shines, which is why I am writing about this gem of a utility on XML Aficionado. In this screen shot I have entered "ka" as a search term and PopChar immediately displays only those characters that contain "ka" in either the character name or the Unicode Block name. In my example, I was searching for the Devanagari letter ka (क), and PopChar found it quite easily, and also showed me Arabic letter kaf (ك), as well as the Cyrillic letter ka (к). In addition to the search function, you can choose to display all characters grouped by Unicode block, you can immediately jump to a particular block by picking it from a drop-down menu. The available characters in the display do, of course, depend on the kind of font you have selected, and the number of glyphs present in that font, so for intensive Unicode work in various exotic scripts a font such as Arial Unicode MS is highly recommended.

PopChar3 Equally useful is the ability to choose between 3 different insertion modes: regular character, styled character (i.e. including font information), and HTML code. The latter one is really crucial for HTML and XML work, because PopChar can automatically insert the proper character entity, such as € for the Euro currency symbol (€), or the numeric character entity, such as ∯ for the surface integral (∯).

In this screen shot I have selected HTML insertion mode, and you can immediately see the HTML code for any character as I hover over them with the mouse - very useful! I have added some red ovals to indicate where the HTML code is displayed. This insertion mode is actually what I used to write this blog entry and insert the special characters in the preceding paragraph.

Bottom line is: if you need to type special characters frequently, if you work a lot with Unicode, or if you need character entities in HTML and XML, then you should definitely give PopChar a try.

PopChar is available to download as a trial version (with only a subset of all characters available for insertion) and a license key is quite affordable at € 29.99 per user (with multi-user discounts available).

Oh, and for you Mac users out there, they also have a Mac version.

P.S. If your browser or feed reader doesn't display some or all of the above Unicode characters, that simply means that you don't have a font installed on your computer that contains the corresponding glyphs for some of the more exotic scripts.


Helio Perroni Filho said...

Actually, you don't "have to copy/paste every character [from CharMap] into your word processor or e-mail program one at a time". There is a quicker, although arguably still cumbersome, way to type those high-code characters in Windows -- and without having to go back to CharMap either.

Every time you select a character at CharMap, a shortcut composed of Alt + [some number sequence] appears at the bottom of the window. This is actually how you can type that character from the keyboard: hold Alt, type the number sequence in the numeric keyboard, and release Alt. The corrresponding character will appear wherever the cursor is. This works whether CharMap is running or not, although you do have to open it to learn those number sequences.

A.Falk said...

True, the old Alt+numeric input still works - it has worked since the days of DOS.

But it is not somethig that is really useful in the day and age of Unicode, unless you are capable of learning all those Unicode values by heart.

In the "good old" ASCII days you only had to remember 255 codes, but those days are gone...

Also, for any non-geek the Alt+numeric isn't really workable.