Pascal de Bruijn wrote:
Is there a specific reason why ArgyllCMS (colprof) uses the following defaults: Dev. Mnfctr. = '????' Dev. Model = '????' Most other tools seem to zero these: Dev. Mnfctr. = 0x0 Dev. Model = 0x0 While this is everything but critically important, but I'm curious nonetheless.
Hi, The tag definitions in the header file from the ICC website define the following: #define icSigUnknownTag ((icTagSignature) 0x3f3f3f3f) /* '????' */ #define icSigUnknownType ((icTagTypeSignature) 0x3f3f3f3f) /* '????' */ #define icSigUnknownData ((icColorSpaceSignature) 0x3f3f3f3f) /* '????' */ #define icUnknownIntent ((icRenderingIntent) 0x3f3f3f3f) /* '????' */ It's noted that these aren't defined in the ICC specification though. The but Tag Signaures value (hex) 00000000 - 0000005a are registered to Sun Microsystems, while the Device Manufacturer Tag and Model Tag registry don't appear to have either 00000000 or 3F3F3F3F ('????') registered or reserved, although it's difficult to tell for sure. On the other hand the V2 spec says: "6.5 Tag type definitions ....... Value 0 is defined to be of “unknown value” for all enumerated data structures." but this isn't necessarily applicable to Signatures, and isn't strictly followed by the ICC spec. itself (some enumerated types have the first value 0, e.g. Device attributes, Rendering Intent, ParametricCurveFunctionType). So it's rather unclear what an unknown device manufacturer and model should be set to. I thought that '????' was more obvious that 0x0 though. cheers, Graeme Gill.