New Color Palettes in LibreOffice
A color palette is an arrangement of a limited set of colors resembling a painter’s palette. Some collections are officially standardized, others are individually assembled to serve, for instance, a branding purpose or to convey a certain mood.
Among many other things, good design means to have a limited number of colors that work well together. For example, a pale blue can harmonize with a muted red and it makes sense to combine night blue with a fluorescent yellow. Colors influence emotions and perceptions and carry a specific meaning according color psychology.
While our prototypical user Benjamin might be satisfied with a small palette that consists of well harmonizing colors it’s not sufficient for expert users such as Eve. Professional desktop publishing requires more elaborated palettes since certain colors need to be reproduced independently from the output target such as web, CMYK print, digital print etc. Different color models exist requiring a conversion between them, which may not always be perfect, depending on the respective gamut.
Another important aspect of palettes is the naming of colors. Large color collections require that each color can be identified with a unique and descriptive color name. That’s also true for color palettes with only tiny variations between two similar shades of gray, for instance, or when color blindness comes into play and the user cannot easily discriminate between red and green.
Status before release 5.3
LibreOffice shipped releases prior to 5.3 with the color palettes:
- cmyk: 216 colors with small variations arranged in six steps using RGB values for the color names
- gallery: 61 variations of basic colors arranged in ten steps named by RGB values
- html: 131 colors following the web standard using the X11 color names plus hex and decimal value like “ghostwhite F8F8FF 248.248.255”
- libreoffice: 32 colors of the LibreOffice branding including black and white
- palette: 77 rather arbitrary colors; RGB values separated by % are used as labels
- scribus: 545 colors with names following the X11 standard plus numbers, e.g. Chocolate4
- standard: Hand-crafted palette based on Symphony, well arranged with basic names plus numbers, e.g. Green1
- tango: 27 named colors from the Tango project
- web: 232 arbitrary colors using RGB values for the color name
Additionally there are document colors, where the colors used in the current document are listed (unfortunately it is buggy), and recently used colors, which is actually a swatch listing what has been selected before (unfortunately it is also buggy).
It was possible to individually change the standard color palettes per Tools > Options > Colors.
Changes with release 5.3
Changes to the workflow
With the Google Summer of Code project Area Fill Style (planning was introduced here), the palette handling underwent a revision. Firstly, the recent colors are fully functional now, so the most important use case of having the same color on repeated actions is covered well with this feature.
Newly introduced was the custom palette, which allows to add colors directly in the area style dialog. The custom palette serves the purpose of user customized collections.
This custom palette makes the manipulation of factory settings via Tools > Options > Colors obsolete ‒ and hence we deleted this option. Expert users who want to modify a predefined palette need to edit the file directly. The palettes are files with the extension *.SOC located at <libreoffice>/share/palette. The content is an XML formatted list of hexadecimal color values like
<draw:color draw:name="Azure" draw:color="#f0ffff"/>
Deleted and modified palettes
Furthermore, we reduced the set of palettes. The palettes gallery, web, cmyk, and scribus were removed because of the non-standard and rather arbitrary collections with inappropriate names. Tango and html received minor updates for labels and arrangement of colors.
The standard palette was also refreshed. The first row starts now with 12 shades of gray followed by 12 basic colors from the HSV color wheel. The next rows are variations of these basic colors in respect to saturation and luminance by 66%, 50%, and 25%. The final 12×8 arrangement fits perfectly into our color picker grid.
The palette breeze has been added to the default set. It comprises all values known from the KDE human interface guidelines as an alternative to tango.
Completely new is the tonal palette. It aims to provide a set of colors with the same luminance respective color contrast. It starts with 10% saturation (named accordingly such as ‘Violett 10%’ or ‘Chartreuse Green 10%’) and continues in 10% steps. Above ‘medium saturation’ the steps are 58, 65, 73, 82%, if possible. Colors that cannot have a higher hue saturation are added as whitespace and named ‘Out of Gamut’. We greatly appreciate the initial work by Wade D. Peterson.
In order to integrate LibreOffice into professional graphics and layout workflows the palette freecolour-hlc based on the CIELAB color model has been added. Its purpose is to provide a cross-media safe set of colors targeting expert publishers. The palette contains a range of muted RGB colors that can be replicated in CMYK and is perfectly suited for those who need a maximum of color correctness across media and platforms. The palette has been created by the non-profit association freieFarbe e.V. (freeColour).
As discussed in a former blog post about LibreOffice Additions we should make customization easier by using extensions, and with version 5.3 you can install color palettes via extensions. For those who want to share their collections it shouldn’t be too difficult to become familiar with the format.
Extensions are basically ZIP files renamed to OXT. Within the archive the file config.xcu defines the path where the palette has to be placed (no need to change this) and the file description.xml with all information about the extension.
<?xml version="1.0" encoding="UTF-8"?> <description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" xmlns:lo="http://libreoffice.org/extensions/description/2011" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- any unique identifier, e.g. my.fancy.palette --> <!-- extension not hosted in the LibO repos shouldn't have an identifier starting with org.libreoffice --> <identifier value="org.libreoffice.breeze"/> <!-- version numbers are usually in major.minor.patch scheme --> <version value="1.0.0"/> <!-- extensions with palettes need minimal 5.3 --> <dependencies> <lo:LibreOffice-minimal-version d:name="LibreOffice 5.3" value="5.3"/> </dependencies> <!-- reference to the publisher here --> <publisher> <name xlink:href="https://wiki.documentfoundation.org/Design" lang="en">LibO Design Team</name> </publisher> <!-- how the extension will be called in the extension manager --> <display-name> <name lang="en">Breeze palette</name> </display-name> <!-- optionally an unique icon for the extension manager --> <icon> <default xlink:href="images/logo.png"/> </icon> </description>
If one is to really use the basic, super-saturated colors from the new standard palette, the document will look like a 16-bit DOS game. Also, is there a need for three greens that look almost the same? Also, the 4–6th row have very similar colors, some bright variants are missing. What about something more like this?
Looks good, please enhance this for all basic colors and submit the palette. The ticket is still open https://bugs.documentfoundation.org/show_bug.cgi?id=87538
Sorry for the late reply.
Users should maek favorite color palette as default.
We can use only standard palette in charcter and paragraph setting.
The good news is that you can switch the color palette now everywhere. And even better, the last chosen palette is retained even when restarted. Forgot to mention this in the blog post. Try out with a beta release.
having many palette is a way to lost user, they just want one good palette.
What the use to have so many color, when they can’t mixed together.
Few color that mixed well is much interesting
look at the palette
Just 4 remarks :
1.It’s impossible to select a palette when you want to use or modify a gradient.
2. It can be useful to have a gradient scheme selection like the palette selection combobox in the property panel
3. It is possible to add a description tag in both .soc and .sog files to display a readable description in place of a filename.
4. Why not group soc and sog files to have cohérents color template (like in powerpoint).
(correction of my prev post)
Just 4 remarks :
1.It’s impossible to select a palette when you want to use or modify a gradient.
2. It can be useful
– to have a gradient scheme selection like the palette selection combobox in the property panel
– to add a description tag in both .soc and .sog files to display a readable description in place of a filename.
– togroup soc and sog files to have coherent color templates (like in powerpoint).
With the new area style dialog you get access to the palettes in every color picker. That means you select a palette and modify the two colors based on any palette. Storing this palette under a different name is possible which allows access later in the sidebar, for instance.
As an aside, LibreOffice is also able to load Adobe Swatch Files (.ASE), as used by Photoshop, InDesign etc. Just pop them into /share/palette and they’re available.
Yes, this enhancement request has been filed in Bugzilla https://bugs.documentfoundation.org/show_bug.cgi?id=92354
Great work. Unfortunately the change in the default colours palette
seems to be causing me a lot of pain with some spreadsheets I am
I opened an .odt document (a cashflow spreadsheet) with a new version
of LibreOffice and the two colours I was happily using (green4 and red4 I
believe, or something like that) in the previous version of LibreOffice
are not recognized by the new one. They are displayed as “User”
and there is no way in the new LibreOffice to actually select them
when picking colours for new cells. I suppose this is because
the default palette colours have been changed without thinking
about compatibility with old documents using the old default
palette colours. So when I edit the document if I use “green4” for
a cell I get a colour which is different from the one used in the existing
green cells and the spreadsheet looks ugly. :-(
So what I am supposed to do? Manually edit all the cells in the
existing spreadsheet to use the new “green4” colour everywhere
the old “green4” colour was used? Not very practical. :-P
On top of that the same document still needs to be opened and edited
on the old machine too … which runs the older LibreOffice. So if I
replace all the old green4 colours with the new green4 colours then
when I open the spreadsheet on the old machine I won’t be able to edit it,
What is the recommended solution?
There needs to be a way to have a spreadsheet .odt document that uses
a couple of standard colours and that can be edited by the new and by the
old version of LibreOffice without going crazy. :-P
That’s indeed a problem. Color was known before in palettes A and B, but with different hex values, and A was removed. This results in your problem.
What you can do is to hack the existing palette or create to a new one respectively. (Hope it’s clear from this blog post how to do this, otherwise don’t hesitate to ask.)
The right solution from the beginning is to assign clear and unique color names and to store/find the actual color not by its name. But I’m not too optimistic since ODF references colors by the . I will file a bug report if that’s possible anyway (-> tdf#106431).
PS: We are working on the default color palette (cf. comment #1) and it likely gets a revamp with 3.1.
Thank you for your reply. That’s useful. I’ll investigate creating my own palette for future spreadsheets I suppose.
I wonder if LibreOffice could resolve the problem by automatically including a copy of old palettes in newer versions of the software? Maybe with different names … e.g. legacy-green4? Or libreoffice-3.0-green4? I suppose the old palettes could be only enabled by a setting if needed? Would that help maintaining some compatibility with spreadsheets created from older versions of the software?
A lot of users create their financial spreadsheets using a couple of colours from the standard palette (typically some traffic light colours … green for good stuff, red for bad stuff … same as I did) and ideally you’d want these spreadsheet to just keep working smoothly from one version to the next.
Actually my explanation was wrong. At least in Writer you can define a user color #00FF00, call it Red, and assign it to some text. When you remove the user color it remains green since the hex value is stored. So please make a statement on the ticket https://bugs.documentfoundation.org/show_bug.cgi?id=106431, ideally with an example.
If there is a really problem we could make the legacy palettes available by packing them into extensions. The alternative with “Colours already in use in the document” is implemented (Document colors) but with some bugs. We mentioned this in the posting.
Another idea to resolve the problem would be to have a simple way of selecting, when picking a colour, one of the colours already in use in the spreadsheet. That would solve my issue and it would solve the backwards-compatibility issues without the need of a lot of palette management.
If we had that feature then, when opening an old spreadsheet that has got some colours from an old palette, these colours would automatically be available for picking in the colour picking controls/menus … I suppose under a separate “Colours already in use in the document” menu/palette or something like that. That would work for me.
It would probably also help in many other circumstances … when importing a spreadsheet created in a completely different application with completely different colours maybe?
New colors don’t seem to be available in styles, in calc at least. Is this in the works?
The issue of places where the new area style UI wasn’t added is known and tracked in https://bugs.documentfoundation.org/show_bug.cgi?id=105225.
Hey thank you very much for your great work! I have one question:
The tonal pallet would be my favorite, but why on earth did you add the white boxes for “out of gamut”? There is not practical reason to do that it only confuses most of the people.
There is still nothing as intuitive as the pallet in ms word because all the pallets in LO are based on color theory but not on the perspective of an amateur. All I want is something where I can choose a gerneral color in a column and then a variation of that color in the row of that column. Any chance this will be possible one day?
Gamut is explained here: https://en.wikipedia.org/wiki/Gamut. The tonal palette aims to have the same brightness and saturation in a row, and that’s not possible for the other colors. Perhaps you have a look at ticket https://bugs.documentfoundation.org/show_bug.cgi?id=80196 where the reasoning and calculation is described.
Thanks for the quick reply. I saw the newest blogpost about the survey for the standard palle. All proposals there are looking much better :)
Sure this is possible. You just have to use LO/OO version before this breakage, err, improvement.
It is just so sad to see so much work wasted with the main result being thousands of angry users. But you will never know. Those users which this creates problems for will never take the time to post here. They will just change the vendor and not care again.
E.g. there is no way I can force an office lad to spend a week to learn how to program her own custom pallette just to be able to continue working with her existing documents. Not. Gonna. Happen.
In 5 minutes of explaining there will be a statement of the “Screw this, unless this is fixed soon, I am returning to MSO which works fine.”.
Of course you can switch to competitors. And you should! There are some alternatives like WPS Office or, if you want to stay with Open Source, Calligra, OpenOffice, NeoOffice. The big advantage of free and libre is that it’s your choice; we support this with a perfect interoperability.
The other aspect of Open Source is the involvement of the community. We made it pretty easy to design and share palettes. Someone created examples from the past but shared it somewhere else than at our extensions site. You may find it in the comments.
Microsoft is doing great work and offer awesome products with a usability that makes me jealous. But be aware that nothing of the above is true anymore.
I miss something on how to create the palette installer.
May you supply a config.xcu sample as you did for description.xml? Or can I just skip it?
I could’nt find any sample online.
You find the minimum example from the developer at https://github.com/stbergmann/palette-extension and more details in another post https://design.blog.documentfoundation.org/2017/03/29/libreoffice-extension-export-custom-palette/.
tld;dr: config.xcu (replace [ ] by < and >)
[?xml version="1.0" encoding="UTF-8"?]
[node oor:name="%origin%/palettes" oor:op="fuse"/]
This is pure idiocy.
WHY did you decide to remove the one “standard” which was the default on SO/OO/LO for the last 10 years !!!
There are millions documents out there using the “standard” pallette – there is a reason it was called standard in the first place.
To be clear – it is great to have a custom pallete support. But removing the default pallette without a replacement is just so completely wrong and anti-user it boggles my mind.
If your goal is to be incompatible with OO and decided to break both file and UI compatibility for that goal, at minimum the “old” standard palette should be defined in the default palette list so user has to option to continue using it.
Heiko Tietze (on 9th March 2017)::
> The issue of places where the new area style UI wasn’t added is known and tracked
> in https://bugs.documentfoundation.org/show_bug.cgi?id=105225.
Version 5.3.5 was released just about 1 day ago; What is the actual status of this issue?
As far as I’ve read, this ticket hasn’t been updated since 23th March 2017…
There are still dialogs that need an update.
… OK, thanks!
Hmm…, NONE of the dialogs mentioned at this issue (ticket) are updated at all, as far as I tried Version 5.3.5 (the latest stable version)!
The places mentioned there are as follows:
Tools > Options > Charts > Default Colors
Table > Properties > Background
Format > Character > Highlighting
Insert > Section > Background
Edit > Find & Replace > Format > Highlighting
Format > Cells > Background
Format > Page > Background
Format > Character > Highlighting
Format > Character > Highlighting
… OK, thanks!
Only the standard palette is available when choosing a background color for tables in LibreOffice Writer 18.104.22.168. The drop-down list of palettes is just missing in the Table Format dialogue, under the Background tab.
Yes, at some places the new dialog has not been implemented yet. https://bugs.documentfoundation.org/show_bug.cgi?id=105225
Where can we get the old “standard” color palette?
That was actually my favorite one by far, and I’ve got it used all throughout my Windows, Mac, and Linux files everywhere. I’d really like an option to continue to use the old standard palette.
I figured it out. Here’s my answer: “How to restore Libreoffice 4 color palette (highlight colors, font colors, etc.) for use in Libreoffice 5 or 6”: https://superuser.com/a/1395185/425838.
I need to create a pdf with the colour format CMYK, I see from above (& lots of searching & experimentation) that cmyk colour list has been removed. I have only custom, tonal, standard, html, freecolour-hlc, libreoffice, chart-palettes and document colors available.
Am I right in thinking that I should use freecolour-hlc and that this will provide all the colour variation & range of CMYK so the document I produce won’t be rejected or look unsuitable?
Freecolour is meant for this, yes. You can also create own palettes and load it as extensions. The old CMYK should be available on the extension site.