Bug 128121 - FILEOPEN: DOCX: noFill text is displayed as white
Summary: FILEOPEN: DOCX: noFill text is displayed as white
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: filter:docx
Depends on:
Blocks: DOCX-Character
  Show dependency treegraph
 
Reported: 2019-10-13 19:13 UTC by Xisco Faulí
Modified: 2021-11-22 09:39 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
sample file (16.87 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2019-10-13 19:13 UTC, Xisco Faulí
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2019-10-13 19:13:34 UTC
Created attachment 154974 [details]
sample file

issue found while investigating bug 118776, which is the same problem but for Impress

Steps to reproduce:
1. Open attached document

-> Text 'Hola' is displayed as white. Nothing should be displayed

Reproduced in

Version: 6.4.0.0.alpha0+
Build ID: ae7b26246ec03dbff3d43a0dc04fd9ffd2cd0809
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded
Comment 1 Dieter 2019-10-14 19:16:57 UTC
I confirm it with

Version: 6.4.0.0.alpha0+ (x64)
Build ID: 460908269972fd1f89312a1e62897ed1503e9e98
CPU threads: 4; OS: Windows 10.0; UI render: GL; VCL: win; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2019-09-30_09:18:03
Locale: de-DE (de_DE); UI-Language: en-US
Calc: threaded
Comment 2 Justin L 2021-11-22 09:20:58 UTC
The text is not in the blue box. It is just normal body text, but it has some "text effects" applied - namely that "No Fill" is applied to the text.

<w:r>
  <w:rPr>
    <w14:textFill>
      <w14:noFill/>
    </w14:textFill>
  </w:rPr>
  <w:t>HOLA</w:t>
</w:r>

This could be emulated in WriterFilter's TextEffectHandler with:
sal_uInt8 TextEffectsHandler::GetTextFillSolidFillAlpha
...
    auto noFillit = aMap.find("noFill");
    if (noFillit != aMap.end())
        return 99;
Comment 3 Justin L 2021-11-22 09:39:06 UTC
The GetTextFillSolidFillAlpha function is rather new. It came in LO 7.0 with
commit 3a749d7278bbe65cfc063e64460df8af6bc2af47
Author: Miklos Vajna on Wed Jan 15 21:24:17 2020 +0100
    sw: add DOCX import for semi-transparent text

Whether it is worth modifying this function (which affects many other things like glow, shadow etc.) to emulate noFill is the question.

As a comment on https://gerrit.libreoffice.org/c/core/+/125300, Miklos wrote:
    Hm, this emulation will hurt us one day.