Možná to bude souviset s mým problémem. Na http://php.vrana.cz/favicon.ico mám ikonu (vygenerovanou tuším pomocí IrfanView): width=16, height=16, bitcount=24, length=872.
Bližším prozkoumáním jsem zjistil, že chybějících 32 bytů je umístěno v AND-bitmapě - každý nový řádek začíná na bytu dělitelném čtyřmi. Pokud bychom toto pravidlo vztáhli na JavaCup.ico, tak součet rázem taky vychází, takže předpokládám, že to bude ono.
Škoda, že o tom v článku není žádná zmínka, v odkazovaných dokumentech jsem našel také pouze zavádějící informace (jako že velikost AND-bitmapy = šířka*výška/8).
Moje opomenutí: sice jsem v článku na jednom místě psal, že se jedná o vložené windowsovské bitmapy (uložené v kontejneru s koncovkou .BMP), ale už jsem nedal odkaz na předchozí části tohoto seriálu. Formát .ICO je vlastně taky kontejner na bitmapy
Máte naprostou pravdu - všechny řádky v jakékoli win. bitmapě (v tomto případě pojmenovaných AND a XOR) jsou zarovnány na celistvé čtyři byty. U XOR-bitmap se na to vlastně skoro nikdy "nepřijde", protože je jejich velikost mocninou dvou a i u šestnáctibarevných bitmap je výsledek dělitelný čtyřmi, ale u AND-bitmap tento problém může nastat.