Could you have a look at the entry now, and suggest a modified set of
alias names for the two formats that you may encounter.
http://mindprod.com/jgloss/png.html#TRANSPARENCY
I wouldn't call mickey-mouse transparency 'indexed', since it's got
nothing to do with indexed colour (in fact, you *can't* use it with
indexed colour!), but apart from that, the names themselves are fine. I
also wouldn't use the word 'palette' in the description of it, since it's
used with true colour images, which don't have an explicit palette. You
could say it steals one colour from the colour space, but 'palette'
suggests the wrong thing to me.
Your description of IE6 behaviour is then the key thing that needs
changing. It's not that IE6 only supports mickey-mouse transparency: in
fact, it *doesn't* support mickey-mouse transparency (as far as i know),
nor does it support proper transparency for true colour images. It only
supports the combination of proper transparency and indexed colour.
The freaky thing is that for indexed colour, proper transparency involves
the tRNS chunk, whereas true colour does it in the pixel data, so in a
way, these are different. And the transparent indexed colour is
structurally more similar to mickey-mouse transparency with full-colour,
which also uses that chunk, despite working in a completely different way!
AAAARGH!
So, yes, it's *really* annoying that PNG treats true and indexed colour
differently. In a true colour image with alpha, a colour is represented by
four samples, packed together. In an indexed colour image with alpha,
there are three samples in the palette, and one in the tRNS chunk. Why not
in the palette? To avoid wasting space in alphaless indexed images, you
could define different colour types for indexed and indexed with alpha,
and have their palettes contain RGB and RGBA respectively.
This is compounded by the fact that the tRNS chunk is then used to mean
completely different things for true and indexed images: it holds the
single transparent pseudocolour for a true colour image, and a list of
alpha values to be tacked on the side of the palette for an indexed colour
image. I'd have made it consistent: make it a single pseudocolour which
indicates full transparency in all cases.
I guess the point of the current system, if this was a conscious design
choice, is that in an indexed colour image, the number of palette entries
with alpha can be smaller than the total number of palette entries: if you
have 256 palette entries, and just two transparent ones, you save a
whopping 254 bytes. Wow.
tom
--
Imagine a city where graffiti wasn't illegal, a city where everybody
could draw wherever they liked. Where every street was awash with a
million colours and little phrases. Where standing at a bus stop was never
boring. A city that felt like a living breathing thing which belonged to
everybody, not just the estate agents and barons of big business. Imagine
a city like that and stop leaning against the wall - it's wet. -- Banksy