=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/help.c,v retrieving revision 1.5 retrieving revision 1.11 diff -u -p -r1.5 -r1.11 --- OpenXM_contrib2/asir2000/builtin/help.c 2004/06/25 05:20:09 1.5 +++ OpenXM_contrib2/asir2000/builtin/help.c 2015/08/14 13:51:54 1.11 @@ -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.4 2000/08/22 05:03:58 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/help.c,v 1.10 2015/08/08 14:19:41 fujimoto 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__) 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 { 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 } }