=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/help.c,v retrieving revision 1.3 retrieving revision 1.9 diff -u -p -r1.3 -r1.9 --- OpenXM_contrib2/asir2000/builtin/help.c 2000/08/21 08:31:20 1.3 +++ OpenXM_contrib2/asir2000/builtin/help.c 2015/08/06 10:01:52 1.9 @@ -23,7 +23,7 @@ * shall be made on your publication or presentation in any form of the * results obtained by use of the SOFTWARE. * (4) In the event that you modify the SOFTWARE, you shall notify FLL by - * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification + * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification * for such modification or the source code of the modified part of the * SOFTWARE. * @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/help.c,v 1.2 1999/12/21 04:20:41 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/help.c,v 1.8 2013/07/31 00:38:12 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -93,22 +93,24 @@ char *s; extern char *asir_pager; char *e; static char helpdir[16]; + static int ja_JP_UTF_8 = 0; if ( !helpdir[0] ) { e = (char *)getenv("LANG"); if ( !e ) strcpy(helpdir,"help"); else if ( !strncmp(e,"japan",strlen("japan")) - || !strncmp(e,"ja_JP",strlen("ja_JP")) ) - strcpy(helpdir,"help-jp"); - else - strcpy(helpdir,"help-eg"); + || !strncmp(e,"ja_JP",strlen("ja_JP")) ) { + strcpy(helpdir,"help-ja"); + if (strcmp(e,"ja_JP.UTF-8")==0) ja_JP_UTF_8 = 1; + }else + strcpy(helpdir,"help-en"); } if ( !s ) ghelp(); else { -#if !defined(VISUAL) +#if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__) int i; FUNC f; char name[BUFSIZ],com[BUFSIZ]; @@ -117,13 +119,22 @@ char *s; sprintf(name,"%s/%s/%s",asir_libdir,helpdir,s); if ( fp = fopen(name,"r") ) { fclose(fp); - sprintf(com,"%s %s",asir_pager,name); + if (!ja_JP_UTF_8) + sprintf(com,"%s %s",asir_pager,name); + else + sprintf(com,"nkf -w %s | %s ",name,asir_pager); system(com); } else { - searchf(usrf,s,&f); - if ( f && f->f.usrf->desc ) + gen_searchf_searchonly(s,&f); + if ( f && f->id == A_USR && f->f.usrf->desc ) fprintf(stderr,"%s\n",f->f.usrf->desc); } +#else + FUNC f; + gen_searchf_searchonly(s,&f); + if ( f && f->id == A_USR && f->f.usrf->desc ) + fprintf(stderr,"%s\n",f->f.usrf->desc); + #endif } }