XKANJICONTROL(3) | Library Functions Manual | XKANJICONTROL(3) |
̾??¶
UILib intro - ?桼?????ե??????饤?֥??ꥤ???ȥ?
????¶
?桼?????ե??????饤?֥????ϡ???ʸ???????ϡ????????????Ϥ??б????ơ? ̤????ʸ??????ʸ??????????ʸ?????֡????ơ?????ɽ???Τ?????ʸ?????? ?????????Τ?????ʸ?????ʤɤ??ִԤ????饤?֥????Ǥ??????ץꥱ?????????? ?????????ϡ??ִԤ??줿?????ˤ??ä?ɽ?????Ԥ??ޤ??????ץꥱ?????????ץ? ???????ϡ????????ϰʳ??Υȥꥬ???ˤ??ä?(?㤨?Хޥ????ˤ????????ʤ?)?⡼ ?ɤ????ܤ????椹?뤳?Ȥ??Ǥ??ޤ???
?桼?????ե??????饤?֥????Ǥϡ?TTY?١??? ??jrKanjiString??????jrKanjiControl???إ??????ɥ??١????? XLookupKanjiString??????XKanjiControl?????ޤ???
?桼?????ե??????饤?֥????????Ѥ????????ˤϰʲ??Υե????뤬ɬ?פ? ?ʤ??ޤ???
- ??
- TTY?١???
- ?ؿ?
- jrKanjiString, jrKanjiControl
- ?إå??ե?????
- canna/jrkanji.h
- ?饤?֥???
- libcanna.a, libcanna.so
- ??
- X???????ɥ??١???
- ?ؿ?
- XLookupKanjiString, XKanjiControl
- ?إå??ե?????
- canna/kanji.h
- ?饤?֥???
- libXn.a, libXn.so, libcanna.a, libcanna.so
????¶
- jrKanjiString
- TTY?????????ϡ??ؤǤ????ϡ????ܥ??????ɥ??Ǥ????Ϥʤɰ???Ū?ʥ????ܡ? ?????Ϥ??Ф??ƴ???ʸ?????ؤ??Ѵ????Ԥ??ޤ???
- jrKanjiControl
- jrKanjiString?Ǥ??????????ꤵ?줿?ѥ???ˤ????Ԥ??ޤ???
- XLookupKanjiString
- ?إ??????ɥ??????ƥ??ˤ????ơ??????ܡ???????(???????٥???)?δ???ʸ???? ?ؤ??Ѵ????Ԥ??ޤ???
- XKanjiControl
- XLookupKanjiString?Ǥ??????????ꤵ?줿?ѥ???ˤ????Ԥ??ޤ???
̾??¶
jrKanjiString - ????Ū̾?????ܡ??????Ϥ??Ф??ƤΤ??ʴ????Ѵ?
????¶
#include <canna/jrkanji.h> int jrKanjiString(context_id, ch, buffer_return, bytes_buffer, kanji_status_return) int context_id; int ch; char *buffer_return; int bytes_buffer; jrKanjiStatus *kanji_status_return;
????¶
jrKanjiString??TTY?????????ϡ??ؤǤ????ϡ????ܥ??????ɥ??Ǥ????Ϥʤɡ? ????Ū?ʥ????ܡ??????Ϥ??Ф??ƴ???ʸ?????ؤ??Ѵ????Ԥ??ؿ??Ǥ???
jrKanjiString?ϡ??????????????ɤ?ɽ?????륭?????Ϥ????ܸ?ʸ???????б? ???????ʰץ롼?????ǡ????Ϥ??줿??????ɽ???????ɤ?ch?ˤ?Ϳ???뤳 ?Ȥˤ??ꡤɽ?????٤?ʸ???????֤??ޤ???jrKanjiString???????ˤ????ƥ??? ???????Ѵ??????ʴ????Ѵ????Ԥ????ޤ???
?ե????????䡤???????륭???ʤɤΥ????ˤĤ??Ƥϡ????????Υ????? ȯ?????륨???????ץ??????? ?????????ե????????ι??Ǽ??????̤? ?????ɤ?jrKanjiString??Ϳ???Ʋ???????
context_id??Ϳ???륳???ƥ????ȼ??̻Ҥϡ??ºݤˤϤ??Τޤޤ??ͤ??? ?????????櫓?ǤϤʤ???context_id??Ϳ???????륳???ƥ????ȼ??̻Ҥ? ?????Ȥ????????ƥ????Ȥ????????졤?Ѥ??????뤳?Ȥˤʤ??ޤ??????????ä? ???ץꥱ?????????ץ??????ޤ?jrKanjiString??Ϳ???륳???ƥ????ȼ??̻Ҥ? ?Ĥ??Ƥϡ?Ŭ?????ͤ?Ϳ???????ɤ??????ϥݡ??ȤΥե??????ǥ????????ץ??? Ϳ?????Τ?Ŭ???ȹͤ??????ޤ???????????0??Ϳ???????????̤ǡ??????ƥ??? ?ǥե????Ȥǽ????????Ƥ??륳???ƥ????Ȥ??Ѥ??????ޤ????????ƥ????Ȥ??? ?̤???θ???Ԥ??ʤ??????ˤ?0?????ꤹ???Τ?Ŭ???Ǥ???
???Ϥ??б????ơ????????????Ѵ??????ʴ????Ѵ??????ַ??̤?ɽ??????ɬ?? ???????ޤ?????ɽ?????٤????ַ??̤?kanji_status_return???𤷤ơ? ???ץꥱ???????????֤????ޤ???
???ץꥱ??????????kanji_status_return???֤??????????ˤ??????ä? ???ַ??̤?ɽ?????ʤ????Фʤ??? ??????kanji_status_return??jrKanjiStatus???ι?¤?ΤǤ???
jrKanjiStatus??¤?Τϰʲ??Τ褦???????????ޤ???
typedef struct {
unsigned char *echoStr; /* ???????륨?????Τ?????ʸ???? */
int length; /* ???????륨????ʸ??????Ĺ?? */
int revPos; /* ???????륨????ʸ?????Τ???ȿžɽ????ʬ?ؤΥ??ե??å? */
int revLen; /* ???????륨????ʸ?????Τ???ȿžɽ????ʬ??Ĺ?? */
unsigned long info; /* ????¾?ξ??? */
unsigned char *mode; /* ?⡼?ɾ??? */
struct {
unsigned char *line; /* ??????????ʸ???? */
int length; /* ????????ʸ??????Ĺ?? */
int revPos; /* ????????ʸ?????Τ???ȿžɽ????ʬ?ؤΥ??ե??å? */
int revLen; /* ????????ʸ?????Τ???ȿžɽ????ʬ??Ĺ?? */
} gline; /* ?????????˴ؤ??????? */ } jrKanjiStatus;
???ʴ????Ѵ????Ѥ??????ܸ????ϻ??ˤ??Ѵ????оݤȤʤ??ɤߤʤɤ????????? ??????????ɬ?פ??????ޤ???jrKanjiString?ϥ??????륨?????ʤ?ɽ???˴ؤ? ?뤳?Ȥϲ????Ԥ鷺?????????˥??????륨?????????٤? ʸ??????jrKanjiStatus??¤?Τ??Ѥ??ƥ??ץꥱ????????¦???֤??ޤ???
?Ѵ??????ꤹ???ޤǤϡ????????????Ѵ??????Ƥ???ʸ???䡤?Ѵ?????ʸ???? ?ɡ????????륨???????٤?(EUC)ʸ??????echoStr?????Фˤ????֤????? ???????ΤȤ??????????륨????ʸ??????Ĺ???????С???ɽ???? ???ϰ??֤?Ĺ??(?Х???ñ??)???? ???줾?졤length?????С?revPos??revLen?????Фˤ??֤????ޤ??????? ???륨???????٤?ʸ?????Τ????ΥХåե???jrKanjiString?ˤ??äƼ?ưŪ?? ???ݤ????ޤ??????????ΰ????ɤߤȤ??Τߤ??Ѥ????????٤??Ǥ??ꡤ?????ΰ? ??ʸ???????????ǤϤ????ޤ?????
???????륨???????٤?ʸ???ʤ???????length?????Фˣ????֤??ޤ???
???????륨???????٤????Ƥ???????jrKanjiString?θƽФ??λ????Ѥ????ʤ? ????(?㤨?Х????ȥ?????ʸ?????????졤???Υ?????̵???Ǥ??ä? ?????ʤ?)??length?????Ф?-1???֤??ޤ???
?⡼?ɤ??ѹ??䡤?????????˴ؤ?????????̵ͭ?ϡ?info?????Фˤ??ä? ?Ϥ????ޤ???info?????Ф?KanjiModeInfo?ӥåȤ?on?? ?????С?mode?˿??????⡼?ɤ?ʸ???????֤????ޤ???info?? ???Ф?KanjiGLineInfo?ӥåȤ?on?Ǥ????С?gline??¤?Τ˸????????? ?ξ???Ǽ?????Ƥ??ޤ???
gline??¤?Τ?line?????Фˤϸ???????ɽ???Τ?????ʸ???????? ?????ޤ???gline??¤?Τ?line,revPos,revLen?γƥ????Фϡ??? ??????ʸ?????Τ??줾?졤Ĺ???????С???ɽ???γ??ϰ??֡????С???ɽ????Ĺ ?????֤????ޤ???
?Ѵ????˳??ꤷ??(EUC)ʸ???????????ϡ? ????ʸ??????buffer_return?ǻ??ꤷ???Хåե??˳?Ǽ???졤????ʸ?? ????Ĺ??(?Х???ñ??)???֤????ޤ??????ꤷ??ʸ??????̵???????????? ?ͤ?0?ˤʤ??ޤ???????ʸ????????Ǽ?????Хåե?buffer_return???礭 ????bytes_buffer?ˤ?Ϳ???ޤ??? ????ʸ??????Ĺ????bytes_buffer??????Ĺ???????ˤϡ? ????ʸ?????Τ?????bytes_bufferʬ ??????buffer_return?˳?Ǽ???졤jrKanjiString???????ͤ? ???ơ?bytes_buffer??Ϳ?????ͤ??֤??ޤ???
?ե???????¶
?????????ץ???????ȯ?Ԥ????褦?ʥե????????˴ؤ??Ƥϡ??ե? ???????ˤ??륨???????ץ????????Ѥ????˰ʲ??Υޥ???̾?Ǽ??? ???륳???ɤ?ch?Ȥ???Ϳ???Ʋ???????
- ????̾
- ??????
- Nfer
- CANNA_KEY_Nfer
- Xfer
- CANNA_KEY_Xfer
- Up
- CANNA_KEY_Up
- Left
- CANNA_KEY_Left
- Right
- CANNA_KEY_Right
- Down
- CANNA_KEY_Down
- Insert
- CANNA_KEY_Insert
- Rollup
- CANNA_KEY_Rollup
- Rolldown
- CANNA_KEY_Rolldown
- Home
- CANNA_KEY_Home
- Help
- CANNA_KEY_Help
- S-Nfer
- CANNA_KEY_Shift_Nfer
- S-Xfer
- CANNA_KEY_Shift_Xfer
- S-Up
- CANNA_KEY_Shift_Up
- S-Left
- CANNA_KEY_Shift_Left
- S-Right
- CANNA_KEY_Shift_Right
- S-Down
- CANNA_KEY_Shift_Down
- C-Nfer
- CANNA_KEY_Control_Nfer
- C-Xfer
- CANNA_KEY_Control_Xfer
- C-Up
- CANNA_KEY_Control_Up
- C-Left
- CANNA_KEY_Control_Left
- C-Right
- CANNA_KEY_Control_Right
- C-Down
- CANNA_KEY_Control_Down
- F1
- CANNA_KEY_F1
- PF1
- CANNA_KEY_PF1
??Ϣ????¶
??????¶
???Ͻ????沿?餫?Υ??顼??ȯ???????????ϡ????δؿ????????ͤȤ???-1???? ???졤?????ѿ?(char *)jrKanjiError?ˡ????顼???å?????????Ǽ?????ޤ???
???δؿ??θƽФ??ˤ??????ꤷ??ʸ???????????ϳ??ꤷ??ʸ?????ΥХ??? Ĺ???֤??ޤ???
?????ʳ??ξ?????0???֤??ޤ???
̾??¶
jrKanjiControl - jrKanjiString?ǤΥ⡼?ɤ䡤?????????????Ԥ?
????¶
#include <canna/jrkanji.h> int jrKanjiControl(context_id, request, arg) int context_id; int request; char *arg;
????¶
jrKanjiControl??context_id?Ǽ????????Ѵ??????ƥ????Ȥ? ?ؤ??ơ?request?Ǽ??????????????Ԥ??ޤ????????ˤ??äƤϡ??????? ȼ?????礬???ꡤ???ξ??硤??????arg?ˤ?Ϳ???ޤ???
jrKanjiControl?????椵???뵡ǽ?Ȥ??Ƥϰʲ??Σ??Ĥ??????ޤ???
- request̾
- ??ǽ
- KC_INITIALIZE
- ???ʴ????Ѵ????????????롥
- KC_CHANGEMODE
- ???ϥ⡼?ɤ??ѹ????롥
- KC_SETWIDTH
- ????????ɽ???λ??????????ꤹ?롥
- KC_FINALIZE
- ???ʴ????Ѵ??ν?λ??????
- KC_SETUNDEFKEYFUNCTION
- ̤???????????Ф??뵡ǽ?????????Ԥ???
- KC_SETMODEINFOSTYLE
- ?⡼?ɾ????????ͤ?ɽ?????뤫?ɤ????????ꤹ?롥
- KC_KAKUTEI
- ????????ʸ?????????ꤹ?롥
- KC_KILL
- ????????ʸ?????????????롥
- KC_QUERYMODE
- ???ߤΥ⡼?ɤ??䤤???碌?롥
- KC_SETSERVERNAME
- ??³???륵???Ф????ꤹ?롥
- KC_SETINITFILENAME
- ???????ޥ????ե??????????ꤹ?롥
- KC_CLOSEUICONTEXT
- ?????ƥ????Ȥ????????롥
- KC_QUERYMAXMODESTR
- ?⡼??ɽ??ʸ?????κ???Ĺ???????롥
jrKanjiControl?κ??Ѥϴ???Ū?ˤϥ????ƥ????Ȥǻ??ꤵ?줿???Τ??Ф??Ƥ? ?ߺ??Ѥ??ޤ??????????????????ν????佪λ?ν????˴ؤ??ƤϤ??θ¤??ǤϤ? ???ޤ?????
jrKanjiControl???????ˤ??ä?̤????ʸ?????ξ??֤??Ѳ??????ꡤ?⡼?ɤξ? ?֤??Ѥ??뤳?Ȥ??????ޤ??????Τ褦?ʲ?ǽ??????????????arg??ʬ???Ѳ??? ??????????Ǽ?Ǥ????褦?ʹ?¤?ΤؤΥݥ????Ϥ??ޤ??????ι?¤?Τ????? ?ϰʲ??Τ褦?ˤʤ??ޤ???
typedef struct {
int val; /* ?Хåե??˳?Ǽ???줿ʸ??????Ĺ?????֤? */
unsigned char *buffer; /* ????ʸ????????Ǽ???뤿???ΥХåե???Ϳ???? */
int bytes_buffer; /* ?嵭?ΥХåե????礭????Ϳ???? */
jrKanjiStatus *ks; /* ̤????ʸ?????ξ???????Ǽ???빽¤?ΤؤΥݥ????? */ } jrKanjiStatusWithValue;
jrKanjiControl?Τ??줾???ε?ǽ?μ¹ԤΤ??????ϰʲ????̤??Ǥ???
- (1)
- KC_INITIALIZE - ???ʴ????Ѵ??ν?????
KC_INITIALIZE??request???ǻ??ꤹ?뤳?Ȥˤ??ꡤ???ʴ????Ѵ??ν??? ?????Ԥ??ޤ???arg?ˤ?warning???å??????? ??Ǽ???뤿????(char **)?????ѿ??ؤΥݥ??ޤ???NULL?????ꤷ?ޤ????? ?????ν????ϴ???Ū?ˤ?jrKanjiString(3)???ǽ??˸ƤФ줿???˼?ưŪ?˹Ԥ? ???ޤ?????jrKanjiControl???Ѥ??ƽ????????? ???Ȥˤ??ꡤjrKanjiString(3)?Ǥν??????????ϹԤ????ʤ??ʤ??ޤ???
jrKanjiString(3)?λ??Ѥ???Ω?ä?jrKanjiControl???Ѥ??Ƥ??ʴ????Ѵ??˴? ???????????Ԥ????ʤɤϡ??????Ѵ??ν????????Ԥ?ɬ?פ??????ޤ???
???ェλ???ˤ?jrKanjiControl???????ͤȤ???0???֤ꡤ?۾ェλ???ˤ?-1?? ?֤??ޤ???
KC_INITIALIZE???Ԥä????硤???顼?ȤޤǤϤ????ʤ??Ȥⲿ?餫??warning?? ȯ?????뤳?Ȥ??????ޤ???warning??ȯ????????????arg?ˤ?Ϳ?????줿 ?ѿ????Ф???warningʸ???????????ؤΥݥ?????Ǽ???? ?֤????ޤ???warning???ʤ??Ȥ???NULL????Ǽ?????֤????ޤ???
(??)
int res; /* ???顼???֤äƤ??????????????? */
char **warning;
.....
res = jrKanjiControl(0, KC_INITIALIZE, &warning);
if (warning) {
char **p;
for (p = warning ; *p ; p++) {
fprintf(stderr, "%s0, *p);
}
}
?裳???????֤?????warning???å??????ϥ饤?֥???????????malloc?????ޤ??? ?????ϡ?????KC_INITIALIZE??KC_FINALIZE???Ԥ??줿???˳????????ޤ??????? ?ꥱ?????????ץ??????ޤ???????free???ƤϤ????ޤ?????warning?Ϻ??ΤȤ? ??????64???å??????˸??ꤵ???ޤ????????ʾ??Υ??å????????ڼΤƤ????ޤ???
???å??????˴ޤޤ?????ǽ???Τ???warning?ˤϰʲ??Τ??Τ??????ޤ???
- ??
- ???????ޥ????ե????뤬?????ƥ??Τ??Τ??ޤ??Ƥ??٤????ѤǤ??ʤ???
- ??
- ???????ޥ????ե??????˥??å??????顼?????롥
- ??
- ???????????Ѵ??????????ѤǤ??ʤ???
- ??
- ???ʴ????Ѵ??????????ѤǤ??ʤ???
- ??
- ???ʴ????Ѵ??????Ф???³?Ǥ??ʤ???
?裳?????Ȥ???NULL?????ꤷ??????warning???å??????ϼΤƤ????ޤ???
- (2)
- KC_CHANGEMODE - ???ϥ⡼?ɤ??ѹ?
???ϥ⡼?ɤץꥱ?????????ѹ????ޤ???request?? ??ʬ?ˤ?KC_CHANGEMODE?????ꤷ??arg??jrKanjiStatusWithValue??¤?? ?????ꤷ?Ʋ???????jrKanjiStatusWithValue??¤?Τ?val?????Фˤƥ⡼ ???ֹ??????ꤹ?뤳?Ȥˤ??????ܸ??⡼?ɤ??ڤ??ؤ????ޤ????⡼???ֹ??ϰ? ???Υޥ????Ǽ??????ޤ???
- ?ޥ????ֹ?
- ?⡼??
- CANNA_MODE_AlphaMode
- ?????ե??٥åȥ⡼??
- CANNA_MODE_HenkanMode
- ?Ѵ????ϥ⡼??
- CANNA_MODE_KigoMode
- ???????ϥ⡼??
- CANNA_MODE_ZenHiraKakuteiMode
- ???ѤҤ餬?ʳ??????ϥ⡼??
- CANNA_MODE_ZenKataKakuteiMode
- ???ѥ??????ʳ??????ϥ⡼??
- CANNA_MODE_HanKataKakuteiMode
- Ⱦ?ѥ??????ʳ??????ϥ⡼??
- CANNA_MODE_ZenAlphaKakuteiMode
- ???ѥ????ե??٥åȳ??????ϥ⡼??
- CANNA_MODE_HanAlphaKakuteiMode
- Ⱦ?ѥ????ե??٥åȳ??????ϥ⡼??
- CANNA_MODE_HexMode
- 16?ʥ????????ϥ⡼??
- CANNA_MODE_BushuMode
- ???????ϥ⡼??
- CANNA_MODE_TorokuMode
- ñ????Ͽ?⡼??
???ε?ǽ?ˤ????⡼?ɤ??ѹ??????ȥ⡼??̾???Ϥ??Ȥ???¿????ɽ?????Ѳ??? ?????ޤ???ɽ?????ѹ???arg?Ȥ??ƻ??ꤷ??jrKanjiStatusWithValue??¤?Τ? ???֤????ޤ???
(??)
jrKanjiStatus ks;
jrKanjiStatusWithValue ksv;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
ksv.val = CANNA_MODE_HexMode;
jrKanjiControl(context, KC_CHANGEMODE, &ksv);
len = ksv.val;
.....
/* ̤????ʸ??????????ʸ?????ξ?????ksv?ˤ????֤????ޤ??? */
- (3)
- KC_SETWIDTH - ????????ɽ???Τ?????????????
?????????Τ??????Ѥ????????ΰ??Υ????????????ꤷ?ޤ????????????????ϥ? ???ե??٥å?ʸ?????뤤??Ⱦ?ѥ??????ʣ?ʸ????ʸ?????Ǥ??ꡤ???Ѵ????ϣ? ???????????뤳?Ȥˤʤ??ޤ???????????ɽ???Τ????????? ???ꤹ?뤿????request??ʬ?˻??ꤹ???ͤ?KC_SETWIDTH?ǡ? ???ΤȤ?arg?˥????????????ꤷ?ޤ???
(??)
jrKanjiControl(0, KC_SETWIDTH, (char *)60);
- (4)
- KC_FINALIZE - ???ʴ????Ѵ??ν?λ??????
?ץ???????????λ?????ʤɤζ??̤Ǥ??ʴ????Ѵ??⽪λ???뤳?Ȥ????ꤷ?ޤ??? ???ʴ????Ѵ?????????λ??????????ɬ?????ν??????ԤäƲ??????????????ˤ? ???äƺ??ޤdzؽ????????Ƥ??ե?????????Ͽ?????ޤ???request??ʬ?? ??KC_FINALIZE?????ꤷ?ޤ???
???ェλ????0???۾ェλ????-1???????ͤȤ????֤??ޤ???
KC_FINALIZE???Ԥä????硤???顼?ȤޤǤ????ʤ??Ȥⲿ?餫??warning??ȯ?? ???뤳?Ȥ??????ޤ???warning??ȯ????????????arg?ˤ?Ϳ?????줿 ?ѿ???warningʸ???????????ؤΥݥ?????Ǽ?????֤????ޤ???warning???? ???????ˤ?NULL?ݥ?????Ǽ?????֤????ޤ???
(??)
int res; /* ???顼???֤????????????? */
char **warning;
.....
res = jrKanjiControl(0, KC_FINALIZE, &warning);
if (warning) {
char **p;
for (p = warning ; *p ; p++) {
fprintf(stderr, "%s0, *p);
}
}
?裳???????֤?????warning???å??????ϡ??饤?֥???????????malloc?????? ?????????ϡ?????KC_INITIALIZE??KC_FINALIZE???Ԥ??줿???˳????????ޤ??? ???ץꥱ?????????ץ??????ޤ???????free???ƤϤ????ޤ?????
warning?Ϻ??ΤȤ???????64???å??????˸??ꤵ???ޤ????????ʾ??Υ??å??? ?????ڼΤƤ????ޤ???
???å??????˴ޤޤ?????ǽ???Τ???warning?ˤϼ??Τ??Τ??????ޤ???
- ??
- ???????ޥ????ȤǤ??ʤ???
?裳?????Ȥ???NULL?????ꤷ?????硤warning???å??????ϼΤƤ????ޤ???
- (5)
- KC_SETUNDEFKEYFUNCTION - ̤???????????Ф??뵡ǽ??????
?ɤߤ????Ϥ??Ƥ??????֤?C-t???Ǥä??Ȥ??Τ褦??̤?????????????Ϥ????? ?˼????????????????ꤷ?ޤ???̤???????????б????ƹԤ??????????Ȥ??Ƥϰ? ???ν??????????ޤ???
- ?ޥ???̾
- ????
- kc_normal
- ?ӡ???
- kc_through
- ???ץꥱ?????????ץ??????????Ϥ?
- kc_kakutei
- ???ꤷ???ץꥱ?????????ץ??????????Ϥ?
- kc_kill
- ?õ???ץꥱ?????????ץ??????????Ϥ?
kc_normal?????ꤷ?????硤?????ѿ?jrBeepFunc?????ꤵ?줿?ؿ???̤???????? ???ϻ??˥饤?֥????ˤ??äƼ?ưŪ?˸ƤӽФ????ޤ???jrBeepFunc???ͤ????? ???ʤ??????ˤ?(jrBeepFunc == NULL?ξ????ˤ?)???ⵯ?????ޤ?????
(??)
extern (*jrBeepFunc)(), beep();
jrBeepFunc = beep;
jrKanjiControl(0, KC_SETUNDEFKEYFUNCTION, kc_normal);
- (6)
- KC_SETMODEINFOSTYLE - ?⡼?ɾ?????ɽ??
?⡼?ɾ?????ʸ?????ǤϤʤ??ӥåȥޥåפʤɤΥǡ?????ɽ???????????礬?? ???ޤ??????Τ褦?ʾ????ˤϥ⡼?ɾ????Ȥ??ƿ??ͥǡ??????֤äƤ????Ƚ??? ?????䤹???ʤ??ޤ???jrKanjiControl??KC_SETMODEINFOSTYLE?? ???ꤷ??arg?ˣ????Ϥ????Ȥˤ??äƤ????ʸ???jrKanjiStatus??¤?? ??mode?????Фˤϥ⡼?ɤ?ɽ?????ͤ?'@'(0x40)???ä?????ʸ?????֤? ?????褦?ˤʤ??ޤ????⡼?ɤ?ɽ?????ͤ??Ѵ??????????ˤ??֤äƤ???ʸ???? ????'@'(0x40)???????ޤ????⡼?ɤ?ɽ?????ͤˤĤ??Ƥ????ϥ⡼?ɤ? ?ѹ?((2)KC_CHANGEMODE)?Τ????Ȥ??Ʋ???????
- (7)
- KC_KAKUTEI??(8) KC_KILL - ????????ʸ??????????
????????ʸ?????餫???Թ????????????????礬?????ޤ????????????????? ????????ʸ??????????ʸ?????Ȥ??Ƽ????????Ǥ????????????????????????Τ? ?Ƥ??ޤäƤ????????????????礬?????ޤ??????ꤹ?? ?????ˤ?jrKanjiControl?ˤ?KC_KAKUTEI?????ꤷ?????????? ?????ˤ?KC_KILL?????ꤷ?ޤ???
???ν?????ɽ???˱ƶ???Ϳ?????Τ??裳?????ˤ?jrKanjiStatusWithValue??¤ ?Τ????ꤷ?ʤ????Фʤ??ޤ?????
(??)
jrKanjiStatusWithValue ksv;
jrKanjiStatus ks;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
jrKanjiControl(context, KC_KAKUTEI, &ksv);
len = ksv.val;
.....
- (9)
- KC_QUERYMODE - ?⡼?ɤ??䤤???碌
???ߤΥ⡼?ɤ??䤤???碌???ˤ?jrKanjiControl??KC_QUERYMODE?????ꤷ?ޤ???
?裳?????ˤϥ⡼??ʸ????????Ǽ???뤿????ʸ???????Υݥ??????ꤷ?ޤ??? ?⡼??ʸ?????ϥ̥?ʸ???ǽ?????ʸ?????Ǥ????????˿??ͤ??֤??褦?ˤ????? ??jrKanjiControl??KC_SETMODEINFOSTYLE?????ꤷ?ƥ⡼??ʸ?????Υ??????? ???ѹ????Ƥ????ޤ???
(??)
char currentMode[MAXMODELEN];
.....
jrKanjiControl(0, KC_QUERYMODE, currentMode);
.....
- (10)
- KC_SETSERVERNAME - ?????Фλ???
???ʴ????Ѵ??????ФȤ??ƤɤΥ????Ф??Ȥ????ץꥱ?????????ץ??????? ????λ???뤳?Ȥʤ??????ؤ??뤳?Ȥ???ǽ?Ǥ??????ʴ????Ѵ??????ФȤ????? ³?????٤??????Ф????ꤹ???ˤ?jrKanjiControl??KC_SETSERVERNAME?????ꤷ ?ޤ????裳?????ˤ???³????????????̾?????ꤷ?ޤ???
- (11)
- KC_SETINITFILENAME - ???????ޥ????ե??????λ???
???????ޥ????ե??????ץꥱ?????????ץ???????¦?????ѹ????뤳?Ȥ??? ???ޤ??????????ޥ????ե????????ѹ???jrKanjiControl?? ?裲??????KC_SETINITFILENAME?????ꤷ???裳?????˥ե?????̾ʸ?????????? ???뤳?Ȥˤ????Ԥ??ޤ??????ν??????Ԥ???????KC_INITIALIZE????Ω?äƼ? ?Ԥ??Ƥ????ʤ????Фʤ??ޤ?????
(??)
char *inifile = "app-own.canna"
.....
jrKanjiControl(0, KC_SETINITFILENAME, initfile);
.....
- (12)
- KC_CLOSEUICONTEXT - ?????ƥ????ȤΥ???????
?Ѵ??????ƥ????Ȥ?ɽ???????ƥ?????ID??Ǥ?դ??????????????Ƥ뤳?Ȥ??Ǥ? ?ޤ??????ޤǻȤ????Ƥ??ʤ? ?????ƥ?????ID??jrKanjiString???뤤??jrKanjiControl??Ϳ???뤳?Ȥ???ǽ ?Ǥ??ꡤ???ξ??硤???Υ????ƥ??????ѤΥ??˥????饤?????Ԥ???ɬ?פʥ? ???꤬???ݤ????ޤ???
?????ޤǻ??Ѥ??Ƥ??????ϥݡ??Ȥ??Ȥ????ʤ??ʤä??????ˡ????Υݡ??Ȥ˳? ?????ƤƻȤäƤ????????ƥ?????ID?Ѥ˳??ݤ??줿???????? ?????????ˤ?jrKanjiControl???裲??????KC_CLOSEUICONTEXT?????ꤷ?ƸƤ? ?Ф??ޤ???
???ν?????ɽ?????Ѳ????Ȥ??ʤ??Τ??裳?????ˤ?jrKanjiStatusWithValue?? ¤?Τ?Ϳ???ޤ???
(??)
jrKanjiStatusWithValue ksv;
jrKanjiStatus ks;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
jrKanjiControl(0, KC_CLOSEUICONTEXT, &ksv);
.....
- (13)
- KC_QUERYMAXMODESTR - ?⡼??ɽ??ʸ?????κ???Ĺ???????롥
???????ե??????ˤƥ⡼??ɽ??ʸ?????????ޥ????Ǥ??ޤ????????????ޥ? ?????줿???̥⡼??ɽ??ʸ?????ˤɤ???????ɽ???ΰ??????ݤ??뤫??Ĵ?٤?ɬ ?פ????????礬?????ޤ???jrKanjiControl???裲??????KC_QUERYMAXMODESTR?? ???ꤷ?ƸƤӽФ????Ȥˤ??ꡤ?⡼??ɽ??ʸ?????Ȥ??Ʋ???????ɬ?פ????֤? ?ͤȤ????֤????ޤ????????Ǹ??????????Ȥ?Ⱦ?ѱѿ?ʸ????ʸ?????Ȥ??? ?Ȥ????ͤ??ޤ???
?裳???????Ѥ??????ʤ??Τǥ??ߡ??ͤȤ???0??Ϳ???ޤ???
(??)
int max_mode_columns;
.....
max_mode_columns = jrKanjiControl(0, KC_QUERYMAXMODESTR, 0);
.....
̾??¶
XLookupKanjiString - ?????ܡ??????Ϥδ???ʸ?????ؤ??Ѵ?
???ҷ???¶
#include <X11/Xlib.h> #include <X11/kanji.h>
int XLookupKanjiString(event_struct, buffer_return, bytes_buffer,
keysym_return, status_return, kanji_status_return)
XKeyEvent *event_struct;
char *buffer_return;
int bytes_buffer;
KeySym *keysym_return;
XComposeStatus *status_return;
XKanjiStatus *kanji_status_return;
????¶
- event_struct
- ???????٥??Ȥ????ꤷ?ޤ???
- buffer_return
- ?Ѵ?????????ʸ???????֤????ޤ???
- bytes_buffer
- ?Хåե???Ĺ???????ꤷ?ޤ???
- keysym_return
- ?????????ܥ????֤??ޤ???NULL?????ꤹ?뤳?Ȥ??Ǥ??ޤ???
- status_return
- XCompose??¤?ΤؤΥݥ??????ꤷ?ޤ???
- kanji_status_return
- ???ʴ????Ѵ????ͻҤ??֤????ޤ???
????¶
XLookupKanjiString?ϡ????????٥??Ȥ????ܸ?ʸ?????? ?б????????ʰץ롼?????ǡ? ???????٥??Ȥν????????ӥåȤ????Ѥ??ƥ??եȡ????å??? ?????ȥ????????ν??????Ԥ??ޤ???
XLookupKanjiString?ˤ??ä?8bit?????ե??٥å?ʸ?? ?ڤ?16bit???ܸ?ʸ???????갷?????Ȥ??Ǥ??ޤ???
?????ե??٥å?ʸ???μ??갷???ˤĤ??Ƥϡ? XLookupKanjiString??XLookupString??Ʊ?ͤ?ư???ˤʤ??ޤ???
???ܸ?ʸ???μ??갷???ˤĤ??Ƥϡ? ???δؿ????????ˤ????ƥ??????????Ѵ??? ???ʴ????Ѵ????Ԥ????ޤ??? ???ܸ??????ϻ???XKanjiStatus??¤?Τ??Ѥ??????ޤ???XKanjiStatus??¤?Τ? ?ʲ??Τ褦???????????ޤ???
typedef struct _XKanjiStatus { unsigned char *echoStr; /* local echo string */ int length; /* length of echo string */ int revPos; /* reverse position */ int revLen; /* reverse length */ unsigned long info; /* other informations */ unsigned char *mode; /* mode information */ struct { unsigned char *line; /* a grance of Kanji characters */ int length; /* length of it */ int revPos; /* reverse position of it */ int revLen; /* reverse length of it */ } gline; /* a grancing line information */ } XKanjiStatus; #define KanjiModeInfo 01 #define KanjiGLineInfo 02
???ʴ????Ѵ????Ѥ??????ܸ????ϻ??ˤ??Ѵ????оݤȤʤ??ɤߤʤɤ? ???????륨????????ɬ?פ??????ޤ???XLookupKanjiString?ϥ??????? ???????ʤ?ɽ???˴ؤ??뤳?Ȥϲ????Ԥ鷺?????????˥??????륨???? ?????٤?ʸ??????XKanjiStatus??¤?Τ??Ѥ??? ???ץꥱ????????¦???֤??ޤ???
?Ѵ??????ꤹ???ޤǤϡ????????????Ѵ??????Ƥ???ʸ???䡢 ?Ѵ?????ʸ???ʤɡ????????륨???????٤?(EUC) ʸ??????echoStr?????Ф? ?????֤????ޤ??????ΤȤ??????????륨????ʸ?????? Ĺ???????С???ɽ???γ??ϰ??֤?Ĺ???ʥХ???ñ?̡ˤ??? ???줾?졢length?????С?revPos??revLen?????Фˤ? ?֤????ޤ??? ???????륨???????٤?ʸ?????Τ????ΥХåե???XLookupKanjiString?? ???äƼ?ưŪ?˳??ݤ????ޤ??????????ΰ????ɤ????Τߤ??Ѥ????????٤??Ǥ??ꡢ ?????ΰ???ʸ???????????ǤϤ????ޤ?????
???????륨???????٤?ʸ??????̵????????length?????Фˣ????֤??ޤ???
???????륨???????٤????Ƥ???????XLookupKanjiString?θƤӽФ??ΤȤ??? ?Ѥ????ʤ????????㤨?Х??եȥ??????????줿?????ʤɡˤ?length?????Ф? ?ݣ????֤??ޤ???
?⡼?ɤ??ѹ??䡢?????????˴ؤ?????????̵ͭ?ϡ?info?????Фˤ??ä??Ϥ??? ?ޤ???info?????Ф?KanjiModeInfo?ӥåȤ?on?Ǥ????С?mode?˿??????⡼?? ??ʸ???????֤????ޤ???info?????Ф?KanjiGLineInfo?ӥåȤ?on?Ǥ????С? gline??¤?Τ˸??????????ξ???Ǽ?????Ƥ??ޤ???
gline??¤?Τ?line?????Фˤϸ???????ɽ???Τ?????ʸ???????֤????ޤ??? gline??¤?Τ?line,revPos,revLen?γƥ????Фϡ?????????ʸ?????Τ??줾?졢 Ĺ???????С???ɽ???γ??ϰ??֡????С???ɽ????Ĺ?????֤????ޤ???
?Ѵ????˳??ꤷ??(EUC)ʸ???????????ϡ? ????ʸ??????buffer_return?˳?Ǽ???졢 ????ʸ??????Ĺ???ʥХ???ñ?̡ˤ????δؿ????????ͤȤ????֤????ޤ??? ???ꤷ??ʸ??????̵?????????????ͤϣ??ˤʤ??ޤ???
̾??¶
XKanjiControl - XLookupKanjiString?ǤΥ⡼?ɤ䡤?????????????Ԥ?
????¶
#include <X11/kanji.h> int XKanjiControl(dpy, win, request, arg) Display dpy; Window win; int request; char *arg;
????¶
XKanjiControl??dpy, win?Ǽ??????륦?????ɥ??ˤ????????ܸ????Ϥ? ?ؤ??ơ?request?Ǽ??????????????Ԥ??ޤ????????ˤ??äƤϡ??????? ȼ?????礬???ꡤ???ξ??硤??????arg?ˤ?Ϳ???ޤ???
XKanjiControl?????椵???뵡ǽ?Ȥ??Ƥϰʲ????????ޤ???
- request̾
- ??ǽ
- KC_INITIALIZE
- ???ʴ????Ѵ????????????롥
- KC_CHANGEMODE
- ???ϥ⡼?ɤ??ѹ????롥
- KC_SETWIDTH
- ????????ɽ???λ??????????ꤹ?롥
- KC_FINALIZE
- ???ʴ????Ѵ??ν?λ??????
- KC_SETUNDEFKEYFUNCTION
- ̤???????????Ф??뵡ǽ?????????Ԥ???
- KC_SETMODEINFOSTYLE
- ?⡼?ɾ????????ͤ?ɽ?????뤫?ɤ????????ꤹ?롥
- KC_KAKUTEI
- ????????ʸ?????????ꤹ?롥
- KC_KILL
- ????????ʸ?????????????롥
- KC_QUERYMODE
- ???ߤΥ⡼?ɤ??䤤???碌?롥
- KC_SETSERVERNAME
- ??³???륵???Ф????ꤹ?롥
- KC_SETINITFILENAME
- ???????ޥ????ե??????????ꤹ?롥
- KC_CLOSEUICONTEXT
- ?????ƥ????Ȥ????????롥
- KC_QUERYMAXMODESTR
- ?⡼??ɽ??ʸ?????κ???Ĺ???????롥
XKanjiControl?κ??Ѥϴ???Ū?ˤ?dpy, win?ǻ??ꤵ?줿???????ɥ??? ?????ܸ????Ϥ??Ф??Ƥ? ?ߺ??Ѥ??ޤ??????????????????ν????佪λ?ν????˴ؤ??ƤϤ??θ¤??ǤϤ? ???ޤ?????
XKanjiControl???????ˤ??ä?̤????ʸ?????ξ??֤??Ѳ??????ꡤ?⡼?ɤξ? ?֤??Ѥ??뤳?Ȥ??????ޤ??????Τ褦?ʲ?ǽ??????????????arg??ʬ???Ѳ??? ??????????Ǽ?Ǥ????褦?ʹ?¤?ΤؤΥݥ????Ϥ??ޤ??????ι?¤?Τ????? ?ϰʲ??Τ褦?ˤʤ??ޤ???
typedef struct {
int val; /* ?Хåե??˳?Ǽ???줿ʸ??????Ĺ?????֤? */
unsigned char *buffer; /* ????ʸ????????Ǽ???뤿???ΥХåե???Ϳ???? */
int bytes_buffer; /* ?嵭?ΥХåե????礭????Ϳ???? */
XKanjiStatus *ks; /* ̤????ʸ?????ξ???????Ǽ???빽¤?ΤؤΥݥ????? */ } XKanjiStatusWithValue;
XKanjiControl?Τ??줾???ε?ǽ?μ¹ԤΤ??????ϰʲ????̤??Ǥ???
- (1)
- KC_INITIALIZE - ???ʴ????Ѵ??ν?????
KC_INITIALIZE??request???ǻ??ꤹ?뤳?Ȥˤ??ꡤ???ʴ????Ѵ??ν??? ?????Ԥ??ޤ???arg?ˤ?warning???å??????? ??Ǽ???뤿????(char **)?????ѿ??ؤΥݥ??ޤ???NULL?????ꤷ?ޤ????? ?????ν????ϴ???Ū?ˤ?XKanjiString(3)???ǽ??˸ƤФ줿???˼?ưŪ?˹Ԥ? ???ޤ?????XKanjiControl???Ѥ??ƽ????????? ???Ȥˤ??ꡤXKanjiString(3)?Ǥν??????????ϹԤ????ʤ??ʤ??ޤ???
XKanjiString(3)?λ??Ѥ???Ω?ä?XKanjiControl???Ѥ??Ƥ??ʴ????Ѵ??˴? ???????????Ԥ????ʤɤϡ??????Ѵ??ν????????Ԥ?ɬ?פ??????ޤ???
???ェλ???ˤ?XKanjiControl???????ͤȤ???0???֤ꡤ?۾ェλ???ˤ?-1?? ?֤??ޤ???
KC_INITIALIZE???Ԥä????硤???顼?ȤޤǤϤ????ʤ??Ȥⲿ?餫??warning?? ȯ?????뤳?Ȥ??????ޤ???warning??ȯ????????????arg?ˤ?Ϳ?????줿 ?ѿ????Ф???warningʸ???????????ؤΥݥ?????Ǽ???? ?֤????ޤ???warning???ʤ??Ȥ???NULL????Ǽ?????֤????ޤ???
(??)
int res; /* ???顼???֤äƤ??????????????? */
char **warning;
.....
res = XKanjiControl(dpy, win, KC_INITIALIZE, &warning);
if (warning) {
char **p;
for (p = warning ; *p ; p++) {
fprintf(stderr, "%s0, *p);
}
}
??4???????֤?????warning???å??????ϥ饤?֥???????????malloc?????ޤ??? ?????ϡ?????KC_INITIALIZE??KC_FINALIZE???Ԥ??줿???˳????????ޤ??????? ?ꥱ?????????ץ??????ޤ???????free???ƤϤ????ޤ?????warning?Ϻ??ΤȤ? ??????64???å??????˸??ꤵ???ޤ????????ʾ??Υ??å????????ڼΤƤ????ޤ???
???å??????˴ޤޤ?????ǽ???Τ???warning?ˤϰʲ??Τ??Τ??????ޤ???
- ??
- ???????ޥ????ե????뤬?????ƥ??Τ??Τ??ޤ??Ƥ??٤????ѤǤ??ʤ???
- ??
- ???????ޥ????ե??????˥??å??????顼?????롥
- ??
- ???????????Ѵ??????????ѤǤ??ʤ???
- ??
- ???ʴ????Ѵ??????????ѤǤ??ʤ???
- ??
- ???ʴ????Ѵ??????Ф???³?Ǥ??ʤ???
??4?????Ȥ???NULL?????ꤷ??????warning???å??????ϼΤƤ????ޤ???
- (2)
- KC_CHANGEMODE - ???ϥ⡼?ɤ??ѹ?
???ϥ⡼?ɤץꥱ?????????ѹ????ޤ???request?? ??ʬ?ˤ?KC_CHANGEMODE?????ꤷ??arg??XKanjiStatusWithValue??¤?? ?????ꤷ?Ʋ???????XKanjiStatusWithValue??¤?Τ?val?????Фˤƥ⡼ ???ֹ??????ꤹ?뤳?Ȥˤ??????ܸ??⡼?ɤ??ڤ??ؤ????ޤ????⡼???ֹ??ϰ? ???Υޥ????Ǽ??????ޤ???
- ?ޥ????ֹ?
- ?⡼??
- CANNA_MODE_AlphaMode
- ?????ե??٥åȥ⡼??
- CANNA_MODE_HenkanMode
- ?Ѵ????ϥ⡼??
- CANNA_MODE_KigoMode
- ???????ϥ⡼??
- CANNA_MODE_ZenHiraKakuteiMode
- ???ѤҤ餬?ʳ??????ϥ⡼??
- CANNA_MODE_ZenKataKakuteiMode
- ???ѥ??????ʳ??????ϥ⡼??
- CANNA_MODE_HanKataKakuteiMode
- Ⱦ?ѥ??????ʳ??????ϥ⡼??
- CANNA_MODE_ZenAlphaKakuteiMode
- ???ѥ????ե??٥åȳ??????ϥ⡼??
- CANNA_MODE_HanAlphaKakuteiMode
- Ⱦ?ѥ????ե??٥åȳ??????ϥ⡼??
- CANNA_MODE_HexMode
- 16?ʥ????????ϥ⡼??
- CANNA_MODE_BushuMode
- ???????ϥ⡼??
- CANNA_MODE_TorokuMode
- ñ????Ͽ?⡼??
???ε?ǽ?ˤ????⡼?ɤ??ѹ??????ȥ⡼??̾???Ϥ??Ȥ???¿????ɽ?????Ѳ??? ?????ޤ???ɽ?????ѹ???arg?Ȥ??ƻ??ꤷ??XKanjiStatusWithValue??¤?Τ? ???֤????ޤ???
(??)
XKanjiStatus ks;
XKanjiStatusWithValue ksv;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
ksv.val = CANNA_MODE_HexMode;
XKanjiControl(dpy, win, KC_CHANGEMODE, &ksv);
len = ksv.val;
.....
/* ̤????ʸ??????????ʸ?????ξ?????ksv?ˤ????֤????ޤ??? */
- (3)
- KC_SETWIDTH - ????????ɽ???Τ?????????????
?????????Τ??????Ѥ????????ΰ??Υ????????????ꤷ?ޤ????????????????ϥ? ???ե??٥å?ʸ?????뤤??Ⱦ?ѥ??????ʣ?ʸ????ʸ?????Ǥ??ꡤ???Ѵ????ϣ? ???????????뤳?Ȥˤʤ??ޤ???????????ɽ???Τ????????? ???ꤹ?뤿????request??ʬ?˻??ꤹ???ͤ?KC_SETWIDTH?ǡ? ???ΤȤ?arg?˥????????????ꤷ?ޤ???
(??)
XKanjiControl(dpy, win, KC_SETWIDTH, (char *)60);
- (4)
- KC_FINALIZE - ???ʴ????Ѵ??ν?λ??????
?ץ???????????λ?????ʤɤζ??̤Ǥ??ʴ????Ѵ??⽪λ???뤳?Ȥ????ꤷ?ޤ??? ???ʴ????Ѵ?????????λ??????????ɬ?????ν??????ԤäƲ??????????????ˤ? ???äƺ??ޤdzؽ????????Ƥ??ե?????????Ͽ?????ޤ???request??ʬ?? ??KC_FINALIZE?????ꤷ?ޤ???
???ェλ????0???۾ェλ????-1???????ͤȤ????֤??ޤ???
KC_FINALIZE???Ԥä????硤???顼?ȤޤǤ????ʤ??Ȥⲿ?餫??warning??ȯ?? ???뤳?Ȥ??????ޤ???warning??ȯ????????????arg?ˤ?Ϳ?????줿 ?ѿ???warningʸ???????????ؤΥݥ?????Ǽ?????֤????ޤ???warning???? ???????ˤ?NULL?ݥ?????Ǽ?????֤????ޤ???
(??)
int res; /* ???顼???֤????????????? */
char **warning;
.....
res = XKanjiControl(dpy, win, KC_FINALIZE, &warning);
if (warning) {
char **p;
for (p = warning ; *p ; p++) {
fprintf(stderr, "%s0, *p);
}
}
??4???????֤?????warning???å??????ϡ??饤?֥???????????malloc?????? ?????????ϡ?????KC_INITIALIZE??KC_FINALIZE???Ԥ??줿???˳????????ޤ??? ???ץꥱ?????????ץ??????ޤ???????free???ƤϤ????ޤ?????
warning?Ϻ??ΤȤ???????64???å??????˸??ꤵ???ޤ????????ʾ??Υ??å??? ?????ڼΤƤ????ޤ???
???å??????˴ޤޤ?????ǽ???Τ???warning?ˤϼ??Τ??Τ??????ޤ???
- ??
- ???????ޥ????ȤǤ??ʤ???
??4?????Ȥ???NULL?????ꤷ?????硤warning???å??????ϼΤƤ????ޤ???
- (5)
- KC_SETUNDEFKEYFUNCTION - ̤???????????Ф??뵡ǽ??????
?ɤߤ????Ϥ??Ƥ??????֤?C-t???Ǥä??Ȥ??Τ褦??̤?????????????Ϥ????? ?˼????????????????ꤷ?ޤ???̤???????????б????ƹԤ??????????Ȥ??Ƥϰ? ???ν??????????ޤ???
- ?ޥ???̾
- ????
- kc_normal
- ?ӡ???
- kc_through
- ???ץꥱ?????????ץ??????????Ϥ?
- kc_kakutei
- ???ꤷ???ץꥱ?????????ץ??????????Ϥ?
- kc_kill
- ?õ???ץꥱ?????????ץ??????????Ϥ?
kc_normal?????ꤷ?????硤?????ѿ?jrBeepFunc?????ꤵ?줿?ؿ???̤???????? ???ϻ??˥饤?֥????ˤ??äƼ?ưŪ?˸ƤӽФ????ޤ???jrBeepFunc???ͤ????? ???ʤ??????ˤ?(jrBeepFunc == NULL?ξ????ˤ?)???ⵯ?????ޤ?????
(??)
extern (*jrBeepFunc)(), beep();
jrBeepFunc = beep;
XKanjiControl(dpy, win, KC_SETUNDEFKEYFUNCTION, kc_normal);
- (6)
- KC_SETMODEINFOSTYLE - ?⡼?ɾ?????ɽ??
?⡼?ɾ?????ʸ?????ǤϤʤ??ӥåȥޥåפʤɤΥǡ?????ɽ???????????礬?? ???ޤ??????Τ褦?ʾ????ˤϥ⡼?ɾ????Ȥ??ƿ??ͥǡ??????֤äƤ????Ƚ??? ?????䤹???ʤ??ޤ???XKanjiControl??KC_SETMODEINFOSTYLE?? ???ꤷ??arg?ˣ????Ϥ????Ȥˤ??äƤ????ʸ???XKanjiStatus??¤?? ??mode?????Фˤϥ⡼?ɤ?ɽ?????ͤ?'@'(0x40)???ä?????ʸ?????֤? ?????褦?ˤʤ??ޤ????⡼?ɤ?ɽ?????ͤ??Ѵ??????????ˤ??֤äƤ???ʸ???? ????'@'(0x40)???????ޤ????⡼?ɤ?ɽ?????ͤˤĤ??Ƥ????ϥ⡼?ɤ? ?ѹ?((2)KC_CHANGEMODE)?Τ????Ȥ??Ʋ???????
- (7)
- KC_KAKUTEI??(8) KC_KILL - ????????ʸ??????????
????????ʸ?????餫???Թ????????????????礬?????ޤ????????????????? ????????ʸ??????????ʸ?????Ȥ??Ƽ????????Ǥ????????????????????????Τ? ?Ƥ??ޤäƤ????????????????礬?????ޤ??????ꤹ?? ?????ˤ?XKanjiControl?ˤ?KC_KAKUTEI?????ꤷ?????????? ?????ˤ?KC_KILL?????ꤷ?ޤ???
???ν?????ɽ???˱ƶ???Ϳ?????Τ???4?????ˤ?XKanjiStatusWithValue??¤ ?Τ????ꤷ?ʤ????Фʤ??ޤ?????
XKanjiStatusWithValue ksv;
XKanjiStatus ks;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
XKanjiControl(dpy, win, KC_KAKUTEI, &ksv);
len = ksv.val;
.....
- (9)
- KC_QUERYMODE - ?⡼?ɤ??䤤???碌
???ߤΥ⡼?ɤ??䤤???碌???ˤ?XKanjiControl??KC_QUERYMODE?????ꤷ?ޤ???
??4?????ˤϥ⡼??ʸ????????Ǽ???뤿????ʸ???????Υݥ??????ꤷ?ޤ??? ?⡼??ʸ?????ϥ̥?ʸ???ǽ?????ʸ?????Ǥ????????˿??ͤ??֤??褦?ˤ????? ??XKanjiControl??KC_SETMODEINFOSTYLE?????ꤷ?ƥ⡼??ʸ?????Υ??????? ???ѹ????Ƥ????ޤ???
(??)
char currentMode[MAXMODELEN];
.....
XKanjiControl(dpy, win, KC_QUERYMODE, currentMode);
.....
- (10)
- KC_SETSERVERNAME - ?????Фλ???
???ʴ????Ѵ??????ФȤ??ƤɤΥ????Ф??Ȥ????ץꥱ?????????ץ??????? ????λ???뤳?Ȥʤ??????ؤ??뤳?Ȥ???ǽ?Ǥ??????ʴ????Ѵ??????ФȤ????? ³?????٤??????Ф????ꤹ???ˤ?XKanjiControl??KC_SETSERVERNAME?????ꤷ ?ޤ?????4?????ˤ???³????????????̾?????ꤷ?ޤ???
- (11)
- KC_SETINITFILENAME - ???????ޥ????ե??????λ???
???????ޥ????ե??????ץꥱ?????????ץ???????¦?????ѹ????뤳?Ȥ??? ???ޤ??????????ޥ????ե????????ѹ???XKanjiControl?? ??3??????KC_SETINITFILENAME?????ꤷ????4?????˥ե?????̾ʸ?????????? ???뤳?Ȥˤ????Ԥ??ޤ??????ν??????Ԥ???????KC_INITIALIZE????Ω?äƼ? ?Ԥ??Ƥ????ʤ????Фʤ??ޤ?????
(??)
char *inifile = "app-own.canna"
.....
XKanjiControl(dpy, win, KC_SETINITFILENAME, initfile);
.....
- (12)
- KC_CLOSEUICONTEXT - ?????ƥ????ȤΥ???????
XKanjiControl??XKanjiString???ƤӽФ??ȡ?dpy, win???Ȥ߹??碌?? ?Ф??ƤҤȤĤ??Ѵ??????ƥ????Ȥ????????Ƥޤ??? ???ޤǻȤ????Ƥ??ʤ?dpy, win?? ?Ȥ߹??碌??XKanjiString???뤤??XKanjiControl??Ϳ???뤳?Ȥ???ǽ ?Ǥ??ꡤ???ξ??硤???Υ??????ɥ??Ѥ˿????˥????ƥ????Ȥ?????????ɬ?פʥ? ???꤬???ݤ????ޤ???
?????ޤǻ??Ѥ??Ƥ??????????ɥ????Ȥ????ʤ??ʤä??????ˡ????Υ??????ɥ??˳? ?????ƤƻȤäƤ????????ƥ??????Ѥ˳??ݤ??줿???????? ?????????ˤ?XKanjiControl????3??????KC_CLOSEUICONTEXT?????ꤷ?ƸƤ? ?Ф??ޤ???
???ν?????ɽ?????Ѳ????Ȥ??ʤ??Τ???4?????ˤ?XKanjiStatusWithValue?? ¤?Τ?Ϳ???ޤ???
(??)
XKanjiStatusWithValue ksv;
XKanjiStatus ks;
unsigned char buf[SOMESIZE];
.....
ksv.ks = &ks;
ksv.buffer = buf;
ksv.bytes_buffer = SOMESIZE;
XKanjiControl(dpy, win, KC_CLOSEUICONTEXT, &ksv);
.....
- (13)
- KC_QUERYMAXMODESTR - ?⡼??ɽ??ʸ?????κ???Ĺ???????롥
???????ե??????ˤƥ⡼??ɽ??ʸ?????????ޥ????Ǥ??ޤ????????????ޥ? ?????줿???̥⡼??ɽ??ʸ?????ˤɤ???????ɽ???ΰ??????ݤ??뤫??Ĵ?٤?ɬ ?פ????????礬?????ޤ???XKanjiControl????3??????KC_QUERYMAXMODESTR?? ???ꤷ?ƸƤӽФ????Ȥˤ??ꡤ?⡼??ɽ??ʸ?????Ȥ??Ʋ???????ɬ?פ????֤? ?ͤȤ????֤????ޤ????????Ǹ??????????Ȥ?Ⱦ?ѱѿ?ʸ????ʸ?????Ȥ??? ?Ȥ????ͤ??ޤ???
??4???????Ѥ??????ʤ??Τǥ??ߡ??ͤȤ???0??Ϳ???ޤ???
(??)
int max_mode_columns;
.....
max_mode_columns = XKanjiControl(dpy, win, KC_QUERYMAXMODESTR, 0);
.....
4 April 1991 |