OpenXML Filter: the exposed shading property code type value is not helpful

Issue #790 resolved
Denis Konovalyenko created an issue

The shd property exposed as a code type holds a non-meaningful value:

<trans-unit id="NFDBB2FA9-tu2" xml:space="preserve">
<source xml:lang="en-US">Shadow variations: <g id="1" ctype="x-shade:pct10;" equiv-text="&lt;run1>">one</g>, <g id="2" ctype="x-shade:clear;" equiv-text="&lt;run2>">two</g> and <g id="3" ctype="x-shade:clear;" equiv-text="&lt;run3>">three</g>.</source>
<target xml:lang="fr">Shadow variations: <g id="1" ctype="x-shade:pct10;" equiv-text="&lt;run1>">one</g>, <g id="2" ctype="x-shade:clear;" equiv-text="&lt;run2>">two</g> and <g id="3" ctype="x-shade:clear;" equiv-text="&lt;run3>">three</g>.</target>
</trans-unit>

Below is one of the runs:

            <w:r w:rsidRPr="00A2469F">
                <w:rPr>
                    <w:shd w:val="pct10" w:color="FF0000" w:fill="7F7F7F" w:themeFill="text1" w:themeFillTint="80"/>
                    <w:lang w:val="en-US"/>
                </w:rPr>
                <w:t>one</w:t>
            </w:r>

And this is how it looks like in the UI:

790-highlight-and-shadow-variations.png

According to the 17.3.5 section of the Ecma Office Open XML specification, the val attribute contains shading pattern mask which is applied over the background shading colour.

Taking into account that the val with optional themeColor/color attribute, determining the foreground colour, and optional themeFill/fill attribute, specifying the background colour, form a compound resulting shade effect, the full-blown solution would be to expose all the related attribute values (additionally, themShade, themeFillShade, themeTilt, themeFillTint have to be considered) with themes pre-parsing. And that would make things overcomplicated, as far as I can see it.

As a more straitforward variant, the fill value with default to auto on absence is going to be exposed.

Comments (4)

  1. Log in to comment