https://bugs.documentfoundation.org/show_bug.cgi?id=150553
--- Comment #12 from Julien Nabet <[email protected]> --- (In reply to V Stuart Foote from comment #10) > @Julien, when you fixed similar for sm for bug 102625 [1] is the Calc > instance of the SMP glyphs missed here bcz the SMP glyphs are treated as an > i18n COMPLEX script and no rtl::isSurrogate() test gets performed? > > =-ref-= > [1] https://gerrit.libreoffice.org/c/core/+/93544 On pc Debian x86-64 with master sources updated today with gtk3 rendering here what I tested: - enter cell A1, then Ctrl-shift U 1F060 + Ctrl-shift U 1F060 + Ctrl-shift U 1F060 + Ctrl-shift U 1F060 to have 4 glyphs. - click on the end of the cell - Alt X => the last glyph disappears and is replaced with "U+1f0a1" I added some traces on the if else block: diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 4e87e36af5d3..b00a6b8b8f46 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -4044,6 +4044,7 @@ sal_Int32 ImpEditEngine::GetChar( sal_uInt16 nScriptType = GetI18NScriptType( aPaM ); if ( nScriptType == i18n::ScriptType::COMPLEX ) { + fprintf(stderr, "COMPLEX\n"); uno::Reference < i18n::XBreakIterator > _xBI( ImplGetBreakIterator() ); sal_Int32 nCount = 1; lang::Locale aLocale = GetLocale( aPaM ); @@ -4058,6 +4059,7 @@ sal_Int32 ImpEditEngine::GetChar( } else { + fprintf(stderr, "NOT COMPLEX\n"); OUString aStr(pParaPortion->GetNode()->GetString()); // tdf#102625: don't select middle of a pair of surrogates with mouse cursor if (rtl::isSurrogate(aStr[nChar])) I got only NOT COMPLEX appearing on console logs. -- You are receiving this mail because: You are the assignee for the bug.
