--- /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’s not its main purpose.
+BMP is poor image format to use on web pages, so a web browser’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 “up to 2”), 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 “delta”
+ 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 “delta” codes,
+ and early EOL & 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’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’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 “squashed”; 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’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’m not sure that the gamma and chromaticity values in
+ this file are sensible, because I can’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’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’s because they’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’s not clear if this is valid, but I can’t find anything that
+ suggests it isn’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’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
+ “BITMAPV2INFOHEADER”. This is an uncommon version of BMP, and I
+ can’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’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’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
+ “BITMAPV3INFOHEADER”. This is an uncommon version of BMP, and I
+ can’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 “planes” 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’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’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>