Cangjie input method

Last updated
Cangjie input method
Cang Jie Shu Ru Fa Chai Ma .jpg
Coding of "倉頡輸入法" (i.e. Cangjie method) in traditional Chinese characters
B moon
    • Cjrm-b0.svg Cjrm-b2.svg Cjrm-b6.svg
    • Cjrm-b9.svg Cjrm-b10.svg Cjrm-b7.svg
    • Cjrm-b8.svg Cjrm-b16.svg Cjrm-b12.svg
    • Cjrm-b15.svg Cjrm-b11.svg Cjrm-b19.svg
    • Cjem-b2-1.svg :月一十
    • Cjem-b19-3.svg Cjem-b11-3.svg :月月月
    • Cjem-b16-1.svg :月月心水
    • Cjem-b12-1.svg :卜月竹土
C gold
    • Cjrm-c0.svg Cjrm-c2.svg Cjrm-c3.svg
    • Cjrm-c6.svg Cjrm-c5.svg
    • Cjem-c1-2.svg :金卜廿山
    • Cjem-c2-2.svg :金弓中竹
    • Cjem-c4-1.svg :卜中弓金
    • Cjem-c6-1.svg :田金
D wood Cjrm-d0.svg Cjrm-d3.svg Cjrm-d5.svg
    • Cjem-d0-1.svg :木人人
    • Cjem-d1-1.svg :田木
    • Cjem-d3-1.svg :木竹
    • Cjem-d6-1.svg :心木
E water
    • Cjrm-e0.svg Cjrm-e2.svg Cjrm-e6.svg
    • Cjrm-e3.svg
    • Cjem-e0-1.svg :戈一水
    • Cjem-e4-2.svg :水戈
    • Cjem-e2-1.svg :水金口
    • Cjem-e7-1.svg :戈十水
F fire
    • Cjrm-f0.svg Cjrm-f2.svg Cjrm-f3.svg
    • Cjrm-f5.svg Cjrm-f6.svg Cjrm-f7.svg
    • Cjrm-f8.svg
    • Cjem-f0-2.svg :竹木火
    • Cjem-f2-1.svg :日口火
    • Cjem-f3-2.svg :女火女戈火
    • Cjem-f8-1.svg :一火
G earth Cjrm-g0.svg Cjrm-g1.svg Cjrm-g2.svg
    • Cjem-g0-1.svg :土卜人
    • Cjem-g0-2.svg :一土月
    • Cjem-g2-2.svg :土口
    • Cjem-g2-4.svg :木土廿戈
Stroke groupH bamboo

( apostrophe)

    • Cjrm-h0.svg Cjrm-h1.svg Cjrm-h2.svg
    • Cjrm-h3.svg Cjrm-h5.svg Cjrm-h6.svg
    • Cjem-h1-2.svg :竹日弓日
    • Cjem-h3-2.svg :竹日
    • Cjem-h2-1.svg :弓竹尸
    • Cjem-h6-5.svg :竹人日山
I dagger axe ( dot)
    • Cjrm-i0.svg Cjrm-i1.svg Cjrm-i2.svg
    • Cjrm-i3.svg
    • Cjem-i0-5.svg :竹手戈
    • Cjem-i4-1.svg :戈弓人
    • Cjem-i2-2.svg :戈月金弓
    • Cjem-i3-2.svg :土戈
J ten

( cruciform)

Cjrm-j0.svg Cjrm-j2.svg
    • Cjem-j0-1.svg :十口
    • Cjem-j1-1.svg :卜十大尸十
    • Cjem-j2-1.svg :十女
    • Cjem-j2-5.svg :廿十一一
K big

( cross)

    • Cjrm-k0.svg Cjrm-k4.svg Cjrm-k5.svg
    • Cjrm-k2.svg Cjrm-k3.svg
    • Cjem-k0-1.svg :大大大大
    • Cjem-k2-1.svg :大口
    • Cjem-k4-1.svg :卜大
    • Cjem-k3-1.svg :大一人月
L centre

( vertical)

    • Cjrm-l0.svg Cjrm-l1.svg Cjrm-l2.svg
    • Cjrm-l3.svg Cjrm-l6.svg
    • Cjem-l0-2.svg :人中
    • Cjem-l1-1.svg :弓中
    • Cjem-l3-1.svg :中土日
    • Cjem-l6-2.svg :中戈十十
M one

( horizontal)

    • Cjrm-m0.svg Cjrm-m1.svg Cjrm-m2.svg
    • Cjrm-m3.svg Cjrm-m4.svg
    • Cjem-m0-1.svg :日一
    • Cjem-m1-6.svg :尸一尸戈一
    • Cjem-m2-1.svg :一竹日火
    • Cjem-m4-1.svg :竹金一
N bow

( hook)

    • Cjrm-n0.svg Cjrm-n1.svg Cjrm-n2.svg
    • Cjrm-n4.svg Cjrm-n5.svg Cjrm-n7.svg
    • Cjrm-n10.svg Cjrm-n8.svg
    • Cjem-n0-1.svg :弓卜女戈
    • Cjem-n1-4.svg :一土中弓
    • Cjem-n2-1.svg :弓竹尸
    • Cjem-n4-2.svg :弓日山
    • Cjem-n10-1.svg :弓人竹廿人
Body parts

group

O person
    • Cjrm-o0.svg Cjrm-o3.svg Cjrm-o4.svg
    • Cjrm-o11.svg Cjrm-o9.svg Cjrm-o10.svg
    • Cjrm-o6.svg Cjrm-o7.svg Cjrm-o8.svg
    • Cjem-o2-1.svg :女戈人
    • Cjem-o9-2.svg :弓日心人
    • Cjem-o6-2.svg :水人田卜
    • Cjem-o7-1.svg :人一一
    • Cjem-o14-1.svg :戈弓人
P heart
    • Cjrm-p0.svg Cjrm-p1.svg Cjrm-p3.svg
    • Cjrm-p10.svg Cjrm-p12.svg Cjrm-p13.svg
    • Cjrm-p4.svg Cjrm-p5.svg Cjrm-p9.svg
    • Cjrm-p15.svg Cjrm-p16.svg
    • Cjem-p0-1.svg :田心
    • Cjem-p1-1.svg :心竹日
    • Cjem-p2-1.svg :廿金心
    • Cjem-p5-1.svg :十大心
    • Cjem-p11-1.svg :心廿
    • Cjem-p13-1.svg :人戈心
    • Cjem-p15-3.svg :一口心口山
Q hand
    • Cjrm-q0.svg Cjrm-q1.svg Cjrm-q3.svg
    • Cjrm-q9.svg Cjrm-q5.svg Cjrm-q8.svg
    • Cjem-q0-1.svg :人一口手
    • Cjem-q1-1.svg :手一弓
    • Cjem-q3-2.svg :弓弓手人
    • Cjem-q5-4.svg :竹手月山
    • Cjem-q8-1.svg :人手
R mouth Cjrm-r0.svg
    • Cjem-r0-1.svg :口弓人
    • Cjem-r0-2.svg :一口
    • Cjem-r0-3.svg :尸口口口
    • Cjem-r0-5.svg :十口中口
Character shapes groupS corpse
    • Cjrm-s0.svg Cjrm-s2.svg Cjrm-s3.svg
    • Cjrm-s5.svg Cjrm-s6.svg Cjrm-s10.svg
    • Cjem-s0-1.svg :尸人
    • Cjem-s2-1.svg :尸山
    • Cjem-s3-1.svg :尸一口
    • Cjem-s6-1.svg :尸中尸中
    • Cjem-s9-1.svg ;尸十
T廿 twenty
    • Cjrm-t0.svg Cjrm-t1.svg Cjrm-t5.svg
    • Cjrm-t7.svg Cjrm-t8.svg Cjrm-t12.svg
    • Cjrm-t13.svg Cjrm-t10.svg
    • Cjem-t0-1.svg :廿一
    • Cjem-t1-1.svg :廿日
    • Cjem-t5-1.svg :廿日十
    • Cjem-t10-1.svg :卜心廿一
    • Cjem-t12-4.svg :月廿
    • Cjem-t13-3.svg :卜廿
U mountain
    • Cjrm-u0.svg Cjrm-u1.svg Cjrm-u2.svg
    • Cjrm-u4.svg
    • Cjem-u0-1.svg :人山
    • Cjem-u1-3.svg :月山
    • Cjem-u2-1.svg :弓木山
    • Cjem-u4-2.svg :廿山月
V woman
    • Cjrm-v0.svg Cjrm-v2.svg Cjrm-v6.svg
    • Cjrm-v8.svg Cjrm-v9.svg Cjrm-v10.svg
    • Cjem-v1-3.svg :戈竹一女
    • Cjem-v4-1.svg :一女弓一
    • Cjem-v9-1.svg :竹難女卜女
    • Cjem-v10-5.svg :手一女
W field Cjrm-w0.svg Cjrm-w1.svg Cjrm-w3.svg
    • Cjem-w0-2.svg :十田十
    • Cjem-w1-1.svg :田戈口一
    • Cjem-w3-2.svg :田十
Y fortune telling
    • Cjrm-y0.svg Cjrm-y3.svg Cjrm-y6.svg
    • Cjrm-y11.svg
    • Cjem-y0-2.svg :弓戈卜
    • Cjem-y2-1.svg :卜戈竹山
    • Cjem-y6-7.svg :一中月卜
    • Cjem-y7-4.svg :卜女女女
Collision/

Difficult key*

X difficult
    • (1) disambiguation of Cangjie code decomposition collisions
    • (2) code for a "difficult-to-decompose" part
Special character key*Z collisionThis key is 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 other variants, Z may have the name "user-defined" () or some other name.

WildcardShift + 8 (*)WildcardIt can replace any in-between keys. It is useful for unknown guesses when you are sure about the first and last input. E.g. Input * will include: , , , (in this case, the output is identical to that of Simplified Cangjie.)

The auxiliary shapes of each Cangjie radical have changed slightly across different versions of the Cangjie method. Thus, this is one reason that different versions of the Cangjie method are not completely compatible.

Chu also provided alternate names for some letters according to their characteristics as a mnemonics. They form a rhyme to help learners memorize the letters, each group being in a line: [5]

Original keysMnemonics




廿




Keyboard layout

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

Basic rules

There are several general decomposition rules (拆字規則) that define how to analyze a character to arrive at a Cangjie code, as follows: [6]

The rules are subject to various principles: [7]

Examples

Typing Chinese with Cangjie input method version 5
Typing Chinese with Cangjie input method on an Android device

Exceptions

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

FormFixed decomposition
Version 2Version 3Version 5
(door) (AN)
(eye) (BU)
(ghost) (HI) (HI) or HUI
(small table) (HU) (HN)
(win) (YRBBN) (YNBUC)
(tiger [radical]) (YP)
on top of () (YR) (YVR)
(fowl) (OG)
(air [radical]) (OU) (ON) (OMN)
minus the (VI)
(compete) (LN)
(mound or city radical) (NL)

Some forms cannot be decomposed. They are represented by an X, which is the key on a Cangjie keyboard. [8]

FormFixed decomposition (v5)
(HX)
(HXYC)
(HXBC)
廿 (HXBT)
(VLXH)
(YX)
廿 (TXC)
鹿 (IXP)
(HXH)
(NX)
(RXU)
(NXU)
(IXF)
(IXE)
(ELXL)
(LX)

Early development

Initially, the Cangjie input method was not intended to produce a character in any character set. Instead, it was part of an integrated system consisting of the Cangjie input rules and a Cangjie controller board. This 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 the Apple II. In the preface of the Cangjie user's manual, Chu Bong-Foo wrote in 1982:

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

Demonstration of character generator Mingzhu's capability to generate characters according to the codes. The first character is  ([?] 
Shi Ta ), which denotes a kind of soup in Xuzhou cuisine. Mingzhu xiaoziku1.PNG
Demonstration of character generator Mingzhu's capability to generate characters according to the codes. The first character is 𮨻 (⿰飠它), which denotes a kind of soup in Xuzhou cuisine.

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 and the actual string "yk" is stored. The Cangjie code for each character (a string of 1 to 5 lowercase letters plus a space) was the encoding of that particular character.

A particular "feature" of this early system is that, if one sends random lowercase words to it, the character generator will attempt to construct Chinese characters according to the Cangjie decomposition rules, sometimes causing strange, unknown characters to appear. This unintended feature, "automatic generation of characters", is described in the manual and is responsible for producing more than 10,000 of the 15,000 characters that the system can handle. The name Cangjie, evocative of the creation of new characters, was indeed 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, which is used for the disambiguation of decomposition collisions: because characters are "chosen" when the codes are "output", every character that can be displayed must in fact have a unique Cangjie decomposition. It would not make sense—nor would it be practical—for the system to provide a choice of candidate characters when a random text file is displayed, as the user would not know which of the candidates is correct.

Issues

Steep learning curve

Cangjie was designed to be an easy-to-use system to help promote the use of Chinese computing. However, many users find Cangjie is difficult to learn and use, with many difficulties caused by poor instruction.[ citation needed ]

With enough practice, users can overcome the above problems. Typical touch-typists can type Chinese at 25 characters per minute (cpm), or better, using Cangjie, despite having difficulty remembering the list of auxiliary shapes or the decomposition rules. Experienced Cangjie typists can reportedly attain a typing speed from 60 cpm to over 200 cpm.[ citation needed ]

According to Chen Minzheng, his teaching experience at Longtian Elementary School in Taitung in 1990, the average typing speed of children was 90 words per minute, and some children even reached more than 130 words per minute. [9] [ better source needed ]

Limitations in implementation

The decomposition of a character depends on a predefined set of "standard shapes" (標準字形). However, as many variations of Cangjie exist in different countries, the standard shape of a certain character in Cangjie is not always the one the user has learnt before. Learning Cangjie then entails learning not only Cangjie itself but also unfamiliar standard shapes for some characters. The Cangjie input method editor (IME) does not handle mistakes in decomposition except by informing the user (usually by beeping) that there is a mistake. However, Cangjie is originally designed to assign different codes to different variants of a character. For example, in the Cangjie provided on Windows, the code for is YHHQM, which corresponds not to the shape of this character but to another variant, . This is a problem resulting from the implementation of Cangjie on Windows. In the original Cangjie, should be YKMHM (the first part is ) while is YHHQM (the first part is ).

Punctuation marks are not geometrically decomposed, but rather given predefined codes that begin with ZX followed by a string of three letters related to the ordering of the characters in the Big5 code. (This set of codes was added to Cangjie on the traditional Chinese version of Windows 95. On Windows 3.1, Cangjie did not have a set of codes for punctuation marks.) Typing punctuation marks in Cangjie thus becomes a frustrating exercise involving either memorization or pick-and-peck. However, this is solved on modern systems through accessing a virtual keyboard on screen (On Windows, this is activated by pressing Ctrl + Alt + comma key).

Commonly-made errors include not considered as alternative codes. For example, if one does not decompose from top to bottom into YHS, but instead type YSH according to stroke order, Cangjie does not return the character as a choice.

Since Cangjie requires all 26 keys of the QWERTY keyboard, it cannot be used to input Chinese characters on feature phones, which have only a 12-key keypad. Alternative input methods, such as Zhuyin, 5-stroke (or 9-stroke by Motorola), and the Q9 input method, are used instead.

Versions

The Cangjie input method is commonly said to have gone through five generations (commonly referred to as "versions" in English), each of which is slightly incompatible with the others. Currently, version 3 is the most common and supported natively by Microsoft Windows. Version 5, supported by the Free Cangjie IME and previously the only Cangjie supported by SCIM, represents a significant minority method and is supported by iOS, and supported by Microsoft Windows since Windows Vista. Before Windows Vista, Microsoft Windows needs to install HKSCS update to support Cangjie Version 5. [10]

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

The Cangjie input method supported on the classic Mac OS resembles both Version 3 and Version 5.

Version 5, like the original Cangjie input method, was created directly by Chu. He had hoped that the release of Version 5, originally slated to be Version 6, would bring an end to the "more than ten versions of Cangjie input method" (slightly incompatible versions created by different vendors).

Version 6 has not yet been released to the public, but is being used to create a database which can accurately store every historical Chinese text.

Variations

Most modern implementations of Cangjie input method editors (IME) provide various convenient features:

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

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

Applications

Many researchers have discussed ways to decompose Chinese characters into their major components, and tried to build applications based on the decomposition system. The idea can be referred to as the study of the Genes of Chinese Characters  [ zh ]. Cangjie codes offer a basis for such an endeavour. Academia Sinica in Taiwan [11] and Jiaotong University in Shanghai [12] have similar projects as well.

One direct application of the use of decomposed characters is the possibility of computing the similarities between different Chinese characters. [13] The Cangjie input method offers a good starting point for this kind of application. By relaxing the limit of five codes for each Chinese character and adopting more detailed Cangjie codes, visually similar characters can be found by computation. Integrating this with pronunciation information enables computer-assisted learning of Chinese characters. [14]

See also

References

Citations

  1. A spelling used as filename on ETen Chinese System.
  2. Chu, Chyi-Hwa (朱麒華) (1 February 2012). "教育科技的專利與普及". National Academy for Educational Research e-Newsletter (in Chinese). Archived from the original on 25 August 2022. Retrieved 14 December 2022.
  3. Chu Bong-foo (朱邦復). "智慧之旅". 開放文學 (in Traditional Chinese). Archived from the original on 19 October 2017. Retrieved 8 June 2017.
  4. 1 2 "倉頡輸入法/輔助字形 - 维基教科书,自由的教学读本". zh.wikibooks.org (in Chinese). Retrieved 2024-12-06.
  5. 零壹科技股份有限公司 1984 , p. 13
  6. 零壹科技股份有限公司 1984 , p. 2
  7. 零壹科技股份有限公司 1984 , pp. 2–3
  8. "倉頡取碼規則及方法" [Cangjie code retrieval rules and methods]. Friends of Cangjie (in Chinese). 1997–2002. Archived from the original on 1 January 2019. Retrieved 2 October 2020.
  9. https://www.chinesecj.com/forum/forum.php?mod=attachment&aid=MTIwNnw1MjMxNmQwMXwxNjg2OTYyNTE4fDB8MTUwMjQ%3D page 58
  10. "FAQ: How to enable Cantonese characters and Unicode CKJ extensions in Windows :: Pinyin Joe". www.pinyinjoe.com. Retrieved 2025-04-26.
  11. "漢字構形資料庫" [Chinese Character Configuration Database]. Chinese Document Processing Lab (in Chinese). 2013. Archived from the original on 27 July 2020. Retrieved 2 October 2020.
  12. 上海交通大學漢字編碼組,上海漢語拼音文字研究組編著。漢字信息字典。北京市科學出版社,1988。
  13. 宋柔,林民,葛詩利。漢字字形計算及其在校對系統中的應用,小型微型計算機系統,第29卷第10期,第1964至1968頁,2008。
  14. Liu, Chao-Lin; Lai, Min-Hua; Tien, Kan-Wen; Chuang, Yi-Hsuan; Wu, Shih-Hung; Lee, Chia-Ying (2011). "Visually and phonologically similar characters in incorrect Chinese words: Analyses, identification, and applications". ACM Transactions on Asian Language Information Processing. 10 (2): 1–39. doi:10.1145/1967293.1967297. S2CID   7288710.

Sources

  • 零壹科技股份有限公司 (1984). 倉頡第三代中文字母輸入法: 倉頡字母, 部首, 注音三用檢字對照[The Third Generation Cangjie Chinese Input Method: Cangjie, radicals, and Zhuyin Dictionary].
  • 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 provides software for version 5 of the Cangjie method for Microsoft Windows.
  • It might be difficult to find specific references to the "not error-forgiving" property of Cangjie. The table at https://web.archive.org/web/20050206223713/http://www.array.com.tw/keytool/compete.htm is one external reference that states this fact.
  • Input.foruto.com 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.
  • Cbflabs.com contains a number of articles written by 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.