Color Profile ISO Coated v2 300% (ECI) not found anymore

Dear all, in ConTeXt ver: 2025.04.28 14:29 LMTX fmt: 2025.6.3 the color profile ISO Coated v2 300% (ECI) is not found anymore \setupbackend[ %format=PDF/X-1a:2001, %format=PDF/X-1a:2003, format=PDF/X-3:2002, %Empfehlung von Flyeralarm %format=PDF/X-3:2003, %format=PDF/X-4, %format=PDF/X-4p, intent={ISO Coated v2 300\letterpercent\space (ECI)}] It raises this error. 66 \setupbackend[ 67 %format=PDF/X-1a:2001, 68 %format=PDF/X-1a:2003, 69 format=PDF/X-3:2002, %Empfehlung von Flyeralarm 70 %format=PDF/X-3:2003, 71 %format=PDF/X-4, 72 %format=PDF/X-4p, 73 >> intent={ISO Coated v2 300\letterpercent\space (ECI)}] 74 \stopmode 75 76 %% FOGRA 39 Coated 77 %% Bestimmung der CMYK-Werte mit transicc 78 %% transicc -i srgb_v4_icc_preference.icc -o CoatedFOGRA39.icc 79 %% Rundung wie oben 80 \startmode[fogra39] 81 \doiffileelse{CoatedFOGRA39.icc}{}{\farbprofilnichtgefunden} 82 \definecolor [hs-logoblau] [c=1.000, m=0.735, y=0.279, k=0.160] 83 %% C=100.0000 M=73.4707 Y=27.9103 K=16.0891 mtx-context | fatal error: return code: 1 make: *** [Makefile:45: flyerangebote] Fehler 1 With 2024.11 it still works Any ideas? juh

On 6/3/25 11:41, juh+ntg-context--- via ntg-context wrote:
Dear all,
in ConTeXt ver: 2025.04.28 14:29 LMTX fmt: 2025.6.3 the color profile ISO Coated v2 300% (ECI) is not found anymore [...] Any ideas?
Dear Jan-Ulrich, my guess is that color profiles might be have been replaced. Here there might be some background: https://www.pragma-ade.com/general/manuals/standards.pdf#search=unset In any case, these are the profiles in current latest: $ find context -name *.icc texmf-context/colors/icc/profiles/colo-imp-cgats001compat-v2-micro.icc texmf-context/colors/icc/profiles/colo-imp-isocoated_v2_eci.icc texmf-context/colors/icc/profiles/colo-imp-sgrey-v2-magic.icc texmf-context/colors/icc/profiles/colo-imp-srgb-v2-magic.icc texmf-context/colors/icc/profiles/colo-imp-srgb.icc texmf-context/colors/icc/profiles/colo-imp-sgrey-v4.icc texmf-context/colors/icc/profiles/colo-imp-srgb-v4.icc texmf-context/colors/icc/profiles/colo-imp-default_gray.icc And these are the ones from November 2024 latest: $ find .backup-context/11012024_context/ -name *.icc texmf-context/colors/icc/profiles/colo-imp-isocoated_v2_eci.icc texmf-context/colors/icc/profiles/colo-imp-srgb.icc texmf-context/colors/icc/profiles/colo-imp-srgb_v4_icc_preference.icc texmf-context/colors/icc/profiles/colo-imp-default_gray.icc Just in case it helps, Pablo

Dear Pablo, Am 03.06.25 um 17:36 schrieb Pablo Rodriguez via ntg-context:
my guess is that color profiles might be have been replaced.
Here there might be some background:
https://www.pragma-ade.com/general/manuals/standards.pdf#search=unset
In any case, these are the profiles in current latest:
$ find context -name *.icc texmf-context/colors/icc/profiles/colo-imp-cgats001compat-v2-micro.icc texmf-context/colors/icc/profiles/colo-imp-isocoated_v2_eci.icc texmf-context/colors/icc/profiles/colo-imp-sgrey-v2-magic.icc texmf-context/colors/icc/profiles/colo-imp-srgb-v2-magic.icc texmf-context/colors/icc/profiles/colo-imp-srgb.icc texmf-context/colors/icc/profiles/colo-imp-sgrey-v4.icc texmf-context/colors/icc/profiles/colo-imp-srgb-v4.icc texmf-context/colors/icc/profiles/colo-imp-default_gray.icc
And these are the ones from November 2024 latest:
$ find .backup-context/11012024_context/ -name *.icc texmf-context/colors/icc/profiles/colo-imp-isocoated_v2_eci.icc texmf-context/colors/icc/profiles/colo-imp-srgb.icc texmf-context/colors/icc/profiles/colo-imp-srgb_v4_icc_preference.icc texmf-context/colors/icc/profiles/colo-imp-default_gray.icc
Thanks a lot for your help. I have a lot more profiles in texmf-local, e.g. context/tex/texmf-local/colors/icc/profiles/ISOcoated_v2_300_eci.icc Therefore I also have two colorprofiles.xml find context -name 'colorprofiles.xml' context/tex/texmf-local/colors/icc/context/colorprofiles.xml context/tex/texmf-context/colors/icc/context/colorprofiles.xml The one in texmf-local has the definition for ISO Coated v2 300% (ECI). <profile> 180 <filename>ISOcoated_v2_300_eci.icc</filename> 1 <colorspace>CMYK</colorspace> 2 <class>prtr</class> 3 <id>FOGRA39</id> 4 <info>ISO Coated v2 300% (ECI)</info> 5 <checksum>e14f5db955711d914d877df35ad7a1b5</checksum> 6 <version>24000000</version> 7 <url>http://www.color.org</url> 8 <outputcondition>Offset printing, according to ISO 12647-2:2004/Amd 1, OFCOM, paper type 1 or 2 = coated art, 115 g/m2, tone value increase curves A (CMY) and B (K) 9 </profile> Maybe the lookup mechanism for the informations changed between the two version as in 2024 the right profile is found but in current not. Any hints how to match it again? juh

On 6/4/25 08:36, juh+ntg-context--- via ntg-context wrote:
[...] Any hints how to match it again?
Sorry, Jan-Ulrich, it isn’t clear to me what is going on here. The following sample: \setupbackend [format=PDF/X-3:2002, intent={ISO Coated v2 (ECI)}] \starttext \null \stoptext gives me the following error: lpdf-fmt.lmt:282: attempt to call a nil value (global 'urls') Line 189 from the same file reads: -- When we have an URL we can assume that embedding is not needed. Line 8 from colorprofiles.xml also reads (as a comment): When the id is "Custom" we assume that embedding is needed. (Also related to line 391 from lpdf-fmt.lmt.) As far as I understand, color profiles with urls aren’t being embedded in the PDF document. For reasons totally unknown to me, lpdf-fmt.lmt has also problems with profiles from http://www.color.org. I’m afraid I cannot help here, Pablo

On 6/4/2025 5:14 PM, Pablo Rodriguez via ntg-context wrote:
On 6/4/25 08:36, juh+ntg-context--- via ntg-context wrote:
[...] Any hints how to match it again?
Sorry, Jan-Ulrich, it isn’t clear to me what is going on here.
The following sample:
\setupbackend [format=PDF/X-3:2002, intent={ISO Coated v2 (ECI)}] \starttext \null \stoptext
gives me the following error:
lpdf-fmt.lmt:282: attempt to call a nil value (global 'urls')
Line 189 from the same file reads:
-- When we have an URL we can assume that embedding is not needed.
Line 8 from colorprofiles.xml also reads (as a comment):
When the id is "Custom" we assume that embedding is needed.
(Also related to line 391 from lpdf-fmt.lmt.)
As far as I understand, color profiles with urls aren’t being embedded in the PDF document.
For reasons totally unknown to me, lpdf-fmt.lmt has also problems with profiles from http://www.color.org.
what problem
I’m afraid I cannot help here,
You can move: local function urls(url) ... end to before: local function includeprofile(s) to get rid of the error. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------

On 6/4/25 19:34, Hans Hagen via ntg-context wrote:
[...] You can move:
local function urls(url) ... end
to before:
local function includeprofile(s)
to get rid of the error. Many thanks for your reply, Hans.
This fixes the issue for me. Jan-Urlich, could you test it yourself? Just in case it might help you, I include a patch below. Many thanks for your help, Pablo Patch: --- lpdf-fmt.lmt 2025-06-05 18:35:30.016927969 +0200 +++ mkxl/lpdf-fmt.lmt 2025-06-05 18:36:27.670594638 +0200 @@ -260,6 +260,23 @@ return lower(file.basename(filename)) end +local function urls(url) + if not url or url == "" then + return nil + else + local u = pdfarray() + for url in gmatch(url,"([^, ]+)") do + if find(url,"^http") then + u[#u+1] = pdfdictionary { + FS = pdfconstant("URL"), + F = pdfstring(url), + } + end + end + return u + end +end + local function includeprofile(s) local filename = s.filename or "" local colorspace = s.colorspace or "" @@ -313,23 +330,6 @@ return defaultprofiles[channel] end -local function urls(url) - if not url or url == "" then - return nil - else - local u = pdfarray() - for url in gmatch(url,"([^, ]+)") do - if find(url,"^http") then - u[#u+1] = pdfdictionary { - FS = pdfconstant("URL"), - F = pdfstring(url), - } - end - end - return u - end -end - local function processprofile(s,spec) -- specification local filename = s.filename or "" local colorspace = lower(s.colorspace or "")
participants (3)
-
Hans Hagen
-
juh+ntg-context@mailbox.org
-
Pablo Rodriguez