Method and apparatus for encoding and decoding Chinese characters

An apparatus and method for encoding and decoding Chinese characters comprises converting the strokes of a Chinese character in a sequence conforming at least initially with the Chinese handwriting rules to a sequence of predefined basic stroke elements of three types and determining the initial order of occurrence and the total number of occurrence of each type of basic stroke element in the character. A multiple element character stroke code indicative of the initial order of occurrence and the total number of occurrence of each of the basic stroke element types in the character is then derived, and each character of a stored character set which corresponds to the character stroke code is displayed, along with a respective additional code element associated with each character being displayed if the character stroke code corresponds to more than one character in the character set. In the event that more than one character corresponding to the character stroke code are being displayed, the additional code element associated with the displayed character that is the same as the character being entered is appended to the character stroke code to obtain an extended character code which uniquely corresponds to the character being entered. The method and apparatus of this invention advantageously allow the user to encode and decode Chinese characters efficiently and rapidly without having to rigorously follow the Chinese handwriting rules to completion.

BACKGROUND OF THE INVENTION 
This invention relates to an apparatus and a method for encoding and 
decoding Chinese characters. More particularly, this invention relates to 
an apparatus and a method for encoding and decoding Chinese characters 
wherein a Chinese character is analyzed to determine the initial order of 
occurrence and the number of occurrence of each of three (3) predefined 
basic stroke elements into which the strokes of the character are 
converted in a sequence according to the Chinese handwriting rules, and a 
multiple element code indicating such initial order and number of 
occurrences of each of the basic strokes is derived for the character. In 
most instances, the code derived in the foregoing manner will correspond 
to more than one character. In such instances, an additional code element 
is added to the code to obtain an extended code which uniquely defines the 
character. When used in conjunction with an appropriately programmed 
computer system, the apparatus and the method of this invention enables 
rapid and efficient encoding and decoding of Chinese characters, thereby 
enabling the user to enter, store, display, process, retrieve, print or 
otherwise output Chinese characters in a variety of applications, such as 
word processing, electronic dictionary or character verification, 
printing, electronic publishing and the like. 
The Modern Chinese Dictionary 26th Edition), as published by the Commercial 
Publishing Company, Hong Kong, contains more than 7000 words, each defined 
by one or more characters. Obviously, a language having such a large 
number of characters poses difficulties in terms of written 
communications, especially for those who have not acquired a high level of 
proficiency in the written Chinese language. 
In addition, a single Chinese character may contain from one to over thirty 
strokes. The order or sequence in which the strokes of a character are 
written or drawn by hand is dictated by the Chinese handwriting rules 
which are well known to those skilled in the written Chinese language. 
Furthermore, to achieve a uniform appearance in printed or written 
characters, the vertical and lateral dimensions of each character should 
be approximately the same regardless of the number of strokes in the 
character. For example, the Chinese character for the word for "sun" ( ) 
has four strokes, and the Chinese character for the word for "chicken" 
has 20 strokes. However, these two words when printed or written must 
ordinarily have the same vertical and lateral dimensions. Therefore, the 
strokes for the character 
must necessarily be smaller than those for the character ( ) when those 
characters appear in the same body of text. In other words, different 
Chinese characters in the same body of text may require different stroke 
sizes. This requirement presents a further problem in the creation of a 
system for encoding and decoding Chinese characters. 
Various systems for encoding and decoding Chinese characters have 
previously been suggested. For example, U.S. Pat. No. 4,559,615 to Goo et 
al. discloses a method and an apparatus for encoding, storing and 
accessing Chinese characters, in which the Chinese characters are analyzed 
in part according to the so-called "Four Corner Coding Method" to obtain a 
7-digit code number corresponding to each character. However, the Four 
Corner Coding Method is complex, and therefore the method disclosed in Goo 
et al. is difficult to apply if the character being analyzed does not 
contain a clear-cut radical or if the corner strokes of the character are 
not well defined. It would therefore be desirable to have a technique for 
encoding and decoding Chinese characters which does not have the 
complexity and problems associated with the Four Corner Coding Method. 
Accordingly, it is one object of this invention to provide for encoding and 
decoding of Chinese characters without using the Four Corner Coding 
Method. It is a feature of this invention that the strokes of a Chinese 
character are converted into basic stroke element of three (3) predefined 
types, the conversion taking place in a sequence determined at least in 
part by the Chinese handwriting rules The characters may be represented by 
a multiple element code indicative of the initial order of occurrence of 
each of the different types of basic strokes and the total number of 
occurrence of each type of basic stroke in the character being encoded. In 
some instances, an additional code element is added to such code to obtain 
an extended code which uniquely corresponds to the character being 
encoded. 
U.S. Pat. No. 4,718,103 to Shojima et al., U.S. Pat. No. 4,718,102 to Crane 
et al. and U.S. Pat. No. 4,284,975 to Odaka are each directed to the use 
of pattern recognition techniques to encode and decode Chinese characters. 
However, to employ the techniques of Shojima et al., Crane et al., or 
Odaka, the user is required to enter graphical patterns of the characters 
or their stroke components, which are then matched against pre-stored 
templates or reference patterns for a set of characters or stroke 
components. Furthermore, entry of graphical patterns, typically through a 
stroke registration device, is often difficult to accomplish, since the 
level of skill in writing Chinese characters and the writing stroke style 
may vary from user to user. 
Similarly, U.S. Pat. No. 4,829,583 to Monroe et al. and U.S. Pat. No. 
4,755,955 to Kimura et al. disclose the encoding and decoding of 
ideographic characters using coordinate values related to the strokes of 
the characters being encoded or decoded. However, the techniques disclosed 
are difficult to use and highly dependent upon the user's skill in 
determining the coordinates of the strokes of Chinese characters as 
normally written, since the stroke coordinates which are entered for a 
character must closely match the stroke coordinates of stored reference 
characters. It would therefore be desirable to have a technique for 
encoding and decoding Chinese characters which does not require the user 
to have a high level of skill in the written Chinese language and which 
avoids the matching of the stroke patterns or stroke coordinates of an 
encoded character with stored stroke patterns or stroke coordinates of 
reference characters. 
Accordingly, it is another object of this invention to provide an apparatus 
and a method for encoding and decoding Chinese characters which do not 
require the user to possess a high level of skill in the written Chinese 
language and which is not based on the matching of stroke patterns or 
stroke coordinates of a character being encoded with those of reference 
characters. 
U.S. Pat. No. 4,462,703 to Lee and U.S. Pat. No. 4,379,288 to Leung et al. 
are both directed to techniques for using a conventional keyboard to 
represent the component strokes and roots of Chinese characters. These 
techniques require a user to strictly follow the stroke sequences of 
characters dictated by the Chinese handwriting rules in encoding the 
characters. Similarly, U.S. Pat. No. 4,689,743 to Chiu discloses a 
technique for encoding and validating an ideographic character, such as a 
Chinese character. To encode a character, Chiu requires that each 
component stroke of the character be entered into the Chiu apparatus in 
the correct sequence according to established handwriting rules for such 
characters. However, this is difficult to accomplish for a user who does 
not possess a high level of proficiency in the writing of ideographic 
characters. It would therefore be desirable to provide a technique for 
encoding and decoding ideographic characters, such as Chinese characters, 
which does not require the user to know the proper sequence of every 
stroke of a character being encoded. 
It is another object of this invention to provide an apparatus and method 
for encoding and decoding Chinese characters in which the stroke sequence 
of the Chinese handwriting rules need not be rigorously followed except 
for the first few strokes of the character being encoded or entered. It is 
a feature of this invention that the conversion of the strokes of a 
character being encoded to predefined basic stroke elements of three types 
need follow the sequence dictated by the Chinese handwriting rules only 
until two different types of basic stroke elements have been encoded. 
Thereafter, any remaining strokes of the character may be converted to the 
basic stroke elements in any arbitrary sequence. In this manner, rapid 
entry and retrieval of Chinese characters to and from a database system 
may be achieved by a user having a relatively low level of skill in the 
written Chinese language. 
U.S. Pat. No. 4,669,901 to Feng and U.S. Pat. No. 4,684,926 to Yong-Min 
also disclose using keyboard means for encoding or entering Chinese 
characters. The Yong-Min technique uses five basic strokes and selects 
roots according to their frequency of occurrence distribution. The Feng 
system includes a keyboard having keys representing selected strokes, and 
combinations of strokes, radicals and other character components. However, 
neither Feng nor Yong-Min discloses a technique for encoding or decoding 
Chinese characters in which the characters are first wholly or partially 
converted into a sequence of predefined basic stroke elements types, and 
the encoding or entering of characters based on such conversion. 
It is another object of this invention to provide an apparatus and method 
for encoding and decoding Chinese characters which do not require 
determining stroke frequency or stroke combinations of a character for 
purposes of encoding and decoding the characters. This invention 
advantageously enables encoding and decoding by means of determining the 
initial order of occurrence and number of occurrences of only three basic 
stroke element types for each character whose strokes are being converted 
into basic stroke elements of the three types. 
It is yet another object of this invention to provide a method and 
apparatus for encoding and decoding Chinese characters which enable rapid 
and efficient entry, storage and retrieval of characters from a database 
system. 
Other objects, features and advantages of this invention will be apparent 
from the following detailed description of exemplary embodiments, together 
with the accompanying Figures. 
SUMMARY OF THE INVENTION 
In accordance with the invention, the strokes of a Chinese character are 
each converted into a horizontal basic stroke element--, a vertical basic 
stroke element .vertline., a non-horizontal and non-vertical basic stroke 
element which is referred to as a slant basic stroke element /, or a 
sequence of such basic stroke elements. Such conversion occurs in a 
sequence conforming at least in part with well established Chinese 
handwriting rules. A character stroke code indicative of the initial order 
of occurrence and the number of occurrence of each type of basic stroke 
element in the character is derived, such code having multiple code 
elements. Each character corresponding to the character stroke code is 
then retrieved from a pre-stored character set and caused to be displayed. 
Where more than one character corresponding to the character stroke code 
are being displayed, a respective additional code element associated with 
each displayed character is also displayed. If this occurs, the user 
selects from the displayed characters the character which is being encoded 
or entered and appends the additional code element associated with the 
selected character to the character stroke code to obtain an extended code 
which uniquely defines the character being encoded or entered. 
An exemplary embodiment of the invention comprises an appropriately 
programmed computer having a mass storage device, a keyboard, an optional 
writing pad, a CRT or equivalent display device, and a graphics printer or 
equivalent hard-copy output device. The computer is programmed to permit, 
among other functions, the encoding or entry of Chinese characters through 
the keyboard or writing pad, as well as storing, displaying, processing, 
and decoding or retrieving of the characters or codes entered into or 
stored in the computer. The keyboard is used to enter data pertaining to 
the initial order or sequence of occurrence and the total number of 
occurrence of each type of basic stroke element, to enter the additional 
code element corresponding to a character being displayed, and for 
controlling the computer and its program. The writing pad may be used for 
direct entry of the strokes of a character by drawing the actual strokes 
of the character on the surface of the writing pad at least initially in 
the sequence dictated by the Chinese handwriting rules. The program 
responds to the strokes of the character being drawn on the writing pad 
surface by converting each stroke into a respective basic stroke element 
or a respective sequence of basic stroke elements to derive a character 
stroke code indicative of the initial order of occurrence and the total 
number of occurrences of each type of basic stroke in the character. Each 
character corresponding to the character stroke code is then retrieved 
from the character set stored in the computer memory and displayed on the 
CRT screen along with the additional code element associated with 
displayed character if the character stroke code corresponds to more than 
one character in the stored character set. If more than one character is 
being displayed, the user selects from the displayed characters the 
character being encoded and enters with the keyboard the additional code 
element associated with the selected character. The encoded characters 
entered into the computer may be stored and later retrieved and decoded 
for display, processing or printing by the printer. 
The apparatus and method of this invention enable rapid and efficient 
encoding and decoding of Chinese characters by a user having only a 
relatively low level of proficiency in the written Chinese language. In 
accordance with the invention, the user, in order to encode or decode a 
character, need only know the order of first occurrence of two different 
types of the three basic stroke element types, when the strokes of the 
character are converted to the basic stroke elements in the sequence 
dictated by the Chinese handwriting rules, and the remaining strokes of 
the character may be encoded in any order without regard to such 
handwriting rules.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
The apparatus and method of this invention will become apparent from the 
following detailed description. 
The term "stroke" as used in the specification and claims (except when used 
in the expression "compound stroke") refers to a component of a Chinese 
character which can be completely drawn or written without lifting the 
writing instrument from the surface on which the character is being 
written. For example, as shown in FIG. 1, the Chinese character for the 
word "ordinary" () has 3 strokes, and the Chinese character for the word 
"bird" 
has 10 strokes. 
The Chinese handwriting rules referred to in the specification and claims 
are the well-established handwriting rules taught in Chinese elementary or 
grade schools. These handwriting rules are referred to and generally 
described in U.S. Pat. No. 4,505,602 to Wong, which is incorporated herein 
by reference. In brief summary, and without intending to convey any 
limitations or restrictions, it may be stated that in applying the Chinese 
handwriting rules, one generally starts from the left to right or top to 
bottom of a character. If the character has the same form of strokes on 
both its left and right sides, the center stroke is drawn first. However, 
some exceptions to these general rules, as are known to those skilled in 
the written Chinese language, do exist. 
In this invention, the strokes of a Chinese character are converted to the 
basic stroke elements, at least initially in the stroke sequence according 
to the Chinese handwriting rules, and the order in which different types 
of basic stroke elements first occur and the total number of occurrence of 
each type of basic stroke element in the character are determined. As used 
in the specification and claims, the term "basic stroke elements" refers 
to the following three stroke elements: a horizontal stroke element--, a 
vertical stroke element .vertline., and a stroke element which is neither 
a horizontal nor a vertical stroke element, the Latter basic stroke 
element will hereinafter be referred to in the specification and claims as 
a slant stroke element /. Each stroke in a character must first be 
converted to one or more of the three basic stroke elements or a sequence 
of such basic strokes as will be further explained below. Analysis of a 
character to determine the number, type and sequence of basic stroke 
elements is done without regard to the complexity of the character. Thus 
the number of basic stroke elements contained in a given character is not 
a limitation upon the utility of this invention. 
In accordance with this invention, if a particular stroke, or a portion 
thereof in a character is not generally in the form of a substantially 
horizontal line or a substantially vertical line, it is deemed to be a 
basic slant stroke element /. Thus, as shown in FIG. 9, various 
non-horizontal or non-vertical strokes, or stroke portions, such as a 
back-slant , a short slant , a short back-slant and a curved stroke 
are considered basic slant stroke elements /. Each stroke of a character 
which corresponds to a single one of the three types of basic stroke 
elements is referred to as a "simple stroke". 
Many Chinese characters include strokes which dot not correspond to single 
basic stroke element. Such strokes, which are referred to as "complex" 
strokes, are converted in accordance with the invention into a 
corresponding sequence of basic stroke elements in the manner shown in 
FIG. 10 before encoding or decoding of a character having one or more 
complex strokes is carried out. In addition, many Chinese characters 
include what are referred to as "compound strokes", which are groups of 
more than one stroke forming part of a character but which are not 
complete characters or roots. In accordance with the invention, compound 
strokes are decomposed into a corresponding sequence of basic stroke 
elements in the manner shown in FIG. 11 before encoding or decoding of a 
character having one or more compound strokes is carried out. As used in 
this description and in the appended claims, all references to conversion 
of non-horizontal and non-vertical simple stroke portions to basic slant 
stroke elements, the conversion of complex strokes to sequences of basic 
stroke elements, and the conversion of compound strokes to sequences of 
basic stroke elements shall mean conversion as depicted in the examples of 
FIGS. 9, 8 and 10, respectively. 
Determination of the initial order or sequence in which the different types 
of basic stroke elements (i.e., --, .vertline. and /) of a character occur 
is accomplished by converting the stroke portions of the character, at 
least initially, in the sequence dictated by the Chinese handwriting 
rules. Thus, in accordance with the invention, a Chinese character may 
have one of six possible initial orders of occurrence of the three types 
of basic stroke elements, i.e., --.vertline./, /--, --/.vertline., 
/.vertline.-, .vertline.--/ or .vertline./--. For example, the stroke 
forming the character for the word "sun" () in the sequence conforming to 
the Chinese handwriting rules are . After these strokes are converted to 
basic stroke elements in the above-described manner, one obtains the basic 
stroke element sequence "--41 --13 , and the initial order of occurrence 
of different basic stroke element types for the character is "--/. It is 
noted that the basic slant stroke element / is part of the initial order 
of occurrence of basic stroke element types for the character even though 
no strokes which are convertible to a basic slant stroke element or a 
sequence having a basic slant stroke element is present in the character. 
For the character for the word "earth" (), the strokes in the sequence 
conforming to the Chinese handwriting rules are . When these strokes are 
converted to basic stroke elements, one obtains the basic stroke element 
sequence --"--, and the initial order of occurrence of basic stroke 
element types of --"/. Once again the basic slant stroke / not present in 
the basic stroke element sequence for the character appears in the initial 
order of occurrence of basic stroke element types for code format reasons 
as will be further explained below. 
The two characters for "sun" and "earth" are simple characters in that each 
has a meaning by itself. However, each of these simple characters may also 
be part of another more complex character. A majority of Chinese 
characters are formed by combining two or more simple characters. Simple 
characters used as part of another character are generally referred to as 
"roots". If a root is located at the beginning of a character, it is 
sometimes called a "SIDE" symbol (the term "SIDE" referring not to 
location but rather denoting that the symbol is the first-written part of 
the character according to the Chinese handwriting rules). For simplicity, 
as used in the specification and claims, a root which is the first written 
part of a character, i.e., the SIDE symbol, is referred to as the "ROOT". 
If a simple character component of a Chinese character is not the 
first-written part of the character, it is referred to in the 
specification and claims simply as a "root". 
The encoding and decoding techniques according to this invention use three 
predefined basic stroke elements, as well as ROOTS and roots and the 
Chinese handwriting rules. An example of the encoding of a character 
according to the invention is the encoding of the character for "ground" ( 
). This character combines the ROOT "earth" () and the root "also" () in 
the manner shown. The Chinese handwriting rules dictate that the strokes 
of the ROOT "earth" are drawn in the sequence . The strokes of the root 
"also" are drawn according to the Chinese handwriting rules in the 
sequence . When these stroke sequences are converted to basic stroke 
element sequences, the basic stroke element sequence for the character ( 
) after taking into account the fact that the ROOT "earth" is drawn first, 
is --"----"/""--/. Therefore, the initial order of occurrence of the 
different basic stroke element types for the character is --"/. Here the 
basic slant stroke element/ is actually present in the basic stroke 
element sequence for the character and is not included as the last to 
occur basic stroke element type in the initial order of occurrence of 
basic stroke element types by default. 
In another example, a more complex character for "intelligent" 
is made up of the ROOT "arrow" (), and the roots "mouth" () and "sun" (). 
According to the Chinese handwriting rules, the ROOT "arrow" has the 
stroke sequence ; the root "mouth", which is drawn next, has the basic 
stroke sequence and the root "sun", which is drawn last, has the stroke 
sequence . Thus, the stroke sequence for the character for "intelligent" 
according to the Chinese handwriting rules is as follows: 
When the strokes for the character for "intelligent" are converted to the 
basic stroke elements, the following basic stroke element sequence is 
obtained: /--//.vertline.--.vertline.--.vertline.--.vertline.------, and 
the initial order of occurrence of the different types of basic stroke 
elements for the character for "intelligent" is /--.vertline.. It is noted 
from the foregoing examples that only the order of occurrence of the first 
two different types of basic stroke elements of a character need to be 
determined in order to obtain the initial order of occurrence of all three 
types of basic stroke elements in the character. 
The total number of occurrences of each different basic stroke element is 
also used to derive the character stroke code associated with the 
character being encoded or decoded. Thus, in the foregoing example, the 
character for "intelligent" consists of three slant stroke elements /, 
seven horizontal stroke elements--and four vertical strokes .vertline., 
giving rise to a corresponding character stroke code of 3/7--4.vertline. 
for that character. It is noted that this code is indicative of the 
initial order (according to the Chinese handwriting rules) in which the 
different types of basic stroke elements occur in the character for 
"intelligent" and the total number of occurrence of each type of basic 
stroke element. 
The character stroke code derived in the above-described example may 
correspond to more than one character of a character set stored in the 
computer. Thus, after obtaining the character stroke code, it is necessary 
to examine each character in the stored character set which corresponds to 
the character stroke code. In the event that the character stroke code 
corresponds to more than one character in the stored character set, the 
user must select the character being encoded from the corresponding 
characters of the stored character set and add to the character stroke 
code another code element associated with the selected character to obtain 
an extended character stroke code which uniquely corresponds to the 
character being encoded. In general, if the character stroke code 
corresponds to more than one character in the stored character set, the 
extended character stroke code corresponding to a character being encoded 
will have one of the following forms: X.vertline.Y--Z/*, 
X.vertline.Z/Y--*, Y--X.vertline.z/*, Y--Z/X.vertline.*, Z/X.vertline.*, 
Z/X.vertline.Y--* or Z/Y--X.vertline.*, where X is the total number of 
occurrences of the vertical stroke element .vertline., Y is the total 
number of occurrences of the horizontal stroke elements --, Z is the total 
number of occurrences of the slant stroke element /, and * is the 
additional code element, if any, associated with the character being 
encoded, as selected from the characters of the stored character set 
corresponding to the character stroke code derived from stroke analysis. 
It is noted that in many instances the character basic stroke element code 
derived from stroke analysis will uniquely define a character in the 
stored character set, in which instance only one character will be 
displayed and the character stroke code uniquely defines the character 
being encoded without any additional code elements. The examination of 
characters corresponding to a character basic stroke element code derived 
by stroke analysis to select the character being encoded and the addition 
of another code element associated with the selected character in 
accordance with the invention will be further described below. 
By using the above-described character encoding technique, a user need only 
know the correct stroke sequence according to the Chinese handwriting 
rules of the first seven (7) strokes of the character being encoded to 
encode or decode over 90% of the characters in the Modern Chinese 
Dictionary, and a user need only know the correct stroke sequence 
according to the Chinese handwriting rules of only the first three (3) 
strokes of the character being encoded to encode or decode over 80% of the 
characters in the Modern Chinese Dictionary. In accordance with the 
invention, once the initial order of occurrence of the different types of 
basic stroke elements for a character being encoded or decoded is 
determined, the total number of occurrence of each type of basic stroke 
element may be determined without further regard to any stroke sequence. 
Thus, except for very simple characters, the encoding and decoding 
technique according to the invention does not require a user to know the 
entire stroke sequence dictated by the Chinese handwriting rules of the 
character to be encoded or decoded. 
In an exemplary embodiment, the method and apparatus of this invention are 
employed in conjunction with a computer-based Chinese text entry, 
processing, storage retrieval, display and output system, as illustrated 
in FIGS. 1A, 1B and 1C. Referring to FIG. 1A, the system comprises a 
computer 1 having an integral disk drive, a conventional keyboard 2, an 
optional writing pad 3, a CRT display 3, and a graphic printer 5. The 
computer 1 is programmed to control encoding and decoding of Chinese 
characters in accordance with the invention, as well as to control 
storing, processing, retrieving and printing of Chinese characters. The 
keyboard 2 is used to enter data relating to basic stroke elements and to 
provide control of the functions provided by the program of the computer. 
The writing pad 3, if employed, is for encoding or entering characters by 
drawing the strokes of the characters directly thereon. The CRT display 4 
is used to provide appropriate displays of characters and codes for 
interactive encoding, decoding, storage, retrieval, processing and output 
of Chinese characters, as well as interactive control of system functions. 
The graphics printer 5 provides hard copy output of characters or codes 
stored in the computer under the control of the program. 
In accordance with the present invention, character data for an appropriate 
set of Chinese characters consisting of, for example, the graphical 
pattern data for all the characters in the aforementioned Modern Chinese 
Dictionary and the character stroke codes corresponding to each character 
is stored in the memory of the computer 1. Such character data is referred 
to for simplicity as the "stored character set". It will be understood by 
those skilled in the art of computer programming that such character data 
may be incorporated in the computer memory in various ways, such as in the 
form of a table or as part of the program itself. FIG. 1B details the 
signal flow in the exemplary embodiment of this invention. The basic 
stroke elements, ROOTs or roots of a character to be encoded are entered 
from the writing pad 3 or from the keyboard 2. A stroke sensor 8 detects 
the input strokes and transfers them to a stroke comparator 9, which 
compares the input strokes with the strokes or roots stored in the strokes 
and roots storage 10. As will be further explained below, a character is 
entered on the keyboard 2 by entering one or more basic stroke elements, 
complex strokes, compound strokes, and/or roots of the character. As 
explained above, a root which is entered before any other strokes or roots 
of a character is referred to as a "ROOT". The entry of basic strokes, 
complex strokes, compound strokes or roots will all be referred to for 
simplicity as input strokes. If the input strokes are not found in storage 
10, a warning signal (such as a beep) is produced to indicate an incorrect 
input. If the input strokes are found in storage 10, a strokes comparator 
9 provides the strokes to the stroke accumulator 11, which sums up all the 
input strokes for the character to be encoded. When two or more different 
basic stroke element types are present in the stroke accumulator 11, a "2 
unlike stroke element type sensor" 12 outputs a message "input any way" on 
the CRT display 4. When this message appears on the CRT screen, the user 
may enter any remaining input strokes of the character without regard to 
any stroke sequence. 
Upon the completion of the entry of input strokes for the character, the 
"'" key (the END key) on the keyboard 2 is pressed. This causes a 
completion signal to be sent to a signal controller 13, which in turn 
activates the character code converter 14. The character converter 14 
converts the input strokes into a character code corresponding to the 
character being encoded. A character code identifier 15 compares the 
converted character code with the codes stored in the character code 
storage 16. If the converted character code is not found in storage 16, a 
message "redo?" is caused to be displayed on the CRT screen 4 by the 
unidentified code processor 17. If the converted character code is found 
in storage 16, the character code identifier 15 activates the character 
data processor 18. The character data processor 18 then retrieves from the 
character data storage 19 previously stored graphical pattern data of one 
or more characters having the character code provided by the character 
code converter 14 and draws each character retrieved on the CRT screen 4. 
If more than one character is displayed on the CRT screen 4, an additional 
alphabetic code element associated with each such character is also 
displayed. In the event that more than one character is displayed, the 
user selects from the characters being displayed the one which is being 
encoded, and enters the alphabetic code element associated with the 
selected character. In this manner, an extended character code which 
uniquely corresponds to the character being encoded is formed. In the 
event that the character code as provided by the character code converter 
14 uniquely corresponds to a character in storage 16, no alphabetic code 
element is added to the code to form the character code for the character 
being encoded. 
All characters entered in the foregoing manner are stored in a buffer (not 
shown) defined by the program. Characters in the buffer may be processed, 
transferred to a disk in the disk drive, or retrieved for display on the 
CRT screen 4, processing or printed on the printer 5. The character or 
characters being displayed on the CRT screen 4 may be printed by the 
printer 5 by pressing the "print screen" key on the keyboard 2 (not shown 
in FIG. 6). 
FIG. 1C is a flow diagram (on two sheets) representing the portion of the 
program of the computer which controls encoding of Chinese characters in 
accordance with the exemplary embodiment of the invention. Implementation 
of the program portion defined by the flow diagram of FIG. 1C for a 
particular computer will be known to one of ordinary skill in the art of 
computer programming. In the exemplary embodiment of the invention, the 
program is implemented in the BASIC programming language for a Sanyo Model 
17 PLUS personal computer 
FIG. 6 is a plan view illustrating the labeling of the keys of the keyboard 
2 of the exemplary embodiment of this invention. For simplicity of the 
depiction, certain special purpose and function keys of the keyboard 2 are 
not shown. It is noted that the keyboard 2 has the same key layout as a 
standard alphanumeric keyboard used with personal computers, and that 
basic strokes, complex strokes, compound strokes, roots and basic stroke 
groupings have been assigned to the various keys by the program. FIG. 12 
lists in tabular form the assignment of basic stroke elements, complex 
strokes, compound strokes and roots to the individual keys (except for the 
stroke groupings assigned to the top row of keys in the Stroke Grouping 
Mode) of the keyboard 2 of FIG. 6, and the corresponding stroke codes 
generated by pressing each of the keys. 
There are 214 roots listed on the index page in the Modern Chinese 
Dictionary. If a separate key on a keyboard were assigned to each root, 
the keyboard would be impractically large, and a user would spend an 
inordinate amount of time searching for the roots needed to encode a 
character. In the exemplary embodiment of the invention, only some 
frequently used roots, complex strokes, compound stroke elements, each of 
the basic strokes, and various grouping of each type of basic stroke 
element are assigned to the different keys of the keyboard 2. Other roots 
and strokes which are not represented by keys may be entered by using the 
keys representing the individual basic stroke elements, the keys 
representing roots and stroke which are "stroke equivalents" with such 
other roots and strokes, and the keys representing basic stroke element 
groupings, as will be further described below. 
Referring to FIG. 6, except in the Stroke Grouping Mode, the roots and 
strokes assigned to the fourth row (r4) of keys from the "1" key of the 
"=" key all have an initial basic stroke order of /--.vertline.. The roots 
and strokes assigned to the third row (r3) of keys from the "q" key to the 
"]" key have an initial basic stroke order of .vertline.--/. The roots and 
strokes assigned to the second row (r2) of the keys from the "a" key to 
the "'" key have an initial basic stroke order of --.vertline./. The roots 
and strokes assigned to the first row (r1) of keys from the "z" key to the 
"/" key have different initial basic stroke orders that may be used for 
stroke equivalents, as will be explained hereinbelow. Although some keys 
of the keyboard 2 of FIG. 6 represent more than one root or stroke, the 
roots or strokes represented by each such key give rise to the same code 
when depressed. Thus, each such key may be used to enter any one of the 
roots represented thereby, but the code obtained when such a key is 
pressed would not uniquely correspond to any of the roots represented by 
the key. As discussed above and will be further explained below, after 
completion of input stroke entry there may be displayed on the CRT screen 
4 one or more characters corresponding to the character stroke code 
derived by the program from the input strokes. If more than one character 
is displayed, each displayed character will have an associated alphabetic 
letter (i.e., an additional code element) displayed with it. Where more 
than one character is displayed, the user would select from the displayed 
characters the one which is being encoded, and enter the letter associated 
with the selected character to obtain an extended character stroke code 
which uniquely corresponds to the character being encoded. 
As used in the specification and claims, the term "stroke equivalents" 
means a combination of basic stroke elements, or stroke or a root that is 
not represented by any key on the keyboard 2, but which has the same 
number of occurrence of each basic stroke type (but not necessarily the 
same initial order of occurrence of each basic stroke type) as a stroke or 
a root that is represented by a key on the keyboard 2. Thus, with the 
basic stroke elements, complex strokes and compound strokes and roots 
represented by the keys of the keyboard 2 of FIG. 6, including the 
groupings of basic strokes represented by the keys in row r4 when the 
system is in the Stroke Grouping Mode, together with the use of stroke 
equivalents which may be entered with the same keys, at least all the 
Chinese characters in the Modern Chinese Dictionary may be encoded and 
decoded with the keyboard arrangement of FIG. 6. 
For example, the Chinese character for the word "sun" () has a basic stroke 
element sequence of .vertline.--.vertline.---- and has a corresponding 
character stroke code of 2.vertline.3--0/, as previously explained. The 
Chinese character for the word "right" ( ) has a basic stroke element 
sequence of --.vertline.--.vertline.-- and a corresponding character 
stroke code number of 3--2.vertline.0/. These two characters are stroke 
equivalents, but do not have the same corresponding character stroke code 
because the initial order of occurrence of the basic stroke element types 
for the two characters are different, although each character contains the 
same total number of occurrences of each basic stroke element type. 
In another example of the use of stroke equivalents, the character for the 
word "tilt" 
has a ROOT "not"() and a root "right" (). The ROOT "not" is not represented 
by any key of the keyboard 2, but it may be entered by using the "b" key 
which according to FIG. 12 represents one--stroke element and one / 
stroke, and the "n" key which according to FIG. 12 represents one 
.vertline. stroke element and one / stroke element. Thus, the total 
strokes for the root "not" corresponds to the character stroke code 
1--2/1". The root "right" may be entered by using the "t" key which 
represents the root "sun" (), because "sun" and "right" are stroke 
equivalents. It is noted that because the correct initial order of 
occurrence of the basic stroke element types (i.e., --/.vertline.) is 
established by the entry of the ROOT , the order of the remaining basic 
stroke elements for the character need not be taken into account when 
entering those stroke elements. Therefore, the root may be entered by 
entering a stroke equivalent root . 
According to FIG. 12, the stroke code for the characters represented by the 
"t" key is 2.vertline.3--0/. Therefore, the character stroke code for the 
character for "tilt" is determined by the initial order of occurrence of 
the basic stroke element types in the ROOT and the sum of the number 
occurrences of the basic stroke types in the ROOT "not" and in the root 
"right", or 4--2/3.vertline.. Encoding of the character for "right" alone 
may be accomplished through the use of stroke equivalents since there is 
no key on keyboard 2 which represents the initial order of occurrence of 
the basic stroke element types and the number of occurrence of each basic 
stroke element type for that character. However, since the character for 
"right" has three--stroke elements and two .vertline. strokes and the 
initial order of occurrence of those basic stroke types according to the 
Chinese handwriting rules is --.vertline., the character may be encoded by 
pressing the "a" key which provides a stroke code of 3--0.vertline.0/ in 
combination with the "x" key which provides a stroke code of 
2.vertline.0--0/. 
Stroke equivalents are advantageously used after two different types of 
basic stroke elements have been entered. For example, in the 
above-described encoding of the character for the word "right", pressing 
the "a" key results in the generation of the stroke code 3--0.vertline.0/ 
having the correct initial order of occurrence of the basic stroke element 
types for this character, and the subsequent pressing of the "x" key 
results in the generation of the stroke code 2.vertline.0--0/, which when 
combined with the first stroke code 
yields the correct character stroke code 3--2.vertline.0/ for the character 
for the word "right". The pressing of any key of the keyboard 2 which 
represents a root or stroke having more than one type of basic stroke 
element will cause the program in the computer 1 to output the message 
"input any way" on the CRT screen 4 to indicate to the user that the 
remaining strokes of the character may be entered in any sequence without 
regard to the Chinese handwriting rules. 
It is noted that with the exception of the "z", "x", "c", "v", "a", "q", 
"1", "2" and "3" keys, the roots represented by all other keys in rows 
r1-r4 of the keyboard of FIG. 6 (in the T mode) each have more than one 
type of basic stroke element. Therefore, after pressing one of these keys 
during entry of a character, any remaining strokes in the character may be 
entered without regard to stroke sequence. 
In the exemplary embodiment of the invention, to encode or enter a 
character having a ROOT and one or more roots, the user first puts the 
computer in the "T mode" (typing mode) by pressing the "T" key during mode 
selection. Once in the T mode, the user presses the key representing the 
ROOT of the character. If the ROOT represented by the pressed key includes 
two or more basic stroke element types, the user may enter any remaining 
strokes of the character without regard to stroke sequence, including 
pressing appropriate keys representing any remaining roots of the 
character. 
However, if the ROOT consists of basic stroke elements of the same type, 
the program generates a corresponding stroke code which indicates not only 
the number of occurrences of that basic stroke element, but also a 
predetermined default order of occurrence of the other basic stroke 
element types, for example as shown in FIG. 12 for the "a", "c", "q", "v", 
"x" and "z" keys. Consequently, if the next stroke or root of the 
character to be entered has a different initial order of occurrence of the 
basic stroke element types than that of the previously entered ROOT having 
only one type of basic stroke element, the next root cannot be entered by 
pressing a key corresponding thereto. Instead, the next root must be 
decomposed into basic strokes and entered with the basic stroke keys 
(i.e., the ";", "]" and "=" keys) of the keyboard of FIG. 6 until a basic 
stroke element of a type different from the one contained in the 
previously encoded ROOT has been entered. Thereafter, the remaining 
strokes may be entered in any sequence or manner, including the use of 
keys representing any remaining roots in the character. 
For example, to encode or enter the character for the word "clear" ( ), 
which has a ROOT and a root . The ROOT includes two different types of 
basic stroke elements, namely, --and .vertline.. Therefore, once the ROOT 
is encoded or entered by pressing the "t" key on the keyboard 2, the 
remaining strokes of the character may be entered in any manner or 
sequence, preferably by pressing the key representing the root . However, 
the encoding or entry of the word "oil" ( ) calls for a different entry 
procedure. This character has a compound stroke and a root . The 
compound stroke includes only one type of basic stroke element, namely 
three / strokes. Pressing the "v" key which corresponds to the compound 
stroke causes the program to generate the stroke code 3/0--0.vertline. 
and displays the code on the CRT screen. This code establishes a default 
initial order of occurrence of the basic stroke element types of 
/--.vertline., However, the succeeding root according to the Chinese 
handwriting rules does not have the same initial order of occurrence the 
other of two basic stroke element types. Therefore, the root cannot be 
entered by pressing the "p" key. The root must instead be decomposed into 
its basic stroke element sequence .vertline.--.vertline.--.vertline. and 
entered by first pressing the "]" key or "q" key which represents one or 
three occurrences of the vertical basic stroke elements (i.e., 
.vertline.or .vertline..vertline..vertline.), respectively, which is the 
next different basic stroke element type from the one in the compound 
stroke . Thereafter, the remaining basic strokes of the root may be 
entered in any sequence. 
The keys of keyboard 2 as depicted in FIG. 6 may be employed to encode or 
enter Chinese characters by using the stroke grouping keys in row r4 of 
the keyboard 2 of FIG. 6 when the system is in the Stroke Grouping Mode. 
As shown in FIG. 6, the stroke grouping keys in row r4 represent 1, 2, 3 
or 4 occurrences of each of the three basic stroke element types 
--.vertline./. To use the stroke grouping keys the user selects the "S" 
(Stroke Grouping) mode by pressing the "S" key during entry mode 
selection. This invokes the preprogrammed modules corresponding to each of 
the stroke grounding keys. 
A writing pad 3 may be employed in lieu of or in combination with keyboard 
2 for the encoding or entry of Chinese characters. As depicted in FIG. 2, 
the writing pad consists of a regular array of multiple sensing elements 
6, each of which may be individually activated by the user to provide a 
respective output signal. The sensing elements may be photosensitive, 
capacitive, magnetic sensing devices, or other devices such as mechanical 
switches which may be individually activated by the user. 
As illustrated in FIGS. 2 and 3, the sensing elements are arranged in 
multiple rows and columns. The connections of these sensing elements are 
shown, for example, in FIG. 4. In the exemplary embodiment, the sensing 
elements of the writing pad are each mechanical switches. The switches of 
the sensing elements labeled A, B, C, D, E and F are connected in parallel 
with the key switches of the "a", "b", "c", "d", "e" and "f" keys of the 
keyboard 2, respectively. 
Referring to FIG. 3, when the elements A, B and C are activated across the 
first three columns of the writing pad, the program of the computer 1 
detects the output signals produced by the actuation of those sensing 
elements, as generated by the keyboard, and interprets those signals as a 
basic horizontal stroke element --. When the sensing elements B, E and B 
are activated along the second column of the writing pad, the program of 
the computer 1 detects the output signals produced by the actuation of 
those sensing elements and 
interprets those signals as a basic vertical stroke element .vertline.. 
When the sensing elements A, E and C are activated from the first row, 
first column to third row, third column of the writing pad, the program of 
the computer 1 detects the output signals produced by the actuation of 
those sensing elements and interprets those signals as a basic slant 
stroke element /. In addition, activation of sensing elements C, E and A 
from the first row, third column to the third row, first column, or the 
activation of fewer than three contiguous sensing elements, whether 
vertically, horizontally or diagonally, is also interpreted by the program 
as a basic slant stroke element /. 
For operational convenience, the writing pad 3 may be a relatively large 
array having many more than 3.times.3 elements so that entry of the basic 
stroke elements for a character by the user may resemble the drawing of 
the character by the user on a writing surface. In one exemplary 
embodiment of the writing pad, the array of sensing elements is 9--9 which 
may permit the entry of most of the Chinese characters without requiring 
any row, column or diagonal of the array to be used for more than one 
stroke of the character. The connections for the sensing elements of a 
larger array are made in the same manner as shown in FIG. 4. 
To encode or enter a character using the writing pad 3, the user may draw 
the character or the writing pad surface as if he or she were drawing the 
Chinese characters using a writing instrument on a writing surface, as 
shown in FIG. 5C using the character for the word "sun" as an example. 
However, to enter a character using the writing pad it is not necessary to 
actually draw the character on the array of sensing elements. The user 
need only draw all the basic stroke elements of the character anywhere on 
the writing pad surface, as shown in FIGS. 5A and 5B. The basic strokes 
may be drawn in any order, so long as the initial order in which the 
different basic stroke element types are drawn is consistent with the 
basic stroke element sequence converted from the stroke element sequence 
of the character in accordance with the Chinese writing rules. As 
discussed above, a basic horizontal stroke element --is entered by 
activating three or more horizontally continuous sensing elements on the 
writing pad surface. A basic vertical stroke element .vertline. is entered 
by activating three or more vertically contiguous sensing elements, and a 
basic slant stroke element / may be entered by activating three or more 
diagonally contiguous sensing elements or fewer than two contiguous 
sensing elements. As shown in FIG. 5B, the same group of sensing elements 
may be used more than once to enter plural occurrences of the same type of 
basic stroke. 
For the example of the character for the word "sun" , the strokes and 
stroke element sequence according to the Chinese handwriting rules is . 
As explained above, the complex stroke may be converted to the basic 
stroke elements sequence --.vertline.. Therefore, the sequence of basic 
stroke elements for the character is .vertline.--.vertline.----, in which 
the initial order of occurrence of the different types of basic stroke 
elements is .vertline.--, and there are two occurrences of the vertical 
stroke element .vertline., three occurrences of the horizontal stroke 
element--and no occurrences of the slant stroke element /. Accordingly, to 
enter the character using the writing pad 3, the user may draw in 
sequence the vertical stroke element .vertline. followed by the basic 
horizontal stroke --, and then draw the remaining basic stroke elements 
for this character in any order. Each basic stroke element may be drawn 
anywhere on the writing pad, and basic stroke elements of the same type 
may be superimposed on one another by activating the same group of sensing 
elements, as shown in FIG. 5B. 
FIGS. 5A, 5B and 5C show three examples of how the character for the word 
"sun" () may be entered into the system of FIG. 1A using the writing pad 
3. The computer 1 and its program responds to the output signals from the 
sensing elements of the writing pad 3 as the basic stroke elements for the 
character are drawn, and generates a character stroke code 
2.vertline.3--0/ corresponding to the basic stroke elements as drawn. This 
code is displayed on the CRT screen 4 along with each character of the 
character set stored in the computer 1 which correspond to the character 
stroke code. The character stroke code indicates that the character has an 
initial basic stroke element order of .vertline.--/, with two vertical 
stroke elements, three horizontal stroke elements, and no slanted stroke 
elements. The use of the writing pad 3 is advantageous for the user who is 
composing Chinese text rather than transcribing text from a document, 
since such a user may simply draw each character that he or she desires to 
enter into the system of FIGS. 1A, 1B and 1C. The character being entered 
may be selected or verified from that which is displayed on the CRT screen 
4 when the drawing of the character is completed. 
This invention is further described by the following examples, which are 
not meant to limit the invention in any way. 
EXAMPLE 1 
This example demonstrates five different techniques for entering and 
encoding the Chinese character for the word "earth" () using the keys from 
the keyboard 2. The assignment of roots, strokes and stroke grouping are 
as depicted in FIG. 6 and specified (except for the assignment of the keys 
in row r4 for the S Mode) in the table of FIG. 12. At start-up, the 
program in the computer 1 causes a menu of the different entry modes 
provided by the program to be displayed on the screen of the CRT 4. The 
user may select any one of the entry modes by pressing an appropriate key 
on the keyboard. The various techniques for entering a character in the 
exemplary embodiment of FIGS. 1A, 1B and 1C are as follows: 
A. The character is completely converted into basic stroke elements, which 
are then entered in the sequence dictated by the Chinese handwriting 
rules. To use this technique, the user selects the "typing" mode by 
pressing the "T" key on the keyboard. In this mode, all the keys in rows 
r1-r4 are available for entering strokes and roots. 
B. The character is decompose&lt;into a ROOT and one or more roots, strokes, 
and/or stroke equivalents, which are then entered in accordance with the 
Chinese handwriting rules. This technique also requires the user to be in 
the "typing" mode. 
C. The character is completely converted into basic stroke elements, which 
are then entered as stroke groupings in accordance with the sequence 
dictated by of the Chinese handwriting rules. For this technique the user 
enters the "Stroke Grouping" mode by pressing the "S" key on the keyboard 
2. In this mode, only the numerical keys in row r4 are used to enter the 
appropriate stroke groupings of each type of basic stroke element. 
D. The user visually analyzes the character to be entered and derives the 
character stroke code for the character by determining the initial order 
of occurrence of the different types of basic stroke elements and counting 
the occurrence of each of the basic stroke element types. The character 
stroke code derived in this manner is entered directly into the computer 1 
via the keyboard 2. To use this technique, the user selects the "Memory" 
mode by pressing the "M" key when the menu of available entry modes is 
displayed. In this mode, the keys of the keyboard 2 are usable for 
entering corresponding alphabetic letters, numerals and special symbols 
only. 
E. The user memorizes the full codes which 
uniquely correspond to the characters he or she wishes to enter, and enters 
the full character stroke codes for the characters directly into the 
computer 1. To use this technique the user must also select the "Memory" 
mode. 
The following are examples illustrating the use of the foregoing techniques 
to enter the character for the word "earth" (), the character for the word 
"also" ( ) and the character for the word "forest" 
Using technique A to Enter the Character 
When the menu of available entry modes is displayed on the CRT screen 4, 
the user selects the "Typing" mode. The strokes of the character in the 
sequence dictated by the Chinese handwriting rules are . Because these 
are all simple strokes which may be directly converted to corresponding 
basic stroke element sequence --.vertline.--, no conversion of complex or 
compound strokes is needed. To enter the character , the user first 
presses the ";" key, then presses the "]" key, and finally presses the ";" 
key again to enter the basic stroke element sequence --.vertline.--. After 
completing the entry of the basic stroke element sequence, the user 
presses the "'" key, which causes the program to generate a character 
stroke code 2--1.vertline.0/ indicating that an initial order of 
occurrence of basic stroke element types of --.vertline./ with two 
occurrences of the --stroke element, one occurrence of the .vertline. 
stroke element and no occurrence of the / stroke. The program also causes 
the character stroke code derived from the input strokes to be displayed 
on the screen of the CRT 4. 
If the user is satisfied with the character stroke code as displayed on the 
CRT screen, he or she then presses the "ENTER" key (not shown in FIG. 6) 
to cause the program to display a character stroke code, along with each 
character in the character set in the memory which correspond to the 
character stroke code, as shown in FIG. 13A. 
Because the character stroke code 2--1.vertline.0/ corresponds to four 
characters in the stored character set, these four characters are all 
displayed on the CRT screen 4. Displayed with each character is an 
associated alphabetic letter (additional code element). The user selects 
from the displayed characters the one which is being entered and presses 
the key for the letter associated with the selected character. The 
associated letter is then appended to the character stroke code to provide 
an extended character stroke code 2--1.vertline.0/c which uniquely 
corresponds to the character being entered. 
In the present example, the character is displayed (see FIG. 13A) with an 
associated letter c. Therefore, the user presses the "c" key on the 
keyboard to cause the program to generate a full character stroke code 
2--1.vertline.0/c which uniquely corresponds to the character , and then 
presses the "ENTER" key (not shown in FIG. 6) to store the full code in a 
buffer. The display on the CRT screen 4 is changed from that of FIG. 13A 
to that shown in FIG. 13B, in which only the character is displayed, and 
the program returns to an input routine ready for entry of another 
character. 
If the user had not been satisfied with the character stroke code or the 
characters corresponding thereto after completion of stroke entry, he or 
she would press the " " key (not shown in FIG. 6). Pressing the " " key 
cancels all previous stroke entries and allows the user to re-enter the 
stroke data for the character he or she desired to enter. In this manner, 
the user may visually verify each character stroke code before the stroke 
entry process for a character is completed. 
Using Technique B to Enter the Character 
When the menu of available entry modes is displayed on the screen of the 
CRT 4, the user presses the "T" key to select the "Typing" mode. Since the 
ROOT is represented by the "s" key of the keyboard 2, as shown in FIGS. 6 
and 12, the user presses the "s" key, and then the "'" key to cause the 
program of the computer 1 to generate and display the character stroke 
code 2--1.vertline.0/. The procedure thereafter for obtaining and storing 
the full character stroke code 2--1.vertline.0/c which uniquely 
corresponds to the character is the same as that described above for 
entry of that character using technique A. 
Using Technique C to Enter the Character 
When the menu of available entry modes is displayed on the screen of the 
CRT 4, the user presses the "S" key to select the "Stroke Grouping" mode. 
The character for the word "earth" has two --stroke elements and one 
.vertline. stroke element. The basic stroke element sequence of 
--.vertline.-- as obtained by stroke conversion is in accordance with the 
Chinese handwriting rules which dictate a stroke element sequence of for 
the character . In the Stroke Grouping mode, the user presses the "2" key 
which represents a group of two horizontal -- stroke elements, the "5" key 
which represents one vertical stroke elment .vertline., and the "'" key to 
cause the program of the computer 1 to generate and display on the CRT 4 
the character stroke code 2--1.vertline.0/. The procedure thereafter for 
obtaining and storing the extended character stroke code 2--1.vertline.3/c 
which uniquely corresponds to the character is the same as described 
above for entry of that character using technique A. 
Using Technique D to Enter the Character 
When the menu of available entry modes is displayed on the screen of the 
CRT 4, the user presses the "M" key to select the "Memory" mode. Through 
visual inspection of the character , the user determines the initial 
order of occurrence of the different types of basic stroke elements and 
the number of occurrence of each type of basic stroke element to mentally 
derive the character stroke code 2--1.vertline.0/. It is noted that 
although there is no slant stroke in the character , the code elements 
"0/" must be added to the character stroke code to conform to the 
character stroke code format called for by the program. The character 
stroke code 2--1.vertline.0/ is then entered directly on the keyboard by 
pressing the "2", "-", "1", " ", "0", "/" and "'" keys in sequence. After 
such entry, the character stroke code is displayed on the CRT screen 4. 
The subsequent procedure for obtaining and storing the extended character 
stroke code 2--1.vertline.3/c which uniquely corresponds to the character 
is the same as described above for the entry of that character using 
technique A. 
Using Technique E to Enter the Character 
After selecting the "Memory" mode in the manner set forth above, the user 
enters on the keyboard from memory the full code for the character. 
It is noted that the format of a character stroke code for a character as 
required by the program must have all three basic stroke element types 
present, even though the number of occurrences of one or two of the basic 
stroke element types may be zero. However, where the character stroke code 
uniquely corresponds to a character, the additional code element in the 
form of an appended alphabetic letter is not present in the full character 
stroke code. 
Using Technique A to Enter the Character 
The "Typing" mode is first selected by the user in the manner described 
above. The strokes and stroke element sequence as dictated by the Chinese 
handwriting rules are . The first stroke is a complex stroke which 
according to the table in FIG. 10 may be decomposed into the basic stroke 
element sequence --.vertline./. The third stroke is also a complex stroke 
which may be decomposed into the basic stroke element sequence 
.vertline.--.vertline.. Accordingly, the basic stroke element sequence for 
the character is --.vertline./.vertline..vertline.--.vertline.. This 
sequence may be entered on the keyboard 2 by pressing in sequence the ";", 
"]", "=", "]", ";" and "]" keys. 
The "'" key may then be pressed to cause the program in the computer 1 to 
generate the character stroke code 2--4.vertline.1/ and to display the 
same code on the screen of the CRT 4. If the user is satisfied with the 
displayed character stroke code, he or she may press the "ENTER" key (not 
shown in FIG. 6) to cause the program to display on the CRT screen each 
character in the stored character set which corresponds to the character 
stroke code. If more than one character is displayed, a respective 
alphabetic letter associated with each one of the displayed characters 
also appears on the CRT screen 4. The user then selects the character 
from the ones being displayed and enters on the keyboard 2 the letter 
corresponding to that character to cause the program to generate and store 
an extended character stroke code uniquely corresponding to the character 
Using Technique B to Enter the Character 
The three strokes of the character are represented by the "d", "]" and "w" 
keys on keyboard 2, respectively. Since the stroke when converted to a 
sequence of basic stroke elements includes all three basic stroke element 
types, once this stroke is entered, the remaining strokes may be entered 
in any order. After entry of the strokes the user presses the "'" key to 
cause the program to generate a character stroke code 2--4.vertline.1/ and 
to display such code on the screen of the CRT 4. The remainder of the 
procedure for obtaining and storing the extended character stroke code 
which uniquely corresponds to the character is the same as previously 
described in connection with technique B. 
Using Technique A to Enter the Character 
The character 
includes three identical roots . Since all three roots are identical, the 
order in which they are entered is indistinguishable one from the other. 
Each root is entered by the operator pressing in sequence the ";", "]", 
"=" and "=" keys. To enter the remaining two roots, the foregoing key 
depression is repeated two more times. After all the strokes have been 
entered, the user generate the character stroke code 3--3.vertline.6/ and 
to display the character stroke code on the screen of the CRT 4. The 
remainder of the procedure for obtaining and storing the full code for the 
character 
is the same as previously described in connection with technique B. 
Using Technique B to Enter the Character 
As mentioned above the character 
has three identical roots . According to FIG. 6 and the table of FIG. 12, 
the root is represented by the "g" key. Because this root when decomposed 
into basic stroke elements contains all three basic stroke element types, 
the character 
may be entered by pressing the "g" key three times. Thereafter, the user 
may press the "'" key to cause the program in the computer 1 to generate 
the character stroke code 3--3.vertline.6/ and to display such code on the 
screen of the CRT 4. The rest of the procedure for obtaining and storing a 
full character stroke code which uniquely corresponds to the character is 
the same as previously described in connection with technique B. 
Using Technique C to Enter the Character 
According to the Chinese handwriting rules, each of the three identical 
roots of the character 
has the stroke element sequence . Since these are all simple strokes, they 
may be converted to the basic stroke element sequence --.vertline.//. 
Accordingly, to enter the character 
using stroke groupings, the operator presses in sequence the "3" key for 
three horizontal stroke elements ------, the "7" key for three vertical 
stroke elements .vertline..vertline..vertline., the "=" key for four slant 
stroke elements //// and the "0" key for two more slant stroke elements 
//. The latter two keystrokes may be substituted by the two successive 
pressings of the "--" key for three slant stroke elements /// each. After 
the foregoing stroke entry sequence, the user presses the "'" key to cause 
the program of the computer 1 to generate the character stroke code 
3--3.vertline.6/ and to display such code on the screen of the CRT 4. The 
rest of the procedure for obtaining and storing a full character stroke 
code uniquely corresponding to the character 
is the same as previously explained for technique B. 
For Chinese characters with strokes numbering less than 10, technique D may 
be advantageous For Chinese characters with strokes numbering less than 15 
and whose conversion to basic stroke elements can be easily recognized, 
technique C may be advantageous. For Chinese character with strokes 
numbering more that 15 and whose conversion to basic stroke elements 
cannot be easily recognized, technique B may be generally more effective. 
In accordance with the present invention each Chinese character in the 
stored character set has its strokes encoded according to shape and size. 
The size of a given type of stroke depends upon location and number of 
strokes in the Chinese character. A stroke is to a first approximation a 
line whose length is determined by its end points. These end points may be 
defined by two-dimensional cartesian coordinates x1, y1 and x2, y2 based 
on some appropriate origin. The coordinate values may be encoded or 
entered from the keyboard 2. The computer 1 stores the coordinate data for 
each stroke of the Chinese character and derives a code according to the 
number and stroke element type. The coordinate data and the code are then 
stored in the memory of the computer 1. 
The following is an outline of an example of how data for the character for 
the word earth is derived and incorporated in the character font: 
1. Determine the size of the Chinese character desired. 
2. Write the Chinese character on graph paper, as shown in FIG. 7. 
3. Encode or enter the coordinate values for each stroke from the keyboard 
(2). In this example, the coordinate values for the end points of 
horizontal stroke element 1 are (4, 5); (8, 5); the coordinate values for 
the end points of vertical stroke element 2 are (6, 3); (6, 7); and the 
coordinate values for horizontal stroke element 3 are (3, 7); (9, 7). 
4. After finishing all entries, the character stroke code 2--1.vertline.0/ 
is displayed on the screen of the CRT 4. By pressing the "'" key, the 
coordinate values for the end points of each stroke element and the 
character stroke code for the character are stored in memory. 
5. Enter the last code element of the code to uniquely define the 
character. In this case the full character stroke code is 
2--1.vertline.0/c. 
It will be understood that each of the elements described above, or two or 
more together, may also find a useful application other types of 
constructions differing from the type described above. 
While the invention has been illustrated and described in terms of specific 
exemplary embodiments of an apparatus and method for encoding and decoding 
Chinese characters, it is not intended to be limited to the details shown 
or described, since it will be understood by those skilled in the art that 
various omissions, modifications, substitutions and changes in the forms 
and details of the embodiments illustrated and their operation can be made 
without departing in any way from the spirit of the present invention or 
the scope thereof as defined by the appended claims.