From: Kevin Hu <kv...@be...> - 2025-06-10 22:16:29
|
Hello! I am Kevin, a student researcher at UC Berkeley working on creating prints to test people's color vision. A critical component of our research involves using a custom inkset and achieving colorimetric accuracy, which requires precise, individual control of each ink channel, bypassing the standard CMYK color processing used by commercial software like Printfab. Currently, our setup inadvertently activates the K (black) channel to produce grayscale when we attempt to independently control multiple ink channels, causing significant issues. Presently, we resort to using two printers, each managing two inks. This approach introduces alignment and accuracy challenges. Thus, we seek a solution by potentially customizing our own printer driver, integrating all links within a single printer and possibly expanding the number of inks used. After reviewing the extensive documentation and code provided by Gutenprint—which has been invaluable—we concluded that directly communicating with Epson printers via the ESC/P2 language seems most viable. However, several questions arose during our exploration: Upon consulting Epson’s specifications, we've observed that several current models (e.g., ET-8550, XP-15000) seem to utilize ESC/P-R rather than ESC/P2 according to Epson. Information about ESC/P-R appears scarce, especially regarding how it differs from ESC/P2. Given that Gutenprint lists support for some ESC/P-R printers (like the XP-15000), is it appropriate to assume that ESC/P-R largely overlaps with ESC/P2 but includes additional high-level commands, or is it fundamentally distinct? Despite thorough review of the documentation on rasterization and color handling, I remain slightly concerned whether printers perform any additional internal processing of the rasterized data we send—particularly, could commanding specific CMY channels inadvertently activate the K channel in the printer's internal processing? In the driver file section of your documentation, it states: "Some printers require that all of the nozzles be used. Those printers will set min_nozzles and/or min_black_nozzles to the same value as nozzles and/or black_nozzles." Does this mean that for printers with min_nozzles equal to the total nozzle count, all nozzles must actively be used at some point during each print cycle? Does this mean that for full control of individual channels, we need to select printers that do not require all of the nozzles used? Thank you very much for developing such comprehensive documentation and a versatile driver, both of which have significantly aided our research efforts. We look forward to your insights and guidance. Warm regards, Kevin |