Jump to content
You must now use your email address to sign in [click for more info] ×

Recommended Posts

6 hours ago, R C-R said:

As I understand it (which is far from completely), the Mac Affinity apps rely on the multi-layered printing system architecture built into the macOS to print out documents. So among other things, both the "accessory" items selectable from the popup in the lower part of the advanced printing dialog (like application-specific options, scaling, color management, & so on) and in which of these "accessory" items any of these items can be found depend on what the print driver makes available to the printing system.

So for example, the color matching options will appear only if the driver for the selected printer 'tells' the printing system it can provide color matching options. If it does, they will be organized into accessory categories & named according to whatever the driver specifies, and some of them may appear only in combination with others.

Apple claims this makes including printing functions easier for developers & simpler for users, but in practical therms it means that users wanting to use any of the 'advanced' printing features offered by the macOS have to figure out how they can be configured with  each printer they use for each app they want to use them with, & even among printers of the same type from the same manufacturer the configuration & choices may be considerably different. >:(

This makes sense to me and is the reason why setting the color conversion from working space to printer space upstream in the application is important. You can then simply turn off color management in whatever print driver you are using. It makes the color management process for printing very consistent.

Link to comment
Share on other sites

36 minutes ago, Lagarto said:

But doesn't Adobe use by default color management engine of their own (ACE) -- or does Acrobat show these options also if you choose system color management (ColorSync)?

ace.jpg.af201161b186fd4733865e3041c67aee.jpg

Anyway, I'm lost with this. I have produced for a while print files from the same source using Adobe app color handiing and Affinity app color handling. I can just say that they produce highly different results when using identical settings and profiles. Both clearly modify document color data but only physical media would show how the colors would actually print compared to the what is shown on the display.

As for ColorSync, I am not sure whether it is basically equivalent to Microsoft ICM (host color management vs. app and printer driver based color management), so the "Color Management" view available in WIndows app versions (resembling those provided by Adobe apps) is something that has never existed on macOS versions of Affinity apps? In Adobe apps this is the way to produce "on-the-fly" conversions much the same way Adobe PDF exports are created, and the available options are printer driver dependent. 

In many Adobe apps that provide color management services like Acrobat, you have the option to choose from a number of different color conversion engines. I've always left it at Adobe (ACE) and it's worked perfectly. It is my understanding that the different conversion engines are built to the ICC specification, so how different could they be?

Link to comment
Share on other sites

4 hours ago, thomaso said:

I am interested in your experiences! (though I still think soft proof is not a proper offer when printing in Affinity apps)

Seems odd to me too. I would really like to see something similar to Adobe's approach.

 

Link to comment
Share on other sites

3 hours ago, R C-R said:

It says it is up to the app to support ColorSync. I know for a fact that the Affinity apps support ColorSync with some printers, for example my ancient Canon MP 620:

1892687249_printdialogforCannon620.jpg.4afc994c3f84d31e412f961ca78dccac.jpg

I even managed to create a fake non-functional IPP printer using the "Generic PostScript Printer" software built into macOS:

1039063862_fakeIPPprinter.jpg.35db8b6df989148c855b190053a3b18f.jpg

It also enables a Color Matching option with ColorSync & "In Printer" options, just like for the Canon printer & as shown in the step 3 image from that Epson manual. (I have more screen captures documenting this stuff but the forum software keeps giving me -200 errors when I try to add them so either trust me on this or wait while I see if I can add them later.)

So, while I am not certain about the exact cause, I doubt it is because the Affinity apps do not support a choice of ColorSync or printer color management (because they do). More likely, the cause is a corrupt or misconfigured driver.

I really don't think that there is much of a two way conversation between the app and the driver. When printing the app passes the print job downstream to the os, and the os pops up the print dialog box for you to set whatever print parameters you need to. The color management in the driver is specific to the os. These color conversion capabilities, because they are being provided by the os, have nothing to do with the app.

Years ago, there was a consistent problem for apps that provided color conversion. The app would convert from working space to printer color space and then pass the print job to the os/driver. If the driver had color conversion capabilities and you did not turn the driver's conversion capabilities off, then the print job would be converted twice, once by the app, once by the os/driver. Of course, this would create a print with incorrect color. So the rule of thumb has always been that you either convert your print color in the app or in the driver, but never both. 

This was a known issue, so software developers started putting warnings in their applications to tell users to remember to turn off color management in the driver if the app was set to convert the color. In addition, they implemented a process for the app to send some parameters (MS: FlagDefinition) to the driver along with the print job to tell the driver that the app had (or had not) converted the color and to turn off color management. I believe that is what this code is that Thomaso has provided in his post.

These look like flags that Microsoft uses to tell print drivers who is controlling the color conversion and to respond accordingly:

FlagDefinition

BR_DEVICE_ICM in BRUSHOBJ

XO_DEVICE_ICM in XLATEOBJ

Color management is being performed by the driver or the device.

BR_HOST_ICM in BRUSHOBJ

XO_HOST_ICM in XLATEOBJ

Color management is being performed by the application or the system (GDI).

Of course the printer manufacturers had to make sure that their drivers understood the flags when passed to them with the print job.

Link to comment
Share on other sites

1 minute ago, Lagarto said:

I cannot say, as i, too, have always used Adobe engine only. What puzzles me is the way printer drivers (Canon, Epson, etc.) seem to communicate directly with Adpbe apps. What printer documentations mention about color management with Adobe apps does not seem to be in applicable in other apps so even if the Windows versions of Affinity apps seem to offer similar functionality (like Color Management view of the WIndows versions of Affinity apps offering conversion options, not available on macOS), it really does not work. 

I think you have to think of app and driver/os as separate entities from one another. I don't think that printer drivers communicate with applications. However, the app communicates with the driver. If Adobe is offering you the ability to use the ColorSync engine to do a color conversion, that conversion is being defined by the app, say Photoshop, and handled by the ColorSync conversion engine. This is all happening within Photoshop and completely separate from the print driver. The driver is downstream from the app in the print workflow. Once Adobe or Affinity pass the job to the driver to print, the app is out of the loop. The job is now in the hands of the driver. If the driver is capable of handling the color conversion, it may be able to call on the color conversion engine provided by the os. So, on a Mac, it too could be calling up ColorSync. As an Epson user, the problem with using Epson's color management in their driver and selecting ColorSync is that while they allow me to choose my print profile, they don't give me the ability to define a rendering intent, and they don't provide black point compensation. For me, this is a "half baked" solution and not good enough. What's important to keep in mind is that once the driver has the print job, it is working on its own outside of the application that initiated the job.

Link to comment
Share on other sites

1 hour ago, panelson3 said:

I really don't think that there is much of a two way conversation between the app and the driver.

As explained in the link I posed to the developer article, in the macOS the 'two way conversation' is between the app & the AppKit API:

Quote

An app uses the AppKit printing API to assemble the elements of a print job, including the content to print and information about the print job. The app then presents the Print panel as described in The Printing User Interface. The user can then set printing options before clicking Print. At that point, the AppKit framework asks the app to draw the content to print. AppKit records what the app draws as PDF data and then hands off that data to the printing subsystem.

The remainder of the print job process is as shown in figure 1-1 of that article. 

Note that there is no direct equivalent for the Microsoft flags the Windows OS uses to control color conversion. 

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

1 hour ago, panelson3 said:

I don't think that printer drivers communicate with applications. However, the app communicates with the driver. 
(...) What's important to keep in mind is that once the driver has the print job, it is working on its own outside of the application that initiated the job.

Actually for this discussion it doesn't matter whose pieces of software are involved in which part of the process (macOS, app, AppKit, ColorSync, cupsd/driver etc). In any case the printer's conditions and the user's print task must be communicated. Therefore the app is the medium in both directions of communication about the print job: paper formats, qualities, trays, duplex, ... page size, page content ... and color of cause. – That Apple info for app developers sounds that app and the driver don't communicate directly with each other at all but get support from processes in between:

Quote

About Printing on the Mac

Like many other technologies in OS X, printing technology is layered. The top layer is the custom application code that you write to generate the printed output (...) The Core Printing layer is a C API that most Cocoa app developers will never use directly because it is ideal for writing command-line tools or performing printing tasks that don’t require a user interface. The Common UNIX Printing System (CUPS) layer provides the low-level services, print queue management, and driver interfaces needed to communicate with printing devices. As an app developer, you don’t need to know anything about CUPS.

printing_layers.png.620542e82df24e0c04a7dd5b7fe19feb.png

https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Printing/osxp_aboutprinting/osxp_aboutprt.html#//apple_ref/doc/uid/10000083-SW1

Regardless how Adobe is solving it, I think Affinity should be able, too, to offer to the user access to color settings for print jobs according to the drivers capabilities, as it does for hardware related options.

 

Edited by thomaso
Sorry, haven't noticed R CR's recent post while typing.

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

18 minutes ago, Lagarto said:

There is no problem here, so whether we call the interface between a specific app and a driver that allows functionality not available for other apps as "communication" or something more elementary, one-sided, or  restricted, is not important. It just seems that as long as printer documentations do not mention apps other than Photoshop or Lightroom in connection of color management, we continue assuming, testing, and spending time in figuring out workarounds, at best.

Completely agree.

Link to comment
Share on other sites

11 minutes ago, R C-R said:

Note that there is no direct equivalent for the Microsoft flags the Windows OS uses to control color conversion. 

But is there not a "flag" or some kind of parameter that apps under the Mac OS that can send to the driver to let them know whether the app has handled the conversion or not, basically telling the driver whether it should turn off its color management and not perform a conversion - similar, but different?

Link to comment
Share on other sites

9 minutes ago, thomaso said:

Regardless how Adobe is solving it, I think Affinity should be able, too, to offer to the user access to color settings for print jobs according to the drivers capabilities, as it does for hardware related options

Agreed! I'm solely interested in knowing that I can set up a reliable color managed workflow and wish that Affinity had a similar methodology as Adobe for setting color output. That said, I've enjoyed the discussion with you guys, directly related to the topic or not. I'll let you know when I print some tests using the soft proof adjustment layer.

Link to comment
Share on other sites

6 minutes ago, panelson3 said:

But is there not a "flag" or some kind of parameter that apps under the Mac OS that can send to the driver to let them know whether the app has handled the conversion or not, basically telling the driver whether it should turn off its color management and not perform a conversion - similar, but different?

All I can say with anything close to a certainty is that in the macOS apps that rely on the AppKit API can't send anything directly to the driver.

As discussed in the Modifying the Print Panel section of the developer doc already cited, an "accessory view" can be added to the Print panel for app-specific options. It is in that same section of the Print panel that I find the color management options, typically in a popup named "Color Matching" with the ColorSync & printer-specific radio buttons.

When I choose the ColorSync option, I see the same thing as shown in @Lagarto's post on page 1 of this discussion from the Epson manual & in my earlier screenshot, including the Profile popup that defaults to "Automatic." If I change that to "Other Profiles..." I get a second window that offers a choice of every ColorSync profile installed on my Mac, like this:

412839846_otherprofiles.jpg.a6ed4bcf4b33625a71fc35d448078101.jpg

If instead, I choose the printer-specific color matching option, I get no profile options there but for my Canon printer, I get a bunch of options in a different section named "Printer Features," including yet another popup with a choice of "ProfileID's" which are all Canon-specific icc profiles that were installed as part of the Canon printing software in the Library/Printers/Canon folder:

738184650_Canoniccprofiles.jpg.6eb9bdb96e2b8add5692ad4497cccaf4.jpg

As I understand it, the Library/Printers/ folder is the preferred (default?) install location for all printer-related software, including drivers, frameworks, filters, resources, utilities, help files, etc. But it is up to each printer manufacturer to decide how this software should be organized & referenced, so for example what is in the Canon subfolder could be completely different from what is in the Epson, HP, or any other printer-specific subfolder.

I know this does not answer your question. It is intended only to suggest that looking for printing options in the macOS that are similar to those in the Windows OS is not going to be of much help because the two printing systems are based on completely different 'under the hood' abstractions of the printing process.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

21 hours ago, R C-R said:

When I choose the ColorSync option, I see the same thing as shown in @Lagarto's post on page 1 of this discussion from the Epson manual & in my earlier screenshot, including the Profile popup that defaults to "Automatic." If I change that to "Other Profiles..." I get a second window that offers a choice of every ColorSync profile installed on my Mac, like this:

This are quite the same options I can get when printing from Acrobat to my Epson, as shown in this screenshots, or when printing from Affinity to a "General PostScript Printer", as shown in that screenshots.

So I still wonder, if ...
1. Affinity offers the menu "Color Matching" for the virtual printer, and
2. Acrobat offers "Color Matching" for my physical Epson,
... what prevents the menu "Color Matching" from appearing when printing from Affinity to the Epson?

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

7 hours ago, thomaso said:

So I still wonder, if ...
1. Affinity offers the menu "Color Matching" for the virtual printer, and
2. Acrobat offers "Color Matching" for my physical Epson,
... what prevents the menu "Color Matching" from appearing when printing from Affinity to the Epson?

I doubt the color matching options for the fake/virtual printer is relevant here unless you actually can print out a document using it.

That said, since we no longer have any Epson printers or Adobe software installed on any of our Macs, there is not much I can say about what might be preventing Color Matching from appearing when you try to print from Affinity to your Epson.

Does "Color Matching" for your printer appear in other apps besides Acrobat, for example in Apple's Preview app or Pixelmator Pro if you have that? If not, this suggests the issue may not be with the Affinity apps, but that is just a guess.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

I ran a couple of print tests yesterday to see if an unhidden Soft Proof Adjustment Layer might be able to produce a print with accurate color.

For this test, I created an X-Rite 24 patch color checker document in A Design in Lab mode using the Lab values provided by X-Rite for each color patch. I then exported the file as a 16-bit AdobeRGB bitmap that I opened in A Photo. In A Photo I created a Soft Proof Adjustment Layer and assigned my custom ICC Profile for my Epson SC P800 and Hahnemuhle Photo Rag, a Relative Colorimetric rendering intent, and turned on Black Point Compensation. (I've used my custom ICC profile many times when printing from Photoshop, so I know that it produces accurate color.) 

For the first print that I created, I made sure that the Soft Proof Adjustment Layer was visible (as expected, the effects of the soft proof were apparent on the image on screen). When I executed the print, I made sure to turn off Color Management in the print dialog box. So, essentially, I was sending a color adjusted image (because of the adjustment layer) in the AdobeRGB color space directly to the printer hoping that the adjustment layer would provide an accurate conversion for the printer to make an accurate color print - kind of a long shot.

The color in the resulting print was not accurate at all. To make a comparison, I decided to hide the Soft Proof Adjustment Layer and send the AdobeRGB image to the print driver and let ColorSync perform the conversion in the driver. Under Color Matching, I selecting ColorSync and selected my custom output profile. There are no options for selecting a rendering intent or black point compensation. My expectation was that this resulting print would be more accurate than my first print. The ColorSync rendition was much closer to the original, but not great.

Below are the results of this experiment, comparing my printed output to a couple of X-Rite ColorCheckers. It is pretty clear how inaccurate the print color is, even when using ColorSync.

I have sent an email to Affinity/Serif asking why they do not provide support for color management when printing. I will let you know when/if they reply.

IMG_0485.jpeg

IMG_0484.jpeg

IMG_0483.jpeg

IMG_0482.jpeg

Link to comment
Share on other sites

On 6/13/2020 at 8:06 PM, thomaso said:

This are quite the same options I can get when printing from Acrobat to my Epson, as shown in this screenshots, or when printing from Affinity to a "General PostScript Printer", as shown in that screenshots.

So I still wonder, if ...
1. Affinity offers the menu "Color Matching" for the virtual printer, and
2. Acrobat offers "Color Matching" for my physical Epson,
... what prevents the menu "Color Matching" from appearing when printing from Affinity to the Epson?

Affinity is not providing Color Matching for the virtual printer. The Color Matching feature is written into the driver by whoever developed the virtual printer. It has nothing to do with Affinity.

Acrobat's Color Matching is provided by Adobe and is written into the Acrobat application. This is in essence what we want Affinity to do, to provide the ability to set up the color conversion before sending the print job to the printer. If they had this ability, it would make no difference which printer you use as long as the print manufacturer gives you the ability to turn off color management in their driver when you print to their printer.

Link to comment
Share on other sites

1 hour ago, BofG said:

@panelson3 I'm surprised how far out the colorsync output is. Did you create the profile yourself or is it a default one?

I can hit colours accurately now printing from Affinity Designer, using "printer manages colour", an sRGB document and Windows colour management to apply the ICC profile. It's a pain to use that way, but the colours are at least correct.

@BofG Yes, I create my own profiles. The particular one that I was using for this test, I have used on numerous jobs when printing from Photoshop and able to obtain very accurate results. So, I know that my profile is not causing the color shift. Being a Mac user, my only choice at the moment when using Affinity apps is ColorSync. I have never set up a print job that relies on the OS or printer to manage color. Adobe has this nailed down to the point that I haven't thought about it for years. It's just been an accepted part of my workflow. I've said this numerous times in this forum. I can't believe that Affinity/Serif would leave out such a fundamental component of the graphics workflow. Do they think that every designer sends their work outside to be printed? What about doing hard proofs for a layout in Publisher? Have they just left that feature out? How could they possibly compete with InDesign?

I think that I mentioned that I have emailed Affinity/Serif. I can't wait to hear what they say if they respond.

Link to comment
Share on other sites

4 hours ago, panelson3 said:

Being a Mac user, my only choice at the moment when using Affinity apps is ColorSync.

So just to confirm, you do not see a "Color Matching" choice for your printer & for that a choice between ColorSync & printer matching?

Also, for your tests with an AP Soft Proof adjustment, the idea is to turn that on & use it as a guide to adjust the colors (via curves or whatever adjustments) so the image looks as close to what you want the print to like like as possible, & then to turn it off for the final export. Otherwise, there is no point in using soft proofing.

You understand that, right?

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

34 minutes ago, BofG said:

@R C-R the OP was trying to print with the soft proof turned on purely out of desperation in the hope it might work.

Desperation or not, that is not how the AP Soft Proof Adjustment should be used, so of course if it is not hidden it will throw the colors off.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

6 hours ago, R C-R said:

Also, for your tests with an AP Soft Proof adjustment, the idea is to turn that on & use it as a guide to adjust the colors (via curves or whatever adjustments) so the image looks as close to what you want the print to like like as possible, & then to turn it off for the final export. Otherwise, there is no point in using soft proofing.

Does it mean a Soft Proof Adjustment is NOT the Affinity substitution to output an image for a specific device on print – like a specific profile of a print service is chosen on export?

And so profiles for print & export are entirely different from profiles for Soft Proof?

And, for instance this profiles for the paper "Hahnemühle PhotoRag"  are meant to be used NOT for print & export but for Soft Proof only?

If yes: Since various papers handle ink differently I would expect a profile by Hahnemühle which adjusts the ink density on print according to its paper 'PhotoRag'. Don't such profiles exist at all? It appears strange to me that I need to manipulate the colors in the image and save that file – instead of choosing a profile, during the print process only, to get the file's colors optimised according to the specific paper and print hardware.

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

7 hours ago, R C-R said:
12 hours ago, panelson3 said:

Being a Mac user, my only choice at the moment when using Affinity apps is ColorSync.

So just to confirm, you do not see a "Color Matching" choice for your printer & for that a choice between ColorSync & printer matching?

I noticed meanwhile that I do get in Affinity the additional "Color Matching" menu only if I setup a printer in macOS as IP printer. Then, with my printer's .PPD selected, I also get an additional menu "Printer Features" in Affinity print options, which includes some more paper and color options, obviously Epson specific by their wording.

In macOS for a printer setup by default not "IP" is selected but "AirPrint", which seems to influence the printer driver in a way and is called "driverless" by Apple:

Quote

Printer and scanner drivers for Mac

If you have an older printer that doesn't support driverless technology, your Mac might automatically install the driver software needed to use that device.
Many printers and scanners use driverless technologies such as AirPrint or IPP Everywhere, which don't require additional drivers on your Mac.
https://support.apple.com/en-us/HT201465

... and it seems to communicate with the printer and to suppress printer driver options in purpose for more intuitive mac-like user experience without the need (~ ability) of specific settings:

Quote

About AirPrint

With AirPrint, it's easy to print full-quality photos and documents from your Mac, iPhone, iPad, or iPod touch without having to install additional software (drivers). AirPrint is built into most popular printer models, such as the ones listed in this article. AirPrint features include easy discovery, automatic media selection, and enterprise-class finishing options.
https://support.apple.com/en-us/HT201311

So, you guys all were right with your assumption that it is no Affinity decision to show the menu "Color Matching" or not.

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.