Mercurial > hg > xemacs-beta
comparison src/mule-wnnfns.c @ 380:8626e4521993 r21-2-5
Import from CVS: tag r21-2-5
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:07:10 +0200 |
parents | 3cc9f0ebfbd1 |
children | 74fd4e045ea6 |
comparison
equal
deleted
inserted
replaced
379:76b7d63099ad | 380:8626e4521993 |
---|---|
283 #define WNNSERVER_J 0 | 283 #define WNNSERVER_J 0 |
284 #define WNNSERVER_C 1 | 284 #define WNNSERVER_C 1 |
285 #define WNNSERVER_T 2 | 285 #define WNNSERVER_T 2 |
286 #define WNNSERVER_K 3 | 286 #define WNNSERVER_K 3 |
287 | 287 |
288 int check_wnn_server_type (void); | 288 int check_wnn_server_type (void); |
289 void w2m (w_char *wp, unsigned char *mp, unsigned char lb); | 289 void w2m (w_char *wp, unsigned char *mp, unsigned char lb); |
290 void m2w (unsigned char *mp, w_char *wp); | 290 void m2w (unsigned char *mp, w_char *wp); |
291 void w2y (w_char *w); | 291 void w2y (w_char *w); |
292 void c2m (unsigned char *cp, unsigned char *mp, unsigned char lb); | 292 void c2m (unsigned char *cp, unsigned char *mp, unsigned char lb); |
293 static void puts2 (char *s); | 293 static void puts2 (char *s); |
346 langname = "ja_JP"; | 346 langname = "ja_JP"; |
347 break; | 347 break; |
348 case WNNSERVER_C: | 348 case WNNSERVER_C: |
349 langname = "zh_CN"; | 349 langname = "zh_CN"; |
350 break; | 350 break; |
351 /* | 351 /* |
352 case WNNSERVER_T: | 352 case WNNSERVER_T: |
353 strcpy (langname, "zh_TW"); | 353 strcpy (langname, "zh_TW"); |
354 break; | 354 break; |
355 */ | 355 */ |
356 case WNNSERVER_K: | 356 case WNNSERVER_K: |
406 return Qt; | 406 return Qt; |
407 } | 407 } |
408 | 408 |
409 | 409 |
410 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /* | 410 DEFUN ("wnn-server-close", Fwnn_close, 0, 0, 0, /* |
411 Close the connection to jserver, Dictionary and friquency files | 411 Close the connection to jserver, Dictionary and frequency files |
412 are not saved. | 412 are not saved. |
413 */ | 413 */ |
414 ()) | 414 ()) |
415 { | 415 { |
416 int snum; | 416 int snum; |
417 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 417 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
418 if (!wnnfns_buf[snum]) return Qnil; | 418 if (!wnnfns_buf[snum]) return Qnil; |
419 if (wnnfns_env_norm[snum]) | 419 if (wnnfns_env_norm[snum]) |
420 { | 420 { |
421 if (EQ(Vwnnenv_sticky, Qnil)) jl_env_un_sticky_e (wnnfns_env_norm[snum]); | 421 if (NILP (Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_norm[snum]); |
422 else jl_env_sticky_e (wnnfns_env_norm[snum]); | 422 else jl_env_sticky_e (wnnfns_env_norm[snum]); |
423 jl_disconnect (wnnfns_env_norm[snum]); | 423 jl_disconnect (wnnfns_env_norm[snum]); |
424 } | 424 } |
425 if (wnnfns_env_rev[snum]) | 425 if (wnnfns_env_rev[snum]) |
426 { | 426 { |
427 if (EQ(Vwnnenv_sticky, Qnil)) jl_env_un_sticky_e (wnnfns_env_rev[snum]); | 427 if (NILP (Vwnnenv_sticky)) jl_env_un_sticky_e (wnnfns_env_rev[snum]); |
428 else jl_env_sticky_e (wnnfns_env_rev[snum]); | 428 else jl_env_sticky_e (wnnfns_env_rev[snum]); |
429 jl_disconnect (wnnfns_env_rev[snum]); | 429 jl_disconnect (wnnfns_env_rev[snum]); |
430 } | 430 } |
431 jl_env_set (wnnfns_buf[snum], 0); | 431 jl_env_set (wnnfns_buf[snum], 0); |
432 jl_close (wnnfns_buf[snum]); | 432 jl_close (wnnfns_buf[snum]); |
445 struct gcpro gcpro1; | 445 struct gcpro gcpro1; |
446 int snum; | 446 int snum; |
447 CHECK_STRING (args[0]); | 447 CHECK_STRING (args[0]); |
448 CHECK_STRING (args[1]); | 448 CHECK_STRING (args[1]); |
449 CHECK_INT (args[2]); | 449 CHECK_INT (args[2]); |
450 if (!EQ(args[5], Qnil)) CHECK_STRING (args[5]); | 450 if (! NILP (args[5])) CHECK_STRING (args[5]); |
451 if (!EQ(args[6], Qnil)) CHECK_STRING (args[6]); | 451 if (! NILP (args[6])) CHECK_STRING (args[6]); |
452 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 452 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
453 if (!wnnfns_buf[snum]) return Qnil; | 453 if (!wnnfns_buf[snum]) return Qnil; |
454 GCPRO1 (*args); | 454 GCPRO1 (*args); |
455 gcpro1.nvars = nargs; | 455 gcpro1.nvars = nargs; |
456 if (jl_dic_add (wnnfns_buf[snum], | 456 if (jl_dic_add (wnnfns_buf[snum], |
457 XSTRING (args[0])->_data, | 457 XSTRING_DATA (args[0]), |
458 XSTRING (args[1])->_data, | 458 XSTRING_DATA (args[1]), |
459 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, | 459 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, |
460 XINT (args[2]), | 460 XINT (args[2]), |
461 (EQ(args[3], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, | 461 NILP (args[3]) ? WNN_DIC_RDONLY : WNN_DIC_RW, |
462 (EQ(args[4], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, | 462 NILP (args[4]) ? WNN_DIC_RDONLY : WNN_DIC_RW, |
463 (EQ(args[5], Qnil)) ? 0 : XSTRING (args[5])->_data, | 463 NILP (args[5]) ? 0 : XSTRING_DATA (args[5]), |
464 (EQ(args[6], Qnil)) ? 0 : XSTRING (args[6])->_data, | 464 NILP (args[6]) ? 0 : XSTRING_DATA (args[6]), |
465 yes_or_no, | 465 yes_or_no, |
466 puts2 ) < 0) | 466 puts2 ) < 0) |
467 { | 467 { |
468 UNGCPRO; | 468 UNGCPRO; |
469 return Qnil; | 469 return Qnil; |
494 { | 494 { |
495 WNN_DIC_INFO *dicinfo; | 495 WNN_DIC_INFO *dicinfo; |
496 int cnt, i; | 496 int cnt, i; |
497 unsigned char comment[1024]; | 497 unsigned char comment[1024]; |
498 Lisp_Object val; | 498 Lisp_Object val; |
499 int snum; | 499 int snum; |
500 unsigned char lb; | 500 unsigned char lb; |
501 | 501 |
502 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 502 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
503 lb = lb_wnn_server_type[snum]; | 503 lb = lb_wnn_server_type[snum]; |
504 if (!wnnfns_buf[snum]) return Qnil; | 504 if (!wnnfns_buf[snum]) return Qnil; |
527 } | 527 } |
528 | 528 |
529 DEFUN ("wnn-server-dict-comment", Fwnn_dict_comment, 2, 2, 0, /* | 529 DEFUN ("wnn-server-dict-comment", Fwnn_dict_comment, 2, 2, 0, /* |
530 Set comment to dictionary specified by DIC-NUMBER. | 530 Set comment to dictionary specified by DIC-NUMBER. |
531 Comment string COMMENT | 531 Comment string COMMENT |
532 */ | 532 */ |
533 (dicno, comment)) | 533 (dicno, comment)) |
534 { | 534 { |
535 w_char wbuf[512]; | 535 w_char wbuf[512]; |
536 int snum; | 536 int snum; |
537 CHECK_INT (dicno); | 537 CHECK_INT (dicno); |
538 CHECK_STRING (comment); | 538 CHECK_STRING (comment); |
539 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 539 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
540 if (!wnnfns_buf[snum]) return Qnil; | 540 if (!wnnfns_buf[snum]) return Qnil; |
541 m2w (XSTRING (comment)->_data, wbuf); | 541 m2w (XSTRING_DATA (comment), wbuf); |
542 if (jl_dic_comment_set (wnnfns_buf[snum], XINT (dicno), wbuf) < 0) | 542 if (jl_dic_comment_set (wnnfns_buf[snum], XINT (dicno), wbuf) < 0) |
543 return Qnil; | 543 return Qnil; |
544 return Qt; | 544 return Qt; |
545 } | 545 } |
546 | 546 |
547 | 547 |
550 */ | 550 */ |
551 (rev)) | 551 (rev)) |
552 { | 552 { |
553 int snum; | 553 int snum; |
554 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 554 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
555 if (EQ(rev, Qnil)) | 555 if (NILP (rev)) |
556 { | 556 { |
557 if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return Qnil; | 557 if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return Qnil; |
558 jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]); | 558 jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]); |
559 wnnfns_norm = 1; | 559 wnnfns_norm = 1; |
560 } | 560 } |
576 w_char wbuf[5000]; | 576 w_char wbuf[5000]; |
577 int snum; | 577 int snum; |
578 CHECK_STRING (hstring); | 578 CHECK_STRING (hstring); |
579 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 579 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
580 if (!wnnfns_buf[snum]) return Qnil; | 580 if (!wnnfns_buf[snum]) return Qnil; |
581 m2w (XSTRING (hstring)->_data, wbuf); | 581 m2w (XSTRING_DATA (hstring), wbuf); |
582 if (snum == WNNSERVER_C) | 582 if (snum == WNNSERVER_C) |
583 w2y (wbuf); | 583 w2y (wbuf); |
584 | 584 |
585 #ifdef WNN6 | 585 #ifdef WNN6 |
586 if ((cnt = jl_fi_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) | 586 if ((cnt = jl_fi_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) |
587 return Qnil; | 587 return Qnil; |
588 #else | 588 #else |
589 if ((cnt = jl_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) | 589 if ((cnt = jl_ren_conv (wnnfns_buf[snum], wbuf, 0, -1, WNN_USE_MAE)) < 0) |
590 return Qnil; | 590 return Qnil; |
591 #endif | 591 #endif |
592 return make_int (cnt); | 592 return make_int (cnt); |
593 } | 593 } |
594 | 594 |
694 { | 694 { |
695 int snum; | 695 int snum; |
696 CHECK_INT (offset); | 696 CHECK_INT (offset); |
697 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 697 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
698 if (!wnnfns_buf[snum]) return Qnil; | 698 if (!wnnfns_buf[snum]) return Qnil; |
699 if (EQ(dai, Qnil)) | 699 if (NILP (dai)) |
700 { | 700 { |
701 if (jl_set_jikouho (wnnfns_buf[snum], XINT (offset)) < 0) return Qnil; | 701 if (jl_set_jikouho (wnnfns_buf[snum], XINT (offset)) < 0) return Qnil; |
702 } | 702 } |
703 else | 703 else |
704 { | 704 { |
720 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 720 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
721 if (!wnnfns_buf[snum]) return Qnil; | 721 if (!wnnfns_buf[snum]) return Qnil; |
722 no = XINT (bunNo); | 722 no = XINT (bunNo); |
723 #ifdef WNN6 | 723 #ifdef WNN6 |
724 if ((cnt = jl_fi_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, | 724 if ((cnt = jl_fi_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, |
725 (EQ(dai, Qnil)) ? WNN_SHO : WNN_DAI)) < 0) | 725 NILP (dai) ? WNN_SHO : WNN_DAI)) < 0) |
726 return Qnil; | 726 return Qnil; |
727 #else | 727 #else |
728 if ((cnt = jl_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, | 728 if ((cnt = jl_nobi_conv (wnnfns_buf[snum], no, XINT(len), -1, WNN_USE_MAE, |
729 (EQ(dai, Qnil)) ? WNN_SHO : WNN_DAI)) < 0) | 729 NILP (dai) ? WNN_SHO : WNN_DAI)) < 0) |
730 return Qnil; | 730 return Qnil; |
731 #endif | 731 #endif |
732 return make_int (cnt); | 732 return make_int (cnt); |
733 } | 733 } |
734 | 734 |
842 (bunNo)) | 842 (bunNo)) |
843 { | 843 { |
844 int no; | 844 int no; |
845 int snum; | 845 int snum; |
846 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 846 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
847 if (EQ(bunNo, Qnil)) no = -1; | 847 if (NILP (bunNo)) no = -1; |
848 else | 848 else |
849 { | 849 { |
850 CHECK_INT (bunNo); | 850 CHECK_INT (bunNo); |
851 no = XINT (bunNo); | 851 no = XINT (bunNo); |
852 } | 852 } |
873 CHECK_STRING (yomi); | 873 CHECK_STRING (yomi); |
874 CHECK_STRING (comment); | 874 CHECK_STRING (comment); |
875 CHECK_INT (hinsi); | 875 CHECK_INT (hinsi); |
876 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 876 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
877 if (!wnnfns_buf[snum]) return Qnil; | 877 if (!wnnfns_buf[snum]) return Qnil; |
878 m2w (XSTRING (yomi)->_data, yomi_buf); | 878 m2w (XSTRING_DATA (yomi), yomi_buf); |
879 if (snum == WNNSERVER_C) | 879 if (snum == WNNSERVER_C) |
880 w2y (yomi_buf); | 880 w2y (yomi_buf); |
881 m2w (XSTRING (kanji)->_data, kanji_buf); | 881 m2w (XSTRING_DATA (kanji), kanji_buf); |
882 m2w (XSTRING (comment)->_data, comment_buf); | 882 m2w (XSTRING_DATA (comment), comment_buf); |
883 if (jl_word_add (wnnfns_buf[snum], XINT (dicno), yomi_buf, kanji_buf, | 883 if (jl_word_add (wnnfns_buf[snum], XINT (dicno), yomi_buf, kanji_buf, |
884 comment_buf, XINT (hinsi), 0) < 0) | 884 comment_buf, XINT (hinsi), 0) < 0) |
885 return Qnil; | 885 return Qnil; |
886 else return Qt; | 886 else return Qt; |
887 } | 887 } |
888 | 888 |
889 | 889 |
990 unsigned char lb; | 990 unsigned char lb; |
991 CHECK_STRING (yomi); | 991 CHECK_STRING (yomi); |
992 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 992 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
993 lb = lb_wnn_server_type[snum]; | 993 lb = lb_wnn_server_type[snum]; |
994 if (!wnnfns_buf[snum]) return Qnil; | 994 if (!wnnfns_buf[snum]) return Qnil; |
995 m2w (XSTRING (yomi)->_data, wbuf); | 995 m2w (XSTRING_DATA (yomi), wbuf); |
996 if (snum == WNNSERVER_C) | 996 if (snum == WNNSERVER_C) |
997 w2y (wbuf); | 997 w2y (wbuf); |
998 if ((count = jl_word_search_by_env (wnnfns_buf[snum], | 998 if ((count = jl_word_search_by_env (wnnfns_buf[snum], |
999 wbuf, &wordinfo)) < 0) | 999 wbuf, &wordinfo)) < 0) |
1000 return Qnil; | 1000 return Qnil; |
1078 { | 1078 { |
1079 int setval; | 1079 int setval; |
1080 CHECK_INT (val); | 1080 CHECK_INT (val); |
1081 setval = XINT (val); | 1081 setval = XINT (val); |
1082 if (EQ (key, Qwnn_n)) param.n = setval; | 1082 if (EQ (key, Qwnn_n)) param.n = setval; |
1083 else if (EQ (key, Qwnn_nsho)) param.nsho = setval; | 1083 else if (EQ (key, Qwnn_nsho)) param.nsho = setval; |
1084 else if (EQ (key, Qwnn_hindo)) param.p1 = setval; | 1084 else if (EQ (key, Qwnn_hindo)) param.p1 = setval; |
1085 else if (EQ (key, Qwnn_len)) param.p2 = setval; | 1085 else if (EQ (key, Qwnn_len)) param.p2 = setval; |
1086 else if (EQ (key, Qwnn_jiri)) param.p3 = setval; | 1086 else if (EQ (key, Qwnn_jiri)) param.p3 = setval; |
1087 else if (EQ (key, Qwnn_flag)) param.p4 = setval; | 1087 else if (EQ (key, Qwnn_flag)) param.p4 = setval; |
1088 else if (EQ (key, Qwnn_jisho)) param.p5 = setval; | 1088 else if (EQ (key, Qwnn_jisho)) param.p5 = setval; |
1104 } | 1104 } |
1105 | 1105 |
1106 #if 0 | 1106 #if 0 |
1107 printf("wnn_n = %d\n",param.n); | 1107 printf("wnn_n = %d\n",param.n); |
1108 printf("wnn_nsho = %d\n",param.nsho); | 1108 printf("wnn_nsho = %d\n",param.nsho); |
1109 printf("wnn_hindo = %d\n",param.p1); | 1109 printf("wnn_hindo = %d\n",param.p1); |
1110 printf("wnn_len = %d\n",param.p2); | 1110 printf("wnn_len = %d\n",param.p2); |
1111 printf("wnn_jiri = %d\n",param.p3); | 1111 printf("wnn_jiri = %d\n",param.p3); |
1112 printf("wnn_flag = %d\n",param.p4); | 1112 printf("wnn_flag = %d\n",param.p4); |
1113 printf("wnn_jisho = %d\n",param.p5); | 1113 printf("wnn_jisho = %d\n",param.p5); |
1114 printf("wnn_sbn = %d\n",param.p6); | 1114 printf("wnn_sbn = %d\n",param.p6); |
1115 printf("wnn_dbn_len = %d\n",param.p7); | 1115 printf("wnn_dbn_len = %d\n",param.p7); |
1116 printf("wnn_sbn_cnt = %d\n",param.p8); | 1116 printf("wnn_sbn_cnt = %d\n",param.p8); |
1117 printf("wnn_suuji = %d\n",param.p9); | 1117 printf("wnn_suuji = %d\n",param.p9); |
1118 printf("wnn_kana = %d\n",param.p10); | 1118 printf("wnn_kana = %d\n",param.p10); |
1119 printf("wnn_eisuu = %d\n",param.p11); | 1119 printf("wnn_eisuu = %d\n",param.p11); |
1120 printf("wnn_kigou = %d\n",param.p12); | 1120 printf("wnn_kigou = %d\n",param.p12); |
1121 printf("wnn_toji_kakko = %d\n",param.p13); | 1121 printf("wnn_toji_kakko = %d\n",param.p13); |
1122 printf("wnn_fuzokogo = %d\n",param.p14); | 1122 printf("wnn_fuzokogo = %d\n",param.p14); |
1123 printf("wnn_kaikakko = %d\n",param.p15); | 1123 printf("wnn_kaikakko = %d\n",param.p15); |
1124 #endif | 1124 #endif |
1125 | 1125 |
1126 rc = jl_param_set (wnnfns_buf[snum], ¶m); | 1126 rc = jl_param_set (wnnfns_buf[snum], ¶m); |
1127 if (rc < 0) return Qnil; | 1127 if (rc < 0) return Qnil; |
1128 return Qt; | 1128 return Qt; |
1173 { | 1173 { |
1174 int snum; | 1174 int snum; |
1175 CHECK_STRING (file); | 1175 CHECK_STRING (file); |
1176 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 1176 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
1177 if (!wnnfns_buf[snum]) return Qnil; | 1177 if (!wnnfns_buf[snum]) return Qnil; |
1178 if (jl_fuzokugo_set (wnnfns_buf[snum], XSTRING (file)->_data) < 0) | 1178 if (jl_fuzokugo_set (wnnfns_buf[snum], XSTRING_DATA (file)) < 0) |
1179 return Qnil; | 1179 return Qnil; |
1180 return Qt; | 1180 return Qt; |
1181 } | 1181 } |
1182 | 1182 |
1183 DEFUN ("wnn-server-fuzokugo-get", Fwnn_fuzokugo_get, 0, 0, 0, /* | 1183 DEFUN ("wnn-server-fuzokugo-get", Fwnn_fuzokugo_get, 0, 0, 0, /* |
1244 CHECK_INT (dicno); | 1244 CHECK_INT (dicno); |
1245 CHECK_STRING (name); | 1245 CHECK_STRING (name); |
1246 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 1246 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
1247 lb = lb_wnn_server_type[snum]; | 1247 lb = lb_wnn_server_type[snum]; |
1248 if (!wnnfns_buf[snum]) return Qnil; | 1248 if (!wnnfns_buf[snum]) return Qnil; |
1249 m2w (XSTRING (name)->_data, wbuf); | 1249 m2w (XSTRING_DATA (name), wbuf); |
1250 if ((cnt = jl_hinsi_list (wnnfns_buf[snum], XINT (dicno), wbuf, &area)) < 0) | 1250 if ((cnt = jl_hinsi_list (wnnfns_buf[snum], XINT (dicno), wbuf, &area)) < 0) |
1251 return Qnil; | 1251 return Qnil; |
1252 if (cnt == 0) return make_int (0); | 1252 if (cnt == 0) return make_int (0); |
1253 val = Qnil; | 1253 val = Qnil; |
1254 for (area += cnt; cnt > 0; cnt--) | 1254 for (area += cnt; cnt > 0; cnt--) |
1287 { | 1287 { |
1288 struct gcpro gcpro1; | 1288 struct gcpro gcpro1; |
1289 int snum; | 1289 int snum; |
1290 CHECK_STRING (args[0]); | 1290 CHECK_STRING (args[0]); |
1291 CHECK_STRING (args[1]); | 1291 CHECK_STRING (args[1]); |
1292 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); | 1292 if (! NILP (args[3])) CHECK_STRING (args[3]); |
1293 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1293 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1294 if(!wnnfns_buf[snum]) return Qnil; | 1294 if(!wnnfns_buf[snum]) return Qnil; |
1295 GCPRO1 (*args); | 1295 GCPRO1 (*args); |
1296 gcpro1.nvars = nargs; | 1296 gcpro1.nvars = nargs; |
1297 if(jl_fi_dic_add(wnnfns_buf[snum], | 1297 if(jl_fi_dic_add(wnnfns_buf[snum], |
1298 XSTRING(args[0])->_data, | 1298 XSTRING_DATA (args[0]), |
1299 XSTRING(args[1])->_data, | 1299 XSTRING_DATA (args[1]), |
1300 WNN_FI_SYSTEM_DICT, | 1300 WNN_FI_SYSTEM_DICT, |
1301 WNN_DIC_RDONLY, | 1301 WNN_DIC_RDONLY, |
1302 (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, | 1302 NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW, |
1303 0, | 1303 0, |
1304 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, | 1304 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]), |
1305 yes_or_no, | 1305 yes_or_no, |
1306 puts2 ) < 0) { | 1306 puts2 ) < 0) { |
1307 UNGCPRO; | 1307 UNGCPRO; |
1308 return Qnil; | 1308 return Qnil; |
1309 } | 1309 } |
1310 UNGCPRO; | 1310 UNGCPRO; |
1311 return Qt; | 1311 return Qt; |
1320 { | 1320 { |
1321 struct gcpro gcpro1; | 1321 struct gcpro gcpro1; |
1322 int snum; | 1322 int snum; |
1323 CHECK_STRING (args[0]); | 1323 CHECK_STRING (args[0]); |
1324 CHECK_STRING (args[1]); | 1324 CHECK_STRING (args[1]); |
1325 if (!EQ(args[4], Qnil)) CHECK_STRING (args[4]); | 1325 if (! NILP (args[4])) CHECK_STRING (args[4]); |
1326 if (!EQ(args[5], Qnil)) CHECK_STRING (args[5]); | 1326 if (! NILP (args[5])) CHECK_STRING (args[5]); |
1327 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1327 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1328 if(!wnnfns_buf[snum]) return Qnil; | 1328 if(!wnnfns_buf[snum]) return Qnil; |
1329 GCPRO1 (*args); | 1329 GCPRO1 (*args); |
1330 gcpro1.nvars = nargs; | 1330 gcpro1.nvars = nargs; |
1331 if(jl_fi_dic_add(wnnfns_buf[snum], | 1331 if(jl_fi_dic_add(wnnfns_buf[snum], |
1332 XSTRING(args[0])->_data, | 1332 XSTRING_DATA (args[0]), |
1333 XSTRING(args[1])->_data, | 1333 XSTRING_DATA (args[1]), |
1334 WNN_FI_USER_DICT, | 1334 WNN_FI_USER_DICT, |
1335 (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, | 1335 NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW, |
1336 (EQ(args[3], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW, | 1336 NILP (args[3]) ? WNN_DIC_RDONLY : WNN_DIC_RW, |
1337 (EQ(args[4], Qnil)) ? 0 : XSTRING(args[4])->_data, | 1337 NILP (args[4]) ? 0 : XSTRING_DATA (args[4]), |
1338 (EQ(args[5], Qnil)) ? 0 : XSTRING(args[5])->_data, | 1338 NILP (args[5]) ? 0 : XSTRING_DATA (args[5]), |
1339 yes_or_no, | 1339 yes_or_no, |
1340 puts2 ) < 0) { | 1340 puts2 ) < 0) { |
1341 UNGCPRO; | 1341 UNGCPRO; |
1342 return Qnil; | 1342 return Qnil; |
1343 } | 1343 } |
1344 UNGCPRO; | 1344 UNGCPRO; |
1345 return Qt; | 1345 return Qt; |
1357 struct wnn_env *cur_env; | 1357 struct wnn_env *cur_env; |
1358 unsigned long vmask = 0; | 1358 unsigned long vmask = 0; |
1359 struct wnn_henkan_env henv; | 1359 struct wnn_henkan_env henv; |
1360 CHECK_STRING (args[0]); | 1360 CHECK_STRING (args[0]); |
1361 CHECK_INT (args[1]); | 1361 CHECK_INT (args[1]); |
1362 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); | 1362 if (! NILP (args[3])) CHECK_STRING (args[3]); |
1363 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1363 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1364 if(!wnnfns_buf[snum]) return Qnil; | 1364 if(!wnnfns_buf[snum]) return Qnil; |
1365 GCPRO1 (*args); | 1365 GCPRO1 (*args); |
1366 gcpro1.nvars = nargs; | 1366 gcpro1.nvars = nargs; |
1367 if(wnnfns_norm) | 1367 if(wnnfns_norm) |
1369 else | 1369 else |
1370 cur_env = wnnfns_env_rev[snum]; | 1370 cur_env = wnnfns_env_rev[snum]; |
1371 dic_no = js_get_autolearning_dic(cur_env, WNN_MUHENKAN_LEARNING); | 1371 dic_no = js_get_autolearning_dic(cur_env, WNN_MUHENKAN_LEARNING); |
1372 if (dic_no == WNN_NO_LEARNING) { | 1372 if (dic_no == WNN_NO_LEARNING) { |
1373 if((dic_no = jl_dic_add(wnnfns_buf[snum], | 1373 if((dic_no = jl_dic_add(wnnfns_buf[snum], |
1374 XSTRING(args[0])->_data, | 1374 XSTRING_DATA (args[0]), |
1375 0, | 1375 0, |
1376 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, | 1376 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, |
1377 XINT(args[1]), | 1377 XINT(args[1]), |
1378 WNN_DIC_RW, WNN_DIC_RW, | 1378 WNN_DIC_RW, WNN_DIC_RW, |
1379 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, | 1379 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]), |
1380 0, | 1380 0, |
1381 yes_or_no, | 1381 yes_or_no, |
1382 puts2)) < 0) { | 1382 puts2)) < 0) { |
1383 UNGCPRO; | 1383 UNGCPRO; |
1384 return Qnil; | 1384 return Qnil; |
1391 UNGCPRO; | 1391 UNGCPRO; |
1392 return Qnil; | 1392 return Qnil; |
1393 } | 1393 } |
1394 } | 1394 } |
1395 vmask |= WNN_ENV_MUHENKAN_LEARN_MASK; | 1395 vmask |= WNN_ENV_MUHENKAN_LEARN_MASK; |
1396 henv.muhenkan_flag = (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW; | 1396 henv.muhenkan_flag = NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW; |
1397 if(jl_set_henkan_env(wnnfns_buf[snum], | 1397 if(jl_set_henkan_env(wnnfns_buf[snum], |
1398 vmask, | 1398 vmask, |
1399 &henv) < 0) { | 1399 &henv) < 0) { |
1400 UNGCPRO; | 1400 UNGCPRO; |
1401 return Qnil; | 1401 return Qnil; |
1416 struct wnn_env *cur_env; | 1416 struct wnn_env *cur_env; |
1417 unsigned long vmask = 0; | 1417 unsigned long vmask = 0; |
1418 struct wnn_henkan_env henv; | 1418 struct wnn_henkan_env henv; |
1419 CHECK_STRING (args[0]); | 1419 CHECK_STRING (args[0]); |
1420 CHECK_INT (args[1]); | 1420 CHECK_INT (args[1]); |
1421 if (!EQ(args[3], Qnil)) CHECK_STRING (args[3]); | 1421 if (! NILP (args[3])) CHECK_STRING (args[3]); |
1422 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1422 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1423 if(!wnnfns_buf[snum]) return Qnil; | 1423 if(!wnnfns_buf[snum]) return Qnil; |
1424 GCPRO1 (*args); | 1424 GCPRO1 (*args); |
1425 gcpro1.nvars = nargs; | 1425 gcpro1.nvars = nargs; |
1426 if(wnnfns_norm) | 1426 if(wnnfns_norm) |
1428 else | 1428 else |
1429 cur_env = wnnfns_env_rev[snum]; | 1429 cur_env = wnnfns_env_rev[snum]; |
1430 dic_no = js_get_autolearning_dic(cur_env, WNN_BUNSETSUGIRI_LEARNING); | 1430 dic_no = js_get_autolearning_dic(cur_env, WNN_BUNSETSUGIRI_LEARNING); |
1431 if (dic_no == WNN_NO_LEARNING) { | 1431 if (dic_no == WNN_NO_LEARNING) { |
1432 if((dic_no = jl_dic_add(wnnfns_buf[snum], | 1432 if((dic_no = jl_dic_add(wnnfns_buf[snum], |
1433 XSTRING(args[0])->_data, | 1433 XSTRING_DATA (args[0]), |
1434 0, | 1434 0, |
1435 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, | 1435 wnnfns_norm ? WNN_DIC_ADD_NOR : WNN_DIC_ADD_REV, |
1436 XINT(args[1]), | 1436 XINT(args[1]), |
1437 WNN_DIC_RW, WNN_DIC_RW, | 1437 WNN_DIC_RW, WNN_DIC_RW, |
1438 (EQ(args[3], Qnil)) ? 0 : XSTRING(args[3])->_data, | 1438 NILP (args[3]) ? 0 : XSTRING_DATA (args[3]), |
1439 0, | 1439 0, |
1440 yes_or_no, | 1440 yes_or_no, |
1441 puts2)) < 0) { | 1441 puts2)) < 0) { |
1442 UNGCPRO; | 1442 UNGCPRO; |
1443 return Qnil; | 1443 return Qnil; |
1450 UNGCPRO; | 1450 UNGCPRO; |
1451 return Qnil; | 1451 return Qnil; |
1452 } | 1452 } |
1453 } | 1453 } |
1454 vmask |= WNN_ENV_BUNSETSUGIRI_LEARN_MASK; | 1454 vmask |= WNN_ENV_BUNSETSUGIRI_LEARN_MASK; |
1455 henv.bunsetsugiri_flag = (EQ(args[2], Qnil)) ? WNN_DIC_RDONLY : WNN_DIC_RW; | 1455 henv.bunsetsugiri_flag = NILP (args[2]) ? WNN_DIC_RDONLY : WNN_DIC_RW; |
1456 if(jl_set_henkan_env(wnnfns_buf[snum], | 1456 if(jl_set_henkan_env(wnnfns_buf[snum], |
1457 vmask, | 1457 vmask, |
1458 &henv) < 0) { | 1458 &henv) < 0) { |
1459 UNGCPRO; | 1459 UNGCPRO; |
1460 return Qnil; | 1460 return Qnil; |
1471 int snum; | 1471 int snum; |
1472 unsigned long vmask = 0; | 1472 unsigned long vmask = 0; |
1473 struct wnn_henkan_env henv; | 1473 struct wnn_henkan_env henv; |
1474 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1474 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1475 if(!wnnfns_buf[snum]) return Qnil; | 1475 if(!wnnfns_buf[snum]) return Qnil; |
1476 vmask |= WNN_ENV_LAST_IS_FIRST_MASK; | 1476 vmask |= WNN_ENV_LAST_IS_FIRST_MASK; |
1477 henv.last_is_first_flag = (EQ(mode, Qnil)) ? False : True; | 1477 henv.last_is_first_flag = NILP (mode) ? False : True; |
1478 if(jl_set_henkan_env(wnnfns_buf[snum], | 1478 if(jl_set_henkan_env(wnnfns_buf[snum], |
1479 vmask, | 1479 vmask, |
1480 &henv) < 0) return Qnil; | 1480 &henv) < 0) return Qnil; |
1481 return Qt; | 1481 return Qt; |
1482 } | 1482 } |
1490 unsigned long vmask = 0; | 1490 unsigned long vmask = 0; |
1491 struct wnn_henkan_env henv; | 1491 struct wnn_henkan_env henv; |
1492 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1492 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1493 if(!wnnfns_buf[snum]) return Qnil; | 1493 if(!wnnfns_buf[snum]) return Qnil; |
1494 vmask |= WNN_ENV_COMPLEX_CONV_MASK; | 1494 vmask |= WNN_ENV_COMPLEX_CONV_MASK; |
1495 henv.complex_flag = (EQ(mode, Qnil)) ? False : True; | 1495 henv.complex_flag = NILP (mode) ? False : True; |
1496 if(jl_set_henkan_env(wnnfns_buf[snum], | 1496 if(jl_set_henkan_env(wnnfns_buf[snum], |
1497 vmask, | 1497 vmask, |
1498 &henv) < 0) return Qnil; | 1498 &henv) < 0) return Qnil; |
1499 return Qt; | 1499 return Qt; |
1500 } | 1500 } |
1508 unsigned long vmask = 0; | 1508 unsigned long vmask = 0; |
1509 struct wnn_henkan_env henv; | 1509 struct wnn_henkan_env henv; |
1510 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1510 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1511 if(!wnnfns_buf[snum]) return Qnil; | 1511 if(!wnnfns_buf[snum]) return Qnil; |
1512 vmask |= WNN_ENV_OKURI_LEARN_MASK; | 1512 vmask |= WNN_ENV_OKURI_LEARN_MASK; |
1513 henv.okuri_learn_flag = (EQ(mode, Qnil)) ? False : True; | 1513 henv.okuri_learn_flag = NILP (mode) ? False : True; |
1514 if(jl_set_henkan_env(wnnfns_buf[snum], | 1514 if(jl_set_henkan_env(wnnfns_buf[snum], |
1515 vmask, | 1515 vmask, |
1516 &henv) < 0) return Qnil; | 1516 &henv) < 0) return Qnil; |
1517 return Qt; | 1517 return Qt; |
1518 } | 1518 } |
1551 unsigned long vmask = 0; | 1551 unsigned long vmask = 0; |
1552 struct wnn_henkan_env henv; | 1552 struct wnn_henkan_env henv; |
1553 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1553 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1554 if(!wnnfns_buf[snum]) return Qnil; | 1554 if(!wnnfns_buf[snum]) return Qnil; |
1555 vmask |= WNN_ENV_PREFIX_LEARN_MASK; | 1555 vmask |= WNN_ENV_PREFIX_LEARN_MASK; |
1556 henv.prefix_learn_flag = (EQ(mode, Qnil)) ? False : True; | 1556 henv.prefix_learn_flag = NILP (mode) ? False : True; |
1557 if(jl_set_henkan_env(wnnfns_buf[snum], | 1557 if(jl_set_henkan_env(wnnfns_buf[snum], |
1558 vmask, | 1558 vmask, |
1559 &henv) < 0) return Qnil; | 1559 &henv) < 0) return Qnil; |
1560 return Qt; | 1560 return Qt; |
1561 } | 1561 } |
1592 unsigned long vmask = 0; | 1592 unsigned long vmask = 0; |
1593 struct wnn_henkan_env henv; | 1593 struct wnn_henkan_env henv; |
1594 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1594 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1595 if(!wnnfns_buf[snum]) return Qnil; | 1595 if(!wnnfns_buf[snum]) return Qnil; |
1596 vmask |= WNN_ENV_SUFFIX_LEARN_MASK; | 1596 vmask |= WNN_ENV_SUFFIX_LEARN_MASK; |
1597 henv.suffix_learn_flag = (EQ(mode, Qnil)) ? False : True; | 1597 henv.suffix_learn_flag = NILP (mode) ? False : True; |
1598 if(jl_set_henkan_env(wnnfns_buf[snum], | 1598 if(jl_set_henkan_env(wnnfns_buf[snum], |
1599 vmask, | 1599 vmask, |
1600 &henv) < 0) return Qnil; | 1600 &henv) < 0) return Qnil; |
1601 return Qt; | 1601 return Qt; |
1602 } | 1602 } |
1610 unsigned long vmask = 0; | 1610 unsigned long vmask = 0; |
1611 struct wnn_henkan_env henv; | 1611 struct wnn_henkan_env henv; |
1612 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1612 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1613 if(!wnnfns_buf[snum]) return Qnil; | 1613 if(!wnnfns_buf[snum]) return Qnil; |
1614 vmask |= WNN_ENV_COMMON_LAERN_MASK; | 1614 vmask |= WNN_ENV_COMMON_LAERN_MASK; |
1615 henv.common_learn_flag = (EQ(mode, Qnil)) ? False : True; | 1615 henv.common_learn_flag = NILP (mode) ? False : True; |
1616 if(jl_set_henkan_env(wnnfns_buf[snum], | 1616 if(jl_set_henkan_env(wnnfns_buf[snum], |
1617 vmask, | 1617 vmask, |
1618 &henv) < 0) return Qnil; | 1618 &henv) < 0) return Qnil; |
1619 return Qt; | 1619 return Qt; |
1620 } | 1620 } |
1726 unsigned long vmask = 0; | 1726 unsigned long vmask = 0; |
1727 struct wnn_henkan_env henv; | 1727 struct wnn_henkan_env henv; |
1728 if ((snum = check_wnn_server_type()) == -1) return Qnil; | 1728 if ((snum = check_wnn_server_type()) == -1) return Qnil; |
1729 if(!wnnfns_buf[snum]) return Qnil; | 1729 if(!wnnfns_buf[snum]) return Qnil; |
1730 vmask |= WNN_ENV_YURAGI_MASK; | 1730 vmask |= WNN_ENV_YURAGI_MASK; |
1731 henv.yuragi_flag = (EQ(mode, Qnil)) ? False : True; | 1731 henv.yuragi_flag = NILP (mode) ? False : True; |
1732 if(jl_set_henkan_env(wnnfns_buf[snum], | 1732 if(jl_set_henkan_env(wnnfns_buf[snum], |
1733 vmask, | 1733 vmask, |
1734 &henv) < 0) return Qnil; | 1734 &henv) < 0) return Qnil; |
1735 return Qt; | 1735 return Qt; |
1736 } | 1736 } |
1776 int no; | 1776 int no; |
1777 int snum; | 1777 int snum; |
1778 CHECK_STRING (name); | 1778 CHECK_STRING (name); |
1779 if ((snum = check_wnn_server_type ()) == -1) return Qnil; | 1779 if ((snum = check_wnn_server_type ()) == -1) return Qnil; |
1780 if (!wnnfns_buf[snum]) return Qnil; | 1780 if (!wnnfns_buf[snum]) return Qnil; |
1781 m2w (XSTRING (name)->_data, w_buf); | 1781 m2w (XSTRING_DATA (name), w_buf); |
1782 if ((no = jl_hinsi_number (wnnfns_buf[snum], w_buf)) < 0) return Qnil; | 1782 if ((no = jl_hinsi_number (wnnfns_buf[snum], w_buf)) < 0) return Qnil; |
1783 return make_int (no); | 1783 return make_int (no); |
1784 } | 1784 } |
1785 | 1785 |
1786 void | 1786 void |
1924 { | 1924 { |
1925 case 0x80: | 1925 case 0x80: |
1926 if (EQ(Vwnn_server_type, Qcserver)) | 1926 if (EQ(Vwnn_server_type, Qcserver)) |
1927 { | 1927 { |
1928 len = cwnn_yincod_pzy (pzy, wc, | 1928 len = cwnn_yincod_pzy (pzy, wc, |
1929 (EQ(Vcwnn_zhuyin, Qnil)) | 1929 NILP (Vcwnn_zhuyin) |
1930 ? CWNN_PINYIN | 1930 ? CWNN_PINYIN |
1931 : CWNN_ZHUYIN); | 1931 : CWNN_ZHUYIN); |
1932 for (i = 0; i < len; i++) | 1932 for (i = 0; i < len; i++) |
1933 { | 1933 { |
1934 if (pzy[i] & 0x80) | 1934 if (pzy[i] & 0x80) |
1970 | 1970 |
1971 void | 1971 void |
1972 m2w (unsigned char *mp, w_char *wp) | 1972 m2w (unsigned char *mp, w_char *wp) |
1973 { | 1973 { |
1974 unsigned int ch; | 1974 unsigned int ch; |
1975 | 1975 |
1976 while ((ch = *mp++) != 0) | 1976 while ((ch = *mp++) != 0) |
1977 { | 1977 { |
1978 if (BUFBYTE_LEADING_BYTE_P (ch)) | 1978 if (BUFBYTE_LEADING_BYTE_P (ch)) |
1979 { | 1979 { |
1980 switch (ch) | 1980 switch (ch) |
2030 {*pin =0; break;} | 2030 {*pin =0; break;} |
2031 else *pin = *w; | 2031 else *pin = *w; |
2032 w++; pin++; | 2032 w++; pin++; |
2033 } | 2033 } |
2034 len = cwnn_pzy_yincod (ybuf, pbuf, | 2034 len = cwnn_pzy_yincod (ybuf, pbuf, |
2035 (EQ(Vcwnn_zhuyin, Qnil)) ? CWNN_PINYIN : CWNN_ZHUYIN); | 2035 NILP (Vcwnn_zhuyin) ? CWNN_PINYIN : CWNN_ZHUYIN); |
2036 if (len <= 0) | 2036 if (len <= 0) |
2037 return; | 2037 return; |
2038 | 2038 |
2039 pin = ybuf; | 2039 pin = ybuf; |
2040 while (1) | 2040 while (1) |