*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Fri, 04 Mar 2016 19:22:15 +0100
changeset 1332 5249b828ae1a
parent 1331 7ab7567561da
child 1333 cee9f9ed2c2b
*** empty log message ***
testData/bmpImages/bmpsuite-2.4/html/bmpsuite.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testData/bmpImages/bmpsuite-2.4/html/bmpsuite.html	Fri Mar 04 19:22:15 2016 +0100
@@ -0,0 +1,772 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<title>BMP Suite Image List</title>
+
+<style>
+ .b { background:url(bkgd.png); }
+ .q { background-color:#fff0e0; }
+ .bad { background-color:#ffa0a0; }
+</style>
+
+</head>
+
+<body>
+
+<h1>BMP Suite Image List</h1>
+
+<p><i>For <a href="http://entropymine.com/jason/bmpsuite/">BMP Suite</a>
+version 2.4</i></p>
+
+<p>This document describes the images in <i>BMP Suite</i>, and shows what
+I allege to be the correct way to interpret them. PNG and JPEG images are
+used for reference.
+</p>
+
+<p>It also shows how your web browser displays the BMP images,
+but that&rsquo;s not its main purpose.
+BMP is poor image format to use on web pages, so a web browser&rsquo;s
+level of support for it is arguably not important.</p>
+
+<table border=1 cellpadding=8>
+
+ <tr>
+  <th>File</th>
+  <th>Ver.</th>
+  <th>Correct display</th>
+  <th>In your browser</th>
+  <th>Notes</th>
+ </tr>
+
+ <tr>
+  <td>g/pal1.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal1.png"></td>
+  <td class=b><img src="../g/pal1.bmp"></td>
+  <td>1 bit/pixel paletted image, in which black is the first color in
+   the palette.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal1wb.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal1.png"></td>
+  <td class=b><img src="../g/pal1wb.bmp"></td>
+  <td>1 bit/pixel paletted image, in which white is the first color in
+   the palette.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal1bg.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal1bg.png"></td>
+  <td class=b><img src="../g/pal1bg.bmp"></td>
+  <td>1 bit/pixel paletted image, with colors other than black and white.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal1p1.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal1p1.png"></td>
+  <td class=b><img src="../q/pal1p1.bmp"></td>
+  <td>1 bit/pixel paletted image, with only one color in the palette.
+   The documentation says that 1-bpp images have a palette size of 2
+   (not &ldquo;up to 2&rdquo;), but it would be silly for a viewer not to
+   support a size of 1.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal2.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal2.png"></td>
+  <td class=b><img src="../q/pal2.bmp"></td>
+  <td>A paletted image with 2 bits/pixel. Usually only 1, 4,
+   and 8 are allowed, but 2 is legal on Windows CE.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal2color.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal2color.png"></td>
+  <td class=b><img src="../q/pal2color.bmp"></td>
+  <td>Same as pal2.bmp, but with a color palette instead of grayscale
+   palette.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal4.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal4.png"></td>
+  <td class=b><img src="../g/pal4.bmp"></td>
+  <td>Paletted image with 12 palette colors, and 4 bits/pixel.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal4gs.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal4gs.png"></td>
+  <td class=b><img src="../g/pal4gs.bmp"></td>
+  <td>Paletted image with 12 grayscale palette colors, and 4 bits/pixel.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal4rle.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal4.png"></td>
+  <td class=b><img src="../g/pal4rle.bmp"></td>
+  <td>4-bit image that uses RLE compression.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal4rletrns.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal4rletrns.png"><br>
+     or<br><img src="pal4rletrns-0.png"><br>
+     or<br><img src="pal4rletrns-b.png"></td>
+  <td class=b><img src="../q/pal4rletrns.bmp"></td>
+  <td>An RLE-compressed image that uses &ldquo;delta&rdquo;
+  codes to skip over some pixels, leaving them undefined. Some viewers
+  make undefined pixels transparent, others make them black, and
+  others assign them palette color 0 (purple, in this case).</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal4rlecut.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal4rlecut.png"><br>
+     or<br><img src="pal4rlecut-0.png"><br>
+     or<br><img src="pal4rlecut-b.png"></td>
+  <td class=b><img src="../q/pal4rlecut.bmp"></td>
+  <td>An RLE-compressed image that uses &ldquo;delta&rdquo; codes,
+   and early EOL &amp; EOBMP markers, to skip over some pixels.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8.bmp"></td>
+  <td>Our standard paletted image, with 252 palette colors, and 8
+   bits/pixel.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8-0.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8-0.bmp"></td>
+  <td>Every field that can be set to 0 is set to 0: pixels/meter=0;
+   colors used=0 (meaning the default 256); size-of-image=0.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8gs.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8gs.png"></td>
+  <td class=b><img src="../g/pal8gs.bmp"></td>
+  <td>An 8-bit image with a palette of 252 grayscale colors.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8rle.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8rle.bmp"></td>
+  <td>8-bit image that uses RLE compression.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8rletrns.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8rletrns.png"><br>
+     or<br><img src="pal8rletrns-0.png"><br>
+     or<br><img src="pal8rletrns-b.png"></td>
+  <td class=b><img src="../q/pal8rletrns.bmp"></td>
+  <td>8-bit version of q/pal4rletrns.bmp.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8rlecut.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8rlecut.png"><br>
+     or<br><img src="pal8rlecut-0.png"><br>
+     or<br><img src="pal8rlecut-b.png"></td>
+  <td class=b><img src="../q/pal8rlecut.bmp"></td>
+  <td>8-bit version of q/pal4rlecut.bmp.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8w126.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8w126.png"></td>
+  <td class=b><img src="../g/pal8w126.bmp"></td>
+  <td rowspan=3>Images with different widths and heights.
+   In BMP format, rows are padded to a multiple of four bytes, so we
+   test all four possibilities.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8w125.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8w125.png"></td>
+  <td class=b><img src="../g/pal8w125.bmp"></td>
+ </tr>
+
+ <tr>
+  <td>g/pal8w124.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8w124.png"></td>
+  <td class=b><img src="../g/pal8w124.bmp"></td>
+ </tr>
+
+ <tr>
+  <td>g/pal8topdown.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8topdown.bmp"></td>
+  <td>BMP images are normally stored from the bottom up, but
+   there is a way to store them from the top down.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8offs.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8offs.bmp"></td>
+  <td>A file with some unused bytes between the palette and the
+   image. This is probably valid, but I&rsquo;m not 100% sure.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8oversizepal.bmp</td>
+  <td>3</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8oversizepal.bmp"></td>
+  <td>An 8-bit image with 300 palette colors. This may be invalid,
+   because the documentation could
+   be interpreted to imply that 8-bit images aren&rsquo;t allowed
+   to have more than 256 colors.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8nonsquare.bmp</td>
+  <td>3</td>
+  <td class=b>
+   <img src="pal8nonsquare-v.png"><br>
+   or<br>
+   <img src="pal8nonsquare-e.png">
+  </td>
+  <td class=b><img src="../g/pal8nonsquare.bmp"></td>
+  <td>An image with non-square pixels: the X pixels/meter is twice
+   the Y pixels/meter. Image <i>editors</i> can be expected to
+   leave the image &ldquo;squashed&rdquo;; image <i>viewers</i> should
+   consider stretching it to its correct proportions.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8os2.bmp</td>
+  <td>OS/2v1</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8os2.bmp"></td>
+  <td>An OS/2-style bitmap. This format can be called OS/2 BMPv1,
+   or Windows BMPv2.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2-sz.bmp</td>
+  <td>OS/2v1</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2-sz.bmp"></td>
+  <td>Some OS/2 BMP specifications say that the <i>size</i> field in the file
+   header should be set to the aggregate size of the file header and
+   <i>infoheader</i>, instead of the total file size.
+   For OS/2v1, that means it will always be 26.
+   BMP decoders usually ignore this field, so it shouldn&rsquo;t
+   cause a problem.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2sp.bmp</td>
+  <td>OS/2v1</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2sp.bmp"></td>
+  <td>An OS/2v1 with a less-than-full-sized palette.
+   Probably not valid, but such files have been seen in the wild.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2v2.bmp</td>
+  <td>OS/2v2</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2v2.bmp"></td>
+  <td>My attempt to make an OS/2v2 bitmap.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2v2-16.bmp</td>
+  <td>OS/2v2</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2v2-16.bmp"></td>
+  <td>An OS/2v2 bitmap whose header has only 16 bytes, instead of the full 64.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2v2-sz.bmp</td>
+  <td>OS/2v2</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2v2-sz.bmp"></td>
+  <td>An OS/2v2 bitmap. Like q/pal8os2-sz.bmp, the <i>size</i> field is set to
+   the size of the headers (78), instead of the size of the file.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/pal8os2v2-40sz.bmp</td>
+  <td>OS/2v2</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../q/pal8os2v2-40sz.bmp"></td>
+  <td>An OS/2v2 bitmap, with a 40-byte header. Like q/pal8os2-sz.bmp,
+   the <i>size</i> field is set to the size of the headers (54),
+   instead of the size of the file. Except for that, this file
+   cannot be distinguished from a Windows BMPv3 file.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8v4.bmp</td>
+  <td>4</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8v4.bmp"></td>
+  <td>A v4 bitmap. I&rsquo;m not sure that the gamma and chromaticity values in
+   this file are sensible, because I can&rsquo;t find any detailed documentation
+   of them.</td>
+ </tr>
+
+ <tr>
+  <td>g/pal8v5.bmp</td>
+  <td>5</td>
+  <td class=b><img src="pal8.png"></td>
+  <td class=b><img src="../g/pal8v5.bmp"></td>
+  <td>A v5 bitmap. Version 5 has additional colorspace options over v4, so it
+   is easier to create, and ought to be more portable.</td>
+ </tr>
+
+ <tr>
+  <td>g/rgb16.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16.png"></td>
+  <td class=b><img src="../g/rgb16.bmp"></td>
+  <td>A 16-bit image with the default color format: 5 bits each for red,
+   green, and blue, and 1 unused bit.
+   The whitest colors should (I assume) be displayed as pure white:
+   <span style="background-color:rgb(255,255,255)">(255,255,255)</span>, not
+   <span style="background-color:rgb(248,248,248)">(248,248,248)</span>.</td>
+ </tr>
+
+ <tr>
+  <td>g/rgb16-565.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16-565.png"></td>
+  <td class=b><img src="../g/rgb16-565.bmp"></td>
+  <td>A 16-bit image with a BITFIELDS segment indicating 5 red, 6 green,
+   and 5 blue bits. This is a standard 16-bit format, even supported by
+   old versions of Windows that don&rsquo;t support any other non-default 16-bit
+   formats.
+   The whitest colors should be displayed as pure white:
+   <span style="background-color:rgb(255,255,255)">(255,255,255)</span>, not
+   <span style="background-color:rgb(248,252,248)">(248,252,248)</span>.</td>
+ </tr>
+
+ <tr>
+  <td>g/rgb16-565pal.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16-565.png"></td>
+  <td class=b><img src="../g/rgb16-565pal.bmp"></td>
+  <td>A 16-bit image with both a BITFIELDS segment and a palette.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb16-231.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16-231.png"></td>
+  <td class=b><img src="../q/rgb16-231.bmp"></td>
+  <td>An unusual and silly 16-bit image, with 2 red bits, 3 green bits, and 1
+  blue bit. Most viewers do support this image, but the colors may be darkened
+  with a yellow-green shadow. That&rsquo;s because they&rsquo;re doing simple
+  bit-shifting (possibly including one round of bit replication), instead of
+  proper scaling.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb16-3103.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16-3103.png"></td>
+  <td class=b><img src="../q/rgb16-3103.bmp"></td>
+  <td>Similar to q/rgb16-231.bmp, with 3 red bits, 10 green bits, and 3
+  blue bits.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba16-4444.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgba16-4444.png"></td>
+  <td class=b><img src="../q/rgba16-4444.bmp"></td>
+  <td>A 16-bit image with an alpha channel. There are 4 bits for each color
+   channel, and 4 bits for the alpha channel.
+   It&rsquo;s not clear if this is valid, but I can&rsquo;t find anything that
+   suggests it isn&rsquo;t.
+   </td>
+ </tr>
+
+  <tr>
+  <td class=q>q/rgba16-1924.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgba16-1924.png"></td>
+  <td class=b><img src="../q/rgba16-1924.bmp"></td>
+  <td>Similar to q/rgba16-4444.bmp, with 1 red bit, 9 green bits, 2 blue bits,
+   and 4 bits for the alpha channel.
+   </td>
+ </tr>
+
+ <tr>
+  <td>g/rgb24.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../g/rgb24.bmp"></td>
+  <td>A perfectly ordinary 24-bit (truecolor) image.</td>
+ </tr>
+
+ <tr>
+  <td>g/rgb24pal.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../g/rgb24pal.bmp"></td>
+  <td>A 24-bit image, with a palette containing 256 colors. There is little if
+   any reason for a truecolor image to contain a palette, but it is legal.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb24largepal.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb24largepal.bmp"></td>
+  <td>A 24-bit image, with a palette containing 300 colors.
+   The fact that the palette has more than 256 colors may cause some viewers
+   to complain, but the documentation does not mention a size limit.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb24prof.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb24prof.bmp"></td>
+  <td>My attempt to make a BMP file with an embedded color profile.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb24lprof.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb24lprof.bmp"></td>
+  <td>My attempt to make a BMP file with a linked color profile.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb24jpeg.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgb24.jpg"></td>
+  <td class=b><img src="../q/rgb24jpeg.bmp"></td>
+  <td rowspan=2>My attempt to make BMP files with embedded JPEG and PNG images.
+   These are not likely to be supported by much of anything (they&rsquo;re
+   intended for printers).</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb24png.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb24png.bmp"></td>
+ </tr>
+
+ <tr>
+  <td>g/rgb32.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../g/rgb32.bmp"></td>
+  <td>A 32-bit image using the default color format for 32-bit images (no
+   BITFIELDS segment). There are 8 bits per color channel, and 8 unused
+   bits. The unused bits are set to 0.</td>
+ </tr>
+
+ <tr>
+  <td>g/rgb32bf.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../g/rgb32bf.bmp"></td>
+  <td>A 32-bit image with a BITFIELDS segment. As usual, there are 8 bits per
+   color channel, and 8 unused bits. But the color channels are in an unusual
+   order, so the viewer must read the BITFIELDS, and not just guess.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb32h52.bmp</td>
+  <td>(52)</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb32h52.bmp"></td>
+  <td>Similar to g/rgb32bf.bmp, but with a 52-byte
+   &ldquo;BITMAPV2INFOHEADER&rdquo;. This is an uncommon version of BMP, and I
+   can&rsquo;t confirm that this file is correct.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb32fakealpha.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"><br>
+    or<br>
+    <img class=b src="fakealpha.png">
+</td>
+  <td class=b><img src="../q/rgb32fakealpha.bmp"></td>
+  <td>Same as g/rgb32.bmp, except that the unused bits are set to something
+   other than 0.
+   If the image becomes transparent toward the bottom, it probably means
+   the viewer uses heuristics to guess whether the undefined
+   data represents transparency.
+   Reportedly, in ICO icon format, a 32-bit image has transparency if any
+   of the could-be alpha samples are nonzero. Some BMP decoders probably
+   use the same algorithm for BMP.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb32-111110.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb24.png"></td>
+  <td class=b><img src="../q/rgb32-111110.bmp"></td>
+  <td>A 32 bits/pixel image, with all 32 bits used: 11 each for red and
+   green, and 10 for blue. As far as I know, this is valid, but it
+   is unusual.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgb32-7187.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb32-7187.png"></td>
+  <td class=b><img src="../q/rgb32-7187.bmp"></td>
+  <td>A 32 bits/pixel image, with 7 bits for red, 18 for green, and 7 for
+   blue.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba32.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgba32.png"></td>
+  <td class=b><img src="../q/rgba32.bmp"></td>
+  <td>A BMP with an alpha channel. Transparency is barely documented,
+   so it&rsquo;s <i>possible</i> that this file is not correctly formed.
+   The color channels are in an unusual order, to prevent viewers from
+   passing this test by making a lucky guess.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba32-81284.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgba32-81284.png"></td>
+  <td class=b><img src="../q/rgba32-81284.bmp"></td>
+  <td>A 32 bits/pixel image, with 8 bits for red, 12 for green, 8 for blue,
+   and 4 for alpha.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba32-61754.bmp</td>
+  <td>5</td>
+  <td class=b><img src="rgba32-61754.png"></td>
+  <td class=b><img src="../q/rgba32-61754.bmp"></td>
+  <td>A 32 bits/pixel image, with 6 bits for red, 17 for green, 5 for blue,
+   and 4 for alpha.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba32abf.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgba32.png"></td>
+  <td class=b><img src="../q/rgba32abf.bmp"></td>
+  <td>An image of type BI_ALHPABITFIELDS. Supposedly, this was used on
+   Windows CE. I don&rsquo;t know whether it is constructed correctly.</td>
+ </tr>
+
+ <tr>
+  <td class=q>q/rgba32h56.bmp</td>
+  <td>(56)</td>
+  <td class=b><img src="rgba32.png"></td>
+  <td class=b><img src="../q/rgba32h56.bmp"></td>
+  <td>Similar to q/rgba32.bmp, but with a 56-byte
+   &ldquo;BITMAPV3INFOHEADER&rdquo;. This is an uncommon version of BMP, and I
+   can&rsquo;t confirm that this file is correct.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badbitcount.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badbitcount.bmp"></td>
+  <td>Header indicates an absurdly large number of bits/pixel.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badbitssize.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badbitssize.bmp"></td>
+  <td>Header incorrectly indicates that the bitmap is several GB in size.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/baddens1.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/baddens1.bmp"></td>
+  <td rowspan=2>Density (pixels per meter) suggests the image is <i>much</i>
+      larger in one dimension than the other.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/baddens2.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/baddens2.bmp"></td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badfilesize.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badfilesize.bmp"></td>
+  <td>Header incorrectly indicates that the file is several GB in size.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badheadersize.bmp</td>
+  <td>?</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badheadersize.bmp"></td>
+  <td>Header size is 66 bytes, which is not a valid size for any known BMP
+   version.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badpalettesize.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badpalettesize.bmp"></td>
+  <td>Header incorrectly indicates that the palette contains an absurdly large
+   number of colors.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badplanes.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badplanes.bmp"></td>
+  <td>The &ldquo;planes&rdquo; setting, which is required to be 1, is not 1.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badrle4.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrle4.bmp"></td>
+  <td>An invalid RLE4-compressed image that tries to cause buffer overruns.</td>
+ </tr>
+ <tr>
+  <td class=bad>b/badrle4bis.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrle4bis.bmp"></td>
+  <td>Another invalid RLE4-compressed image that tries to cause buffer overruns.</td>
+ </tr>
+ <tr>
+  <td class=bad>b/badrle4ter.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrle4ter.bmp"></td>
+  <td>Another invalid RLE4-compressed image that tries to cause buffer overruns.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badrle.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrle.bmp"></td>
+  <td>8-bit version of b/badrle4.bmp.</td>
+ </tr>
+ <tr>
+  <td class=bad>b/badrlebis.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrlebis.bmp"></td>
+  <td>8-bit version of b/badrle4bis.bmp.</td>
+ </tr>
+ <tr>
+  <td class=bad>b/badrleter.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badrleter.bmp"></td>
+  <td>8-bit version of b/badrle4ter.bmp.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/badwidth.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/badwidth.bmp"></td>
+  <td>The image claims to be a negative number of pixels in width.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/pal8badindex.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/pal8badindex.bmp"></td>
+  <td>Many of the palette indices used in the image are not present in the
+   palette.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/reallybig.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/reallybig.bmp"></td>
+  <td>An image with a very large reported width and height.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/rgb16-880.bmp</td>
+  <td>3</td>
+  <td class=b><img src="rgb16-880.png"><br>(?)</td>
+  <td class=b><img src="../b/rgb16-880.bmp"></td>
+  <td>A 16-bit image with a BITFIELDS segment indicating 8 red, 8 green,
+   and 0 blue bits. The documentation doesn&rsquo;t say whether undefined
+   channels are legal, or how they should be handled.
+ </tr>
+
+ <tr>
+  <td class=bad>b/rletopdown.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/rletopdown.bmp"></td>
+  <td>An RLE-compressed image that tries to use top-down orientation,
+   which isn&rsquo;t allowed.</td>
+ </tr>
+
+ <tr>
+  <td class=bad>b/shortfile.bmp</td>
+  <td>3</td>
+  <td class=b>N/A</td>
+  <td class=b><img src="../b/shortfile.bmp"></td>
+  <td>A file that has been truncated in the middle of the bitmap.</td>
+ </tr>
+
+</table>
+
+</body>
+
+</html>