85 ignoreIterationMark_ja_JP::foldingImpl(
const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
Sequence< sal_Int32 >* pOffset )
87 i18nutil::oneToOneMapping aTable(ignoreIterationMark_ja_JP_mappingTable,
sizeof(ignoreIterationMark_ja_JP_mappingTable));
91 rtl_uString * newStr = rtl_uString_alloc(nCount);
93 const sal_Unicode * src = inStr.getStr() + startPos;
97 pOffset->realloc( nCount );
98 auto [
begin,
end] = asNonConstRange(*pOffset);
99 std::iota(begin, end, startPos);
107 while (-- nCount > 0) {
108 currentChar = *src ++;
110 switch ( currentChar ) {
114 currentChar = previousChar;
118 currentChar = aTable[ previousChar ];
121 *dst ++ = previousChar;
122 previousChar = currentChar;
126 *dst ++ = previousChar;
131 newStr->length = sal_Int32(dst - newStr->buffer);
133 pOffset->realloc(newStr->length);
134 return OUString(newStr, SAL_NO_ACQUIRE);
enumrange< T >::Iterator begin(enumrange< T >)
Constant values shared between i18npool and, for example, the number formatter.
enumrange< T >::Iterator end(enumrange< T >)
i18nutil::OneToOneMappingTable_t const ignoreIterationMark_ja_JP_mappingTable[]