- From: Mike Bremford via GitHub <sysbot+gh@w3.org>
- Date: Wed, 27 Oct 2021 13:49:58 +0000
- To: public-css-archive@w3.org
For displaying these colors on screen, you're absolutely correct. Chris has just posted while i'm typing this out, and I agree - they're identical (although see below).
But in print, this approach allows us to define our new color as a _separation_ - if the output device recognises it, it can be used as a fifth "ink" alongside cyan/magenta/yellow/black (and if it doesn't, the fallback is used). This is significant even with modern printing methods:
* the output media may not be white. Being able to specify a "white ink" is different to specifying white as an absence of CMYK. This requires a separation.
* separations are not just used for ink: glue, glitter, foil, fold-lines are all specified with separations on devices that support them. For many of these the fallback color doesn't matter, but that's how we need to specify them.
* separations are reuqired for overprinting. This isn't part of CSS nor should it be, but it's a common extension in css-to-print engines.
I'm not going to make a case for Spot colors in PDF, as they're common. I am trying to make a case for a standardized way to specify them in CSS, so that print engines can do so in a compatible way instead of the situation we have now. Just like we've done for `device-cmyk`.
Finally to your point about strings-in-calc. That's a very good point, particularly as I realise the concept I was actually going for was this:
```css
@color-profile --reflex-blue {
components: "PANTONE Reflex Blue C";
fallback: device-cmyk("PANTONE Reflex Blue C" calc("PANTONE Reflex Blue C"*0.723) 0 (calc("PANTONE Reflex Blue C"*0.02));
}
```
That's pretty awful. Some alternatives might be:
Use color-mix?
```css
@color-profile --reflex-blue {
components: "PANTONE Reflex Blue C";
fallback: color-mix(in device-cmyk, white, device-cmyk(1 0.723 0 0.02) "PANTONE Reflex Blue C");
}
```
Use idents, and only idents?
```css
@color-profile --reflex-blue {
components: PANTONE\ Reflex\ Blue\ C;
fallback: device-cmyk(PANTONE\ Reflex\ Blue\ C calc(PANTONE\ Reflex\ Blue\ C*0.723) 0 calc(PANTONE\ Reflex\ Blue\ C*0.02));
```
Or perhaps a new descriptor which would be completely ignored by anything not PDF-based?
```css
@color-profile --reflex-blue {
components: x;
component-names: "PANTONE Reflex Blue C";
fallback: device-cmyk(x calc(x*0.723) 0 calc(x*0.02));
}
```
The last one is the least horrible to my eyes.
--
GitHub Notification of comment by faceless2
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6767#issuecomment-952951143 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 27 October 2021 13:50:00 UTC