//Input Method text file format introduction
//Lines starting with '//' is comment
//All [section] and key=??? marked with * is necessary

//*[Description]
//  This section describe basic attributes of Input Method.
//*CharSet=ChineseBIG5
//  The char set of current DBCS(Double Byte Character Set)
//  Maybe: ChineseGB, ChineseBIG5, JapaneseJIS, JapaneseSJIS, KoreanKSC
//
//*ID=XXXX
//  Identifying this Input Method. This field must be unique 
//  in different Input Method, and must be within 4 characters length.
//  If you want setup a Input Method, you'd better apply a unique 
//  Id from us.
//
//*FullName=Sample Input Method
//  The full name of this Input Method can be ASCII string 
//  or DBCS in current CharSet. The maximum reaches 28 characters long.
//
//*Name=Samp
//  The short name of this Input method can be ASCII string
//  or DBCS string in this CharSet. The maximum reaches 4 characters long.
//
//Version=Version 1.0
//Copyright=XXXXX XXXXXXXX XXXXXXXXxxx
//Author=XXXX XXX

//*CodingStyle=2
//  1:Coded with equal length, has less multiple codes (WBZX, CangJie, etc.)
//  2:Coded with different length, has more multiple codes (PinYin, Cantonese, ZhuYin, etc.)
//
//*UsedCodes=abcdefghijklmnopqrstuwyz
//  Codes to used to input with this Input Method
//
//DispalyCodes=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z
//  UsedCodes display as DispalyCodes, DispalyCodes contrasting with UsedCodes one by one
//  can be ASCII or DBCS
//
//WildChar=?
//  Query key, used to lookup Input Method darkly.
//
//SeparateChar='
//  This is valid when CodingStyle=2, used to separate input code string.
//  system can separate input code string automaticly, but sometimes it can't.
//  Example: pi'ao, it can be "piao" or "pi ao", so you must use SeparateChar
//  to separate.
//
//*MaxCodes=6
//  The max length of codes of DBCS.
//
//*AutoSelectKeys=5
//  System can auto select after AutoSelectKeys codes has been input.
//
//KeyboardBitmap=IMSample.bmp
//  The bitmap file of keyboard, only accept 16 bit 2 color bitmap,
//  and must be 156X53 or 154X54.
//
//
//[KeyMapTable]
//  This section describe kebaord map of Input Method.
//  The keyboard is 4 Rows and 12 Columns, you can map a key to a ASCII 
//  or a DBCS character. 
//  when you map a key to ',' or control key, you must use hex format, 
//  example:0x2C,0xA, 0x0......
//  Use above method, you can map a key to LineFeed, Backspace, Tab,
//  LeftArrow, RightArrow, UpArrow, DownArrow, PageUp, PageDown, etc.
//  0x2C=',',  0xA=LineFeed, 0x8=Backspace, 0x09=Tab
//  0x1C=LeftArrow, 0x1D=RightArrow, 0x1E=UpArrow, 0x1F=DownArrow
//  0x0B=PageUp, 0x0C=PageDown
// Example
////COl 1  2  3  4  5  6  7     8  9 10 11  12
//Row1= 1, 2, 3, 4, 5, 6, 7,    8, 9, ', ?,0x1E
//Row2= q, w, e, r, t, y, u,    i, o, p,,0x1F
//Row3= a, s, d, f, g, h, j,    k, l, ;,,0x1C
//Row4= z, x, c, v, b, n, m, 0x2C, .,,,0x1D
//
//
//[Rules]
//  This section describe The rules for phrase coding, to be used to input DBCS phrase.
//  Rules are constituted with several expression, which have following format:
//  p[Logic][Phrase length]=[Order Type][DBCS Order][Code Order]
//                         +[Order Type][DBCS Order][Code Order]
//                        +{[Order Type][DBCS Order][Code Order]+...}
//explanation
//Phrase ID      p:Phrase, must be p
//Logic          e:equal, a:equal or above
//Phrase length  1-F indicate phrase length is 1-15 DBCSs
//Order Type     f:Forward, b:Backward
//DBCS Order     1-F indicate the 1st-15st DBCS
//Code Order     DBCS code order, Range:0-MaxCodes. 0->use all code of the DBCS
//
//example
//pe2=f11+f12+f21+f22  Two DBCSs phrase, code phrase with the 1st code and 2nd code of 1st DBCS,
                       and the 1st code and 2nd code of 2nd DBCS.
//pe2=f10+f20          Two DBCSs phrase, code phrase with all codes of 1st DBCS and 2nd DBCS.
//pa4=f11+f21+f31+b11  four or above four DBCSs phrase, code phrase with the 1st code of 1st, 
                       2nd, 3rd DBCS, and the 1st code of the last one DBCS.

//[Help]
//  Some introdution of this Input Method
//
//*[Text]
//DBCS coding section
//exaple:
//B am ham hom hum
//C gaap
//D jaat

[Description]
CharSet=ChineseBIG5
ID=hkCT
FullName=BIG5 Cantonese HongKong
Name=HKCT
Version=Version 1.0
CodingStyle=2
UsedCodes=abcdefghijklmnopqrstuwyz
DispalyCodes=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z
WildChar=?
SeparateChar='
MaxCodes=6
AutoSelectKeys=5
KeyboardBitmap=IMHKCT.bmp

[KeyMapTable]
//COl 1  2  3  4  5  6  7  8  9 10 11 12
Row1= ',N,A,\,,,Y,,,,K,A
Row2= q, w, e, r, t, y, u, i, o, p,G,C
Row3= a, s, d, f, g, h, j, k, l,,I,B
Row4= z, x, c, v, b, n, m,i,],F,H,u

[Rules]
pa4=f10+f20+f30+f40
pe2=f10+f20
pe3=f10+f20+f30

[Help]
c餤sFrJk
ҽkd:?
սsXWh:
j:'
Gr: Ĥ@BGrsXC
Tr: Ĥ@BGBTrsXC
|rΥ|rHW: Ĥ@BGBTB|rsXC

[Text]
B am ham hom hum
C gaap
D jaat
E tum
H leung
J ya
K au ngaau
L chuen
M wan
N hung
P daam
Q haau hau
R bo
S saam
T chong
U laap lap
X nip
Y chung
Z joh
[ na
_ dei
` toi
b ngaam ngam
c gip
d bei
g heung
i yin
j paau
k fung
l lum num
m dau
n je jeh
o gaai kai
q bo po
r chea cheh
z gaan kan
} ha
~ gwa
 dang
 lee lei
 chung
 king
 jeuk
 ngan
 ja
 au ngau
 oh or
 dick dik
 hai
 daap dip
 ga
 geh gei kei ki
 aak ak ngaak
 lip
 wooi wui
 kwo
 chong jong
 na
 goh ko koh
 sau shau
 ye yeah yeh
 saai
 ma
 ma
 chi
 leng
 tong
 ap up
 boh
 fan fun
 jaang
 yun
 wai
 nung
 koi
 sung
 gip kip
 kam kum
 moh mor
 lai
 baan
 chaang
 jak
 wa waak wak
 tit
 kong kwong
 lap
 law loh
 lei nei ni
 kuet
 ngoi
 kwan
 chung jung
 baak
 suen
 daam
 sin
 taai tai
 kau
 bo
 jaak
 geung keung
 leung
@ yiu
A chong
B hok
C jin
D cheung
H daam
K kei
L taai
M jin
N mong
P kwan
] sin
g biu
 jui
 chung
 juk suk
 chue chui
 ha
 chaak
 oi
 ho
 moh mor
 hak
[ pin
n seung sheung
 chun jun
 gaan kan
 wo woh
 hin
M ho
U oi
n lau
p gaan kan
 foo fu
 baang
 man
 lun
 mat
 fat
O seung sheung
m so sok
x gaan kan
} toh
 sin
 fat
 ngo ngoh ngor
 gai kai
