69ignoreIandEfollowedByYa_ja_JP::foldingImpl(
const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
Sequence< sal_Int32 >* pOffset )
73 rtl_uString * newStr = rtl_uString_alloc(nCount);
75 const sal_Unicode * src = inStr.getStr() + startPos;
79 pOffset->realloc( nCount );
80 auto [
begin,
end] = asNonConstRange(*pOffset);
81 std::iota(begin, end, startPos);
89 i18nutil::oneToOneMapping aTable(
IandE,
sizeof(
IandE));
92 while (-- nCount > 0) {
93 currentChar = *src ++;
96 if (currentChar == 0x30E3 ||
97 currentChar == 0x30E4) {
98 if (aTable[ previousChar ] != previousChar) {
99 *dst ++ = previousChar;
101 previousChar = *src ++;
107 *dst ++ = previousChar;
108 previousChar = currentChar;
112 *dst ++ = previousChar;
117 newStr->length = sal_Int32(dst - newStr->buffer);
119 pOffset->realloc(newStr->length);
120 return OUString(newStr, SAL_NO_ACQUIRE);
Constant values shared between i18npool and, for example, the number formatter.
i18nutil::OneToOneMappingTable_t const IandE[]
enumrange< T >::Iterator begin(enumrange< T >)