There is a very cool free input platform called the Smart Common Input Method being developed for the free software community that will put commercial input methods to shame. But the developers need help doing the pinyin mapping for traditional Chinese. The debian package is called scim. I will create a testing package for people to play with once we’ve checked it.
Please help me check the following map of initials and finals to pinyin. The code here maps hanyu pinyin initials and finals to a standard Zhuyin keyboard. So for example, pressing ‘b’ is equivalent tp pressing 1 on a standard traditional Chinese keyboard.
Please be very careful. This code will go out to to hundreds of thousands of users, so we need to be as accurate as possible. Please post your corrections to the SCIM-MAPon ForumsaWiki.
If you checked the chart and found no errors, please post a reply to this thread saying no errors.
static PinYingZuinMap* InitialsMap()
{
HANYU_INITIALS = 26;
static PinYingZuinMap map[ 26 ] = {
{“b” , “1”}, {“p” , “q”}, {“m” , “a”}, {“f” ,“z”},
{“d” , “2”}, {“t” , “w”}, {“n” , “s”}, {“l” ,“x”},
{“g” , “e”}, {“k” , “d”}, {“h” , “c”},
{“j” , “r”}, {“q” , “f”}, {“x” , “v”},
{“zhi”, “5”}, {“zh”, “5”}, {“chi”, “t”}, {“ch”, “t”},
{“shi”, “g”}, {“sh”, “g”}, {“ri”, “b”}, {“r” ,“b”},
{“z” , “y”}, {“c” , “h”}, {“s” , “n”}
};
return map;
}
static PinYingZuinMap* FinalsMap()
{
HANYU_FINALS = 72;
static PinYingZuinMap map[ 72 ] = {
{“uang”,“j;”}, {“wang”,“j;”},
{“wong”,“j/”}, {“weng”,“j/”},
{“ying”,“u/”},
{“iong”,“m/”}, {“yong”,“m/”}, {“iung”,“m/”}, {“yung”,“m/”},
{“iang”,“u;”}, {“yang”,“u;”},
{“iuan”,“m0”}, {“yuan”,“m0”},
{“ing”,“u/”},
{“iao”,“ul”}, {“yao”,“ul”},
{“iun”,“mp”}, {“yun”,“mp”},
{“iou”,“u.”}, {“you”,“u.”},
{“ian”,“u0”}, {“yan”,“u0”},
{“yin”,“up”},
{“ang”,";"},
{“eng”,"/"},
{“iue”,“m,”}, {“yue”,“m,”},
{“uai”,“j9”}, {“wai”,“j9”},
{“uei”,“jo”}, {“wei”,“jo”},
{“uan”,“j0”}, {“wan”,“j0”},
{“uen”,“jp”}, {“wen”,“jp”},
{“ong”,“j/”},
{“van”,“m0”},
{“ven”,“mp”},
{“er”,"-"},
{“ai”,“9”},
{“ei”,“o”},
{“ao”,“l”},
{“ou”,"."},
{“an”,“0”},
{“en”,“p”},
{“yi”,“u”},
{“ia”,“u8”}, {“ya”,“u8”},
{“ie”,“u,”}, {“ye”,“u,”},
{“in”,“up”},
{“io”,“u.”},
{“wu”,“j”},
{“ua”,“j8”}, {“wa”,“j8”},
{“uo”,“ji”}, {“wo”,“ji”},
{“ui”,“jo”},
{“iu”,“m”}, {“yu”,“m”},
{“ue”,“m,”}, {“ve”,“m,”},
{“un”,“mp”}, {“vn”,“mp”},
{“a”,“8”},
{“e”,“k”},
{“i”,“u”},
{“o”,“i”},
{“v”,“m”},
{“u”,“j”},
{“E”,","}
};
return map;