2009-10-03

Window's way to input unicode vs Emacs

Hi David & Fra,

on issue 34:
http://code.google.com/p/ergoemacs/issues/detail?id=34

it is about adopting Windows's UI for entering unicode by the unicode's code point using decimal or hex.
e.g. Hold down Alt then press 0 2 0 0 on the num pad, to insert È.

I don't think this is a good idea. Here's the reasons and some thoughts.

Emacs has a complete system to input unicode chars, and a much superior one.

• by name, with wildcard support. Call ucs-insert. It supports name completion with wildcard.
• by unicode's code point with hexadecimal. Call ucs-insert, then type a hex.

I'm not sure there's a way out of the box to input by decimal. But if needed, it can be implemented in 5 min.

These are emacs standard way to input unicode, and a much superior one than the Windows way with Alt and keypad.

The inputting unicode with code point is not much used by vast majority of emacs users or programers (say, probably 1% of all professional programer would use it). Because, it requires the user to be familiar with unicode code points, and have somehow memorized the number for the char, or on special situations where he is working with unicode and have reference to insert the char he needed (such as in i18n programing or web dev).

So, inputting unicode by code point is only used for special occasions. If user needs to input unicode by code point, emacs ucs-insert provides a superior way with familiar interface. Emacs also provides many more convenient ways for entering unicode or frequently used non-latin-alphabet based langs. (e.g. set input system to one of the iso ones or ucs, or with shortcut C-x 8 ‹ascii art char›)

Introducing Windows's Alt+ num keypad way also is a major incompatibility of the way keyboard shortcuts are used. The Windows way is not a key combination nor a key sequence. It somewhat is a sticky key system, yet requires the Alt be down at all subsequent keys...

if we were to improve, i think a much more needed regarding to inputing unicode is a app is a visual character palette... On Windows, it has charmap but it quite sucks compared to Mac...

• the Windows way is not used on Mac. (am not sure about linuxes)

• the Windows way is dependent on code page...

some references:

• http://en.wikipedia.org/wiki/Windows_Alt_keycodes

• http://en.wikipedia.org/wiki/Charmap

• http://en.wikipedia.org/wiki/Windows_Alt_keycodes (there are some problems discussed there too)

• OS X's Character Palette (a much better analog to Windows's charmap) http://images.google.com/images?hl=en&source=hp&q=mac%20character%20palette&um=1&ie=UTF-8&sa=N&tab=wi

• OS X's keyboard viewer. http://images.google.com/images?hl=en&um=1&sa=1&q=mac+keyboard+viewer&aq=f&oq=&aqi=&start=0

• Emacs and Unicode Tips (discusses many of the ways to input unicode in emacs)
http://xahlee.org/emacs/emacs_n_unicode.html

• How To Create Your Own Keybinding In Mac OS X
http://xahlee.org/emacs/osx_keybinding.html
(shows screenshot of the Keyboard Viewer, and how to create your own unicode input layout on the Mac with its Keyboard Viewer)

Xah

No comments:

Post a Comment