I have an explanation for tiaoma, cades, and rustycure. All these packages use some libraries to generate SVG images, but the SVG standard only supports RGB colors.
For example, tiaoma uses zint to generate an SVG, If you click into tiaoma/0.3.0/lib.typ, you’ll find the following code.
if type(c) == color {
return c.to-hex().slice(1)
}
#cmyk(0%, 0%, 0%, 100%).to-hex() is #221f2, and it becomes cmyk(71%, 68%, 64%, 73%) at last.
Code to inspect the SVG
#let svg-bytes = qrcode(
"Lorem",
options: (fg-color: cmyk(0%, 0%, 0%, 100%)),
).source
#raw(str(svg-bytes), lang: "svg")
According to SVG 2 CMYK colors and CMYK JPEG output? · Issue #766 · linebender/resvg · GitHub posted in 2024, rendering SVG files with CMYK colorspace is not possible at present, and probably will not be possible in the next 3-5 years, if ever.
Edit: I see you’ve created Can't get exact CMYK in typst-generated PDF · Issue #25 · Enter-tainer/zint-wasi · GitHub. Better put a link here the next time.