sc/source/core/tool/editutil.cxx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
New commits: commit f413eb0b43fa36edf69909f3821dfe6a54e3edf7 Author: Justin Luth <justin_l...@sil.org> AuthorDate: Fri May 13 06:18:23 2022 +0200 Commit: Kohei Yoshida <ko...@libreoffice.org> CommitDate: Sun May 15 15:44:42 2022 +0200 tdf#124820 sc: overwrite more character level font attributes The issue here is that certain character properties applied at the cell level did not clear out those properties from the character runs. Specifically strikethrough, underline, overline, italics, outline, shadow. Specifically for xlsx import - where a default value is specified in many cases instead of not being defined at all - this meant that the cell change had no real effect, since the direct properties have priority. A 2010 commit 4ef978de83610b0e1912bce1d59432b9c382b9fc did this for font, size, bold, and color. Perhaps that was all that was needed at that time, although even back these other properties probably should have been handled as well, because the cell-change didn't affect the entire contents. In 2013 a LO 4.1 commit f54ce3e7f6d6aab7e34c54ad8eff06650e076fef increased the impact during xlsx import. I assume that adding the CTL/CJK attributes is also necessary. Change-Id: Id933af1ce187a79851868a6a295b33758062fe3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134254 Tested-by: Jenkins Reviewed-by: Justin Luth <jl...@mail.com> Reviewed-by: Kohei Yoshida <ko...@libreoffice.org> diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx index be0906929c41..c7e0c0cb6830 100644 --- a/sc/source/core/tool/editutil.cxx +++ b/sc/source/core/tool/editutil.cxx @@ -159,9 +159,22 @@ void ScEditUtil::RemoveCharAttribs( EditTextObject& rEditText, const ScPatternAt sal_uInt16 nCharType; } AttrTypeMap[] = { { ATTR_FONT, EE_CHAR_FONTINFO }, + { ATTR_CJK_FONT, EE_CHAR_FONTINFO_CJK }, + { ATTR_CTL_FONT, EE_CHAR_FONTINFO_CTL }, { ATTR_FONT_HEIGHT, EE_CHAR_FONTHEIGHT }, + { ATTR_CJK_FONT_HEIGHT, EE_CHAR_FONTHEIGHT_CJK }, + { ATTR_CTL_FONT_HEIGHT, EE_CHAR_FONTHEIGHT_CTL }, { ATTR_FONT_WEIGHT, EE_CHAR_WEIGHT }, - { ATTR_FONT_COLOR, EE_CHAR_COLOR } + { ATTR_CJK_FONT_WEIGHT, EE_CHAR_WEIGHT_CJK }, + { ATTR_CTL_FONT_WEIGHT, EE_CHAR_WEIGHT_CTL }, + { ATTR_FONT_POSTURE, EE_CHAR_ITALIC }, + { ATTR_CJK_FONT_POSTURE, EE_CHAR_ITALIC_CJK }, + { ATTR_CTL_FONT_POSTURE, EE_CHAR_ITALIC_CTL }, + { ATTR_FONT_COLOR, EE_CHAR_COLOR }, + { ATTR_FONT_UNDERLINE, EE_CHAR_UNDERLINE }, + { ATTR_FONT_CROSSEDOUT, EE_CHAR_STRIKEOUT }, + { ATTR_FONT_CONTOUR, EE_CHAR_OUTLINE }, + { ATTR_FONT_SHADOWED, EE_CHAR_SHADOW } }; const SfxItemSet& rSet = rAttr.GetItemSet();