Unicode input is the insertion of a specific Unicode character on a computer
by a user; it is a common way to input characters which are not directly
supported by a physical keyboard. Unicode characters can be inserted in
three ways: from the screen by means of an applet from which one can select the
character, by pasting from the operating system's clipboard, or by typing a
certain sequence of keys on a physical keyboard. Unicode is similar to ASCII,
but provides many more options and can store more signs.
A Unicode input system needs to provide a large repertoire of characters,
ideally all valid Unicode code points. This is different from a keyboard layout
which defines keys and their combinations only for a limited number
of characters appropriate for a certain locale.
Unicode numbers Unicode characters are distinguished by
code points, which are conventionally represented by the letter U followed by
four or five hexadecimal digits, for example U+00AE or U+1D310. Characters in
the Basic Multilingual Plane, containing modern scripts – including many Chinese
and Japanese characters – and many symbols, have a 4-digit code. Historic
scripts, but also many modern symbols and pictographs have 5-digit codes.
= Decimal input = In some applications on Microsoft
Windows, particularly those using the RichEdit control, decimal Unicode code
points are supported with Alt codes. = Unicode in HTML =
HTML uses a different syntax for code points. Character codes may be specified
after ampersand and the number sign, and are followed by the semicolon. The
number can be either in decimal or in hexadecimal. Preceding zeros may be
omitted. If the input is in hexadecimal, the number is preceded by an "x". Some
characters can also be used by "entity name".
Example: The HTML code of the copyright sign U+00A9 can be:©©©
Availability The ability to input a Unicode character
does not guarantee that it can be displayed; it can only be displayed when
the application supports Unicode text and can access a font which contains a
glyph for the character. Very few fonts have full Unicode coverage; most only
contain the glyphs needed to support a few writing systems and natural
languages, at most. Applications generally only access one
font at a time for a given span of text, so when the current font does not
support a particular character, the character will usually be shown as an
empty box, a question mark or other generic replacement character, e.g. "�".
This behavior was common in older web browsers and editors, but most modern
browsers and other text-processing applications are able to display
multilingual content because they perform font substitution, automatically
switching to a fallback font when necessary to display characters which
aren't supported in the current font. Which fonts are used for fallback and
the thoroughness of Unicode coverage varies by software and operating system;
some software will search for a suitable glyph in all of the installed fonts,
others only search within certain fonts. Selection from a screen
Many systems provide a way to select Unicode characters visually. ISO 14755
refers to this as a screen-selection entry method.
Microsoft Windows has provided a Unicode version of the Character Map program
since version NT 4.0 – appearing in the consumer edition since XP. This is
limited to characters in the Basic Multilingual Plane. Characters are
searchable by Unicode character name, and the table can be limited to a
particular code block. More advanced third-party tools of the same type are
also available. Mac OS X provides a "character palette"
with much the same functionality, along with searching by related characters,
glyph tables in a font, etc. It can be enabled in the input menu in the menu
bar under System Preferences → International → Input Menu or can be
viewed under Edit → Special Characters... while Finder is in the
foreground. Equivalent tools – such as gucharmap or
kcharselect – exist on most Linux desktop environments.
Hexadecimal code input Clause 5.1 of ISO 14755 describes a
Basic method whereby a beginning sequence is followed by the hex number
representation of the code point and the ending sequence. On some systems, this
is limited to the BMP. = In Microsoft Windows =
A prerequisite for this input method is that the registry key
HKEY_CURRENT_USER\Control Panel\Input Method contains a string type value
called EnableHexNumpad, which has the value data 1. Users need to log off/in
on Windows 8.1/8.0, Windows 7, and Vista or reboot on earlier systems after
editing the registry for this input method to start working. Unicode
characters can be entered by holding down Alt, pressing the + on the numeric
keypad, followed by the hex code - using the numeric keypad for digits from 0 to
9 and letter keys for A to F digits - and then releasing Alt.
The RichEdit control on Microsoft Windows supports the following input
method: one first enters the character’s hexadecimal code, then immediately
presses Alt+x. For example, entering f1 and then pressing the combination will
produce the character ñ. Unless it is six hexadecimal digits long, the code
must not be preceded by any digit or letters a–f as they will be treated as
part of the code to be converted. For example, entering af1 followed by Alt+x
will produce ૱, but entering a0000f1 followed by Alt+x will produce a ñ. This
also works in Microsoft Word 2002/2003 for Windows.
= In Mac OS = In Mac OS X the "Special Characters…"
menu can be found in the Edit menu in many programs. This brings up the
Characters palette allowing the user to choose any character from a variety of
views. The user can then also search for the character or Unicode plane by name.
In Mac OS 8.5 and later: one chooses the Unicode Hex Input keyboard layout; in OS
X Yosemite, this can be added in Keyboard->Input Sources. Holding down
the ⌥ Option, one then types the four-digit hex Unicode code point and
the equivalent character appears. One can then release the ⌥ Option key.
Characters outside of the BMP exceed the four-digit limit of the Unicode hex
input mechanism but can be entered using the search entry box in the Character
Viewer or by using surrogate pairs. To use surrogate pairs, hold down the ⌥
Option key, the first surrogate, the + key, the second surrogate and then
release the Option key. = In X11 =
The possibility of hexadecimal code input on operating systems using the X
Window System depends on the system and applications. Hex input is not
implemented in the common X.Org Server. Individual input methods and GUI
toolkits can provide hex input independent of the X server.
For example, GTK+ is an ISO 14755-conformant system. The beginning
sequence is Ctrl+⇧ Shift+U and the ending sequence is ↵ Enter or Space.
Programs based on GTK+, such as GNOME applications, support Unicode input.
There are two common methods for direct input of Unicode characters:
Hold Ctrl+⇧ Shift and type u followed by the hex digits. Then release Ctrl+⇧
Shift. Enter Ctrl+⇧ Shift+u, release, then type
the hex digits, and press ↵ Enter. In OpenOffice.org and Inkscape, for
example, only the second method works. In non-GTK applications, however, there
usually is no escape sequence to input arbitrary input characters. For example,
Qt, KDE rely on the standard X Input Method framework, and do not implement
their own solutions. In xterm, these input methods are not be supported, but
using escape sequences is an alternative.
However, regardless of the toolkit used, the Compose key subsystem can be used to
configure certain key stroke combinations to input a subset of
unicode. = In platform independent applications =
In Emacs, Ctrl+x8↵ Enter or Meta+xinsert-char.
In Opera versions, that use the Presto layout engine - i.e. up to and including
version 12.xx -, enter the hexadecimal number of the desired symbol or
character and then press Ctrl+⇧ Shift+x. In the Vim editor, in insert mode, the
user first types Ctrl+V u, then types in the hexadecimal number of the symbol or
character desired, and it will be converted into the symbol.
The capability of Vim to create custom mnemonics, as described below, which
could be employed on an ad-hoc basis, requires the decimal code point.
Character mnemonics RFC 1345 defines a large number of
suggested mnemonics for code points in Unicode 1.0. Although the document does
not restrict the length of a mnemonic, most of the mnemonics are two characters
long, and most of the remaining are three-characters. While never complete,
and targeting obsolescent set definitions, the mnemonics themselves
can still be used. Vim allows mnemonics entry in insert
mode with Ctrl+K followed by a two-keystroke RFC 1345 mnemonic; or, in
addition, if the digraph option is set, by entering the first character followed
by a backspace followed by the second character. Custom mnemonics can also be
defined for arbitrary code points. GNU Emacs allows mnemonics entry by
switching to rfc1345 input mode. GNU Screen allows mnemonics entry with
Ctrl+A Ctrl+V. Zsh allows mnemonics entry using the
insert-composed-char widget. RFC 1345 predates the introduction of
the Euro sign, but the above applications included it as the mnemonic
"Eu". See also
ASCII Compose key
Predictive text External links
Unicode Code Converter Interactive Unicode Converter
ЮNICODE Keyboard Enhancer – type Unicode characters in any
Unicode-compatible application How to enter Unicode characters in
Microsoft Windows The Unicode Consortium
References