src/demo/share/jfc/CodePointIM/README.html
author alanb
Thu, 21 Mar 2019 08:41:10 +0000
branchniosocketimpl-branch
changeset 57275 222fa5ed1c91
parent 47216 71c04702a3d5
permissions -rw-r--r--
Add @systemProperty ref to system property to configure old impl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
<html>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
<head>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
  <title>README - CodePointIM</title>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
</head>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
<body>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
<h1>Code Point Input Method</h1>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
The Code Point Input Method is a simple input method that allows Unicode
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
characters to be entered using their code point or code unit values.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
The input method accepts three different notations, all using hexadecimal
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
digits from the set [0-9a-fA-F]:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
<br>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
<ul>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
  <li>"\uxxxx": The standard Unicode escape notation of the Java programming
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
language. This notation allows input of code points up to U+FFFE; the illegal
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
code point U+FFFF is not allowed.</li>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
  <li>"\Uxxxxxx": An extended Unicode escape notation specific to this input
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
method. This notation allows direct input of any Unicode code Point except the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
illegal code point U+FFFF. The uppercase "U" indicates that six hexadecimal
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
digits follow. "xxxxxx" must be between 000000 and 10FFFF.</li>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
  <li>"\uxxxx\uyyyy": Two consecutive standard Unicode escapes, together
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
representing a code point between U+10000 and U+10FFFF (a supplementary
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
character). "xxxx" must be between D800 and DBFF (that is, a high surrogate
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
value), "yyyy" between DC00 and DFFF (a low surrogate value).</li>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
</ul>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
In general, the input method passes characters through unchanged. However,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
when the user types a "\", the input method enters composition mode. In
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
composition mode, the user types the desired code point using one of the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
notations above, then types a space character to convert to the corresponding
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
Unicode character and commit. The input method then returns to pass-through
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
mode until another "\" character is entered.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
While in composition mode, the user can use the left arrow, right arrow,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
backspace, and delete keys to edit the sequence. The "\u" or "\U" characters
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
can only be deleted if they are not followed by hexadecimal digits in the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
composition sequence. Deleting the initial "\u" or "\U" returns the input
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
method to pass-through mode.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
Since the initial "\" character starts composition mode, a user must type two
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
"\" characters in order to add a single "\" to the text. When an initial "\"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
has been entered, but the next character is not "u", "U", or "\", both the "\"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
and the subsequent character are committed, and the input method returns to
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
pass-through mode. Also, typing a new line, or tab character at any time
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
during composition immediately commits the current composed text.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
Input methods are extensions to the Java Runtime Environment; they cannot be
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
run as applications. Before you can use an input method, you have to install
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
it in the JRE, run an application that supports input methods (such as the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
JFC demos Notepad and Stylepad), and select the input method. You can learn
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
more about these steps from the article
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
"<a href="http://javadesktop.org/articles/InputMethod/index.html">Using Input Methods on the Java Platform</a>"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
and more about supplementary character support from the article
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
"<a href="http://java.sun.com/developer/technicalArticles/Intl/Supplementary/index.html">Supplementary Characters in the Java Platform</a>".
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
This input method requires JRE 5.0 or higher.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
<br>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
</body>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
</html>