/** * cl_tolower: * @c: a Unicode character. * * Converts a character to lower case. * * Return value: the result of converting @c to lower case. * If @c is not an upperlower or titlecase character, * or has no lowercase equivalent @c is returned unchanged. **/ TCHAR cl_tolower (TCHAR ch) { gunichar c=ch; int t = TYPE ((gunichar)c); if (t == G_UNICODE_UPPERCASE_LETTER) { gunichar val = ATTTABLE (c >> 8, c & 0xff); if (val >= 0x1000000) { const gchar *p = special_case_table + val - 0x1000000; int len=0; wchar_t ret=0; lucene_utf8towc(&ret,p,6); #ifdef _UCS2 return ret; #else return LUCENE_OOR_CHAR(ret); #endif //return cl_utf8_get_char (p, &len); }else return val ? val : c; }else if (t == G_UNICODE_TITLECASE_LETTER){
void Misc::_cpywideToChar(const wchar_t* s, char* d, size_t len){ size_t sLen = wcslen(s); for ( uint32_t i=0;i<len&&i<sLen+1;i++ ) d[i] = LUCENE_OOR_CHAR(s[i]); }