Extended color

Regina Henschel rb.henschel at t-online.de
Mon Apr 10 21:59:35 UTC 2023


Hi Tomaž,

Tomaž Vajngerl schrieb am 10.04.2023 um 12:30:
> Hi Regina,
> 
> On Fri, Mar 24, 2023 at 7:01 PM Regina Henschel <rb.henschel at t-online.de 
> <mailto:rb.henschel at t-online.de>> wrote:
> 
>     Hi all,
> 
>     There is ongoing development on theme colors and on multi-color
>     gradients. These require additions to the API and additions to ODF. The
>     current solutions are not sufficient (I think) or do not exist.
>     Therefore I suggest a concept of "extended color". Such "extended
>     color"
>     has information about the type of the color, a color value and
>     transformations of the color.
> 
>     Currently in API, the gradient2 misses theme colors and XThemeColor
>     misses color transformations. rng additions for theme color misses that
>     color transformations in OOXML can be combined with any kind of color
>     type, not only with theme colors, and thus ODF should be extended
>     accordingly.
> 
> 
> Right, well actually XThemeColor doesn't miss transformations - they 
> just aren't exposed through the UNO type.The wrapped model::ThemeColor 
> has the transformations, but anyway - I'm aware of this issue and I have 
> been thinking to add at least a UNO type to represent something like a 
> "extended" color.
> 
> For the theme definition in OOXML we already need a complete extended 
> colors - you can find it in [1] as ColorDefinition class, but the 
> requirement of that is completely the same as in other cases.
> 
> [1] 
> https://cgit.freedesktop.org/libreoffice/core/tree/include/docmodel/theme/FormatScheme.hxx

I have currently only 'RGBHex' and 'Theme' in my ODF proposal draft. And 
I have put the color-transformations separate from the definition of the 
base color (see attachment). That was my guess from the additions to the 
RelaxNG.
Does integrating the color-transformation into my <style:enhanced-color> 
would better fit to your intentions? I could change that.

The ColorType 'CRGB' did not get support in the ODF TC right away, 
because it is also only a variant of RGB. The same would then apply to 
ColorType 'HSL'. They could be converted in the xmloff export filter.

Regarding ColorType 'System' and its 'SystemColorType', I don't see yet 
how this can be implemented well to ODF. It would mean to have a 
reference to a color table defined at the user or the user's system. And 
it is different from CSS4 <system-color> [2], so specifying by reference 
to CSS4 will not work.

What is ColorType 'Palette' and 'Placeholder'? Is it something, that 
needs to be written to ODF markup?

  We could
> make create a UNO interface for that first and a wrapper, then use it at 
> all places where XThemeColor is used now, and also add it to the gradient.

Having a UNO interface and integration to the gradient would allow to 
develop ODF import/export parallel to other filter. Is that correct?

Do you see a change to get such into LO7.6 (or maybe named LO8)? Or 
should we not even try to get integration of multi-color gradient and 
theme colors to LO7.6?
The current state of my start with import and export of multi-color 
gradient to ODF [3] does not consider "enhanced-color".

[2]
https://www.w3.org/TR/css-color-4/#css-system-colors
[3]
https://gerrit.libreoffice.org/c/core/+/150060

Kind regards,
Regina


-------------- next part --------------
A non-text attachment was scrubbed...
Name: ODF draft multi-color gradient plus theme v3.odt
Type: application/vnd.oasis.opendocument.text
Size: 47705 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20230410/3abe4a15/attachment.odt>


More information about the LibreOffice mailing list