2005.08.03 09:27 "[Tiff] Overlay Hyperlinks On TIFF", by Chux Amobi

2005.08.08 13:55 "Re: [Tiff] Overlay Hyperlinks On TIFF", by Rob van den Tillaart

Hi Joris,

Your 'implementation' is far more efficient, thanx; I was more thinking on conceptual level what can be done with an embedded URL.

One question remains: Is it so that tags must be unique? X and Y resolution tags are reused within a multipage tiff file so uniqueness seems to be a per image property for some tags and a per file property for other tags (e.g. Software tag).

So why can a tag not be used e.g. 4 times for a single image. It is the simplest way to implement a dynamic list. I agree that such semantics should be described explicit.

Is it forbidden in the spec?


interesting concept, embedding the clickable area in the TIFF needs 5 (private) tags per area: {x, y, width, height, URL} or at least 3 { x, y, URL} using a closest point algorithm.

I don't think so.

For one thing, you seem to imply you could write a tag per clickable area. That is incorrect, since tags are supposed to be unique. Thus, encoding only a single clickable area in a tag, you would be restricted to a single clickable area per image IFD.

Secondly, since the data (x, y, width, height, URL) is really a whole, I would not waste 5 different tags on it, but rather encode the data as a whole, in a tag with datatype byte or unspecified.

Thus, I would rather use a single tag, that has data more or less like this (for example):

uint16: number of clickable areas
per clickable area
    uint32: x
    uint32: y
    uint32: width
    uint32: height
    uint16: url length
    per url character
        uint8: url character
    uint8: 0
    padding to nearest 32bit boundary

Alternatively, you could use a single private tag to point to a list of private IFDs, in which the data (x, y, etc) could be encoded in private ifd tags (no codeallocation with adobe required for these), and that pointed to a next private ifd for the next clickable area, and so one. While beatiful and very TIFF, it seems rather overkill though for the little amount of data.