Cangjie input method

From Wikipedia, the free encyclopedia

Cangjie input method
Traditional Chinese: 倉頡輸入法
Simplified Chinese: 仓颉输入法
Coding of "倉頡輸入法" (i.e. Cangjie method) in traditional Chinese characters
Coding of "倉頡輸入法" (i.e. Cangjie method) in traditional Chinese characters

The Cangjie input method, often erroneously spelt Changjie input method, is a system by which Chinese characters may be entered into a computer by means of a standard keyboard. Invented in 1976 by Chu Bong-Foo, the method is named after Cangjie, the man historically attributed with the invention of the first writing system of China; the name was suggested by Chiang Wei-kuo, then Defence Minister of the Republic of China. Although the input method was initially based upon Traditional Chinese characters, it has since been revamped such that interoperability between Cangjie and the Simplified Chinese character set was made possible.

Sometimes, for example in filenames, the name Cangjie is abbreviated as cj.

Unlike pinyin, Cangjie is based on the graphological aspect of the characters wherein each basic, graphical unit is represented by a basic character component, of which there are 24 in all, each mapped to a particular letter key on a standard QWERTY keyboard. An additional "difficult character" function is mapped to the X key. Within the keystroke-to-character representations, there also exist four subsections of characters: the Philosophical Set (corresponding to the letters 'A' to 'G' and representing the elements), the Strokes Set (corresponding to the letters 'H' to 'N' and representing the brief and subtle strokes), the Body-Related Set (corresponding to the letters 'O' to 'R' and representing various parts of the human anatomy), and the Shapes Set (corresponding to the letters 'S' to 'Y' and representing complex and encompassing character forms).

The basic character components in Cangjie are usually called "radicals"; nevertheless, Cangjie decomposition is not based on traditional Kangxi radicals, nor is it based on standard stroke order; it is in fact a simple geometric decomposition.

Cangjie is one of the very few input methods that can be found on most modern personal computers without the user having to download or install any additional software. Cangjie's widespread availability must be credited to Mr. Chu, who has allowed the public to use his invention freely and free of charge.

Contents

[edit] Overview of the input method

[edit] The keys and "radicals"

The basic character components in Cangjie are called "radicals" (字根) or "letters" (字母). There are 24 radicals but 26 keys; each of the 24 radicals (the basic shape 基本字形) is associated with one or more auxiliary shapes (輔助字形). The names of the 24 radicals, as well as their associated auxiliary shapes, are mnemonic:

Group Key Name Primary meaning
Philosophical group A 日 sun
B 月 moon
C 金 gold
D 木 wood
E 水 water
F 火 fire
G 土 earth
Stroke group H 竹 bamboo The slant and short slant, the Kangxi radical
I 戈 weapon The dot
J 十 ten The cross shape
K 大 big The X shape
L 中 centre The vertical stroke
M 一 one The horizontal stroke
N 弓 bow The crossbow and the hook
Body parts group O 人 person The dismemberment, the Kangxi radical 人
P 心 heart The Kangxi radical 心
Q 手 hand The Kangxi radical 手
R 口 mouth The Kangxi radical 口
Character shapes group S 尸 corpse Three-sided enclosure with an opening on the side
T 廿 twenty Two vertical strokes connected by a horizontal stroke; the Kangxi radical 艸 when written as 艹 (whether the horizontal stroke is connected or broken)
U 山 mountain Three-sided enclosure with an opening on the top
V 女 woman A hook to the right, a V shape
W 田 field Four-sided enclosure
Y 卜 fortune telling The 卜 shape and rotated forms
Collision/Difficult key* X 重/難 collision/difficult (1) disambiguation of Cangjie code decomposition collisions, (2) code for a "difficult-to-decompose" part
Special character key* Z (See note) Auxiliary code used for entering special characters (no meaning on its own). In most cases, this key combined with other keys will produce Chinese punctuations (such as 。,、,「 」,『 』).

Note: Some variants use Z as a collision key instead of X, in those systems Z has the name "collision" (重) and X has the name "difficult" (難); but the use of Z as a collision key is neither in the original Cangjie nor used in the current mainstream implementations; in some other variants, Z may have the name "user-defined" (造) or some other names

The auxiliary shapes of each Cangjie radical have changed slightly between different versions of the Cangjie method; this is one reason why different versions of the Cangjie method are not completely compatible.

[edit] Keyboard layout

A typical keyboard layout for Cangjie method, which is based on United States keyboard layout. Note the non-standard use of Z as the collision key.
A typical keyboard layout for Cangjie method, which is based on United States keyboard layout. Note the non-standard use of Z as the collision key.

[edit] The basic rules

The typist must be familiar with several decomposition rules 拆字規則 that defines how to analyse a character to arrive at a Cangjie code.

  • Direction of decomposition: left to right, top to bottom, and outside to inside
  • Geometrically connected forms: take 4 Cangjie codes, namely the first, second, third, and last codes
  • Geometrically unconnected forms: identify the first geometrically connected subform according to the direction of decomposition rule, then take the first and last codes of the subform; next consider the rest of the original form, and take the first, second, and last code of this subform. (If the second subform is itself geometrically unconnected, the second code taken is the last code in the first geometrically-connected subform of this second subform.)

The rules are subject to various principles:

  • Conciseness (精簡) — if two decompositions are possible, the shorter decomposition is correct
  • Completeness (完整) — if two decompositions of the same length are possible, the one that identifies a more complex form first is the correct decomposition
  • Reflection of the form of the radical (字型特徵) — the decomposition should reflect the shape of the radical, meaning (a) the same code used twice or more is to be avoided if possible, and (b) the shape of the character should not be "cut" at a corner in the form
  • Omission of codes (省略)
    • Partial omission (部分省略) — when the number of codes in a complete decomposition would exceed the permitted number of codes, the extra codes are ignored
    • Omission in enclosed forms (包含省略) — when part of the character to be decomposed and the form is an enclosed form, only the shape of the enclosure is decomposed; the enclosed forms are omitted

[edit] The short list of exceptions

Some forms are always decomposed in the same way, whether the rules say they should be decomposed this way or not. Fortunately, the number of exceptions is small:

Form Fixed decomposition
Version 2 Version 3 Version 5
門 (door) 日 弓 (AN) 日 弓 (AN) 日 弓 (AN)
目 (eye) 月 山 (BU) 月 山 (BU)
鬼 (ghost) 竹 戈 (HI) 竹 戈 (HI)
几 (small table) 竹 山 (HU) 竹 弓 (HN)
贏 minus 月 卜 弓 (YN)
卜 心 (YP) 卜 心 (YP) 卜 心 (YP)
亡 on top of 口 卜 口 (YR) 卜 口 (YR)
隹 (fowl) 人 土 (OG) 人 土 (OG) 人 土 (OG)
人 山 (OU) 人 弓 (ON)
畿 minus the 田 女 戈 (VI) 女 戈 (VI) 女 戈 (VI)
鬥 (compete) 中 弓 (LN) 中 弓 (LN) 中 弓 (LN)
引 (city) 弓 中 (NL) 弓 中 (NL) 弓 中 (NL)

[edit] Examples

  • 車 (chē, vehicle)
    • This character is geometrically connected, consisting of one part with a vertical structure, so we take the first, second, and last Cangjie codes from top to bottom.
    • The Cangjie code is thus 十 田 十 (JWJ), corresponding to the basic shapes of the codes in this example.
  • 謝 (xiè; to thank, to wither)
    • This character geometrically consists of unconnected parts arranged horizontally. For the initial decomposition, we treat it as two parts, 言 and 射.
    • The first part, 言, is geometrically unconnected from top to bottom; we take the first (, auxiliary shape of 卜 Y) and last parts (口, basic shape of 口 R) and arrive at 卜 口 (YR).
    • The second part is again geometrically unconnected, arranged horizontally. The two parts are 身 and 寸.
      • For the first part of this second part, 身, we take the first and last codes. Both are slants and therefore H; the first and last codes are thus 竹 竹 (HH).
      • For the second part of the original second part, 寸, we take only the last part. Because this is geometrically unconnected consisting of two parts, the first part is the outer form while the second part is the dot in the middle. The dot is I, and therefore the last code is 戈 (I).
    • The Cangjie code is thus 卜 口 (YR) 竹 竹 (HH) 戈 (I), or 卜 口 竹 竹 戈 (YRHHI).
  • 谢 (simplified version of 謝)
    • This example is identical to the above, except that the first part is 讠; the first and last codes are 戈 (I) and 女 (V)
    • Repeating the same steps as the above example, we get 戈 女 (IV) 竹 竹 (HH) 戈 (I), or 戈 女 竹 竹 戈 (IVHHI).

[edit] Early Cangjie system

In the beginning, the Cangjie input method was not a way to produce a character in any character set. It was, instead, an integrated system consisting of the Cangjie input rules and a Cangjie controller board. The controller board contains character generator firmware, which dynamically generates Chinese characters from Cangjie codes when characters are output, using the hi-res graphics mode of an Apple II computer. In the preface of the Cangjie user's manual, Mr. Chu wrote in 1982

[Translation]
In terms of output: The output and input, in fact, [form] an integrated whole; there is no reason that [they be] dogmatically separated into two different facilities.… This is in fact necessary.…

In this early system, when the user types "yk " (for example) to get the Chinese character 文, the Cangjie codes do not get converted to any character encoding; the actual string "yk " is stored. In a very real sense, the Cangjie code of each character (string of 1 to 5 lowercase letters plus a space) was the encoding of that particular character.

Demonstration of character generator Mingzhu's capability of generating the characters according to the codes. None of the examples is included in Unicode. The first character is "[飠它]", which is for a kind of soup in Xuzhou. Other characters are never recorded.
Demonstration of character generator Mingzhu's capability of generating the characters according to the codes. None of the examples is included in Unicode. The first character is "[飠它]", which is for a kind of soup in Xuzhou. Other characters are never recorded.

A particular interesting "feature" of this early system is that if you send random lowercase words to the character generator, it will attempt to construct Chinese characters according to the Cangjie decomposition rules, sometimes causing strange, unknown characters to appear. This unusual feature, "automatic generation of characters", is actually described in the manual and is responsible for producing more than 10,000 of the about 15,000 characters that the system can handle. The name Cangjie, evocative of creation of new characters, was actually very apt for this early version of Cangjie.

The presence of the integrated character generator also explains the historical necessity for the existence of the "X" key as used for disambiguation of decomposition collisions: because characters are "chosen" when the codes are output, every character that can be displayed must in fact have one and only one Cangjie decomposition. It would not make sense—nor would it be practical—for the system to provide a choice of candidate characters when some random text file is displayed; the user would not know which of the candidates are correct.

[edit] Issues

Cangjie was designed to be an easy-to-use system to help promote the use of Chinese computing; nevertheless, many users find Cangjie to be a difficult method. Many of the perceived difficulties arise from poor instruction.[verification needed]

[edit] Perceived difficulties

  • In order to input using Cangjie, one must know not only the names of the radicals, but also all their auxiliary shapes (which might not appear to make sense, though Mr. Chu had intended all the auxiliary shapes to be related to the basic shapes and "easy to remember"); it is common to find tables of the Cangjie radicals with their auxiliary shapes taped onto the monitors of casual computer users.
  • One must also be familiar with the decomposition rules; unfortunately, a lot of casual computer users are not even aware of the existence of decomposition rules but rather type by guessing. This makes Cangjie a very difficult method.

Enough practice, however, can overcome the above problems. A typist with sufficient practice in Cangjie touch types, much like a typist that works on the English language; it is entirely possible for a touch typist to type at 25 words (Chinese characters) per minute or better in Cangjie, yet have difficulty remembering the list of auxiliary shapes or even the decomposition rules. Experienced Cangjie typists can reportedly attain a typing speed between 60 wpm and over 200 wpm.

Cangjie, however, also has some "real" problems:

[edit] Actual difficulties

  • Cangjie is not error forgiving (不容錯): The decomposition of a character depends on a predefined set of "standard shapes" (標準字形); however, because Cangjie is used in many different countries, the standard shape of a certain character in Cangjie is not always the standard shape of the same character the user has learnt. Learning Cangjie would then entail not only learning Cangjie itself, but also the standard shape of some characters. The difference between 溫 and 温, or 黑 and 黒, for example, illustrates the frustration learners of Cangjie might have to go through. The Cangjie IME is also not expected to handle mistakes in decomposition other than tell the user (usually by beeping) that there is a mistake.
  • Punctuation marks are not geometrically decomposed, but rather given random-looking codes that begin with ZX followed by a string of three letters related to the ordering of the characters in the Big5 code. Typing punctuation marks in Cangjie thus becomes a frustrating exercise in either memorization or pick-and-peck.
  • The user cannot type a character which he or she has forgotten how to write. This, of course, is not a real problem with Cangjie but a problem with all non-phonetic input methods. (This is not to say that phonetic input methods are superior; in fact they suffer from the opposite problem, namely that the user cannot type a character which he or she does not know how to pronounce.)

In some situations it cannot be used at all. Cangjie uses all 26 keys in an English (United States) keyboard; it cannot be used to input Chinese on cell phones. For cell phones, pinyin, 5-stroke (or 9-stoke by Motorola) and the Q9 method are the current norm because they are designed specifically for use on numeric keypads.

[edit] Versions of Cangjie

The Cangjie input method is commonly said to have gone through 5 generations (commonly referred to as “versions” in English), each of which slightly incompatible with the other. Currently, version 3 (第三代倉頡) is the most common, being the version of Cangjie supported natively by Microsoft Windows. Version 5 (第五代倉頡), supported by the Free Cangjie IME and previously the only Cangjie supported by SCIM, is a significant minority.

The early Cangjie system supported by the Zero One card on the Apple II was Version 2; Version 1 had never been released.

The Cangjie input method supported on the Mac OS is somewhat like Version 3 and somewhat like Version 5.

Besides the original Cangjie input method, Version 5 was also created directly by Mr Chu, the inventor. Originally slated for release as Version 6, Mr Chu had hoped that the release of Version 5 would bring an end to the “more than ten versions of Cangjie input method” (slightly incompatible versions created by different vendors).

Version 6 has been developed by Mr Chu's longtime assistant Shen Honglian (沈紅蓮). It is created as the encoding for a character set of about 100,000 characters extracted from literatures. This character set is developed independently from Unicode, which Mr Chu heavily criticized as inferior in design.[citation needed] Version 6 has not been released to the public, but it is being used to create a database which accurately stores every historical Chinese text.

[edit] Variants of Cangjie

Most modern implementations of Cangjie IMEs provide various convenience features:

  • Some IMEs list all characters beginning with the code you have typed; for example, if you type A, the system gives you all characters whose Cangjie code begins with A so that you can select the correct character if it is on the screen; if you type another A, the list is shortened to give all characters whose code begins with AA. Examples of such implementations include the IME in Mac OS X, and SCIM.
  • Some IMEs provide one or more wildcard keys, usually but not always * and/or ?, that allows the user to omit part(s) of the Cangjie code; the system will display a list of matching characters for the user to choose. Examples of such implementations include xcin, SCIM, and the IME in the Founder (University of Peking) typesetting systems. Microsoft Windows's "standard" Cangjie IME allows * to substitute in-between characters (effectively reducing it to Simplified Cangjie entries), while New Changjie IME allows * as wildcard anywhere except the first character.
  • Some IMEs provide an "abbreviation" feature, where impossible Cangjie codes are interpreted as abbrevations of the Cangjie codes of more than one character, allowing more characters to be input with less keys. An example of such an implementation is SCIM.
  • Some IMEs provide an "association" (聯想 lianxiang) feature, where the system anticipates what you are going to type next, and provides you with a list of characters or even phrases associated with what the user has typed. An example of such an implementation is the Microsoft Cangjie IME.
  • Some IMEs present the list of candidate characters differently depending on the frequency of use of the characters (how many of the same character has been typed by the user). An example of such an implementation is the Cangjie IME in NJStar.

Besides the wildcard key, many of the above features are very convenient for casual users but unsuitable for touch typists because they make the Cangjie IME unpredictable.

There are also various attempts to "simplify" Cangjie one way or another:

  • Simplified Cangjie has the same radicals, auxiliary shapes, decomposition rules, and short list of exceptions as Cangjie, but only the first and last codes are used if more than 2 codes are required in Cangjie

[edit] See also

[edit] References

  • Taipei: Chwa! Taiwan Inc. (全華科技圖書公司). 倉頡中文資訊碼 : 倉頡字母、部首、注音三用檢字對照 [The Cangjie Chinese information code : with indexes keyed by Cangjie radicals, Kangxi radicals, and zhuyin]. Publication number 023479. — This is the user manual of an early Cangjie system with a Cangjie controller card.
    • The second-last paragraph on the first page in the section entitled "The Cangjie radical-based Chinese input method" (倉頡字母中文輸入法) states that

      [Translation]
      This is no problem; there are also auxiliary forms to complement the deficiencies of the radicals. The auxiliary forms are variations of the shape of the radicals, [and therefore] easy to remember.

    • The last paragraph on the fifth page in the same section states

      [Translation]
      The dictionary appended in the back [of this book] is based on the 4800 standard, commonly used characters proclaimed by the Ministry of Education. Adding to this the characters that are automatically generated, the number of characters is about 15,000 (using the Kangxi dictionary as a basis).

  • Part of the information from this article comes from the equivalent Chinese-language wikipedia article
  • The decomposition rules come from the "Friend of Cangjie — Malaysia" web site at http://www.chinesecj.com/ The site also gives the typing speed of experienced typists and provide software of version 5 of cangjie method for Microsoft Windows.
  • It might be difficult to find specific references to the "not error forgiving" property of Cangjie. The table at http://www.array.com.tw/keytool/compete.htm is one external reference that states this fact.
  • http://input.foruto.com/introduce/introduce_article021.htm has a brief history of the Cangjie input method as seen by that article‘s author. Versions 1 and 2 are clearly identified in the article.
  • http://www.cbflabs.com/book/essay/agdi0.htm contans a number of articles written by Mr Chu Bong-Foo, with references not only to the Cangjie input method, but also Chinese language computing in general. Versions 5 and 6 (now referred to as 5) of the Cangjie input method are clearly identified.

[edit] External links