*** wordparser/parser.c~ 2007-01-16 00:16:11.000000000 +0900 --- wordparser/parser.c 2007-02-10 18:04:59.000000000 +0900 *************** *** 246,251 **** --- 246,266 ---- static int p_islatin(TParser * prs) { + if (prs->usewide) + { + if (lc_ctype_is_c()) + { + unsigned int c = *(unsigned int*)(prs->wstr + prs->state->poschar); + + /* + * any non-ascii symbol with multibyte encoding + * with C-locale is a latin character + */ + if ( c > 0x7f ) + return 1; + } + } + return (p_isalpha(prs) && p_isascii(prs)) ? 1 : 0; }