30ignoreKiKuFollowedBySa_ja_JP::foldingImpl(
const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
Sequence< sal_Int32 >* pOffset )
34 rtl_uString * newStr = rtl_uString_alloc(nCount);
36 const sal_Unicode * src = inStr.getStr() + startPos;
40 pOffset->realloc( nCount );
41 auto [
begin,
end] = asNonConstRange(*pOffset);
42 std::iota(begin, end, startPos);
50 while (-- nCount > 0) {
51 currentChar = *src ++;
54 if (previousChar == 0x30AF ) {
55 if (0x30B5 <= currentChar &&
56 currentChar <= 0x30BE) {
58 *dst ++ = currentChar;
59 previousChar = *src ++;
65 *dst ++ = previousChar;
66 previousChar = currentChar;
70 *dst ++ = previousChar;
75 newStr->length = sal_Int32(dst - newStr->buffer);
77 pOffset->realloc(newStr->length);
78 return OUString(newStr, SAL_NO_ACQUIRE);
Constant values shared between i18npool and, for example, the number formatter.
enumrange< T >::Iterator begin(enumrange< T >)