diff options
-rw-r--r-- | ext/fileinfo/data_file.c | 68 | ||||
-rw-r--r-- | ext/fileinfo/magicdata.patch | 318 | ||||
-rw-r--r-- | ext/fileinfo/tests/magic | 1581 | ||||
-rw-r--r-- | ext/fileinfo/tests/magic私はガラスを食べられます | 1581 |
4 files changed, 307 insertions, 3241 deletions
diff --git a/ext/fileinfo/data_file.c b/ext/fileinfo/data_file.c index 53470e80f2..ac2d26a75b 100644 --- a/ext/fileinfo/data_file.c +++ b/ext/fileinfo/data_file.c @@ -70372,7 +70372,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x40, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x73, 0x69, 0x6E, 0x67, 0x5B, 0x5B, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x73, 0x69, 0x6E, 0x67, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x28, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x29, 0x3F, 0x73, 0x74, 0x64, 0x28, 0x3A, 0x3A, 0x29, 0x3F, 0x5B, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x5D, 0x2A, 0x5B, 0x5B, 0x3A, 0x73, 0x70, @@ -84691,7 +84691,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x2B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x28, 0x63, 0x6C, 0x61, 0x73, 0x73, 0x7C, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x29, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x5B, 0x41, 0x2D, 0x5A, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -84734,7 +84734,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3D, 0x26, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x6E, 0x64, 0x28, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x3B, 0x23, 0x5D, 0x2E, 0x2A, 0x29, 0x3F, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -86196,7 +86196,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x36, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x5F, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x5D, 0x7B, 0x31, 0x2C, 0x33, 0x30, 0x7D, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x5C, 0x7B, 0x00, 0x00, @@ -86217,7 +86217,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x32, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x74, 0x65, 0x6D, 0x70, 0x6C, 0x61, 0x74, 0x65, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x3C, 0x2E, 0x2A, 0x3E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, @@ -86239,7 +86239,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x2C, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x27, 0x5B, 0x41, 0x2D, 0x5A, 0x61, 0x2D, 0x7A, 0x5F, 0x2F, 0x5D, 0x2B, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -86282,7 +86282,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3D, 0x26, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x6E, 0x64, 0x28, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x3B, 0x23, 0x5D, 0x2E, 0x2A, 0x29, 0x3F, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -86303,7 +86303,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x33, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x2E, 0x2A, 0x5B, 0x7D, 0x3B, 0x5D, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, @@ -86626,7 +86626,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x17, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x70, 0x72, 0x6F, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -127648,7 +127648,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -189116,7 +189116,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x1E, 0x3D, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -189181,7 +189181,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0D, 0x3D, 0x53, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x63, 0x6C, 0x61, 0x73, 0x73, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x5B, 0x3A, 0x64, 0x69, 0x67, 0x69, 0x74, 0x3A, 0x5D, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x3A, 0x5F, 0x5D, 0x2B, 0x5B, 0x5B, 0x3A, @@ -203156,7 +203156,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0A, 0x3D, 0x2B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x28, 0x63, 0x6C, 0x61, 0x73, 0x73, 0x7C, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x29, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x5B, 0x41, 0x2D, 0x5A, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -203177,7 +203177,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x28, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x6E, 0x64, 0x28, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x3B, 0x23, 0x69, 0x66, 0x5D, 0x2E, 0x2A, 0x29, 0x3F, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -204145,7 +204145,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0A, 0x3D, 0x2E, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x64, 0x65, 0x66, 0x20, 0x5B, 0x61, 0x2D, 0x7A, 0x5D, 0x7C, 0x64, 0x65, 0x66, 0x20, 0x5B, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x5D, 0x2B, 0x3A, 0x3A, 0x5B, 0x61, 0x2D, 0x7A, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -204166,7 +204166,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x26, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x6E, 0x64, 0x28, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x5B, 0x3B, 0x23, 0x5D, 0x2E, 0x2A, 0x29, 0x3F, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -204682,7 +204682,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x17, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x2E, 0x2A, 0x3A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -204768,7 +204768,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0F, 0x3D, 0x2C, 0x11, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x7B, 0x30, 0x2C, 0x35, 0x30, 0x7D, 0x64, 0x65, 0x66, 0x20, 0x7B, 0x31, 0x2C, 0x35, 0x30, 0x7D, 0x5B, 0x5F, 0x61, 0x2D, 0x7A, 0x41, 0x2D, 0x5A, 0x5D, 0x7B, 0x31, 0x2C, 0x31, 0x30, 0x30, 0x7D, 0x00, 0x00, 0x00, 0x00, @@ -204833,7 +204833,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x33, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x64, 0x6F, 0x75, 0x62, 0x6C, 0x65, 0x28, 0x20, 0x5C, 0x2A, 0x7C, 0x5C, 0x2A, 0x29, 0x28, 0x2E, 0x2B, 0x29, 0x28, 0x3D, 0x2E, 0x2A, 0x29, 0x3F, 0x3B, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -206746,7 +206746,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x63, 0x6C, 0x61, 0x73, 0x73, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -206811,7 +206811,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x32, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x28, 0x20, 0x5C, 0x2A, 0x7C, 0x5C, 0x2A, 0x29, 0x28, 0x2E, 0x2B, 0x29, 0x28, 0x3D, 0x2E, 0x2A, 0x29, 0x3F, 0x3B, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -228483,7 +228483,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x31, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x63, 0x68, 0x61, 0x72, 0x28, 0x20, 0x5C, 0x2A, 0x7C, 0x5C, 0x2A, 0x29, 0x28, 0x2E, 0x2B, 0x29, 0x28, 0x3D, 0x2E, 0x2A, 0x29, 0x3F, 0x3B, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -252262,7 +252262,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x28, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x69, 0x6E, 0x63, 0x6C, 0x75, 0x64, 0x65, 0x20, 0x28, 0x5B, 0x41, 0x2D, 0x5A, 0x5D, 0x2B, 0x5B, 0x61, 0x2D, 0x7A, 0x5D, 0x2A, 0x28, 0x3A, 0x3A, 0x29, 0x29, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -252434,7 +252434,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x31, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x69, 0x6D, 0x70, 0x6F, 0x72, 0x74, 0x20, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x69, 0x6D, 0x70, 0x6F, 0x72, 0x74, 0x20, 0x5B, 0x5F, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x5D, 0x2B, 0x20, 0x61, 0x73, 0x20, 0x5B, 0x5B, 0x3A, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3A, 0x5D, 0x5D, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -253552,7 +253552,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x19, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x28, 0x69, 0x66, 0x7C, 0x69, 0x66, 0x6E, 0x29, 0x64, 0x65, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -253573,7 +253573,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x6E, 0x64, 0x69, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -253595,7 +253595,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x19, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x28, 0x69, 0x66, 0x7C, 0x69, 0x66, 0x6E, 0x29, 0x64, 0x65, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -253616,7 +253616,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x64, 0x65, 0x66, 0x69, 0x6E, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -253810,7 +253810,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x2C, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x27, 0x5B, 0x41, 0x2D, 0x5A, 0x61, 0x2D, 0x7A, 0x5F, 0x2F, 0x5D, 0x2B, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -255186,7 +255186,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x3D, 0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x29, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x29, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x5C, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -261614,7 +261614,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x1F, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -263205,7 +263205,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x14, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x23, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2A, 0x70, 0x72, 0x61, 0x67, 0x6D, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -263850,7 +263850,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -264689,7 +264689,7 @@ const unsigned char php_magic_database[5191992] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x3D, 0x12, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x6E, 0x69, 0x6F, 0x6E, 0x5B, 0x5B, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x75, 0x6E, 0x69, 0x6F, 0x6E, 0x5B, 0x5B, 0x3A, 0x73, 0x70, 0x61, 0x63, 0x65, 0x3A, 0x5D, 0x5D, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/ext/fileinfo/magicdata.patch b/ext/fileinfo/magicdata.patch index 18df20e10f..42db6c27c4 100644 --- a/ext/fileinfo/magicdata.patch +++ b/ext/fileinfo/magicdata.patch @@ -1,41 +1,107 @@ -diff --git a/magic/Magdir/rpm b/magic/Magdir/rpm -index 9a795f8..31db083 100644 ---- a/magic/Magdir/rpm -+++ b/magic/Magdir/rpm -@@ -29,6 +29,7 @@ - >>8 beshort 17 SuperH - >>8 beshort 18 Xtensa - >>8 beshort 255 noarch -+>>10 string x %s +diff -u a/magic/Magdir/c-lang b/magic/Magdir/c-lang +--- a/magic/Magdir/c-lang 2017-08-14 09:40:38.000000000 +0200 ++++ b/magic/Magdir/c-lang 2018-11-10 13:06:33.171398452 +0100 +@@ -13,61 +13,61 @@ + # C + # Check for class if include is found, otherwise class is beaten by include becouse of lowered strength + 0 regex \^#include C +->0 regex \^class[[:space:]]+ ++>0 regex/4096 \^class[[:space:]]+ + >>&0 regex \\{[\.\*]\\}(;)?$ \b++ + >&0 clear x source text + !:strength + 13 + !:mime text/x-c +-0 regex \^#[[:space:]]*pragma C source text ++0 regex/4096 \^#[[:space:]]*pragma C source text + !:mime text/x-c +-0 regex \^#[[:space:]]*(if\|ifn)def +->&0 regex \^#[[:space:]]*endif$ C source text ++0 regex/4096 \^#[[:space:]]*(if\|ifn)def ++>&0 regex/4096 \^#[[:space:]]*endif$ C source text + !:mime text/x-c +-0 regex \^#[[:space:]]*(if\|ifn)def +->&0 regex \^#[[:space:]]*define C source text ++0 regex/4096 \^#[[:space:]]*(if\|ifn)def ++>&0 regex/4096 \^#[[:space:]]*define C source text + !:mime text/x-c +-0 regex \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text ++0 regex/4096 \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text + !:mime text/x-c +-0 regex \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text ++0 regex/4096 \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text + !:mime text/x-c +-0 regex \^[[:space:]]*extern[[:space:]]+ C source text ++0 regex/4096 \^[[:space:]]*extern[[:space:]]+ C source text + !:mime text/x-c +-0 regex \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text ++0 regex/4096 \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text + !:mime text/x-c +-0 regex \^struct[[:space:]]+ C source text ++0 regex/4096 \^struct[[:space:]]+ C source text + !:mime text/x-c +-0 regex \^union[[:space:]]+ C source text ++0 regex/4096 \^union[[:space:]]+ C source text + !:mime text/x-c + 0 search/8192 main( +->&0 regex \\)[[:space:]]*\\{ C source text ++>&0 regex/4096 \\)[[:space:]]*\\{ C source text + !:mime text/x-c - #delta RPM Daniel Novotny (dnovotny@redhat.com) - 0 string drpm Delta RPM -diff --git a/magic/Magdir/securitycerts b/magic/Magdir/securitycerts -index 8785dd8..1c340be 100644 ---- a/magic/Magdir/securitycerts -+++ b/magic/Magdir/securitycerts -@@ -4,3 +4,5 @@ - 0 search/1 -----BEGIN\ CERTIFICATE------ RFC1421 Security Certificate text - 0 search/1 -----BEGIN\ NEW\ CERTIFICATE RFC1421 Security Certificate Signing Request text - 0 belong 0xedfeedfe Sun 'jks' Java Keystore File data -+ -+0 string \0volume_key volume_key escrow packet -From fb1604080767501fde17eb601382e84f1c1ddca3 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas <christos@zoulas.com> -Date: Mon, 16 Jul 2018 12:30:41 +0000 -Subject: [PATCH] remember to put a space between the version and the number, - plus more version parsing (Kamil Dudka) - -Upstream-commit: 1a7f58c9f253e3b902bfb7a77afd8375b0b428b7 -Signed-off-by: Kamil Dudka <kdudka@redhat.com> ---- - magic/Magdir/fsav | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/magic/Magdir/fsav b/magic/Magdir/fsav -index 5714798..5d72ab9 100644 ---- a/magic/Magdir/fsav -+++ b/magic/Magdir/fsav + # C++ + # The strength of these rules is increased so they beat the C rules above +-0 regex \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text ++0 regex/4096 \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text + !:strength + 30 + !:mime text/x-c++ + # using namespace [namespace] or using std::[lib] +-0 regex \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text ++0 regex/4096 \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text + !:strength + 30 + !:mime text/x-c++ +-0 regex \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text ++0 regex/4096 \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text + !:strength + 30 + !:mime text/x-c++ +-0 regex \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text ++0 regex/4096 \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text + !:strength + 30 + !:mime text/x-c++ + # But class alone is reduced to avoid beating php (Jens Schleusener) +-0 regex \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text ++0 regex/4096 \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text + !:strength + 13 + !:mime text/x-c++ +-0 regex \^[[:space:]]*public: C++ source text ++0 regex/4096 \^[[:space:]]*public: C++ source text + !:strength + 30 + !:mime text/x-c++ +-0 regex \^[[:space:]]*private: C++ source text ++0 regex/4096 \^[[:space:]]*private: C++ source text + !:strength + 30 + !:mime text/x-c++ +-0 regex \^[[:space:]]*protected: C++ source text ++0 regex/4096 \^[[:space:]]*protected: C++ source text + !:strength + 30 + !:mime text/x-c++ + +diff -u a/magic/Magdir/elf b/magic/Magdir/elf +--- a/magic/Magdir/elf 2018-03-11 01:46:42.000000000 +0100 ++++ b/magic/Magdir/elf 2018-11-10 12:27:29.858619326 +0100 +@@ -48,9 +48,8 @@ + !:mime application/x-object + >16 leshort 2 executable, + !:mime application/x-executable +->16 leshort 3 ${x?pie executable:shared object} +- +-!:mime application/x-${x?pie-executable:sharedlib} ++>16 leshort 3 shared object, ++!:mime application/x-sharedlib + >16 leshort 4 core file + !:mime application/x-coredump + # Core file detection is not reliable. +diff -u a/magic/Magdir/fsav b/magic/Magdir/fsav +--- a/magic/Magdir/fsav 2017-03-17 22:35:28.000000000 +0100 ++++ b/magic/Magdir/fsav 2018-11-10 12:27:29.858619326 +0100 @@ -48,13 +48,15 @@ >11 string >\0 Clam AntiVirus database %-.23s >>34 string : @@ -54,27 +120,10 @@ index 5714798..5d72ab9 100644 >512 string \037\213 \b, gzipped >769 string ustar\0 \b, tarred --- -2.14.4 - -From f0e846528e1c839ab44895a1f13d167a4ad8def3 Mon Sep 17 00:00:00 2001 -From: Marek Cermak <macermak@redhat.com> -Date: Wed, 20 Dec 2017 16:18:46 +0100 -Subject: [PATCH] Resolves: #1515180 - image/gif classifed as - application/octet-stream - -https://bugzilla.redhat.com/show_bug.cgi?id=1515180 - -Signed-off-by: Marek Cermak <macermak@redhat.com> ---- - magic/Magdir/images | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/magic/Magdir/images b/magic/Magdir/images -index 69e8e90f..76f7e7da 100644 ---- a/magic/Magdir/images -+++ b/magic/Magdir/images -@@ -468,7 +468,9 @@ +diff -u a/magic/Magdir/images b/magic/Magdir/images +--- a/magic/Magdir/images 2018-03-11 01:46:42.000000000 +0100 ++++ b/magic/Magdir/images 2018-11-10 12:27:29.858619326 +0100 +@@ -464,7 +464,9 @@ !:mime image/x-unknown # GIF @@ -84,58 +133,10 @@ index 69e8e90f..76f7e7da 100644 !:mime image/gif !:apple 8BIMGIFf >4 string 7a \b, version 8%s, --- -2.13.6 - -From 719116b196fd873f5a463dfdb0fd6258cee51591 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Tue, 22 May 2018 18:18:06 +0200 -Subject: [PATCH] Revert "add a conditional in description" - -Upstream-commit: 6876ebadcdf27224b3ffa9dfa4343127aa97c9b2 - -... and partially revert upstream commit -7dbecfe406a6bb2de1fe7ec2fe413dcd8871ac74 - -Signed-off-by: Kamil Dudka <kdudka@redhat.com> ---- - magic/Magdir/elf | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/magic/Magdir/elf b/magic/Magdir/elf -index 7fd5de1..dba5a73 100644 ---- a/magic/Magdir/elf -+++ b/magic/Magdir/elf -@@ -48,9 +48,8 @@ - !:mime application/x-object - >16 leshort 2 executable, - !:mime application/x-executable -->16 leshort 3 ${x?pie executable:shared object} -- --!:mime application/x-${x?pie-executable:sharedlib} -+>16 leshort 3 shared object, -+!:mime application/x-sharedlib - >16 leshort 4 core file - !:mime application/x-coredump - # Core file detection is not reliable. --- -2.14.3 - -From ed6062995ae60d6772f2dabc39e03cbf28ee7343 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas <christos@zoulas.com> -Date: Mon, 16 Jul 2018 12:32:08 +0000 -Subject: [PATCH] more info for ppc swapspace (Kamil Dudka) - -Upstream-commit: 65f9c7053548df8945df600c07123c9151531ee6 -Signed-off-by: Kamil Dudka <kdudka@redhat.com> ---- - magic/Magdir/linux | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/magic/Magdir/linux b/magic/Magdir/linux -index 0630a8a..11e9237 100644 ---- a/magic/Magdir/linux -+++ b/magic/Magdir/linux +Only in b/magic/Magdir/: images.orig +diff -u a/magic/Magdir/linux b/magic/Magdir/linux +--- a/magic/Magdir/linux 2017-03-17 22:35:28.000000000 +0100 ++++ b/magic/Magdir/linux 2018-11-10 12:27:29.862619309 +0100 @@ -94,6 +94,16 @@ # From Daniel Novotny <dnovotny@redhat.com> # swap file for PowerPC @@ -153,6 +154,97 @@ index 0630a8a..11e9237 100644 16374 string SWAPSPACE2 Linux/ia64 swap file # # Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu> --- -2.14.4 - +diff -u a/magic/Magdir/python b/magic/Magdir/python +--- a/magic/Magdir/python 2017-08-14 09:40:38.000000000 +0200 ++++ b/magic/Magdir/python 2018-11-10 13:06:36.799268528 +0100 +@@ -63,7 +63,7 @@ + !:mime text/x-python + + # import module [as abrev] +-0 regex \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable ++0 regex/4096 \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable + !:mime text/x-python + + # comments +@@ -79,7 +79,7 @@ + # except: or finally: + # block + 0 search/4096 try: +->&0 regex \^[[:space:]]*except.*:$ Python script text executable ++>&0 regex/4096 \^[[:space:]]*except.*:$ Python script text executable + !:strength + 15 + !:mime text/x-python + >&0 search/4096 finally: Python script text executable +@@ -91,7 +91,7 @@ + !:mime text/x-python + + # def name(*args, **kwargs): +-0 regex \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} ++0 regex/4096 \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} + >&0 regex \\(([[:alpha:]*_,\ ]){0,255}\\):$ Python script text executable + !:strength + 15 + !:mime text/x-python +diff -u a/magic/Magdir/rpm b/magic/Magdir/rpm +--- a/magic/Magdir/rpm 2013-01-11 17:45:23.000000000 +0100 ++++ b/magic/Magdir/rpm 2018-11-10 12:27:29.858619326 +0100 +@@ -29,6 +29,7 @@ + >>8 beshort 17 SuperH + >>8 beshort 18 Xtensa + >>8 beshort 255 noarch ++>>10 string x %s + + #delta RPM Daniel Novotny (dnovotny@redhat.com) + 0 string drpm Delta RPM +diff -u a/magic/Magdir/ruby b/magic/Magdir/ruby +--- a/magic/Magdir/ruby 2017-08-14 15:39:18.000000000 +0200 ++++ b/magic/Magdir/ruby 2018-11-10 13:06:28.703557761 +0100 +@@ -22,30 +22,30 @@ + # What looks like ruby, but does not have a shebang + # (modules and such) + # From: Lubomir Rintel <lkundrak@v3.sk> +-0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' ++0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' + >0 regex def\ [a-z]|\ do$ +->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text ++>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text + !:strength + 30 + !:mime text/x-ruby +-0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] ++0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] + >0 regex (modul|includ)e\ [A-Z]|def\ [a-z] +->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text ++>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text + !:strength + 30 + !:mime text/x-ruby + # Classes with no modules or defs, beats simple ASCII +-0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] +->&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text ++0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] ++>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text + !:strength + 10 + !:mime text/x-ruby + # Looks for function definition to balance python magic + # def name (args) + # end +-0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] +->&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text ++0 regex/4096 \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] ++>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text + !:strength + 10 + !:mime text/x-ruby + +-0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text ++0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text + !:mime text/x-ruby +-0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text ++0 regex/4096 \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text + !:mime text/x-ruby +diff -u a/magic/Magdir/securitycerts b/magic/Magdir/securitycerts +--- a/magic/Magdir/securitycerts 2009-09-19 18:28:12.000000000 +0200 ++++ b/magic/Magdir/securitycerts 2018-11-10 12:27:29.858619326 +0100 +@@ -4,3 +4,5 @@ + 0 search/1 -----BEGIN\ CERTIFICATE------ RFC1421 Security Certificate text + 0 search/1 -----BEGIN\ NEW\ CERTIFICATE RFC1421 Security Certificate Signing Request text + 0 belong 0xedfeedfe Sun 'jks' Java Keystore File data ++ ++0 string \0volume_key volume_key escrow packet diff --git a/ext/fileinfo/tests/magic b/ext/fileinfo/tests/magic index c66cc84c87..e2e92726a4 100644 --- a/ext/fileinfo/tests/magic +++ b/ext/fileinfo/tests/magic @@ -5368,61 +5368,61 @@ # C # Check for class if include is found, otherwise class is beaten by include becouse of lowered strength 0 regex \^#include C ->0 regex \^class[[:space:]]+ +>0 regex/4096 \^class[[:space:]]+ >>&0 regex \\{[\.\*]\\}(;)?$ \b++ >&0 clear x source text !:strength + 13 !:mime text/x-c -0 regex \^#[[:space:]]*pragma C source text +0 regex/4096 \^#[[:space:]]*pragma C source text !:mime text/x-c -0 regex \^#[[:space:]]*(if\|ifn)def ->&0 regex \^#[[:space:]]*endif$ C source text +0 regex/4096 \^#[[:space:]]*(if\|ifn)def +>&0 regex/4096 \^#[[:space:]]*endif$ C source text !:mime text/x-c -0 regex \^#[[:space:]]*(if\|ifn)def ->&0 regex \^#[[:space:]]*define C source text +0 regex/4096 \^#[[:space:]]*(if\|ifn)def +>&0 regex/4096 \^#[[:space:]]*define C source text !:mime text/x-c -0 regex \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^[[:space:]]*extern[[:space:]]+ C source text +0 regex/4096 \^[[:space:]]*extern[[:space:]]+ C source text !:mime text/x-c -0 regex \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^struct[[:space:]]+ C source text +0 regex/4096 \^struct[[:space:]]+ C source text !:mime text/x-c -0 regex \^union[[:space:]]+ C source text +0 regex/4096 \^union[[:space:]]+ C source text !:mime text/x-c 0 search/8192 main( ->&0 regex \\)[[:space:]]*\\{ C source text +>&0 regex/4096 \\)[[:space:]]*\\{ C source text !:mime text/x-c # C++ # The strength of these rules is increased so they beat the C rules above -0 regex \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text +0 regex/4096 \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text !:strength + 30 !:mime text/x-c++ # using namespace [namespace] or using std::[lib] -0 regex \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text +0 regex/4096 \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text +0 regex/4096 \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text +0 regex/4096 \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text !:strength + 30 !:mime text/x-c++ # But class alone is reduced to avoid beating php (Jens Schleusener) -0 regex \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text +0 regex/4096 \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text !:strength + 13 !:mime text/x-c++ -0 regex \^[[:space:]]*public: C++ source text +0 regex/4096 \^[[:space:]]*public: C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*private: C++ source text +0 regex/4096 \^[[:space:]]*private: C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*protected: C++ source text +0 regex/4096 \^[[:space:]]*protected: C++ source text !:strength + 30 !:mime text/x-c++ @@ -15541,1519 +15541,6 @@ >24 lelong x \b%d #------------------------------------------------------------------------------ -# $File: images,v 1.131 2018/02/16 15:44:28 christos Exp $ -# images: file(1) magic for image formats (see also "iff", and "c-lang" for -# XPM bitmaps) -# -# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), -# additions by janl@ifi.uio.no as well as others. Jan also suggested -# merging several one- and two-line files into here. -# -# little magic: PCX (first byte is 0x0a) - -# Targa - matches `povray', `ppmtotga' and `xv' outputs -# by Philippe De Muyter <phdm@macqel.be> -# URL: http://justsolve.archiveteam.org/wiki/TGA -# Reference: http://www.dca.fee.unicamp.br/~martino/disciplinas/ea978/tgaffs.pdf -# Update: Joerg Jenderek -# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 -# ,32 or 33 (both not observed) -# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise -# or theoretically 2-128 reserved for use by Truevision or 128-255 may be used for developer applications -# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs -# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) -# `tgatoppm' recognizes a superset (Index may be anything) -# -# test of Color Map Type 0~no 1~color map -# and Image Type 1 2 3 9 10 11 32 33 -# and Color Map Entry Size 0 15 16 24 32 -0 ubequad&0x00FeC400000000C0 0 -# skip more garbage like *.iso by looking for positive image type ->2 ubyte >0 -# skip some compiled terminfo like xterm+tmux by looking for image type less equal 33 ->>2 ubyte <34 -# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel depth 1 8 15 16 24 32 ->>>16 ubyte 1 ->>>>0 use tga-image ->>>16 ubyte 8 ->>>>0 use tga-image ->>>16 ubyte 15 ->>>>0 use tga-image ->>>16 ubyte 16 ->>>>0 use tga-image ->>>16 ubyte 24 ->>>>0 use tga-image ->>>16 ubyte 32 ->>>>0 use tga-image -# display tga bitmap image information -0 name tga-image ->2 ubyte <34 Targa image data -!:mime image/x-tga -!:apple ????TPIC -# normal extension .tga but some Truevision products used others: -# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that) -!:ext tga/tpic/icb/vda/vst -# image type 1 2 3 9 10 11 32 33 ->2 ubyte&0xF7 1 - Map ->2 ubyte&0xF7 2 - RGB -# alpha channel ->>17 ubyte&0x0F >0 \bA ->2 ubyte&0xF7 3 - Mono -# type not found, but by http://www.fileformat.info/format/tga/corion.htm -# Compressed color-mapped data, using Huffman, Delta, and runlength encoding ->2 ubyte 32 - Color -# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process ->2 ubyte 33 - Color -# Color Map Type 0~no 1~color map ->1 ubyte 1 ( -# first color map entry, 0 normal ->>3 uleshort >0 \b%d- -# color map length 0 2 1dh 3bh d9h 100h ->>5 uleshort x \b%d) -# 8~run length encoding bit ->2 ubyte&0x08 8 - RLE -# gimp can create big pictures! ->12 uleshort >0 %d x ->12 uleshort =0 65536 x -# image height. 0 interpreted as 65536 ->14 uleshort >0 %d ->14 uleshort =0 65536 -# Image Pixel depth 1 8 15 16 24 32 ->16 ubyte x x %d -# X origin of image. 0 normal ->8 uleshort >0 +%d -# Y origin of image. 0 normal; positive for top ->10 uleshort >0 +%d -# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction ->17 ubyte&0x0F >0 - %d-bit alpha -# bits 5-4 give direction. normal bottom left ->17 ubyte &0x20 - top -#>17 ubyte ^0x20 - bottom ->17 ubyte &0x10 - right -#>17 ubyte ^0x10 - left -# some info say other bits 6-7 should be zero -# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm -# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved -#>17 ubyte&0xC0 0x00 - no interleave ->17 ubyte&0xC0 0x40 - interleave ->17 ubyte&0xC0 0x80 - four way interleave ->17 ubyte&0xC0 0xC0 - reserved -# positive length implies identification field ->0 ubyte >0 ->>18 string x "%s" -# last 18 bytes of newer tga file footer signature ->18 search/4261301/s TRUEVISION-XFILE.\0 -# extension area offset if not 0 ->>&-8 ulelong >0 -# length of the extension area. normal 495 for version 2.0 ->>>(&-4.l) uleshort 0x01EF -# AuthorName[41] ->>>>&0 string >\0 - author "%-.40s" -# Comment[324]=4 * 80 null terminated ->>>>&41 string >\0 - comment "%-.80s" -# date ->>>>&365 ubequad&0xffffFFFFffff0000 !0 -# Day ->>>>>&-6 uleshort x %d -# Month ->>>>>&-8 uleshort x \b-%d -# Year ->>>>>&-4 uleshort x \b-%d -# time ->>>>&371 ubequad&0xffffFFFFffff0000 !0 -# hour ->>>>>&-8 uleshort x %d -# minutes ->>>>>&-6 uleshort x \b:%.2d -# second ->>>>>&-4 uleshort x \b:%.2d -# JobName[41] ->>>>&377 string >\0 - job "%-.40s" -# JobHour Jobminute Jobsecond ->>>>&418 ubequad&0xffffFFFFffff0000 !0 ->>>>>&-8 uleshort x %d ->>>>>&-6 uleshort x \b:%.2d ->>>>>&-4 uleshort x \b:%.2d -# SoftwareId[41] ->>>>&424 string >\0 - %-.40s -# SoftwareVersionNumber ->>>>&424 ubyte >0 ->>>>>&40 uleshort/100 x %d ->>>>>&40 uleshort%100 x \b.%d -# VersionLetter ->>>>>&42 ubyte >0x20 \b%c -# KeyColor ->>>>&468 ulelong >0 - keycolor 0x%8.8x -# Denominator of Pixel ratio. 0~no pixel aspect ->>>>&474 uleshort >0 -# Numerator ->>>>>&-4 uleshort >0 - aspect %d ->>>>>&-2 uleshort x \b/%d -# Denominator of Gamma ratio. 0~no Gamma value ->>>>&478 uleshort >0 -# Numerator ->>>>>&-4 uleshort >0 - gamma %d ->>>>>&-2 uleshort x \b/%d -# ColorOffset -#>>>>&480 ulelong x - col offset 0x%8.8x -# StampOffset -#>>>>&484 ulelong x - stamp offset 0x%8.8x -# ScanOffset -#>>>>&488 ulelong x - scan offset 0x%8.8x -# AttributesType -#>>>>&492 ubyte x - Attributes 0x%x -## EndOfTGA - -# PBMPLUS images -# The next byte following the magic is always whitespace. -# strength is changed to try these patterns before "x86 boot sector" -0 name netpbm ->3 regex/s =[0-9]{1,50}\ [0-9]{1,50} Netpbm image data ->>&0 regex =[0-9]{1,50} \b, size = %s x ->>>&0 regex =[0-9]{1,50} \b %s - -0 search/1 P1 ->0 regex/4 P1[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, bitmap -!:strength + 45 -!:mime image/x-portable-bitmap - -0 search/1 P2 ->0 regex/4 P2[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, greymap -!:strength + 45 -!:mime image/x-portable-greymap - -0 search/1 P3 ->0 regex/4 P3[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, pixmap -!:strength + 45 -!:mime image/x-portable-pixmap - -0 string P4 ->0 regex/4 P4[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, bitmap -!:strength + 45 -!:mime image/x-portable-bitmap - -0 string P5 ->0 regex/4 P5[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, greymap -!:strength + 45 -!:mime image/x-portable-greymap - -0 string P6 ->0 regex/4 P6[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, pixmap -!:strength + 45 -!:mime image/x-portable-pixmap - -0 string P7 Netpbm PAM image file -!:mime image/x-portable-pixmap - -# From: bryanh@giraffe-data.com (Bryan Henderson) -0 string \117\072 Solitaire Image Recorder format ->4 string \013 MGI Type 11 ->4 string \021 MGI Type 17 -0 string .MDA MicroDesign data ->21 byte 48 version 2 ->21 byte 51 version 3 -0 string .MDP MicroDesign page data ->21 byte 48 version 2 ->21 byte 51 version 3 - -# NIFF (Navy Interchange File Format, a modification of TIFF) images -# [GRR: this *must* go before TIFF] -0 string IIN1 NIFF image data -!:mime image/x-niff - -# Canon RAW version 1 (CRW) files are a type of Canon Image File Format -# (CIFF) file. These are apparently all little-endian. -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html -0 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data -!:mime image/x-canon-crw ->16 leshort x \b, version %d. ->14 leshort x \b%d - -# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic -# number. Put this above the TIFF test to make sure we detect them. -# These are apparently all little-endian. -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 -0 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data -!:mime image/x-canon-cr2 ->10 byte x \b, version %d. ->11 byte x \b%d - -# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) -# The second word of TIFF files is the TIFF version number, 42, which has -# never changed. The TIFF specification recommends testing for it. -0 string MM\x00\x2a TIFF image data, big-endian -!:mime image/tiff ->(4.L) use \^tiff_ifd -0 string II\x2a\x00 TIFF image data, little-endian -!:mime image/tiff ->(4.l) use tiff_ifd - -0 name tiff_ifd ->0 leshort x \b, direntries=%d ->2 use tiff_entry - -0 name tiff_entry -# NewSubFileType ->0 leshort 0xfe ->>12 use tiff_entry ->0 leshort 0x100 ->>4 lelong 1 ->>>12 use tiff_entry ->>>8 leshort x \b, width=%d ->0 leshort 0x101 ->>4 lelong 1 ->>>8 leshort x \b, height=%d ->>>12 use tiff_entry ->0 leshort 0x102 ->>8 leshort x \b, bps=%d ->>12 use tiff_entry ->0 leshort 0x103 ->>4 lelong 1 \b, compression= ->>>8 leshort 1 \bnone ->>>8 leshort 2 \bhuffman ->>>8 leshort 3 \bbi-level group 3 ->>>8 leshort 4 \bbi-level group 4 ->>>8 leshort 5 \bLZW ->>>8 leshort 6 \bJPEG (old) ->>>8 leshort 7 \bJPEG ->>>8 leshort 8 \bdeflate ->>>8 leshort 9 \bJBIG, ITU-T T.85 ->>>8 leshort 0xa \bJBIG, ITU-T T.43 ->>>8 leshort 0x7ffe \bNeXT RLE 2-bit ->>>8 leshort 0x8005 \bPackBits (Macintosh RLE) ->>>8 leshort 0x8029 \bThunderscan RLE ->>>8 leshort 0x807f \bRasterPadding (CT or MP) ->>>8 leshort 0x8080 \bRLE (Line Work) ->>>8 leshort 0x8081 \bRLE (High-Res Cont-Tone) ->>>8 leshort 0x8082 \bRLE (Binary Line Work) ->>>8 leshort 0x80b2 \bDeflate (PKZIP) ->>>8 leshort 0x80b3 \bKodak DCS ->>>8 leshort 0x8765 \bJBIG ->>>8 leshort 0x8798 \bJPEG2000 ->>>8 leshort 0x8799 \bNikon NEF Compressed ->>>8 default x ->>>>8 leshort x \b(unknown 0x%x) ->>>12 use tiff_entry ->0 leshort 0x106 \b, PhotometricIntepretation= ->>8 clear x ->>8 leshort 0 \bWhiteIsZero ->>8 leshort 1 \bBlackIsZero ->>8 leshort 2 \bRGB ->>8 leshort 3 \bRGB Palette ->>8 leshort 4 \bTransparency Mask ->>8 leshort 5 \bCMYK ->>8 leshort 6 \bYCbCr ->>8 leshort 8 \bCIELab ->>8 default x ->>>8 leshort x \b(unknown=0x%x) ->>12 use tiff_entry -# FillOrder ->0 leshort 0x10a ->>4 lelong 1 ->>>12 use tiff_entry -# DocumentName ->0 leshort 0x10d ->>(8.l) string x \b, name=%s ->>>12 use tiff_entry -# ImageDescription ->0 leshort 0x10e ->>(8.l) string x \b, description=%s ->>>12 use tiff_entry -# Make ->0 leshort 0x10f ->>(8.l) string x \b, manufacturer=%s ->>>12 use tiff_entry -# Model ->0 leshort 0x110 ->>(8.l) string x \b, model=%s ->>>12 use tiff_entry -# StripOffsets ->0 leshort 0x111 ->>12 use tiff_entry -# Orientation ->0 leshort 0x112 \b, orientation= ->>8 leshort 1 \bupper-left ->>8 leshort 3 \blower-right ->>8 leshort 6 \bupper-right ->>8 leshort 8 \blower-left ->>8 leshort 9 \bundefined ->>8 default x ->>>8 leshort x \b[*%d*] ->>12 use tiff_entry -# XResolution ->0 leshort 0x11a ->>8 lelong x \b, xresolution=%d ->>12 use tiff_entry -# YResolution ->0 leshort 0x11b ->>8 lelong x \b, yresolution=%d ->>12 use tiff_entry -# ResolutionUnit ->0 leshort 0x128 ->>8 leshort x \b, resolutionunit=%d ->>12 use tiff_entry -# Software ->0 leshort 0x131 ->>(8.l) string x \b, software=%s ->>12 use tiff_entry -# Datetime ->0 leshort 0x132 ->>(8.l) string x \b, datetime=%s ->>12 use tiff_entry -# HostComputer ->0 leshort 0x13c ->>(8.l) string x \b, hostcomputer=%s ->>12 use tiff_entry -# WhitePoint ->0 leshort 0x13e ->>12 use tiff_entry -# PrimaryChromaticities ->0 leshort 0x13f ->>12 use tiff_entry -# YCbCrCoefficients ->0 leshort 0x211 ->>12 use tiff_entry -# YCbCrPositioning ->0 leshort 0x213 ->>12 use tiff_entry -# ReferenceBlackWhite ->0 leshort 0x214 ->>12 use tiff_entry -# Copyright ->0 leshort 0x8298 ->>(8.l) string x \b, copyright=%s ->>12 use tiff_entry -# ExifOffset ->0 leshort 0x8769 ->>12 use tiff_entry -# GPS IFD ->0 leshort 0x8825 \b, GPS-Data ->>12 use tiff_entry - -#>0 leshort x \b, unknown=0x%x -#>>12 use tiff_entry - -0 string MM\x00\x2b Big TIFF image data, big-endian -!:mime image/tiff -0 string II\x2b\x00 Big TIFF image data, little-endian -!:mime image/tiff - -# PNG [Portable Network Graphics, or "PNG's Not GIF"] images -# (Greg Roelofs, newt@uchicago.edu) -# (Albert Cahalan, acahalan@cs.uml.edu) -# -# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ... -# - -# IHDR parser -0 name png-ihdr ->0 belong x \b, %d x ->4 belong x %d, ->8 byte x %d-bit ->9 byte 0 grayscale, ->9 byte 2 \b/color RGB, ->9 byte 3 colormap, ->9 byte 4 gray+alpha, ->9 byte 6 \b/color RGBA, -#>10 byte 0 deflate/32K, ->12 byte 0 non-interlaced ->12 byte 1 interlaced - -# Standard PNG image. -0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR PNG image data -!:mime image/png -!:strength +10 ->16 use png-ihdr - -# Apple CgBI PNG image. -0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI ->24 string \x00\x00\x00\x0DIHDR PNG image data (CgBI) -!:mime image/png -!:strength +10 ->>32 use png-ihdr - -# possible GIF replacements; none yet released! -# (Greg Roelofs, newt@uchicago.edu) -# -# GRR 950115: this was mine ("Zip GIF"): -0 string GIF94z ZIF image (GIF+deflate alpha) -!:mime image/x-unknown -# -# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): -# -0 string FGF95a FGF image (GIF+deflate beta) -!:mime image/x-unknown -# -# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal -# (best; not yet implemented): -# -0 string PBF PBF image (deflate compression) -!:mime image/x-unknown - -# GIF -0 string GIF8 GIF image data -!:mime image/gif -!:apple 8BIMGIFf ->4 string 7a \b, version 8%s, ->4 string 9a \b, version 8%s, ->6 leshort >0 %d x ->8 leshort >0 %d -#>10 byte &0x80 color mapped, -#>10 byte&0x07 =0x00 2 colors -#>10 byte&0x07 =0x01 4 colors -#>10 byte&0x07 =0x02 8 colors -#>10 byte&0x07 =0x03 16 colors -#>10 byte&0x07 =0x04 32 colors -#>10 byte&0x07 =0x05 64 colors -#>10 byte&0x07 =0x06 128 colors -#>10 byte&0x07 =0x07 256 colors - -# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, -# 1 plane, no encoding. -0 string \361\0\100\273 CMU window manager raster image data ->4 lelong >0 %d x ->8 lelong >0 %d, ->12 lelong >0 %d-bit - -# Magick Image File Format -0 string id=ImageMagick MIFF image data - -# Artisan -0 long 1123028772 Artisan image data ->4 long 1 \b, rectangular 24-bit ->4 long 2 \b, rectangular 8-bit with colormap ->4 long 3 \b, rectangular 32-bit (24-bit with matte) - -# FIG (Facility for Interactive Generation of figures), an object-based format -0 search/1 #FIG FIG image text ->5 string x \b, version %.3s - -# PHIGS -0 string ARF_BEGARF PHIGS clear text archive -0 string @(#)SunPHIGS SunPHIGS -# version number follows, in the form m.n ->40 string SunBin binary ->32 string archive archive - -# GKS (Graphics Kernel System) -0 string GKSM GKS Metafile ->24 string SunGKS \b, SunGKS - -# CGM image files -0 string BEGMF clear text Computer Graphics Metafile - -# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) -0 string yz MGR bitmap, modern format, 8-bit aligned -0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned -0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned -0 string yx MGR bitmap, modern format, squeezed - -# Fuzzy Bitmap (FBM) images -0 string %bitmap\0 FBM image data ->30 long 0x31 \b, mono ->30 long 0x33 \b, color - -# facsimile data -1 string PC\ Research,\ Inc group 3 fax data ->29 byte 0 \b, normal resolution (204x98 DPI) ->29 byte 1 \b, fine resolution (204x196 DPI) -# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> -0 string Sfff structured fax file - -# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> -# most files with the extension .EPA and some with .BMP -0 string \x11\x06 Award BIOS Logo, 136 x 84 -!:mime image/x-award-bioslogo -0 string \x11\x09 Award BIOS Logo, 136 x 126 -!:mime image/x-award-bioslogo -#0 string \x07\x1f BIOS Logo corrupted? -# http://www.blackfiveservices.co.uk/awbmtools.shtml -# http://biosgfx.narod.ru/v3/ -# http://biosgfx.narod.ru/abr-2/ -0 string AWBM ->4 leshort <1981 Award BIOS bitmap -!:mime image/x-award-bmp -# image width is a multiple of 4 ->>4 leshort&0x0003 0 ->>>4 leshort x \b, %d ->>>6 leshort x x %d ->>4 leshort&0x0003 >0 \b, ->>>4 leshort&0x0003 =1 ->>>>4 leshort x %d+3 ->>>4 leshort&0x0003 =2 ->>>>4 leshort x %d+2 ->>>4 leshort&0x0003 =3 ->>>>4 leshort x %d+1 ->>>6 leshort x x %d -# at offset 8 starts imagedata followed by "RGB " marker - -# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) -# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ -# 28bitmap_information_header.29 -0 string BM ->14 leshort 12 PC bitmap, OS/2 1.x format -!:mime image/x-ms-bmp ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 64 PC bitmap, OS/2 2.x format -!:mime image/x-ms-bmp ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 40 PC bitmap, Windows 3.x format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 124 PC bitmap, Windows 98/2000 and newer format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 108 PC bitmap, Windows 95/NT4 and newer format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 128 PC bitmap, Windows NT/2000 format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d -# Too simple - MPi -#0 string IC PC icon data -#0 string PI PC pointer image data -#0 string CI PC color icon data -#0 string CP PC color pointer image data -# Conflicts with other entries [BABYL] -#0 string BA PC bitmap array data - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -0 search/1 /*\ XPM\ */ X pixmap image text -!:mime image/x-xpmi - -# Utah Raster Toolkit RLE images (janl@ifi.uio.no) -0 leshort 0xcc52 RLE image data, ->6 leshort x %d x ->8 leshort x %d ->2 leshort >0 \b, lower left corner: %d ->4 leshort >0 \b, lower right corner: %d ->10 byte&0x1 =0x1 \b, clear first ->10 byte&0x2 =0x2 \b, no background ->10 byte&0x4 =0x4 \b, alpha channel ->10 byte&0x8 =0x8 \b, comment ->11 byte >0 \b, %d color channels ->12 byte >0 \b, %d bits per pixel ->13 byte >0 \b, %d color map channels - -# image file format (Robert Potter, potter@cs.rochester.edu) -0 string Imagefile\ version- iff image data -# this adds the whole header (inc. version number), informative but longish ->10 string >\0 %s - -# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) -0 belong 0x59a66a95 Sun raster image data ->4 belong >0 \b, %d x ->8 belong >0 %d, ->12 belong >0 %d-bit, -#>16 belong >0 %d bytes long, ->20 belong 0 old format, -#>20 belong 1 standard, ->20 belong 2 compressed, ->20 belong 3 RGB, ->20 belong 4 TIFF, ->20 belong 5 IFF, ->20 belong 0xffff reserved for testing, ->24 belong 0 no colormap ->24 belong 1 RGB colormap ->24 belong 2 raw colormap -#>28 belong >0 colormap is %d bytes long - -# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# See -# http://reality.sgi.com/grafica/sgiimage.html -# -0 beshort 474 SGI image data -#>2 byte 0 \b, verbatim ->2 byte 1 \b, RLE -#>3 byte 1 \b, normal precision ->3 byte 2 \b, high precision ->4 beshort x \b, %d-D ->6 beshort x \b, %d x ->8 beshort x %d ->10 beshort x \b, %d channel ->10 beshort !1 \bs ->80 string >0 \b, "%s" - -0 string IT01 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -0 string IT02 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -2048 string PCD_IPI Kodak Photo CD image pack file ->0xe02 byte&0x03 0x00 , landscape mode ->0xe02 byte&0x03 0x01 , portrait mode ->0xe02 byte&0x03 0x02 , landscape mode ->0xe02 byte&0x03 0x03 , portrait mode -0 string PCD_OPA Kodak Photo CD overview pack file - -# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> -# FITS is the Flexible Image Transport System, the de facto standard for -# data and image transfer, storage, etc., for the astronomical community. -# (FITS floating point formats are big-endian.) -0 string SIMPLE\ \ = FITS image data ->109 string 8 \b, 8-bit, character or unsigned binary integer ->108 string 16 \b, 16-bit, two's complement binary integer ->107 string \ 32 \b, 32-bit, two's complement binary integer ->107 string -32 \b, 32-bit, floating point, single precision ->107 string -64 \b, 64-bit, floating point, double precision - -# other images -0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file - -# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image -# stuff. -# -0 beshort 0x1010 PEX Binary Archive - -# DICOM medical imaging data -# URL: https://en.wikipedia.org/wiki/DICOM#Data_format -# Note: "dcm" is the official file name extension -# XnView mention also "dc3" and "acr" as file name extension -128 string DICM DICOM medical imaging data -!:mime application/dicom -!:ext dcm/dicom/dic - -# XWD - X Window Dump file. -# As described in /usr/X11R6/include/X11/XWDFile.h -# used by the xwd program. -# Bradford Castalia, idaeim, 1/01 -# updated by Adam Buchbinder, 2/09 -# The following assumes version 7 of the format; the first long is the length -# of the header, which is at least 25 4-byte longs, and the one at offset 8 -# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, -# which is a maximum of 32. -0 belong >100 ->8 belong <3 ->>12 belong <33 ->>>4 belong 7 XWD X Window Dump image data -!:mime image/x-xwindowdump ->>>>100 string >\0 \b, "%s" ->>>>16 belong x \b, %dx ->>>>20 belong x \b%dx ->>>>12 belong x \b%d - -# PDS - Planetary Data System -# These files use Parameter Value Language in the header section. -# Unfortunately, there is no certain magic, but the following -# strings have been found to be most likely. -0 string NJPL1I00 PDS (JPL) image data -2 string NJPL1I PDS (JPL) image data -0 string CCSD3ZF PDS (CCSD) image data -2 string CCSD3Z PDS (CCSD) image data -0 string PDS_ PDS image data -0 string LBLSIZE= PDS (VICAR) image data - -# pM8x: ATARI STAD compressed bitmap format -# -# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 -# p M 8 5/6 xx yy zz data... -# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. -# bytes either run horizontally (pM85) or vertically (pM86). yy is the -# most frequent byte, xx and zz are runlength escape codes, where xx is -# used for runs of yy. -# -0 string pM85 Atari ST STAD bitmap image data (hor) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) -0 string pM86 Atari ST STAD bitmap image data (vert) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) - -# From: Alex Myczko <alex@aiei.ch> -# http://www.atarimax.com/jindroush.atari.org/afmtatr.html -0 leshort 0x0296 Atari ATR image - -# XXX: -# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other -# magic. -# SGI RICE image file <mpruett@sgi.com> -#0 beshort 0x5249 RICE image -#>2 beshort x v%d -#>4 beshort x (%d x -#>6 beshort x %d) -#>8 beshort 0 8 bit -#>8 beshort 1 10 bit -#>8 beshort 2 12 bit -#>8 beshort 3 13 bit -#>10 beshort 0 4:2:2 -#>10 beshort 1 4:2:2:4 -#>10 beshort 2 4:4:4 -#>10 beshort 3 4:4:4:4 -#>12 beshort 1 RGB -#>12 beshort 2 CCIR601 -#>12 beshort 3 RP175 -#>12 beshort 4 YUV - -# PCX image files -# From: Dan Fandrich <dan@coneharvesters.com> -# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX -# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt -# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 -# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT -0 ubelong&0xffF8fe00 0x0a000000 -# for PCX bit depth > 0 ->3 ubyte >0 -# test for valid versions ->>1 ubyte <6 ->>>1 ubyte !1 PCX -!:mime image/x-pcx -#!:mime image/pcx ->>>>1 ubyte 0 ver. 2.5 image data ->>>>1 ubyte 2 ver. 2.8 image data, with palette ->>>>1 ubyte 3 ver. 2.8 image data, without palette ->>>>1 ubyte 4 for Windows image data ->>>>1 ubyte 5 ver. 3.0 image data ->>>>4 uleshort x bounding box [%d, ->>>>6 uleshort x %d] - ->>>>8 uleshort x [%d, ->>>>10 uleshort x %d], ->>>>65 ubyte >1 %d planes each of ->>>>3 ubyte x %d-bit ->>>>68 byte 1 colour, ->>>>68 byte 2 grayscale, -# this should not happen ->>>>68 default x image, ->>>>12 leshort >0 %d x ->>>>>14 uleshort x %d dpi, ->>>>2 byte 0 uncompressed ->>>>2 byte 1 RLE compressed - -# Adobe Photoshop -# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> -0 string 8BPS Adobe Photoshop Image -!:mime image/vnd.adobe.photoshop ->4 beshort 2 (PSB) ->18 belong x \b, %d x ->14 belong x %d, ->24 beshort 0 bitmap ->24 beshort 1 grayscale ->>12 beshort 2 with alpha ->24 beshort 2 indexed ->24 beshort 3 RGB ->>12 beshort 4 \bA ->24 beshort 4 CMYK ->>12 beshort 5 \bA ->24 beshort 7 multichannel ->24 beshort 8 duotone ->24 beshort 9 lab ->12 beshort > 1 ->>12 beshort x \b, %dx ->12 beshort 1 \b, ->22 beshort x %d-bit channel ->12 beshort > 1 \bs - -# XV thumbnail indicator (ThMO) -0 string P7\ 332 XV thumbnail image data - -# NITF is defined by United States MIL-STD-2500A -0 string NITF National Imagery Transmission Format ->25 string >\0 dated %.14s - -# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) -# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> -# Update: Joerg Jenderek -# See http://fileformats.archiveteam.org/wiki/GEM_Raster -# For variations, also see: -# http://www.seasip.info/Gem/ff_img.html (Ventura) -# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) -# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) -# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) -0 beshort 0x0001 -# header_size ->2 beshort 0x0008 ->>0 use gem_info ->2 beshort 0x0009 ->>0 use gem_info -# no example for NOSIG ->2 beshort 24 ->>0 use gem_info -# no example for HYPERPAINT ->2 beshort 25 ->>0 use gem_info -16 string XIMG\0 ->0 use gem_info -# no example -16 string STTT\0\x10 ->0 use gem_info -# no example or description -16 string TIMG\0 ->0 use gem_info - -0 name gem_info -# version is 2 for some XIMG and 1 for all others ->0 beshort <0x0003 GEM -# http://www.snowstone.org.uk/riscos/mimeman/mimemap.txt -!:mime image/x-gem -# header_size 24 25 27 59 779 words for colored bitmaps ->>2 beshort >9 ->>>16 string STTT\0\x10 STTT ->>>16 string TIMG\0 TIMG -# HYPERPAINT or NOSIG variant ->>>16 string \0\x80 ->>>>2 beshort =24 NOSIG ->>>>2 beshort !24 HYPERPAINT -# NOSIG or XIMG variant ->>>16 default x ->>>>16 string !XIMG\0 NOSIG ->>16 string =XIMG\0 XIMG Image data -!:ext img/ximg -# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type ->>16 string !XIMG\0 Image data -!:ext img -# header_size is 9 for Ventura files and 8 for other GEM Paint files ->>2 beshort 9 (Ventura) -#>>2 beshort 8 (Paint) ->>12 beshort x %d x ->>14 beshort x %d, -# 1 4 8 ->>4 beshort x %d planes, -# in tenths of a millimetre ->>8 beshort x %d x ->>10 beshort x %d pixelsize -# pattern_size 1-8. 2 for GEM Paint ->>6 beshort !2 \b, pattern size %d - -# GEM Metafile (Wolfram Kleff) -0 lelong 0x0018FFFF GEM Metafile data ->4 leshort x version %d - -# -# SMJPEG. A custom Motion JPEG format used by Loki Entertainment -# Software Torbjorn Andersson <d91tan@Update.UU.SE>. -# -0 string \0\nSMJPEG SMJPEG ->8 belong x %d.x data -# According to the specification you could find any number of _TXT -# headers here, but I can't think of any way of handling that. None of -# the SMJPEG files I tried it on used this feature. Even if such a -# file is encountered the output should still be reasonable. ->16 string _SND \b, ->>24 beshort >0 %d Hz ->>26 byte 8 8-bit ->>26 byte 16 16-bit ->>28 string NONE uncompressed -# >>28 string APCM ADPCM compressed ->>27 byte 1 mono ->>28 byte 2 stereo -# Help! Isn't there any way to avoid writing this part twice? ->>32 string _VID \b, -# >>>48 string JFIF JPEG ->>>40 belong >0 %d frames ->>>44 beshort >0 (%d x ->>>46 beshort >0 %d) ->16 string _VID \b, -# >>32 string JFIF JPEG ->>24 belong >0 %d frames ->>28 beshort >0 (%d x ->>30 beshort >0 %d) - -0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File - -# "thumbnail file" (icon) -# descended from "xv", but in use by other applications as well (Wolfram Kleff) -0 string P7\ 332 XV "thumbnail file" (icon) data - -# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) -0 string KiSS KISS/GS ->4 byte 16 color ->>5 byte x %d bit ->>8 leshort x %d colors ->>10 leshort x %d groups ->4 byte 32 cell ->>5 byte x %d bit ->>8 leshort x %d x ->>10 leshort x %d ->>12 leshort x +%d ->>14 leshort x +%d - -# Webshots (www.webshots.com), by John Harrison -0 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file - -# Hercules DASD image files -# From Jan Jaeger <jj@septa.nl> -0 string CKD_P370 Hercules CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_C370 Hercules compressed CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_S370 Hercules CKD DASD shadow file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -# Squeak images and programs - etoffi@softhome.net -0 string \146\031\0\0 Squeak image data -0 search/1 'From\040Squeak Squeak program text - -# partimage: file(1) magic for PartImage files (experimental, incomplete) -# Author: Hans-Joachim Baader <hjb@pro-linux.de> -0 string PaRtImAgE-VoLuMe PartImage ->0x0020 string 0.6.1 file version %s ->>0x0060 lelong >-1 volume %d -#>>0x0064 8 byte identifier -#>>0x007c reserved ->>0x0200 string >\0 type %s ->>0x1400 string >\0 device %s, ->>0x1600 string >\0 original filename %s, -# Some fields omitted ->>0x2744 lelong 0 not compressed ->>0x2744 lelong 1 gzip compressed ->>0x2744 lelong 2 bzip2 compressed ->>0x2744 lelong >2 compressed with unknown algorithm ->0x0020 string >0.6.1 file version %s ->0x0020 string <0.6.1 file version %s - -# DCX is multi-page PCX, using a simple header of up to 1024 -# offsets for the respective PCX components. -# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> -0 lelong 987654321 DCX multi-page PCX image data - -# Simon Walton <simonw@matteworld.com> -# Kodak Cineon format for scanned negatives -# http://www.kodak.com/US/en/motion/support/dlad/ -0 lelong 0xd75f2a80 Cineon image data ->200 belong >0 \b, %d x ->204 belong >0 %d - - -# Bio-Rad .PIC is an image format used by microscope control systems -# and related image processing software used by biologists. -# From: Vebjorn Ljosa <vebjorn@ljosa.com> -# BOOL values are two-byte integers; use them to rule out false positives. -# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt -# Samples: http://www.loci.wisc.edu/software/sample-data -14 leshort <2 ->62 leshort <2 ->>54 leshort 12345 Bio-Rad .PIC Image File ->>>0 leshort >0 %d x ->>>2 leshort >0 %d, ->>>4 leshort =1 1 image in file ->>>4 leshort >1 %d images in file - -# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> -# The description of *.mrw format can be found at -# http://www.dalibor.cz/minolta/raw_file_format.htm -0 string \000MRM Minolta Dimage camera raw image data - -# Summary: DjVu image / document -# Extension: .djvu -# Reference: http://djvu.org/docs/DjVu3Spec.djvu -# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> -# Modified by (1): Abel Cheung <abelcheung@gmail.com> -0 string AT&TFORM ->12 string DJVM DjVu multiple page document -!:mime image/vnd.djvu ->12 string DJVU DjVu image or single page document -!:mime image/vnd.djvu ->12 string DJVI DjVu shared document -!:mime image/vnd.djvu ->12 string THUM DjVu page thumbnails -!:mime image/vnd.djvu - -# Originally by Marc Espie -# Modified by Robert Minsk <robertminsk at yahoo.com> -# http://www.openexr.com/openexrfilelayout.pdf -0 lelong 20000630 OpenEXR image data, -!:mime image/x-exr ->4 lelong&0x000000ff x version %d, ->4 lelong ^0x00000200 storage: scanline ->4 lelong &0x00000200 storage: tiled ->8 search/0x1000 compression\0 \b, compression: ->>&16 byte 0 none ->>&16 byte 1 rle ->>&16 byte 2 zips ->>&16 byte 3 zip ->>&16 byte 4 piz ->>&16 byte 5 pxr24 ->>&16 byte 6 b44 ->>&16 byte 7 b44a ->>&16 byte 8 dwaa ->>&16 byte 9 dwab ->>&16 byte >9 unknown ->8 search/0x1000 dataWindow\0 \b, dataWindow: ->>&10 lelong x (%d ->>&14 lelong x %d)- ->>&18 lelong x \b(%d ->>&22 lelong x %d) ->8 search/0x1000 displayWindow\0 \b, displayWindow: ->>&10 lelong x (%d ->>&14 lelong x %d)- ->>&18 lelong x \b(%d ->>&22 lelong x %d) ->8 search/0x1000 lineOrder\0 \b, lineOrder: ->>&14 byte 0 increasing y ->>&14 byte 1 decreasing y ->>&14 byte 2 random y ->>&14 byte >2 unknown - -# SMPTE Digital Picture Exchange Format, SMPTE DPX -# -# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital -# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 -# Robert Minsk <robertminsk at yahoo.com> -# Modified by Harry Mallon <hjmallon at gmail.com> -0 string SDPX DPX image data, big-endian, -!:mime image/x-dpx ->0 use dpx_info -0 string XPDS DPX image data, little-endian, -!:mime image/x-dpx ->0 use \^dpx_info - -0 name dpx_info ->768 beshort <4 ->>772 belong x %dx ->>776 belong x \b%d, ->768 beshort >3 ->>776 belong x %dx ->>772 belong x \b%d, ->768 beshort 0 left to right/top to bottom ->768 beshort 1 right to left/top to bottom ->768 beshort 2 left to right/bottom to top ->768 beshort 3 right to left/bottom to top ->768 beshort 4 top to bottom/left to right ->768 beshort 5 top to bottom/right to left ->768 beshort 6 bottom to top/left to right ->768 beshort 7 bottom to top/right to left - -# From: Tom Hilinski <tom.hilinski@comcast.net> -# http://www.unidata.ucar.edu/packages/netcdf/ -0 string CDF\001 NetCDF Data Format data - -#----------------------------------------------------------------------- -# Hierarchical Data Format, used to facilitate scientific data exchange -# specifications at http://hdf.ncsa.uiuc.edu/ -0 belong 0x0e031301 Hierarchical Data Format (version 4) data -!:mime application/x-hdf -0 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data -!:mime application/x-hdf -512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block -!:mime application/x-hdf -1024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block -!:mime application/x-hdf -2048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block -!:mime application/x-hdf -4096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block -!:mime application/x-hdf - - -# From: Tobias Burnus <burnus@net-b.de> -# Xara (for a while: Corel Xara) is a graphic package, see -# http://www.xara.com/ for Windows and as GPL application for Linux -0 string XARA\243\243 Xara graphics file - -# http://www.cartesianinc.com/Tech/ -0 string CPC\262 Cartesian Perceptual Compression image -!:mime image/x-cpi - -# From Albert Cahalan <acahalan@gmail.com> -# puredigital used it for the CVS disposable camcorder -#8 lelong 4 ZBM bitmap image data -#>4 leshort x %u x -#>6 leshort x %u - -# From Albert Cahalan <acahalan@gmail.com> -# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons -0 string C565 OLPC firmware icon image data ->4 leshort x %u x ->6 leshort x %u - -# Applied Images - Image files from Cytovision -# Gustavo Junior Alves <gjalves@gjalves.com.br> -0 string \xce\xda\xde\xfa Cytovision Metaphases file -0 string \xed\xad\xef\xac Cytovision Karyotype file -0 string \x0b\x00\x03\x00 Cytovision FISH Probe file -0 string \xed\xfe\xda\xbe Cytovision FLEX file -0 string \xed\xab\xed\xfe Cytovision FLEX file -0 string \xad\xfd\xea\xad Cytovision RATS file - -# Wavelet Scalar Quantization format used in gray-scale fingerprint images -# From Tano M Fotang <mfotang@quanteq.com> -0 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data - -# Type: PCO B16 image files -# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf -# From: Florian Philipp <florian.philipp@binarywings.net> -# Extension: .b16 -# Description: Pixel image format produced by PCO Camware, typically used -# together with PCO cameras. -# Note: Different versions exist for e.g. 8 bit and 16 bit images. -# Documentation is incomplete. -0 string/b PCO- PCO B16 image data ->12 lelong x \b, %dx ->16 lelong x \b%d ->20 lelong 0 \b, short header ->20 lelong -1 \b, extended header ->>24 lelong 0 \b, grayscale ->>>36 lelong 0 linear LUT ->>>36 lelong 1 logarithmic LUT ->>>28 lelong x [%d ->>>32 lelong x \b,%d] ->>24 lelong 1 \b, color ->>>64 lelong 0 linear LUT ->>>64 lelong 1 logarithmic LUT ->>>40 lelong x r[%d ->>>44 lelong x \b,%d] ->>>48 lelong x g[%d ->>>52 lelong x \b,%d] ->>>56 lelong x b[%d ->>>60 lelong x \b,%d] - -# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches -# From: Markus Heidelberg <markus.heidelberg at web.de> -0 string/t [BitmapInfo2] Polar Monitor Bitmap text -!:mime image/x-polar-monitor-bitmap - -# From: Rick Richardson <rickrich@gmail.com> -# updated by: Joerg Jenderek -# URL: http://techmods.net/nuvi/ -0 string GARMIN\ BITMAP\ 01 Garmin Bitmap file -# extension is also used for -# Sony SRF raw image (image/x-sony-srf) -# SRF map -# Terragen Surface Map (http://www.planetside.co.uk/terragen) -# FileLocator Pro search criteria file (http://www.mythicsoft.com/filelocatorpro) -!:ext srf -#!:mime image/x-garmin-srf -# version 1.00,2.00,2.10,2.40,2.50 ->0x2f string >0 \b, version %4.4s -# width (2880,2881,3240) ->0x55 uleshort >0 \b, %dx -# height (80,90) ->>0x53 uleshort x \b%d - -# Type: Ulead Photo Explorer5 (.pe5) -# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) -# From: Simon Horman <horms@debian.org> -0 string IIO2H Ulead Photo Explorer5 - -# Type: X11 cursor -# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup -# From: Mathias Brodala <info@noctus.net> -0 string Xcur X11 cursor - -# Type: Olympus ORF raw images. -# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -0 string MMOR Olympus ORF raw image data, big-endian -!:mime image/x-olympus-orf -0 string IIRO Olympus ORF raw image data, little-endian -!:mime image/x-olympus-orf -0 string IIRS Olympus ORF raw image data, little-endian -!:mime image/x-olympus-orf - -# Type: files used in modern AVCHD camcoders to store clip information -# Extension: .cpi -# From: Alexander Danilov <alexander.a.danilov@gmail.com> -0 string HDMV0100 AVCHD Clip Information - -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ -# Radiance HDR; usually has .pic or .hdr extension. -0 string #?RADIANCE\n Radiance HDR image data -#!mime image/vnd.radiance - -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf -# Used by the pfstools packages. The regex matches for the image size could -# probably use some work. The MIME type is made up; if there's one in -# actual common use, it should replace the one below. -0 string PFS1\x0a PFS HDR image data -#!mime image/x-pfs ->1 regex [0-9]*\ \b, %s ->>1 regex \ [0-9]{4} \bx%s - -# Type: Foveon X3F -# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# Note that the MIME type isn't defined anywhere that I can find; if -# there's a canonical type for this format, it should replace this one. -0 string FOVb Foveon X3F raw image data -!:mime image/x-x3f ->6 leshort x \b, version %d. ->4 leshort x \b%d ->28 lelong x \b, %dx ->32 lelong x \b%d - -# Paint.NET file -# From Adam Buchbinder <adam.buchbinder@gmail.com> -0 string PDN3 Paint.NET image data -!:mime image/x-paintnet - -# Not really an image. -# From: "Tano M. Fotang" <mfotang@quanteq.com> -0 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) - -# doc: http://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip -# example: http://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip -90 bequad 0x574D50484F544F00 JPEG-XR Image ->98 byte&0x08 =0x08 \b, hard tiling ->99 byte&0x80 =0x80 \b, tiling present ->99 byte&0x40 =0x40 \b, codestream present ->99 byte&0x38 x \b, spatial xform= ->99 byte&0x38 0x00 \bTL ->99 byte&0x38 0x08 \bBL ->99 byte&0x38 0x10 \bTR ->99 byte&0x38 0x18 \bBR ->99 byte&0x38 0x20 \bBT ->99 byte&0x38 0x28 \bRB ->99 byte&0x38 0x30 \bLT ->99 byte&0x38 0x38 \bLB ->100 byte&0x80 =0x80 \b, short header ->>102 beshort+1 x \b, %d ->>104 beshort+1 x \bx%d ->100 byte&0x80 =0x00 \b, long header ->>102 belong+1 x \b, %x ->>106 belong+1 x \bx%x ->101 beshort&0xf x \b, bitdepth= ->>101 beshort&0xf 0x0 \b1-WHITE=1 ->>101 beshort&0xf 0x1 \b8 ->>101 beshort&0xf 0x2 \b16 ->>101 beshort&0xf 0x3 \b16-SIGNED ->>101 beshort&0xf 0x4 \b16-FLOAT ->>101 beshort&0xf 0x5 \b(reserved 5) ->>101 beshort&0xf 0x6 \b32-SIGNED ->>101 beshort&0xf 0x7 \b32-FLOAT ->>101 beshort&0xf 0x8 \b5 ->>101 beshort&0xf 0x9 \b10 ->>101 beshort&0xf 0xa \b5-6-5 ->>101 beshort&0xf 0xb \b(reserved %d) ->>101 beshort&0xf 0xc \b(reserved %d) ->>101 beshort&0xf 0xd \b(reserved %d) ->>101 beshort&0xf 0xe \b(reserved %d) ->>101 beshort&0xf 0xf \b1-BLACK=1 ->101 beshort&0xf0 x \b, colorfmt= ->>101 beshort&0xf0 0x00 \bYONLY ->>101 beshort&0xf0 0x10 \bYUV240 ->>101 beshort&0xf0 0x20 \bYWV422 ->>101 beshort&0xf0 0x30 \bYWV444 ->>101 beshort&0xf0 0x40 \bCMYK ->>101 beshort&0xf0 0x50 \bCMYKDIRECT ->>101 beshort&0xf0 0x60 \bNCOMPONENT ->>101 beshort&0xf0 0x70 \bRGB ->>101 beshort&0xf0 0x80 \bRGBE ->>101 beshort&0xf0 >0x80 \b(reserved 0x%x) - -# From: Johan van der Knijff <johan.vanderknijff@kb.nl> -# -# BPG (Better Portable Graphics) format -# http://bellard.org/bpg/ -# http://fileformats.archiveteam.org/wiki/BPG -# -0 string \x42\x50\x47\xFB BPG (Better Portable Graphics) -!:mime image/bpg - -# From: Joerg Jenderek -# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format -0 string icns Mac OS X icon -!:mime image/x-icns -!:apple ????icns -!:ext icns ->4 ubelong >0 -# file size ->>4 ubelong x \b, %d bytes -# icon type ->>8 string x \b, "%4.4s" type - -# TIM images -0 lelong 0x00000010 TIM image, ->4 lelong 0x8 4-Bit, ->4 lelong 0x9 8-Bit, ->4 lelong 0x2 15-Bit, ->4 lelong 0x3 24-Bit, ->4 lelong &8 ->>(8.l+12) leshort x Pixel at (%d, ->>(8.l+14) leshort x \b%d) ->>(8.l+16) leshort x Size=%dx ->>(8.l+18) leshort x \b%d, ->>4 lelong 0x8 16 CLUT Entries at ->>4 lelong 0x9 256 CLUT Entries at ->>12 leshort x (%d, ->>14 leshort x \b%d) ->4 lelong ^8 ->>12 leshort x Pixel at (%d, ->>14 leshort x \b%d) ->>16 leshort x Size=%dx ->>18 leshort x \b%d - -# MDEC streams -0 lelong 0x80010160 MDEC video stream, ->16 leshort x %dx ->18 leshort x \b%d -#>8 lelong x %d frames -#>4 leshort x secCount=%d; -#>6 leshort x nSectors=%d; -#>12 lelong x frameSize=%d; - -# BS encoded bitstreams -2 leshort 0x3800 BS image, ->6 leshort x Version %d, ->4 leshort x Quantization %d, ->0 leshort x (Decompresses to %d words) - -# Type: farbfeld image. -# Url: http://tools.suckless.org/farbfeld/ -# From: Ian D. Scott <ian@iandouglasscott.com> -# -0 string farbfeld farbfeld image data, ->8 ubelong x %dx ->12 ubelong x \b%d - -# Type: Sega PVR image. -# From: David Korth <gerbilsoft@gerbilsoft.com> -# References: -# - http://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt -# - https://github.com/yazgoo/pvrx2png -# - https://github.com/nickworonekin/puyotools - -# Sega PVR header. -0 name sega-pvr-image-header ->0x0C leshort x %d x ->0x0E leshort x %d -# Image format. ->0x08 byte 0 \b, ARGB1555 ->0x08 byte 1 \b, RGB565 ->0x08 byte 2 \b, ARGB4444 ->0x08 byte 3 \b, YUV442 ->0x08 byte 4 \b, Bump ->0x08 byte 5 \b, 4bpp ->0x08 byte 6 \b, 8bpp -# Image data type. ->0x09 byte 0x01 \b, square twiddled ->0x09 byte 0x02 \b, square twiddled & mipmap ->0x09 byte 0x03 \b, VQ ->0x09 byte 0x04 \b, VQ & mipmap ->0x09 byte 0x05 \b, 8-bit CLUT twiddled ->0x09 byte 0x06 \b, 4-bit CLUT twiddled ->0x09 byte 0x07 \b, 8-bit direct twiddled ->0x09 byte 0x08 \b, 4-bit direct twiddled ->0x09 byte 0x09 \b, rectangle ->0x09 byte 0x0B \b, rectangular stride ->0x09 byte 0x0D \b, rectangular twiddled ->0x09 byte 0x10 \b, small VQ ->0x09 byte 0x11 \b, small VQ & mipmap ->0x09 byte 0x12 \b, square twiddled & mipmap - -# Sega PVR (Xbox) image header. -# Contains an embedded DirectDraw surface instead of PVR data. -0 name sega-pvr-xbox-dds-header ->16 lelong x %d x ->12 lelong x %d, ->84 string x %.4s - -# Sega PVR image. -0 string PVRT ->0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: ->>0x20 use sega-pvr-xbox-dds-header ->0x10 belong !0x44445320 Sega PVR image: ->>0 use sega-pvr-image-header - -# Sega PVR image with GBIX. -0 string GBIX ->0x10 string PVRT ->>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: ->>>0x20 use sega-pvr-xbox-dds-header ->>0x10 belong !0x44445320 Sega PVR image: ->>>0x10 use sega-pvr-image-header ->>0x08 lelong x \b, global index = %u - -# Sega GVR header. -0 name sega-gvr-image-header ->0x0C beshort x %d x ->0x0E beshort x %d -# Image data format. ->0x0B byte 0 \b, I4 ->0x0B byte 1 \b, I8 ->0x0B byte 2 \b, IA4 ->0x0B byte 3 \b, IA8 ->0x0B byte 4 \b, RGB565 ->0x0B byte 5 \b, RGB5A3 ->0x0B byte 6 \b, ARGB8888 ->0x0B byte 8 \b, CI4 ->0x0B byte 9 \b, CI8 ->0x0B byte 14 \b, DXT1 - -# Sega GVR image. -0 string GVRT Sega GVR image: ->0x10 use sega-gvr-image-header - -# Sega GVR image with GBIX. -0 string GBIX ->0x10 string GVRT Sega GVR image: ->>0x10 use sega-gvr-image-header ->>0x08 belong x \b, global index = %u - -# Light Field Picture -# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx -# Typical file extensions: .lfp .lfr .lfx - -0 belong 0x894C4650 ->4 belong 0x0D0A1A0A ->12 belong 0x00000000 Lytro Light Field Picture ->8 belong x \b, version %d - -# Type: Vision Research Phantom CINE Format -# URL: https://www.phantomhighspeed.com/ -# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk -# From: Harry Mallon <hjmallon at gmail.com> -# -# This has a short "CI" code but the 44 is the size of the struct which is -# stable -0 string CI ->2 leshort 44 Vision Research CINE Video, ->>4 leshort 0 Grayscale, ->>4 leshort 1 JPEG Compressed, ->>4 leshort 2 RAW, ->>6 leshort x version %d, ->>20 lelong x %d frames, ->>48 lelong x %dx ->>52 lelong x \b%d - -# Type: ARRI Raw Image -# Info: SMPTE RDD30:2014 -# From: Harry Mallon <hjmallon at gmail.com> -0 string ARRI ARRI ARI image data, ->4 lelong 0x78563412 little-endian, ->4 lelong 0x12345678 big-endian, ->12 lelong x version %d, ->20 lelong x %dx ->24 lelong x \b%d - -#------------------------------------------------------------------------------ # $File: inform,v 1.5 2009/09/19 16:28:09 christos Exp $ # inform: file(1) magic for Inform interactive fiction language @@ -23720,7 +22207,7 @@ !:mime text/x-python # import module [as abrev] -0 regex \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable +0 regex/4096 \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable !:mime text/x-python # comments @@ -23736,7 +22223,7 @@ # except: or finally: # block 0 search/4096 try: ->&0 regex \^[[:space:]]*except.*:$ Python script text executable +>&0 regex/4096 \^[[:space:]]*except.*:$ Python script text executable !:strength + 15 !:mime text/x-python >&0 search/4096 finally: Python script text executable @@ -23748,7 +22235,7 @@ !:mime text/x-python # def name(*args, **kwargs): -0 regex \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} +0 regex/4096 \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} >&0 regex \\(([[:alpha:]*_,\ ]){0,255}\\):$ Python script text executable !:strength + 15 !:mime text/x-python @@ -24270,32 +22757,32 @@ # What looks like ruby, but does not have a shebang # (modules and such) # From: Lubomir Rintel <lkundrak@v3.sk> -0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' +0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' >0 regex def\ [a-z]|\ do$ ->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 30 !:mime text/x-ruby -0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] +0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] >0 regex (modul|includ)e\ [A-Z]|def\ [a-z] ->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 30 !:mime text/x-ruby # Classes with no modules or defs, beats simple ASCII -0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] ->&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text +0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] +>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text !:strength + 10 !:mime text/x-ruby # Looks for function definition to balance python magic # def name (args) # end -0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] ->&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +0 regex/4096 \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] +>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 10 !:mime text/x-ruby -0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text +0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text !:mime text/x-ruby -0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text +0 regex/4096 \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text !:mime text/x-ruby #------------------------------------------------------------------------------ diff --git a/ext/fileinfo/tests/magic私はガラスを食べられます b/ext/fileinfo/tests/magic私はガラスを食べられます index c66cc84c87..e2e92726a4 100644 --- a/ext/fileinfo/tests/magic私はガラスを食べられます +++ b/ext/fileinfo/tests/magic私はガラスを食べられます @@ -5368,61 +5368,61 @@ # C # Check for class if include is found, otherwise class is beaten by include becouse of lowered strength 0 regex \^#include C ->0 regex \^class[[:space:]]+ +>0 regex/4096 \^class[[:space:]]+ >>&0 regex \\{[\.\*]\\}(;)?$ \b++ >&0 clear x source text !:strength + 13 !:mime text/x-c -0 regex \^#[[:space:]]*pragma C source text +0 regex/4096 \^#[[:space:]]*pragma C source text !:mime text/x-c -0 regex \^#[[:space:]]*(if\|ifn)def ->&0 regex \^#[[:space:]]*endif$ C source text +0 regex/4096 \^#[[:space:]]*(if\|ifn)def +>&0 regex/4096 \^#[[:space:]]*endif$ C source text !:mime text/x-c -0 regex \^#[[:space:]]*(if\|ifn)def ->&0 regex \^#[[:space:]]*define C source text +0 regex/4096 \^#[[:space:]]*(if\|ifn)def +>&0 regex/4096 \^#[[:space:]]*define C source text !:mime text/x-c -0 regex \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^[[:space:]]*extern[[:space:]]+ C source text +0 regex/4096 \^[[:space:]]*extern[[:space:]]+ C source text !:mime text/x-c -0 regex \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text +0 regex/4096 \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text !:mime text/x-c -0 regex \^struct[[:space:]]+ C source text +0 regex/4096 \^struct[[:space:]]+ C source text !:mime text/x-c -0 regex \^union[[:space:]]+ C source text +0 regex/4096 \^union[[:space:]]+ C source text !:mime text/x-c 0 search/8192 main( ->&0 regex \\)[[:space:]]*\\{ C source text +>&0 regex/4096 \\)[[:space:]]*\\{ C source text !:mime text/x-c # C++ # The strength of these rules is increased so they beat the C rules above -0 regex \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text +0 regex/4096 \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text !:strength + 30 !:mime text/x-c++ # using namespace [namespace] or using std::[lib] -0 regex \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text +0 regex/4096 \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text +0 regex/4096 \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text +0 regex/4096 \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text !:strength + 30 !:mime text/x-c++ # But class alone is reduced to avoid beating php (Jens Schleusener) -0 regex \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text +0 regex/4096 \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text !:strength + 13 !:mime text/x-c++ -0 regex \^[[:space:]]*public: C++ source text +0 regex/4096 \^[[:space:]]*public: C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*private: C++ source text +0 regex/4096 \^[[:space:]]*private: C++ source text !:strength + 30 !:mime text/x-c++ -0 regex \^[[:space:]]*protected: C++ source text +0 regex/4096 \^[[:space:]]*protected: C++ source text !:strength + 30 !:mime text/x-c++ @@ -15541,1519 +15541,6 @@ >24 lelong x \b%d #------------------------------------------------------------------------------ -# $File: images,v 1.131 2018/02/16 15:44:28 christos Exp $ -# images: file(1) magic for image formats (see also "iff", and "c-lang" for -# XPM bitmaps) -# -# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), -# additions by janl@ifi.uio.no as well as others. Jan also suggested -# merging several one- and two-line files into here. -# -# little magic: PCX (first byte is 0x0a) - -# Targa - matches `povray', `ppmtotga' and `xv' outputs -# by Philippe De Muyter <phdm@macqel.be> -# URL: http://justsolve.archiveteam.org/wiki/TGA -# Reference: http://www.dca.fee.unicamp.br/~martino/disciplinas/ea978/tgaffs.pdf -# Update: Joerg Jenderek -# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 -# ,32 or 33 (both not observed) -# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise -# or theoretically 2-128 reserved for use by Truevision or 128-255 may be used for developer applications -# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs -# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) -# `tgatoppm' recognizes a superset (Index may be anything) -# -# test of Color Map Type 0~no 1~color map -# and Image Type 1 2 3 9 10 11 32 33 -# and Color Map Entry Size 0 15 16 24 32 -0 ubequad&0x00FeC400000000C0 0 -# skip more garbage like *.iso by looking for positive image type ->2 ubyte >0 -# skip some compiled terminfo like xterm+tmux by looking for image type less equal 33 ->>2 ubyte <34 -# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel depth 1 8 15 16 24 32 ->>>16 ubyte 1 ->>>>0 use tga-image ->>>16 ubyte 8 ->>>>0 use tga-image ->>>16 ubyte 15 ->>>>0 use tga-image ->>>16 ubyte 16 ->>>>0 use tga-image ->>>16 ubyte 24 ->>>>0 use tga-image ->>>16 ubyte 32 ->>>>0 use tga-image -# display tga bitmap image information -0 name tga-image ->2 ubyte <34 Targa image data -!:mime image/x-tga -!:apple ????TPIC -# normal extension .tga but some Truevision products used others: -# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that) -!:ext tga/tpic/icb/vda/vst -# image type 1 2 3 9 10 11 32 33 ->2 ubyte&0xF7 1 - Map ->2 ubyte&0xF7 2 - RGB -# alpha channel ->>17 ubyte&0x0F >0 \bA ->2 ubyte&0xF7 3 - Mono -# type not found, but by http://www.fileformat.info/format/tga/corion.htm -# Compressed color-mapped data, using Huffman, Delta, and runlength encoding ->2 ubyte 32 - Color -# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process ->2 ubyte 33 - Color -# Color Map Type 0~no 1~color map ->1 ubyte 1 ( -# first color map entry, 0 normal ->>3 uleshort >0 \b%d- -# color map length 0 2 1dh 3bh d9h 100h ->>5 uleshort x \b%d) -# 8~run length encoding bit ->2 ubyte&0x08 8 - RLE -# gimp can create big pictures! ->12 uleshort >0 %d x ->12 uleshort =0 65536 x -# image height. 0 interpreted as 65536 ->14 uleshort >0 %d ->14 uleshort =0 65536 -# Image Pixel depth 1 8 15 16 24 32 ->16 ubyte x x %d -# X origin of image. 0 normal ->8 uleshort >0 +%d -# Y origin of image. 0 normal; positive for top ->10 uleshort >0 +%d -# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction ->17 ubyte&0x0F >0 - %d-bit alpha -# bits 5-4 give direction. normal bottom left ->17 ubyte &0x20 - top -#>17 ubyte ^0x20 - bottom ->17 ubyte &0x10 - right -#>17 ubyte ^0x10 - left -# some info say other bits 6-7 should be zero -# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm -# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved -#>17 ubyte&0xC0 0x00 - no interleave ->17 ubyte&0xC0 0x40 - interleave ->17 ubyte&0xC0 0x80 - four way interleave ->17 ubyte&0xC0 0xC0 - reserved -# positive length implies identification field ->0 ubyte >0 ->>18 string x "%s" -# last 18 bytes of newer tga file footer signature ->18 search/4261301/s TRUEVISION-XFILE.\0 -# extension area offset if not 0 ->>&-8 ulelong >0 -# length of the extension area. normal 495 for version 2.0 ->>>(&-4.l) uleshort 0x01EF -# AuthorName[41] ->>>>&0 string >\0 - author "%-.40s" -# Comment[324]=4 * 80 null terminated ->>>>&41 string >\0 - comment "%-.80s" -# date ->>>>&365 ubequad&0xffffFFFFffff0000 !0 -# Day ->>>>>&-6 uleshort x %d -# Month ->>>>>&-8 uleshort x \b-%d -# Year ->>>>>&-4 uleshort x \b-%d -# time ->>>>&371 ubequad&0xffffFFFFffff0000 !0 -# hour ->>>>>&-8 uleshort x %d -# minutes ->>>>>&-6 uleshort x \b:%.2d -# second ->>>>>&-4 uleshort x \b:%.2d -# JobName[41] ->>>>&377 string >\0 - job "%-.40s" -# JobHour Jobminute Jobsecond ->>>>&418 ubequad&0xffffFFFFffff0000 !0 ->>>>>&-8 uleshort x %d ->>>>>&-6 uleshort x \b:%.2d ->>>>>&-4 uleshort x \b:%.2d -# SoftwareId[41] ->>>>&424 string >\0 - %-.40s -# SoftwareVersionNumber ->>>>&424 ubyte >0 ->>>>>&40 uleshort/100 x %d ->>>>>&40 uleshort%100 x \b.%d -# VersionLetter ->>>>>&42 ubyte >0x20 \b%c -# KeyColor ->>>>&468 ulelong >0 - keycolor 0x%8.8x -# Denominator of Pixel ratio. 0~no pixel aspect ->>>>&474 uleshort >0 -# Numerator ->>>>>&-4 uleshort >0 - aspect %d ->>>>>&-2 uleshort x \b/%d -# Denominator of Gamma ratio. 0~no Gamma value ->>>>&478 uleshort >0 -# Numerator ->>>>>&-4 uleshort >0 - gamma %d ->>>>>&-2 uleshort x \b/%d -# ColorOffset -#>>>>&480 ulelong x - col offset 0x%8.8x -# StampOffset -#>>>>&484 ulelong x - stamp offset 0x%8.8x -# ScanOffset -#>>>>&488 ulelong x - scan offset 0x%8.8x -# AttributesType -#>>>>&492 ubyte x - Attributes 0x%x -## EndOfTGA - -# PBMPLUS images -# The next byte following the magic is always whitespace. -# strength is changed to try these patterns before "x86 boot sector" -0 name netpbm ->3 regex/s =[0-9]{1,50}\ [0-9]{1,50} Netpbm image data ->>&0 regex =[0-9]{1,50} \b, size = %s x ->>>&0 regex =[0-9]{1,50} \b %s - -0 search/1 P1 ->0 regex/4 P1[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, bitmap -!:strength + 45 -!:mime image/x-portable-bitmap - -0 search/1 P2 ->0 regex/4 P2[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, greymap -!:strength + 45 -!:mime image/x-portable-greymap - -0 search/1 P3 ->0 regex/4 P3[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, pixmap -!:strength + 45 -!:mime image/x-portable-pixmap - -0 string P4 ->0 regex/4 P4[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, bitmap -!:strength + 45 -!:mime image/x-portable-bitmap - -0 string P5 ->0 regex/4 P5[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, greymap -!:strength + 45 -!:mime image/x-portable-greymap - -0 string P6 ->0 regex/4 P6[\040\t\f\r\n] ->>0 use netpbm ->>>0 string x \b, rawbits, pixmap -!:strength + 45 -!:mime image/x-portable-pixmap - -0 string P7 Netpbm PAM image file -!:mime image/x-portable-pixmap - -# From: bryanh@giraffe-data.com (Bryan Henderson) -0 string \117\072 Solitaire Image Recorder format ->4 string \013 MGI Type 11 ->4 string \021 MGI Type 17 -0 string .MDA MicroDesign data ->21 byte 48 version 2 ->21 byte 51 version 3 -0 string .MDP MicroDesign page data ->21 byte 48 version 2 ->21 byte 51 version 3 - -# NIFF (Navy Interchange File Format, a modification of TIFF) images -# [GRR: this *must* go before TIFF] -0 string IIN1 NIFF image data -!:mime image/x-niff - -# Canon RAW version 1 (CRW) files are a type of Canon Image File Format -# (CIFF) file. These are apparently all little-endian. -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html -0 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data -!:mime image/x-canon-crw ->16 leshort x \b, version %d. ->14 leshort x \b%d - -# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic -# number. Put this above the TIFF test to make sure we detect them. -# These are apparently all little-endian. -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 -0 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data -!:mime image/x-canon-cr2 ->10 byte x \b, version %d. ->11 byte x \b%d - -# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) -# The second word of TIFF files is the TIFF version number, 42, which has -# never changed. The TIFF specification recommends testing for it. -0 string MM\x00\x2a TIFF image data, big-endian -!:mime image/tiff ->(4.L) use \^tiff_ifd -0 string II\x2a\x00 TIFF image data, little-endian -!:mime image/tiff ->(4.l) use tiff_ifd - -0 name tiff_ifd ->0 leshort x \b, direntries=%d ->2 use tiff_entry - -0 name tiff_entry -# NewSubFileType ->0 leshort 0xfe ->>12 use tiff_entry ->0 leshort 0x100 ->>4 lelong 1 ->>>12 use tiff_entry ->>>8 leshort x \b, width=%d ->0 leshort 0x101 ->>4 lelong 1 ->>>8 leshort x \b, height=%d ->>>12 use tiff_entry ->0 leshort 0x102 ->>8 leshort x \b, bps=%d ->>12 use tiff_entry ->0 leshort 0x103 ->>4 lelong 1 \b, compression= ->>>8 leshort 1 \bnone ->>>8 leshort 2 \bhuffman ->>>8 leshort 3 \bbi-level group 3 ->>>8 leshort 4 \bbi-level group 4 ->>>8 leshort 5 \bLZW ->>>8 leshort 6 \bJPEG (old) ->>>8 leshort 7 \bJPEG ->>>8 leshort 8 \bdeflate ->>>8 leshort 9 \bJBIG, ITU-T T.85 ->>>8 leshort 0xa \bJBIG, ITU-T T.43 ->>>8 leshort 0x7ffe \bNeXT RLE 2-bit ->>>8 leshort 0x8005 \bPackBits (Macintosh RLE) ->>>8 leshort 0x8029 \bThunderscan RLE ->>>8 leshort 0x807f \bRasterPadding (CT or MP) ->>>8 leshort 0x8080 \bRLE (Line Work) ->>>8 leshort 0x8081 \bRLE (High-Res Cont-Tone) ->>>8 leshort 0x8082 \bRLE (Binary Line Work) ->>>8 leshort 0x80b2 \bDeflate (PKZIP) ->>>8 leshort 0x80b3 \bKodak DCS ->>>8 leshort 0x8765 \bJBIG ->>>8 leshort 0x8798 \bJPEG2000 ->>>8 leshort 0x8799 \bNikon NEF Compressed ->>>8 default x ->>>>8 leshort x \b(unknown 0x%x) ->>>12 use tiff_entry ->0 leshort 0x106 \b, PhotometricIntepretation= ->>8 clear x ->>8 leshort 0 \bWhiteIsZero ->>8 leshort 1 \bBlackIsZero ->>8 leshort 2 \bRGB ->>8 leshort 3 \bRGB Palette ->>8 leshort 4 \bTransparency Mask ->>8 leshort 5 \bCMYK ->>8 leshort 6 \bYCbCr ->>8 leshort 8 \bCIELab ->>8 default x ->>>8 leshort x \b(unknown=0x%x) ->>12 use tiff_entry -# FillOrder ->0 leshort 0x10a ->>4 lelong 1 ->>>12 use tiff_entry -# DocumentName ->0 leshort 0x10d ->>(8.l) string x \b, name=%s ->>>12 use tiff_entry -# ImageDescription ->0 leshort 0x10e ->>(8.l) string x \b, description=%s ->>>12 use tiff_entry -# Make ->0 leshort 0x10f ->>(8.l) string x \b, manufacturer=%s ->>>12 use tiff_entry -# Model ->0 leshort 0x110 ->>(8.l) string x \b, model=%s ->>>12 use tiff_entry -# StripOffsets ->0 leshort 0x111 ->>12 use tiff_entry -# Orientation ->0 leshort 0x112 \b, orientation= ->>8 leshort 1 \bupper-left ->>8 leshort 3 \blower-right ->>8 leshort 6 \bupper-right ->>8 leshort 8 \blower-left ->>8 leshort 9 \bundefined ->>8 default x ->>>8 leshort x \b[*%d*] ->>12 use tiff_entry -# XResolution ->0 leshort 0x11a ->>8 lelong x \b, xresolution=%d ->>12 use tiff_entry -# YResolution ->0 leshort 0x11b ->>8 lelong x \b, yresolution=%d ->>12 use tiff_entry -# ResolutionUnit ->0 leshort 0x128 ->>8 leshort x \b, resolutionunit=%d ->>12 use tiff_entry -# Software ->0 leshort 0x131 ->>(8.l) string x \b, software=%s ->>12 use tiff_entry -# Datetime ->0 leshort 0x132 ->>(8.l) string x \b, datetime=%s ->>12 use tiff_entry -# HostComputer ->0 leshort 0x13c ->>(8.l) string x \b, hostcomputer=%s ->>12 use tiff_entry -# WhitePoint ->0 leshort 0x13e ->>12 use tiff_entry -# PrimaryChromaticities ->0 leshort 0x13f ->>12 use tiff_entry -# YCbCrCoefficients ->0 leshort 0x211 ->>12 use tiff_entry -# YCbCrPositioning ->0 leshort 0x213 ->>12 use tiff_entry -# ReferenceBlackWhite ->0 leshort 0x214 ->>12 use tiff_entry -# Copyright ->0 leshort 0x8298 ->>(8.l) string x \b, copyright=%s ->>12 use tiff_entry -# ExifOffset ->0 leshort 0x8769 ->>12 use tiff_entry -# GPS IFD ->0 leshort 0x8825 \b, GPS-Data ->>12 use tiff_entry - -#>0 leshort x \b, unknown=0x%x -#>>12 use tiff_entry - -0 string MM\x00\x2b Big TIFF image data, big-endian -!:mime image/tiff -0 string II\x2b\x00 Big TIFF image data, little-endian -!:mime image/tiff - -# PNG [Portable Network Graphics, or "PNG's Not GIF"] images -# (Greg Roelofs, newt@uchicago.edu) -# (Albert Cahalan, acahalan@cs.uml.edu) -# -# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ... -# - -# IHDR parser -0 name png-ihdr ->0 belong x \b, %d x ->4 belong x %d, ->8 byte x %d-bit ->9 byte 0 grayscale, ->9 byte 2 \b/color RGB, ->9 byte 3 colormap, ->9 byte 4 gray+alpha, ->9 byte 6 \b/color RGBA, -#>10 byte 0 deflate/32K, ->12 byte 0 non-interlaced ->12 byte 1 interlaced - -# Standard PNG image. -0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR PNG image data -!:mime image/png -!:strength +10 ->16 use png-ihdr - -# Apple CgBI PNG image. -0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI ->24 string \x00\x00\x00\x0DIHDR PNG image data (CgBI) -!:mime image/png -!:strength +10 ->>32 use png-ihdr - -# possible GIF replacements; none yet released! -# (Greg Roelofs, newt@uchicago.edu) -# -# GRR 950115: this was mine ("Zip GIF"): -0 string GIF94z ZIF image (GIF+deflate alpha) -!:mime image/x-unknown -# -# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): -# -0 string FGF95a FGF image (GIF+deflate beta) -!:mime image/x-unknown -# -# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal -# (best; not yet implemented): -# -0 string PBF PBF image (deflate compression) -!:mime image/x-unknown - -# GIF -0 string GIF8 GIF image data -!:mime image/gif -!:apple 8BIMGIFf ->4 string 7a \b, version 8%s, ->4 string 9a \b, version 8%s, ->6 leshort >0 %d x ->8 leshort >0 %d -#>10 byte &0x80 color mapped, -#>10 byte&0x07 =0x00 2 colors -#>10 byte&0x07 =0x01 4 colors -#>10 byte&0x07 =0x02 8 colors -#>10 byte&0x07 =0x03 16 colors -#>10 byte&0x07 =0x04 32 colors -#>10 byte&0x07 =0x05 64 colors -#>10 byte&0x07 =0x06 128 colors -#>10 byte&0x07 =0x07 256 colors - -# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, -# 1 plane, no encoding. -0 string \361\0\100\273 CMU window manager raster image data ->4 lelong >0 %d x ->8 lelong >0 %d, ->12 lelong >0 %d-bit - -# Magick Image File Format -0 string id=ImageMagick MIFF image data - -# Artisan -0 long 1123028772 Artisan image data ->4 long 1 \b, rectangular 24-bit ->4 long 2 \b, rectangular 8-bit with colormap ->4 long 3 \b, rectangular 32-bit (24-bit with matte) - -# FIG (Facility for Interactive Generation of figures), an object-based format -0 search/1 #FIG FIG image text ->5 string x \b, version %.3s - -# PHIGS -0 string ARF_BEGARF PHIGS clear text archive -0 string @(#)SunPHIGS SunPHIGS -# version number follows, in the form m.n ->40 string SunBin binary ->32 string archive archive - -# GKS (Graphics Kernel System) -0 string GKSM GKS Metafile ->24 string SunGKS \b, SunGKS - -# CGM image files -0 string BEGMF clear text Computer Graphics Metafile - -# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) -0 string yz MGR bitmap, modern format, 8-bit aligned -0 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned -0 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned -0 string yx MGR bitmap, modern format, squeezed - -# Fuzzy Bitmap (FBM) images -0 string %bitmap\0 FBM image data ->30 long 0x31 \b, mono ->30 long 0x33 \b, color - -# facsimile data -1 string PC\ Research,\ Inc group 3 fax data ->29 byte 0 \b, normal resolution (204x98 DPI) ->29 byte 1 \b, fine resolution (204x196 DPI) -# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> -0 string Sfff structured fax file - -# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> -# most files with the extension .EPA and some with .BMP -0 string \x11\x06 Award BIOS Logo, 136 x 84 -!:mime image/x-award-bioslogo -0 string \x11\x09 Award BIOS Logo, 136 x 126 -!:mime image/x-award-bioslogo -#0 string \x07\x1f BIOS Logo corrupted? -# http://www.blackfiveservices.co.uk/awbmtools.shtml -# http://biosgfx.narod.ru/v3/ -# http://biosgfx.narod.ru/abr-2/ -0 string AWBM ->4 leshort <1981 Award BIOS bitmap -!:mime image/x-award-bmp -# image width is a multiple of 4 ->>4 leshort&0x0003 0 ->>>4 leshort x \b, %d ->>>6 leshort x x %d ->>4 leshort&0x0003 >0 \b, ->>>4 leshort&0x0003 =1 ->>>>4 leshort x %d+3 ->>>4 leshort&0x0003 =2 ->>>>4 leshort x %d+2 ->>>4 leshort&0x0003 =3 ->>>>4 leshort x %d+1 ->>>6 leshort x x %d -# at offset 8 starts imagedata followed by "RGB " marker - -# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) -# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ -# 28bitmap_information_header.29 -0 string BM ->14 leshort 12 PC bitmap, OS/2 1.x format -!:mime image/x-ms-bmp ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 64 PC bitmap, OS/2 2.x format -!:mime image/x-ms-bmp ->>18 leshort x \b, %d x ->>20 leshort x %d ->14 leshort 40 PC bitmap, Windows 3.x format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 124 PC bitmap, Windows 98/2000 and newer format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 108 PC bitmap, Windows 95/NT4 and newer format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d ->14 leshort 128 PC bitmap, Windows NT/2000 format -!:mime image/x-ms-bmp ->>18 lelong x \b, %d x ->>22 lelong x %d x ->>28 leshort x %d -# Too simple - MPi -#0 string IC PC icon data -#0 string PI PC pointer image data -#0 string CI PC color icon data -#0 string CP PC color pointer image data -# Conflicts with other entries [BABYL] -#0 string BA PC bitmap array data - -# XPM icons (Greg Roelofs, newt@uchicago.edu) -0 search/1 /*\ XPM\ */ X pixmap image text -!:mime image/x-xpmi - -# Utah Raster Toolkit RLE images (janl@ifi.uio.no) -0 leshort 0xcc52 RLE image data, ->6 leshort x %d x ->8 leshort x %d ->2 leshort >0 \b, lower left corner: %d ->4 leshort >0 \b, lower right corner: %d ->10 byte&0x1 =0x1 \b, clear first ->10 byte&0x2 =0x2 \b, no background ->10 byte&0x4 =0x4 \b, alpha channel ->10 byte&0x8 =0x8 \b, comment ->11 byte >0 \b, %d color channels ->12 byte >0 \b, %d bits per pixel ->13 byte >0 \b, %d color map channels - -# image file format (Robert Potter, potter@cs.rochester.edu) -0 string Imagefile\ version- iff image data -# this adds the whole header (inc. version number), informative but longish ->10 string >\0 %s - -# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) -0 belong 0x59a66a95 Sun raster image data ->4 belong >0 \b, %d x ->8 belong >0 %d, ->12 belong >0 %d-bit, -#>16 belong >0 %d bytes long, ->20 belong 0 old format, -#>20 belong 1 standard, ->20 belong 2 compressed, ->20 belong 3 RGB, ->20 belong 4 TIFF, ->20 belong 5 IFF, ->20 belong 0xffff reserved for testing, ->24 belong 0 no colormap ->24 belong 1 RGB colormap ->24 belong 2 raw colormap -#>28 belong >0 colormap is %d bytes long - -# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) -# -# See -# http://reality.sgi.com/grafica/sgiimage.html -# -0 beshort 474 SGI image data -#>2 byte 0 \b, verbatim ->2 byte 1 \b, RLE -#>3 byte 1 \b, normal precision ->3 byte 2 \b, high precision ->4 beshort x \b, %d-D ->6 beshort x \b, %d x ->8 beshort x %d ->10 beshort x \b, %d channel ->10 beshort !1 \bs ->80 string >0 \b, "%s" - -0 string IT01 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -0 string IT02 FIT image data ->4 belong x \b, %d x ->8 belong x %d x ->12 belong x %d -# -2048 string PCD_IPI Kodak Photo CD image pack file ->0xe02 byte&0x03 0x00 , landscape mode ->0xe02 byte&0x03 0x01 , portrait mode ->0xe02 byte&0x03 0x02 , landscape mode ->0xe02 byte&0x03 0x03 , portrait mode -0 string PCD_OPA Kodak Photo CD overview pack file - -# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> -# FITS is the Flexible Image Transport System, the de facto standard for -# data and image transfer, storage, etc., for the astronomical community. -# (FITS floating point formats are big-endian.) -0 string SIMPLE\ \ = FITS image data ->109 string 8 \b, 8-bit, character or unsigned binary integer ->108 string 16 \b, 16-bit, two's complement binary integer ->107 string \ 32 \b, 32-bit, two's complement binary integer ->107 string -32 \b, 32-bit, floating point, single precision ->107 string -64 \b, 64-bit, floating point, double precision - -# other images -0 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file - -# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image -# stuff. -# -0 beshort 0x1010 PEX Binary Archive - -# DICOM medical imaging data -# URL: https://en.wikipedia.org/wiki/DICOM#Data_format -# Note: "dcm" is the official file name extension -# XnView mention also "dc3" and "acr" as file name extension -128 string DICM DICOM medical imaging data -!:mime application/dicom -!:ext dcm/dicom/dic - -# XWD - X Window Dump file. -# As described in /usr/X11R6/include/X11/XWDFile.h -# used by the xwd program. -# Bradford Castalia, idaeim, 1/01 -# updated by Adam Buchbinder, 2/09 -# The following assumes version 7 of the format; the first long is the length -# of the header, which is at least 25 4-byte longs, and the one at offset 8 -# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, -# which is a maximum of 32. -0 belong >100 ->8 belong <3 ->>12 belong <33 ->>>4 belong 7 XWD X Window Dump image data -!:mime image/x-xwindowdump ->>>>100 string >\0 \b, "%s" ->>>>16 belong x \b, %dx ->>>>20 belong x \b%dx ->>>>12 belong x \b%d - -# PDS - Planetary Data System -# These files use Parameter Value Language in the header section. -# Unfortunately, there is no certain magic, but the following -# strings have been found to be most likely. -0 string NJPL1I00 PDS (JPL) image data -2 string NJPL1I PDS (JPL) image data -0 string CCSD3ZF PDS (CCSD) image data -2 string CCSD3Z PDS (CCSD) image data -0 string PDS_ PDS image data -0 string LBLSIZE= PDS (VICAR) image data - -# pM8x: ATARI STAD compressed bitmap format -# -# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 -# p M 8 5/6 xx yy zz data... -# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. -# bytes either run horizontally (pM85) or vertically (pM86). yy is the -# most frequent byte, xx and zz are runlength escape codes, where xx is -# used for runs of yy. -# -0 string pM85 Atari ST STAD bitmap image data (hor) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) -0 string pM86 Atari ST STAD bitmap image data (vert) ->5 byte 0x00 (white background) ->5 byte 0xFF (black background) - -# From: Alex Myczko <alex@aiei.ch> -# http://www.atarimax.com/jindroush.atari.org/afmtatr.html -0 leshort 0x0296 Atari ATR image - -# XXX: -# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other -# magic. -# SGI RICE image file <mpruett@sgi.com> -#0 beshort 0x5249 RICE image -#>2 beshort x v%d -#>4 beshort x (%d x -#>6 beshort x %d) -#>8 beshort 0 8 bit -#>8 beshort 1 10 bit -#>8 beshort 2 12 bit -#>8 beshort 3 13 bit -#>10 beshort 0 4:2:2 -#>10 beshort 1 4:2:2:4 -#>10 beshort 2 4:4:4 -#>10 beshort 3 4:4:4:4 -#>12 beshort 1 RGB -#>12 beshort 2 CCIR601 -#>12 beshort 3 RP175 -#>12 beshort 4 YUV - -# PCX image files -# From: Dan Fandrich <dan@coneharvesters.com> -# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX -# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt -# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 -# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT -0 ubelong&0xffF8fe00 0x0a000000 -# for PCX bit depth > 0 ->3 ubyte >0 -# test for valid versions ->>1 ubyte <6 ->>>1 ubyte !1 PCX -!:mime image/x-pcx -#!:mime image/pcx ->>>>1 ubyte 0 ver. 2.5 image data ->>>>1 ubyte 2 ver. 2.8 image data, with palette ->>>>1 ubyte 3 ver. 2.8 image data, without palette ->>>>1 ubyte 4 for Windows image data ->>>>1 ubyte 5 ver. 3.0 image data ->>>>4 uleshort x bounding box [%d, ->>>>6 uleshort x %d] - ->>>>8 uleshort x [%d, ->>>>10 uleshort x %d], ->>>>65 ubyte >1 %d planes each of ->>>>3 ubyte x %d-bit ->>>>68 byte 1 colour, ->>>>68 byte 2 grayscale, -# this should not happen ->>>>68 default x image, ->>>>12 leshort >0 %d x ->>>>>14 uleshort x %d dpi, ->>>>2 byte 0 uncompressed ->>>>2 byte 1 RLE compressed - -# Adobe Photoshop -# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> -0 string 8BPS Adobe Photoshop Image -!:mime image/vnd.adobe.photoshop ->4 beshort 2 (PSB) ->18 belong x \b, %d x ->14 belong x %d, ->24 beshort 0 bitmap ->24 beshort 1 grayscale ->>12 beshort 2 with alpha ->24 beshort 2 indexed ->24 beshort 3 RGB ->>12 beshort 4 \bA ->24 beshort 4 CMYK ->>12 beshort 5 \bA ->24 beshort 7 multichannel ->24 beshort 8 duotone ->24 beshort 9 lab ->12 beshort > 1 ->>12 beshort x \b, %dx ->12 beshort 1 \b, ->22 beshort x %d-bit channel ->12 beshort > 1 \bs - -# XV thumbnail indicator (ThMO) -0 string P7\ 332 XV thumbnail image data - -# NITF is defined by United States MIL-STD-2500A -0 string NITF National Imagery Transmission Format ->25 string >\0 dated %.14s - -# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) -# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> -# Update: Joerg Jenderek -# See http://fileformats.archiveteam.org/wiki/GEM_Raster -# For variations, also see: -# http://www.seasip.info/Gem/ff_img.html (Ventura) -# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) -# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) -# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) -0 beshort 0x0001 -# header_size ->2 beshort 0x0008 ->>0 use gem_info ->2 beshort 0x0009 ->>0 use gem_info -# no example for NOSIG ->2 beshort 24 ->>0 use gem_info -# no example for HYPERPAINT ->2 beshort 25 ->>0 use gem_info -16 string XIMG\0 ->0 use gem_info -# no example -16 string STTT\0\x10 ->0 use gem_info -# no example or description -16 string TIMG\0 ->0 use gem_info - -0 name gem_info -# version is 2 for some XIMG and 1 for all others ->0 beshort <0x0003 GEM -# http://www.snowstone.org.uk/riscos/mimeman/mimemap.txt -!:mime image/x-gem -# header_size 24 25 27 59 779 words for colored bitmaps ->>2 beshort >9 ->>>16 string STTT\0\x10 STTT ->>>16 string TIMG\0 TIMG -# HYPERPAINT or NOSIG variant ->>>16 string \0\x80 ->>>>2 beshort =24 NOSIG ->>>>2 beshort !24 HYPERPAINT -# NOSIG or XIMG variant ->>>16 default x ->>>>16 string !XIMG\0 NOSIG ->>16 string =XIMG\0 XIMG Image data -!:ext img/ximg -# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type ->>16 string !XIMG\0 Image data -!:ext img -# header_size is 9 for Ventura files and 8 for other GEM Paint files ->>2 beshort 9 (Ventura) -#>>2 beshort 8 (Paint) ->>12 beshort x %d x ->>14 beshort x %d, -# 1 4 8 ->>4 beshort x %d planes, -# in tenths of a millimetre ->>8 beshort x %d x ->>10 beshort x %d pixelsize -# pattern_size 1-8. 2 for GEM Paint ->>6 beshort !2 \b, pattern size %d - -# GEM Metafile (Wolfram Kleff) -0 lelong 0x0018FFFF GEM Metafile data ->4 leshort x version %d - -# -# SMJPEG. A custom Motion JPEG format used by Loki Entertainment -# Software Torbjorn Andersson <d91tan@Update.UU.SE>. -# -0 string \0\nSMJPEG SMJPEG ->8 belong x %d.x data -# According to the specification you could find any number of _TXT -# headers here, but I can't think of any way of handling that. None of -# the SMJPEG files I tried it on used this feature. Even if such a -# file is encountered the output should still be reasonable. ->16 string _SND \b, ->>24 beshort >0 %d Hz ->>26 byte 8 8-bit ->>26 byte 16 16-bit ->>28 string NONE uncompressed -# >>28 string APCM ADPCM compressed ->>27 byte 1 mono ->>28 byte 2 stereo -# Help! Isn't there any way to avoid writing this part twice? ->>32 string _VID \b, -# >>>48 string JFIF JPEG ->>>40 belong >0 %d frames ->>>44 beshort >0 (%d x ->>>46 beshort >0 %d) ->16 string _VID \b, -# >>32 string JFIF JPEG ->>24 belong >0 %d frames ->>28 beshort >0 (%d x ->>30 beshort >0 %d) - -0 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File - -# "thumbnail file" (icon) -# descended from "xv", but in use by other applications as well (Wolfram Kleff) -0 string P7\ 332 XV "thumbnail file" (icon) data - -# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) -0 string KiSS KISS/GS ->4 byte 16 color ->>5 byte x %d bit ->>8 leshort x %d colors ->>10 leshort x %d groups ->4 byte 32 cell ->>5 byte x %d bit ->>8 leshort x %d x ->>10 leshort x %d ->>12 leshort x +%d ->>14 leshort x +%d - -# Webshots (www.webshots.com), by John Harrison -0 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file - -# Hercules DASD image files -# From Jan Jaeger <jj@septa.nl> -0 string CKD_P370 Hercules CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_C370 Hercules compressed CKD DASD image file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -0 string CKD_S370 Hercules CKD DASD shadow file ->8 long x \b, %d heads per cylinder ->12 long x \b, track size %d bytes ->16 byte x \b, device type 33%2.2X - -# Squeak images and programs - etoffi@softhome.net -0 string \146\031\0\0 Squeak image data -0 search/1 'From\040Squeak Squeak program text - -# partimage: file(1) magic for PartImage files (experimental, incomplete) -# Author: Hans-Joachim Baader <hjb@pro-linux.de> -0 string PaRtImAgE-VoLuMe PartImage ->0x0020 string 0.6.1 file version %s ->>0x0060 lelong >-1 volume %d -#>>0x0064 8 byte identifier -#>>0x007c reserved ->>0x0200 string >\0 type %s ->>0x1400 string >\0 device %s, ->>0x1600 string >\0 original filename %s, -# Some fields omitted ->>0x2744 lelong 0 not compressed ->>0x2744 lelong 1 gzip compressed ->>0x2744 lelong 2 bzip2 compressed ->>0x2744 lelong >2 compressed with unknown algorithm ->0x0020 string >0.6.1 file version %s ->0x0020 string <0.6.1 file version %s - -# DCX is multi-page PCX, using a simple header of up to 1024 -# offsets for the respective PCX components. -# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> -0 lelong 987654321 DCX multi-page PCX image data - -# Simon Walton <simonw@matteworld.com> -# Kodak Cineon format for scanned negatives -# http://www.kodak.com/US/en/motion/support/dlad/ -0 lelong 0xd75f2a80 Cineon image data ->200 belong >0 \b, %d x ->204 belong >0 %d - - -# Bio-Rad .PIC is an image format used by microscope control systems -# and related image processing software used by biologists. -# From: Vebjorn Ljosa <vebjorn@ljosa.com> -# BOOL values are two-byte integers; use them to rule out false positives. -# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt -# Samples: http://www.loci.wisc.edu/software/sample-data -14 leshort <2 ->62 leshort <2 ->>54 leshort 12345 Bio-Rad .PIC Image File ->>>0 leshort >0 %d x ->>>2 leshort >0 %d, ->>>4 leshort =1 1 image in file ->>>4 leshort >1 %d images in file - -# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> -# The description of *.mrw format can be found at -# http://www.dalibor.cz/minolta/raw_file_format.htm -0 string \000MRM Minolta Dimage camera raw image data - -# Summary: DjVu image / document -# Extension: .djvu -# Reference: http://djvu.org/docs/DjVu3Spec.djvu -# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> -# Modified by (1): Abel Cheung <abelcheung@gmail.com> -0 string AT&TFORM ->12 string DJVM DjVu multiple page document -!:mime image/vnd.djvu ->12 string DJVU DjVu image or single page document -!:mime image/vnd.djvu ->12 string DJVI DjVu shared document -!:mime image/vnd.djvu ->12 string THUM DjVu page thumbnails -!:mime image/vnd.djvu - -# Originally by Marc Espie -# Modified by Robert Minsk <robertminsk at yahoo.com> -# http://www.openexr.com/openexrfilelayout.pdf -0 lelong 20000630 OpenEXR image data, -!:mime image/x-exr ->4 lelong&0x000000ff x version %d, ->4 lelong ^0x00000200 storage: scanline ->4 lelong &0x00000200 storage: tiled ->8 search/0x1000 compression\0 \b, compression: ->>&16 byte 0 none ->>&16 byte 1 rle ->>&16 byte 2 zips ->>&16 byte 3 zip ->>&16 byte 4 piz ->>&16 byte 5 pxr24 ->>&16 byte 6 b44 ->>&16 byte 7 b44a ->>&16 byte 8 dwaa ->>&16 byte 9 dwab ->>&16 byte >9 unknown ->8 search/0x1000 dataWindow\0 \b, dataWindow: ->>&10 lelong x (%d ->>&14 lelong x %d)- ->>&18 lelong x \b(%d ->>&22 lelong x %d) ->8 search/0x1000 displayWindow\0 \b, displayWindow: ->>&10 lelong x (%d ->>&14 lelong x %d)- ->>&18 lelong x \b(%d ->>&22 lelong x %d) ->8 search/0x1000 lineOrder\0 \b, lineOrder: ->>&14 byte 0 increasing y ->>&14 byte 1 decreasing y ->>&14 byte 2 random y ->>&14 byte >2 unknown - -# SMPTE Digital Picture Exchange Format, SMPTE DPX -# -# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital -# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 -# Robert Minsk <robertminsk at yahoo.com> -# Modified by Harry Mallon <hjmallon at gmail.com> -0 string SDPX DPX image data, big-endian, -!:mime image/x-dpx ->0 use dpx_info -0 string XPDS DPX image data, little-endian, -!:mime image/x-dpx ->0 use \^dpx_info - -0 name dpx_info ->768 beshort <4 ->>772 belong x %dx ->>776 belong x \b%d, ->768 beshort >3 ->>776 belong x %dx ->>772 belong x \b%d, ->768 beshort 0 left to right/top to bottom ->768 beshort 1 right to left/top to bottom ->768 beshort 2 left to right/bottom to top ->768 beshort 3 right to left/bottom to top ->768 beshort 4 top to bottom/left to right ->768 beshort 5 top to bottom/right to left ->768 beshort 6 bottom to top/left to right ->768 beshort 7 bottom to top/right to left - -# From: Tom Hilinski <tom.hilinski@comcast.net> -# http://www.unidata.ucar.edu/packages/netcdf/ -0 string CDF\001 NetCDF Data Format data - -#----------------------------------------------------------------------- -# Hierarchical Data Format, used to facilitate scientific data exchange -# specifications at http://hdf.ncsa.uiuc.edu/ -0 belong 0x0e031301 Hierarchical Data Format (version 4) data -!:mime application/x-hdf -0 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data -!:mime application/x-hdf -512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block -!:mime application/x-hdf -1024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block -!:mime application/x-hdf -2048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block -!:mime application/x-hdf -4096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block -!:mime application/x-hdf - - -# From: Tobias Burnus <burnus@net-b.de> -# Xara (for a while: Corel Xara) is a graphic package, see -# http://www.xara.com/ for Windows and as GPL application for Linux -0 string XARA\243\243 Xara graphics file - -# http://www.cartesianinc.com/Tech/ -0 string CPC\262 Cartesian Perceptual Compression image -!:mime image/x-cpi - -# From Albert Cahalan <acahalan@gmail.com> -# puredigital used it for the CVS disposable camcorder -#8 lelong 4 ZBM bitmap image data -#>4 leshort x %u x -#>6 leshort x %u - -# From Albert Cahalan <acahalan@gmail.com> -# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons -0 string C565 OLPC firmware icon image data ->4 leshort x %u x ->6 leshort x %u - -# Applied Images - Image files from Cytovision -# Gustavo Junior Alves <gjalves@gjalves.com.br> -0 string \xce\xda\xde\xfa Cytovision Metaphases file -0 string \xed\xad\xef\xac Cytovision Karyotype file -0 string \x0b\x00\x03\x00 Cytovision FISH Probe file -0 string \xed\xfe\xda\xbe Cytovision FLEX file -0 string \xed\xab\xed\xfe Cytovision FLEX file -0 string \xad\xfd\xea\xad Cytovision RATS file - -# Wavelet Scalar Quantization format used in gray-scale fingerprint images -# From Tano M Fotang <mfotang@quanteq.com> -0 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data - -# Type: PCO B16 image files -# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf -# From: Florian Philipp <florian.philipp@binarywings.net> -# Extension: .b16 -# Description: Pixel image format produced by PCO Camware, typically used -# together with PCO cameras. -# Note: Different versions exist for e.g. 8 bit and 16 bit images. -# Documentation is incomplete. -0 string/b PCO- PCO B16 image data ->12 lelong x \b, %dx ->16 lelong x \b%d ->20 lelong 0 \b, short header ->20 lelong -1 \b, extended header ->>24 lelong 0 \b, grayscale ->>>36 lelong 0 linear LUT ->>>36 lelong 1 logarithmic LUT ->>>28 lelong x [%d ->>>32 lelong x \b,%d] ->>24 lelong 1 \b, color ->>>64 lelong 0 linear LUT ->>>64 lelong 1 logarithmic LUT ->>>40 lelong x r[%d ->>>44 lelong x \b,%d] ->>>48 lelong x g[%d ->>>52 lelong x \b,%d] ->>>56 lelong x b[%d ->>>60 lelong x \b,%d] - -# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches -# From: Markus Heidelberg <markus.heidelberg at web.de> -0 string/t [BitmapInfo2] Polar Monitor Bitmap text -!:mime image/x-polar-monitor-bitmap - -# From: Rick Richardson <rickrich@gmail.com> -# updated by: Joerg Jenderek -# URL: http://techmods.net/nuvi/ -0 string GARMIN\ BITMAP\ 01 Garmin Bitmap file -# extension is also used for -# Sony SRF raw image (image/x-sony-srf) -# SRF map -# Terragen Surface Map (http://www.planetside.co.uk/terragen) -# FileLocator Pro search criteria file (http://www.mythicsoft.com/filelocatorpro) -!:ext srf -#!:mime image/x-garmin-srf -# version 1.00,2.00,2.10,2.40,2.50 ->0x2f string >0 \b, version %4.4s -# width (2880,2881,3240) ->0x55 uleshort >0 \b, %dx -# height (80,90) ->>0x53 uleshort x \b%d - -# Type: Ulead Photo Explorer5 (.pe5) -# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) -# From: Simon Horman <horms@debian.org> -0 string IIO2H Ulead Photo Explorer5 - -# Type: X11 cursor -# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup -# From: Mathias Brodala <info@noctus.net> -0 string Xcur X11 cursor - -# Type: Olympus ORF raw images. -# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -0 string MMOR Olympus ORF raw image data, big-endian -!:mime image/x-olympus-orf -0 string IIRO Olympus ORF raw image data, little-endian -!:mime image/x-olympus-orf -0 string IIRS Olympus ORF raw image data, little-endian -!:mime image/x-olympus-orf - -# Type: files used in modern AVCHD camcoders to store clip information -# Extension: .cpi -# From: Alexander Danilov <alexander.a.danilov@gmail.com> -0 string HDMV0100 AVCHD Clip Information - -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ -# Radiance HDR; usually has .pic or .hdr extension. -0 string #?RADIANCE\n Radiance HDR image data -#!mime image/vnd.radiance - -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf -# Used by the pfstools packages. The regex matches for the image size could -# probably use some work. The MIME type is made up; if there's one in -# actual common use, it should replace the one below. -0 string PFS1\x0a PFS HDR image data -#!mime image/x-pfs ->1 regex [0-9]*\ \b, %s ->>1 regex \ [0-9]{4} \bx%s - -# Type: Foveon X3F -# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf -# From: Adam Buchbinder <adam.buchbinder@gmail.com> -# Note that the MIME type isn't defined anywhere that I can find; if -# there's a canonical type for this format, it should replace this one. -0 string FOVb Foveon X3F raw image data -!:mime image/x-x3f ->6 leshort x \b, version %d. ->4 leshort x \b%d ->28 lelong x \b, %dx ->32 lelong x \b%d - -# Paint.NET file -# From Adam Buchbinder <adam.buchbinder@gmail.com> -0 string PDN3 Paint.NET image data -!:mime image/x-paintnet - -# Not really an image. -# From: "Tano M. Fotang" <mfotang@quanteq.com> -0 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) - -# doc: http://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip -# example: http://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip -90 bequad 0x574D50484F544F00 JPEG-XR Image ->98 byte&0x08 =0x08 \b, hard tiling ->99 byte&0x80 =0x80 \b, tiling present ->99 byte&0x40 =0x40 \b, codestream present ->99 byte&0x38 x \b, spatial xform= ->99 byte&0x38 0x00 \bTL ->99 byte&0x38 0x08 \bBL ->99 byte&0x38 0x10 \bTR ->99 byte&0x38 0x18 \bBR ->99 byte&0x38 0x20 \bBT ->99 byte&0x38 0x28 \bRB ->99 byte&0x38 0x30 \bLT ->99 byte&0x38 0x38 \bLB ->100 byte&0x80 =0x80 \b, short header ->>102 beshort+1 x \b, %d ->>104 beshort+1 x \bx%d ->100 byte&0x80 =0x00 \b, long header ->>102 belong+1 x \b, %x ->>106 belong+1 x \bx%x ->101 beshort&0xf x \b, bitdepth= ->>101 beshort&0xf 0x0 \b1-WHITE=1 ->>101 beshort&0xf 0x1 \b8 ->>101 beshort&0xf 0x2 \b16 ->>101 beshort&0xf 0x3 \b16-SIGNED ->>101 beshort&0xf 0x4 \b16-FLOAT ->>101 beshort&0xf 0x5 \b(reserved 5) ->>101 beshort&0xf 0x6 \b32-SIGNED ->>101 beshort&0xf 0x7 \b32-FLOAT ->>101 beshort&0xf 0x8 \b5 ->>101 beshort&0xf 0x9 \b10 ->>101 beshort&0xf 0xa \b5-6-5 ->>101 beshort&0xf 0xb \b(reserved %d) ->>101 beshort&0xf 0xc \b(reserved %d) ->>101 beshort&0xf 0xd \b(reserved %d) ->>101 beshort&0xf 0xe \b(reserved %d) ->>101 beshort&0xf 0xf \b1-BLACK=1 ->101 beshort&0xf0 x \b, colorfmt= ->>101 beshort&0xf0 0x00 \bYONLY ->>101 beshort&0xf0 0x10 \bYUV240 ->>101 beshort&0xf0 0x20 \bYWV422 ->>101 beshort&0xf0 0x30 \bYWV444 ->>101 beshort&0xf0 0x40 \bCMYK ->>101 beshort&0xf0 0x50 \bCMYKDIRECT ->>101 beshort&0xf0 0x60 \bNCOMPONENT ->>101 beshort&0xf0 0x70 \bRGB ->>101 beshort&0xf0 0x80 \bRGBE ->>101 beshort&0xf0 >0x80 \b(reserved 0x%x) - -# From: Johan van der Knijff <johan.vanderknijff@kb.nl> -# -# BPG (Better Portable Graphics) format -# http://bellard.org/bpg/ -# http://fileformats.archiveteam.org/wiki/BPG -# -0 string \x42\x50\x47\xFB BPG (Better Portable Graphics) -!:mime image/bpg - -# From: Joerg Jenderek -# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format -0 string icns Mac OS X icon -!:mime image/x-icns -!:apple ????icns -!:ext icns ->4 ubelong >0 -# file size ->>4 ubelong x \b, %d bytes -# icon type ->>8 string x \b, "%4.4s" type - -# TIM images -0 lelong 0x00000010 TIM image, ->4 lelong 0x8 4-Bit, ->4 lelong 0x9 8-Bit, ->4 lelong 0x2 15-Bit, ->4 lelong 0x3 24-Bit, ->4 lelong &8 ->>(8.l+12) leshort x Pixel at (%d, ->>(8.l+14) leshort x \b%d) ->>(8.l+16) leshort x Size=%dx ->>(8.l+18) leshort x \b%d, ->>4 lelong 0x8 16 CLUT Entries at ->>4 lelong 0x9 256 CLUT Entries at ->>12 leshort x (%d, ->>14 leshort x \b%d) ->4 lelong ^8 ->>12 leshort x Pixel at (%d, ->>14 leshort x \b%d) ->>16 leshort x Size=%dx ->>18 leshort x \b%d - -# MDEC streams -0 lelong 0x80010160 MDEC video stream, ->16 leshort x %dx ->18 leshort x \b%d -#>8 lelong x %d frames -#>4 leshort x secCount=%d; -#>6 leshort x nSectors=%d; -#>12 lelong x frameSize=%d; - -# BS encoded bitstreams -2 leshort 0x3800 BS image, ->6 leshort x Version %d, ->4 leshort x Quantization %d, ->0 leshort x (Decompresses to %d words) - -# Type: farbfeld image. -# Url: http://tools.suckless.org/farbfeld/ -# From: Ian D. Scott <ian@iandouglasscott.com> -# -0 string farbfeld farbfeld image data, ->8 ubelong x %dx ->12 ubelong x \b%d - -# Type: Sega PVR image. -# From: David Korth <gerbilsoft@gerbilsoft.com> -# References: -# - http://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt -# - https://github.com/yazgoo/pvrx2png -# - https://github.com/nickworonekin/puyotools - -# Sega PVR header. -0 name sega-pvr-image-header ->0x0C leshort x %d x ->0x0E leshort x %d -# Image format. ->0x08 byte 0 \b, ARGB1555 ->0x08 byte 1 \b, RGB565 ->0x08 byte 2 \b, ARGB4444 ->0x08 byte 3 \b, YUV442 ->0x08 byte 4 \b, Bump ->0x08 byte 5 \b, 4bpp ->0x08 byte 6 \b, 8bpp -# Image data type. ->0x09 byte 0x01 \b, square twiddled ->0x09 byte 0x02 \b, square twiddled & mipmap ->0x09 byte 0x03 \b, VQ ->0x09 byte 0x04 \b, VQ & mipmap ->0x09 byte 0x05 \b, 8-bit CLUT twiddled ->0x09 byte 0x06 \b, 4-bit CLUT twiddled ->0x09 byte 0x07 \b, 8-bit direct twiddled ->0x09 byte 0x08 \b, 4-bit direct twiddled ->0x09 byte 0x09 \b, rectangle ->0x09 byte 0x0B \b, rectangular stride ->0x09 byte 0x0D \b, rectangular twiddled ->0x09 byte 0x10 \b, small VQ ->0x09 byte 0x11 \b, small VQ & mipmap ->0x09 byte 0x12 \b, square twiddled & mipmap - -# Sega PVR (Xbox) image header. -# Contains an embedded DirectDraw surface instead of PVR data. -0 name sega-pvr-xbox-dds-header ->16 lelong x %d x ->12 lelong x %d, ->84 string x %.4s - -# Sega PVR image. -0 string PVRT ->0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: ->>0x20 use sega-pvr-xbox-dds-header ->0x10 belong !0x44445320 Sega PVR image: ->>0 use sega-pvr-image-header - -# Sega PVR image with GBIX. -0 string GBIX ->0x10 string PVRT ->>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: ->>>0x20 use sega-pvr-xbox-dds-header ->>0x10 belong !0x44445320 Sega PVR image: ->>>0x10 use sega-pvr-image-header ->>0x08 lelong x \b, global index = %u - -# Sega GVR header. -0 name sega-gvr-image-header ->0x0C beshort x %d x ->0x0E beshort x %d -# Image data format. ->0x0B byte 0 \b, I4 ->0x0B byte 1 \b, I8 ->0x0B byte 2 \b, IA4 ->0x0B byte 3 \b, IA8 ->0x0B byte 4 \b, RGB565 ->0x0B byte 5 \b, RGB5A3 ->0x0B byte 6 \b, ARGB8888 ->0x0B byte 8 \b, CI4 ->0x0B byte 9 \b, CI8 ->0x0B byte 14 \b, DXT1 - -# Sega GVR image. -0 string GVRT Sega GVR image: ->0x10 use sega-gvr-image-header - -# Sega GVR image with GBIX. -0 string GBIX ->0x10 string GVRT Sega GVR image: ->>0x10 use sega-gvr-image-header ->>0x08 belong x \b, global index = %u - -# Light Field Picture -# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx -# Typical file extensions: .lfp .lfr .lfx - -0 belong 0x894C4650 ->4 belong 0x0D0A1A0A ->12 belong 0x00000000 Lytro Light Field Picture ->8 belong x \b, version %d - -# Type: Vision Research Phantom CINE Format -# URL: https://www.phantomhighspeed.com/ -# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk -# From: Harry Mallon <hjmallon at gmail.com> -# -# This has a short "CI" code but the 44 is the size of the struct which is -# stable -0 string CI ->2 leshort 44 Vision Research CINE Video, ->>4 leshort 0 Grayscale, ->>4 leshort 1 JPEG Compressed, ->>4 leshort 2 RAW, ->>6 leshort x version %d, ->>20 lelong x %d frames, ->>48 lelong x %dx ->>52 lelong x \b%d - -# Type: ARRI Raw Image -# Info: SMPTE RDD30:2014 -# From: Harry Mallon <hjmallon at gmail.com> -0 string ARRI ARRI ARI image data, ->4 lelong 0x78563412 little-endian, ->4 lelong 0x12345678 big-endian, ->12 lelong x version %d, ->20 lelong x %dx ->24 lelong x \b%d - -#------------------------------------------------------------------------------ # $File: inform,v 1.5 2009/09/19 16:28:09 christos Exp $ # inform: file(1) magic for Inform interactive fiction language @@ -23720,7 +22207,7 @@ !:mime text/x-python # import module [as abrev] -0 regex \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable +0 regex/4096 \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable !:mime text/x-python # comments @@ -23736,7 +22223,7 @@ # except: or finally: # block 0 search/4096 try: ->&0 regex \^[[:space:]]*except.*:$ Python script text executable +>&0 regex/4096 \^[[:space:]]*except.*:$ Python script text executable !:strength + 15 !:mime text/x-python >&0 search/4096 finally: Python script text executable @@ -23748,7 +22235,7 @@ !:mime text/x-python # def name(*args, **kwargs): -0 regex \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} +0 regex/4096 \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100} >&0 regex \\(([[:alpha:]*_,\ ]){0,255}\\):$ Python script text executable !:strength + 15 !:mime text/x-python @@ -24270,32 +22757,32 @@ # What looks like ruby, but does not have a shebang # (modules and such) # From: Lubomir Rintel <lkundrak@v3.sk> -0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' +0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' >0 regex def\ [a-z]|\ do$ ->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 30 !:mime text/x-ruby -0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] +0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] >0 regex (modul|includ)e\ [A-Z]|def\ [a-z] ->>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +>>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 30 !:mime text/x-ruby # Classes with no modules or defs, beats simple ASCII -0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] ->&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text +0 regex/4096 \^[[:space:]]*(class|module)[[:space:]][A-Z] +>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text !:strength + 10 !:mime text/x-ruby # Looks for function definition to balance python magic # def name (args) # end -0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] ->&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text +0 regex/4096 \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] +>&0 regex/4096 \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text !:strength + 10 !:mime text/x-ruby -0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text +0 regex/4096 \^[[:space:]]*require[[:space:]]'[A-Za-z_/]+' Ruby script text !:mime text/x-ruby -0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text +0 regex/4096 \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text !:mime text/x-ruby #------------------------------------------------------------------------------ |