U_CAPI int32_t U_EXPORT2 ucasemap_utf8ToTitle(UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode) { if (U_FAILURE(*pErrorCode)) { return 0; } UText utext=UTEXT_INITIALIZER; utext_openUTF8(&utext, (const char *)src, srcLength, pErrorCode); if(csm->iter==NULL) { csm->iter=BreakIterator::createWordInstance(Locale(csm->locale), *pErrorCode); } if (U_FAILURE(*pErrorCode)) { return 0; } csm->iter->setText(&utext, *pErrorCode); int32_t length=ucasemap_mapUTF8( csm->caseLocale, csm->options, csm->iter, (uint8_t *)dest, destCapacity, (const uint8_t *)src, srcLength, ucasemap_internalUTF8ToTitle, pErrorCode); utext_close(&utext); return length; }
void CaseMap::utf8Fold( uint32_t options, StringPiece src, ByteSink &sink, Edits *edits, UErrorCode &errorCode) { ucasemap_mapUTF8( UCASE_LOC_ROOT, options, UCASEMAP_BREAK_ITERATOR_NULL src.data(), src.length(), ucasemap_internalUTF8Fold, sink, edits, errorCode); }
void CaseMap::utf8ToUpper( const char *locale, uint32_t options, StringPiece src, ByteSink &sink, Edits *edits, UErrorCode &errorCode) { ucasemap_mapUTF8( ustrcase_getCaseLocale(locale), options, UCASEMAP_BREAK_ITERATOR_NULL src.data(), src.length(), ucasemap_internalUTF8ToUpper, sink, edits, errorCode); }
U_CAPI int32_t U_EXPORT2 ucasemap_utf8FoldCase(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode) { return ucasemap_mapUTF8(csm, (uint8_t *)dest, destCapacity, (const uint8_t *)src, srcLength, ucasemap_internalUTF8Fold, pErrorCode); }
int32_t CaseMap::utf8Fold( uint32_t options, const char *src, int32_t srcLength, char *dest, int32_t destCapacity, Edits *edits, UErrorCode &errorCode) { return ucasemap_mapUTF8( UCASE_LOC_ROOT, options, UCASEMAP_BREAK_ITERATOR_NULL dest, destCapacity, src, srcLength, ucasemap_internalUTF8Fold, edits, errorCode); }
int32_t CaseMap::utf8ToUpper( const char *locale, uint32_t options, const char *src, int32_t srcLength, char *dest, int32_t destCapacity, Edits *edits, UErrorCode &errorCode) { return ucasemap_mapUTF8( ustrcase_getCaseLocale(locale), options, UCASEMAP_BREAK_ITERATOR_NULL dest, destCapacity, src, srcLength, ucasemap_internalUTF8ToUpper, edits, errorCode); }
U_CAPI int32_t U_EXPORT2 ucasemap_utf8FoldCase(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode) { return ucasemap_mapUTF8( UCASE_LOC_ROOT, csm->options, UCASEMAP_BREAK_ITERATOR_NULL dest, destCapacity, src, srcLength, ucasemap_internalUTF8Fold, NULL, *pErrorCode); }
U_CAPI int32_t U_EXPORT2 ucasemap_utf8ToUpper(const UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode) { return ucasemap_mapUTF8( csm->caseLocale, csm->options, UCASEMAP_BREAK_ITERATOR_NULL dest, destCapacity, src, srcLength, ucasemap_internalUTF8ToUpper, NULL, *pErrorCode); }
U_CAPI int32_t U_EXPORT2 ucasemap_utf8ToTitle(UCaseMap *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode) { UText utext=UTEXT_INITIALIZER; utext_openUTF8(&utext, (const char *)src, srcLength, pErrorCode); if(U_FAILURE(*pErrorCode)) { return 0; } if(csm->iter==NULL) { csm->iter=ubrk_open(UBRK_WORD, csm->locale, NULL, 0, pErrorCode); } ubrk_setUText(csm->iter, &utext, pErrorCode); int32_t length=ucasemap_mapUTF8(csm, (uint8_t *)dest, destCapacity, (const uint8_t *)src, srcLength, ucasemap_internalUTF8ToTitle, pErrorCode); utext_close(&utext); return length; }