Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 7fe1645125ee6a09b313e1bec6307060 > files > 49

anthy-9100h-25.20110409.14.mga7.i586.rpm

* Anthy Input ¥é¥¤¥Ö¥é¥ê¤Î»ÈÍÑÊýË¡¤ÎÀâÌÀ *

 * º£¤«¤é¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò½ñ¤¯¾ì¹ç¤Ë¤Ïuim¤ÎÍøÍѤò¤ªÁ¦¤á¤·¤Þ¤¹¡£

¥é¥¤¥Ö¥é¥ê¤Î¥ª¥×¥·¥ç¥ó	-lanthyinput -lanthy -lanthydic
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë	anthy/anthy.h anthy/input.h
                          (anthy/anthy.h ¤òÀè¤Ë¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È)

* ¥Ç¡¼¥¿·¿¤Î³µÀâ *
anthy_input_config  ¥í¡¼¥Þ»úÊÑ´¹¤ÎÀßÄê¤Ê¤É¤ËÍѤ¤¤ë¡£
¥é¥¤¥Ö¥é¥ê¤Î¥æ¡¼¥¶¤ÏÃæ¿È¤ò¤ß¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
anthy_input_context ÆþÎϤΥ³¥ó¥Æ¥­¥¹¥È¤ò¼±Ê̤¹¤ë¤¿¤á¤ËÍѤ¤¤ë¡£
¥é¥¤¥Ö¥é¥ê¤Î¥æ¡¼¥¶¤ÏÃæ¿È¤ò¤ß¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
anthy_input_preedit ¥é¥¤¥Ö¥é¥ê¤«¤é¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òÆÀ¤ë¤È¤­¤ËÍѤ¤¤é¤ì¤ë¡£
¥×¥ê¥¨¥Ç¥£¥Ã¥ÈÁ´ÂΤòɽ¤¹¡£
anthy_input_segment ¥é¥¤¥Ö¥é¥ê¤«¤é¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òÆÀ¤ë¤È¤­¤ËÍѤ¤¤é¤ì¤ë¡£
¸õÊä¤òÆÀ¤ë¤È¤­¤Ë¤âÍѤ¤¤é¤ì¤ë¡£Ê¸Àá¤òɽ¤¹¡£

char * ¥¨¥ó¥³¡¼¥É¤Ë¤ÏEUC-JP¤òÍøÍѤ¹¤ë¡£

* ´Ø¿ô¤Î³µÀâ *
½é´ü²½´Ø¿ô¤Ê¤É
 anthy_input_init		¥é¥¤¥Ö¥é¥ê¤Î½é´ü²½
 anthy_input_set_personality	¥Ñ¡¼¥½¥Ê¥ê¥Æ¥£¤ÎÀßÄê
¥³¥ó¥Æ¥­¥¹¥È¤Î´ÉÍý
 anthy_input_create_context	ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤ÎºîÀ®
 anthy_input_free_context	ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤Î²òÊü
ÀßÄê
 anthy_input_create_config	¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤ÎºîÀ®
 anthy_input_free_config	¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Î²òÊü
 anthy_input_edit_toggle_config	±Ñ¿ô¤È¤Î°ì»þŪ¥È¥°¥ë¤Ë»È¤¦¥­¡¼¤ÎÊѹ¹
 anthy_input_edit_rk_config	¥­¡¼¤Èʸ»ú¤ÎÂбþ¤ÎÊѹ¹
 anthy_input_clear_rk_config	¥­¡¼¤Èʸ»ú¤ÎÂбþ¤ò¥Ç¥Õ¥©¥ë¥È¤ËÌ᤹
 anthy_input_change_config	ÀßÄê¤ÎÊѹ¹¤ÎÄÌÃÎ
¥³¥ó¥Æ¥­¥¹¥È¤ÎÁàºî(ľÀÜŪ¤ÊÁàºî)
 anthy_input_str		ʸ»úÎó¤ÎÄɲÃ
 anthy_input_next_candidate	¼¡¤Î¸õÊä(ÁªÂòÃæ¤ÎʸÀá¤ËŬÍÑ)
 anthy_input_prev_candidate	Á°¤Î¸õÊä(ÁªÂòÃæ¤ÎʸÀá¤ËŬÍÑ)
 anthy_input_quit		ÊÑ´¹¤ò¥­¥ã¥ó¥»¥ë(1Ãʳ¬)
 anthy_input_erase_prev		¥«¡¼¥½¥ëÁ°¤Îʸ»ú¤òºï½ü
 anthy_input_erase_next		¥«¡¼¥½¥ë¸å¤Îʸ»ú¤òºï½ü
 anthy_input_commit		³ÎÄê
 anthy_input_move		¥«¡¼¥½¥ë¡¢ÁªÂòÃæʸÀá¤ò°ÜÆ°
 anthy_input_resize		ÁªÂòÃæʸÀá¤ÎŤµ¤òÊѹ¹
 anthy_input_beginning_of_line  ¥×¥ê¥¨¥Ç¥£¥Ã¥ÈÀèƬ¤Ë°ÜÆ°
 anthy_input_end_of_line        ¥×¥ê¥¨¥Ç¥£¥Ã¥ÈËöÈø¤Ë°ÜÆ°
 anthy_input_cut                ʸ»úÎó¤ÎÀÚ¤ê¼è¤ê
¥³¥ó¥Æ¥­¥¹¥È¤ÎÁàºî(¥­¡¼¤ËÂбþ¤·¤¿Æ°ºî)
 anthy_input_key		1ʸ»ú¤ÎÄɲÃ
 anthy_input_space		¥¹¥Ú¡¼¥¹¤Þ¤¿¤ÏÊÑ´¹(¥³¥ó¥Æ¥­¥¹¥È°Í¸)
¥³¥ó¥Æ¥­¥¹¥È¤ÎÁàºî(¤½¤Î¾)
 anthy_input_get_state          ¸½ºß¤Î¾õÂ֤μèÆÀ
 anthy_input_get_preedit	¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òÆÀ¤ë
 anthy_input_map_select		¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¥Þ¥Ã¥×¤ÎÀÚÂؤ¨
 anthy_input_get_selected_map   ¸½ºß¤Î¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¥Þ¥Ã¥×¤Î¼èÆÀ
 anthy_input_get_candidate	¸õÊäÈÖ¹æ¤ò»ØÄꤷ¤Æ¸õÊä¤òÆÀ¤ë
 anthy_input_select_candidate	¸õÊäÈÖ¹æ¤ò»ØÄꤷ¤Æ¸õÊä¤òÁª¤Ö
 anthy_input_free_preedit	¥×¥ê¥¨¥Ç¥£¥Ã¥È¤Î²òÊü
					(°¤¹¤ëʸÀṽ¤ÂΤâƱ»þ¤Ë²òÊü¤¹¤ë)
 anthy_input_free_segment	ʸÀá¤Î²òÊü
ÀßÄê¤ÎÊѹ¹
 anthy_input_map_edit		¥í¡¼¥Þ»ú²¾Ì¾ÊÑ´¹¥Þ¥Ã¥×¤ÎÊÔ½¸(̤Âбþ)

* ¾õÂÖ *
 ÂÔµ¡¾õÂÖ(1)     ¥×¥ê¥¨¥Ç¥£¥Ã¥È¤Ï¸ºß¤·¤Ê¤¤
 ÊÔ½¸Ãæ¾õÂÖ(2)   ¥í¡¼¥Þ»úÆþÎÏÃæ¤Î¾õÂÖ¡£
                 ¥«¡¼¥½¥ë°ÌÃÖ¤ÎʸÀá¤Ëʸ»úÎ󤬤ʤ¤¡£
                 ÁªÂòÃæʸÀá¤Ï¥«¡¼¥½¥ë°ÌÃÖ¤ÎʸÀá¤ò»Ø¤·¤Æ¤¤¤ë¡£
 ÊÑ´¹Ãæ¾õÂÖ(3)   ÊÑ´¹Ãæ¤Î¾õÂÖ¡£
 ʸÀá¿­½Ì¾õÂÖ(4) ʸÀá¿­½ÌÃæ¤Î¾õÂÖ¡£
                 ÁªÂòÃæʸÀá°Ê¹ß¤Ï¤¹¤Ù¤ÆÊ¿²¾Ì¾¤Ë¤Ê¤ë¡£
                 ÁªÂòÃæʸÀá¤è¤ê¸å¤í¤ÏÁ´¤Æ¤Þ¤È¤á¤Æ°ìʸÀá¤Ë¤Ê¤ë¡£

* ³Æ´Ø¿ô¤ÎÀâÌÀ *
 int anthy_input_init(void);
 °ú¿ô: ̵¤·
 ÊÖ¤êÃÍ: 0 ¤Ê¤éÀ®¸ù -1 ¤Ê¤é¼ºÇÔ
 ¥é¥¤¥Ö¥é¥ê¤ò½é´ü²½¤¹¤ë¡£anthy¥é¥¤¥Ö¥é¥ê¤â½é´ü²½¤¹¤ë¡£

 struct anthy_input_config* anthy_input_create_config(void);
 °ú¿ô: ̵¤·
 ÊÖ¤êÃÍ: ÀßÄ깽¤ÂΤΥݥ¤¥ó¥¿
 ÀßÄ깽¤ÂΤòÆÀ¤ë¡£ÀßÄ깽¤ÂΤϥǥե©¥ë¥ÈÃͤǽé´ü²½¤µ¤ì¤Æ¤¤¤ë¡£

 void anthy_input_free_config(struct anthy_input_config* cfg);
 °ú¿ô: ÀßÄ깽¤ÂΤΥݥ¤¥ó¥¿
 ÊÖ¤êÃÍ: ̵¤·
 ÀßÄ깽¤ÂΤò²òÊü¤¹¤ë¡£¤³¤ÎÀßÄê¤ò¶¦Í­¤¹¤ëÁ´¤Æ¤ÎÆþÎÏ¥³¥ó¥Æ¥­
 ¥¹¥È¤ò»öÁ°¤Ë²òÊü¤¹¤ë»ö¡£

 anthy_input_set_personality(char *personality);
 °ú¿ô: personality ¥Ñ¡¼¥½¥Ê¥ê¥Æ¥£¤Î̾Á°
 ÊÖ¤êÃÍ: ̵¤·

 struct anthy_input_context* 
 anthy_input_create_context(struct anthy_input_config* cfg);
 °ú¿ô: cfg ÀßÄ깽¤ÂΤΥݥ¤¥ó¥¿
 ÊÖ¤êÃÍ: ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤Î¥Ý¥¤¥ó¥¿
 ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤Î¥Ý¥¤¥ó¥¿¤òÆÀ¤ë¡£°ú¿ô¤ËÍ¿¤¨¤¿ÀßÄ깽¤ÂΤË
 ŬÍѤ·¤¿Áàºî¤Ï¡¢ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤òºî¤Ã¤¿¸å¤Ë¤Ç¤â¡¢¤¹¤°¤ËÆþ
 ÎÏ¥³¥ó¥Æ¥­¥¹¥È¤ËÈ¿±Ç¤µ¤ì¤ë¡£
 ¥³¥ó¥Æ¥­¥¹¥È¤ÏÂÔµ¡¾õÂ֤ǺîÀ®¤µ¤ì¤ë¡£

 void anthy_input_free_context(struct anthy_input_context* ictx);
 °ú¿ô: ictx ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È
 ÊÖ¤êÃÍ: ¤Ê¤·
 ÆþÎÏ¥³¥ó¥Æ¥­¥¹¥È¤ò²òÊü¤¹¤ë¡£

 void anthy_input_str(struct anthy_input_context* ictx, char* str);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       str Äɲ乤ëʸ»úÎó
 ÊÖ¤êÃÍ: ̵¤·
 Äɲ乤ëʸ»úÎó¤Ï¥í¡¼¥Þ»ú(Ⱦ³Ñ)¤ÇÆþÎϤ¹¤ë¡£
 ÂÔµ¡¾õÂÖ¤ÈÊÔ½¸Ãæ¾õÂ֤Ǥϥץꥨ¥Ç¥£¥Ã¥È¤Ëʸ»úÎó¤òÄɲ乤롣
 ÊÑ´¹Ãæ¾õÂÖ¤ÈʸÀá¿­½Ì¾õÂ֤Ǥϥץꥨ¥Ç¥£¥Ã¥È¤ò¤½¤Î¾õÂ֤dzÎÄꤷ¤Æ¡¢
 ¿·¤¿¤Ëstr¤À¤±¤ò»ý¤Ä¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òºî¤ë¡£
 ¸Æ½Ð¸å¤ÏÊÔ½¸Ãæ¾õÂ֤ˤʤ롣

 void anthy_input_next_candidate(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂ֤ǤÏÁ´Ê¸Àá¤òÊÑ´¹¤·¡¢ÊÑ´¹Ãæ¾õÂ֤ˤϤ¤¤ë¡£
 ÊÑ´¹Ãæ¾õÂ֤ǤÏÁªÂòÃæʸÀá¤Î¸õÊä¤ò¼¡¤Î¸õÊä¤Ë¤¹¤ë¡£
 ʸÀá¿­½Ì¾õÂ֤ǤÏÁªÂòÃæʸÀá°Ê¹ß¤òÊÑ´¹¤·¡¢ÊÑ´¹Ãæ¾õÂÖ¤ËÆþ¤ë¡£

 void anthy_input_prev_candidate(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂ֤ǤÏÁ´Ê¸Àá¤òÊÑ´¹¤·¡¢ÊÑ´¹Ãæ¾õÂ֤ˤϤ¤¤ë¡£
 ÊÑ´¹Ãæ¾õÂ֤ǤÏÁªÂòÃæʸÀá¤Î¸õÊä¤òÁ°¤Î¸õÊä¤Ë¤¹¤ë¡£
 ʸÀá¿­½Ì¾õÂ֤ǤÏÁªÂòÃæʸÀá°Ê¹ß¤òÊÑ´¹¤·¡¢ÊÑ´¹Ãæ¾õÂÖ¤ËÆþ¤ë¡£

 void anthy_input_quit(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂ֤ǤÏÂÔµ¡¾õÂ֤ˤʤ롣
 ÊÔ½¸Ãæ¾õÂÖ¤ÈʸÀá¿­½Ì¾õÂ֤ǤÏÊÔ½¸Ãæ¾õÂ֤ˤʤ롣

 void anthy_input_erase_prev(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂÖ¤À¤±¤ÇÍ­¸ú¡£
 ¥«¡¼¥½¥ë¤ÎÁ°1ʸ»ú¤ò¾Ã¤¹¡£
 ¾Ã¤·¤¿·ë²Ì¥×¥ê¥¨¥Ç¥£¥Ã¥È¤¬¤Ê¤¯¤Ê¤ì¤Ð¡¢ÂÔµ¡¾õÂ֤ˤʤ롣

 void anthy_input_erase_next(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂÖ¤À¤±¤ÇÍ­¸ú¡£
 ¥«¡¼¥½¥ë¤Î¸å1ʸ»ú¤ò¾Ã¤¹¡£
 ¾Ã¤·¤¿·ë²Ì¥×¥ê¥¨¥Ç¥£¥Ã¥È¤¬¤Ê¤¯¤Ê¤ì¤Ð¡¢ÂÔµ¡¾õÂ֤ˤʤ롣

 void anthy_input_commit(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ¸½ºß¤Î¥×¥ê¥¨¥Ç¥£¥Ã¥È¤Î¾õÂ֤dzÎÄꤹ¤ë¡£
 ÂÔµ¡¾õÂÖ¤ËÌá¤ë¡£

 void anthy_input_move(struct anthy_input_context* ictx, int lr);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       lr °ÜÆ°Êý¸þ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂ֤Ǥϥ«¡¼¥½¥ë¤ò°ÜÆ°¤¹¤ë¡£
 ÊÑ´¹Ãæ¾õÂ֤ǤÏÁªÂòʸÀá¤ò°ÜÆ°¤¹¤ë¡£
 ʸÀá¿­½Ì¾õÂ֤ǤÏÊÑ´¹Ãæ¾õÂÖ¤ËÌá¤ê¡¢ÁªÂòʸÀá¤ò°ÜÆ°¤¹¤ë¡£
 lr = -1 ¤Çº¸°ÜÆ°¡¢ lr = 1 ¤Ç±¦°ÜÆ°¡£

 void anthy_input_resize(struct anthy_input_context* ictx, int lr);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       lr ¿­½ÌÊý¸þ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÑ´¹Ãæ¾õÂ֤ǤÏÁªÂòʸÀá¤ò¿­½Ì¤µ¤»¡¢Ê¸Àá¿­½Ì¾õÂ֤ˤʤ롣
 ʸÀá¿­½Ì¾õÂ֤ǤÏÁªÂòʸÀá¤ò¿­½Ì¤¹¤ë¡£
 lr = -1 ¤Ç½Ì¾®¡¢ lr = 1 ¤Ç¿­Ä¹¡£

 void anthy_input_beginning_of_line(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂÖ¤À¤±¤ÇÍ­¸ú¡£
 ¥«¡¼¥½¥ë¤ò¥×¥ê¥¨¥Ç¥£¥Ã¥È¤ÎÀèƬ¤Ë°ÜÆ°¤µ¤»¤ë¡£
 
 void anthy_input_end_of_line(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂÖ¤À¤±¤ÇÍ­¸ú¡£
 ¥«¡¼¥½¥ë¤ò¥×¥ê¥¨¥Ç¥£¥Ã¥È¤ÎËöÈø¤Ë°ÜÆ°¤µ¤»¤ë¡£
 
 void anthy_input_cut(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ÊÔ½¸Ãæ¾õÂÖ¤À¤±¤ÇÍ­¸ú¡£
 ¥«¡¼¥½¥ë°Ê¹ß¤Îʸ»úÎó¤ò¾Ã¤¹¡£¾Ã¤·¤¿Ê¸»úÎó¤Ïµ­²±¤·¤Æ¤¤¤ë¡£

 void anthy_input_str(struct anthy_input_context* ictx, char c);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       c Äɲ乤ëʸ»ú
 ÊÖ¤êÃÍ: ̵¤·
 anthy_input_key ¤È¤Û¤ÜƱ¤¸¡£¤¿¤À¤·¡¢ 1 ʸ»ú¤À¤±Äɲ乤롣

 void anthy_input_space(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ¥³¥ó¥Æ¥­¥¹¥È¤Ë±þ¤¸¤Æ¶õÇò¤ÎÄɲá¢ÊÑ´¹¤Î¤É¤Á¤é¤«¤Ë¤Ê¤ë¡£

 struct anthy_input_preedit*
 anthy_input_get_preedit(struct anthy_input_context* ictx);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ¸½ºß¤Î¥×¥ê¥¨¥Ç¥£¥Ã¥È
 ¸½ºß¤Î¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òÆÀ¤ë¡£ÆÀ¤¿¥×¥ê¥¨¥Ç¥£¥Ã¥È¤ò½ñ¤­´¹¤¨¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
 ¥×¥ê¥¨¥Ç¥£¥Ã¥È¤ÎÃæ¿È¤Ï¸å½Ò¡£

 int anthy_input_map_select(struct anthy_input_context* ictx, int map);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       map ¥Þ¥Ã¥×ÈÖ¹æ
 ÊÖ¤êÃÍ: À®¸ù 0 ¼ºÇÔ ¤½¤ì°Ê³°
 ¥í¡¼¥Þ»ú¤«¤é¤ÎÊÑ´¹¥Þ¥Ã¥×¤òÊѹ¹¤¹¤ë¡£ map ¤Ë»ØÄê¤Ç¤­¤ë¤Î¤Ï°Ê²¼¤ÎÄê¿ô
   MAP_HIRAGANA  ¤Ò¤é¤¬¤Ê
   MAP_KATAKANA  ¤«¤¿¤«¤Ê
   MAP_ALPHABET  ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È
   MAP_WALPHABET Á´³Ñ¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È

 struct anthy_input_segment* 
 anthy_input_get_candidate(struct anthy_input_context* ictx, int cand_no);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       cand_no ¸õÊäÈÖ¹æ
 ÊÖ¤êÃÍ: ÌÜŪ¤Î¸õÊä¤ò´Þ¤ó¤ÀʸÀṽ¤ÂÎ
 ÊÑ´¹Ãæ¾õÂ֤ǤÀ¤±Í­¸ú¡£
 ÁªÂòÃæʸÀá¤Î»ØÄꤷ¤¿ÈÖ¹æ¤Î¸õÊä¤òÆÀ¤ë¡£
 ¼¡¤Ë anthy_input_get_candidate ¤Ç¥×¥ê¥¨¥Ç¥£¥Ã¥È¤òÍ׵ᤷ¤¿»þ¤Ï¡¢ cand_no
 ¤Î¼¡¤Î¸õÊ䤬ÊÖ¤µ¤ì¤ë¡£

 int anthy_input_select_candidate(struct anthy_input_context* ictx, int cand);
 °ú¿ô: ictx ¥³¥ó¥Æ¥­¥¹¥È¹½Â¤ÂÎ
       cand_no ¸õÊäÈÖ¹æ
 ÊÖ¤êÃÍ: À®¸ù 0 ¼ºÇÔ ¤½¤ì°Ê³°
 ÊÑ´¹Ãæ¾õÂ֤ǤÀ¤±Í­¸ú¡£
 ÁªÂòÃæʸÀá¤Î»ØÄꤷ¤¿ÈÖ¹æ¤Î¸õÊä¤òÁªÂò¤·¡¢ÁªÂòÃæʸÀá¤ò±¦¤ÎʸÀá¤Ë°ÜÆ°¤µ¤»¤ë¡£

 void anthy_input_free_preedit(struct anthy_input_preedit* pedit);
 °ú¿ô: pedit ¥×¥ê¥¨¥Ç¥£¥Ã¥È¹½Â¤ÂÎ
 ÊÖ¤êÃÍ: ̵¤·
 ¥×¥ê¥¨¥Ç¥£¥Ã¥È¹½Â¤ÂΤò²òÊü¤¹¤ë¡£

 void anthy_input_free_segment(struct anthy_input_segment* cand);
 °ú¿ô: cand ʸÀṽ¤ÂΡ£
 ÊÖ¤êÃÍ: ̵¤·
 ʸÀṽ¤ÂΤò²òÊü¤¹¤ë¡£

* ¥Ç¡¼¥¿·¿¤ÎÀâÌÀ *
struct anthy_input_preedit {
  int state;                                      /* ¾õÂÖ */

  char* commit;                                   /* ³ÎÄêʸ»úÎó */
  char* cut_buf;                                  /* ÀÚ¤ê¼è¤Ã¤¿Ê¸»úÎó */

  struct anthy_input_segment* segment;            /* ʸÀá¥ê¥¹¥È */
  struct anthy_input_segment* cur_segment;        /* ÁªÂòÃæ¤ÎʸÀá */
};

 state: ¸½ºß¤Î¾õÂÖ
             ST_NONE ÂÔµ¡¾õÂÖ
             ST_EDIT ÊÔ½¸Ãæ¾õÂÖ
             ST_CONV ÊÑ´¹Ãæ¾õÂÖ
             ST_CSEG ʸÀá¿­½Ì¾õÂÖ
 commit: NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢³ÎÄꤵ¤ì¤¿Ê¸»úÎó¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
         commit ¤Ï°ìÅÙ anthy_input_get_preedit ¤¹¤ë¤È¾Ã¤¨¤ë¡£
 cut_buf: NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢ anthy_input_cut ¤Ë¤è¤ê¾Ã¤µ¤ì¤¿Ê¸»úÎó¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
          cut_buf ¤Ï°ìÅÙ anthy_input_get_preedit ¤¹¤ë¤È¾Ã¤¨¤ë¡£
 segment: ÊÑ´¹Ã桢ʸÀá¿­½Ì¾õÂ֤ǤÏʸÀá¤Î¥ê¥¹¥È
          ÊÔ½¸Ãæ¾õÂ֤Ǥϡ¢¥«¡¼¥½¥ëÁ°Ê¸»úÎó¡¢¥í¡¼¥Þ»úʸ»úÎ󡢶õʸÀá¡¢
          ¥«¡¼¥½¥ë¸åʸ»úÎó¤Î¥ê¥¹¥È
 cur_segment: ¥«¡¼¥½¥ë¤Î¤¢¤ëʸÀá

struct anthy_input_segment {
  char* str;                            /* ʸ»úÎó */
  int cand_no;                          /* ¸õÊäÈÖ¹æ */
  int noconv_len;                       /* ̵ÊÑ´¹¾õÂ֤ǤΥХ¤¥È¿ô */
  int nr_cand;                          /* ¸õÊä¿ô */
  int flag;                             /* ¥Õ¥é¥° */

  struct anthy_input_segment* next;     /* ¼¡¤ÎʸÀá */
};
 str: ¸½ºß¤Î¸õÊä¤Îʸ»úÎó
      (ÊÔ½¸Ãæ¾õÂ֤Ρ¢¥«¡¼¥½¥ë¤òɽ¤¹Ê¸Àá¤Ç¤Ï NULL ¤Ë¤Ê¤Ã¤Æ¤¤¤ë)
 cand_no: ¸õÊäÈÖ¹æ (0 ¡Á nr_cand - 1, 
                    ¸õÊä¤Î³ä¤êÅö¤Æ¤é¤ì¤¿Ê¸Àá¤Ç¤Ê¤¤¤È¤­¤È̵ÊÑ´¹¸õÊä¤Î¤È¤­¤Ï -1)
 noconv_len: ̵ÊÑ´¹¾õÂ֤ǤÎʸÀá¤Îʸ»úÎó¤ÎŤµ (¥Ð¥¤¥È¿ô)
 nr_cand: Á´¸õÊä¿ô (¸õÊä¤Î³ä¤êÅö¤Æ¤é¤ì¤¿Ê¸Àá¤Ç¤Ê¤¤¤È¤­¤Ï -1)
 flag: ʸÀá¤Î¼ïÎà¤òɽ¤¹¥Õ¥é¥°
           SF_CURSOR       ¥«¡¼¥½¥ë¤Þ¤¿¤ÏÁªÂòÃæʸÀá
           SF_ENUM         ¿ô²óϢ³¤ÇÊÑ´¹¥­¡¼¤¬²¡¤µ¤ì¤ë¤Ê¤É¤·¤¿¤Î¤Ç¡¢
                           ¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¤³¤È¤ò¥é¥¤¥Ö¥é¥ê¤¬Äó°Æ¤·¤Æ¤¤¤ë¡£
                           ¤³¤ì¤ò¼õ¤±¼è¤ë¤È¡¢ anthy_input_get_candidate
                           ¤ò»È¤Ã¤Æ¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¤Î¤¬Ë¾¤Þ¤·¤¤¡£
           SF_ENUM_REVERSE µÕÊý¸þ¤Î¸õÊä°ìÍ÷¤òɽ¼¨¤¹¤ë¤³¤È¤ò¥é¥¤¥Ö¥é¥ê¤¬
                           Äó°Æ¤·¤Æ¤¤¤ë
           SF_EDITTING     ÊÔ½¸Ãæ¾õÂÖ¤Îʸ»úÎó
           SF_PENDING      ¤Þ¤À¥í¡¼¥Þ»ú¤Î¤Þ¤Þ¤Ç¡¢²¾Ì¾¤Ë¤â¤Ê¤Ã¤Æ¤¤¤Ê¤¤Ê¸»úÎó
           SF_FOLLOWING    ʸÀá¿­½Ì¾õÂ֤ǡ¢ÁªÂòÃæʸÀá¤è¤ê¸å¤í¤Îʸ»úÎó
                           ¤ò 1 ʸÀá¤Ë¤·¤¿Ê¸Àá