diff options
author | Bastien Nocera <hadess@hadess.net> | 2020-10-15 13:04:55 +0200 |
---|---|---|
committer | David Faure <faure@kde.org> | 2020-11-06 21:53:44 +0000 |
commit | 99dd7770ebcbfe96035b3b749af93c22e5422f5e (patch) | |
tree | 0d0de2b995f044f483fc50e557efd7f3db46a324 /tests/mime-detection | |
parent | 6f51a40cda5f7a4c8172069c870cd9d2f375ee04 (diff) | |
download | shared-mime-info-99dd7770ebcbfe96035b3b749af93c22e5422f5e.tar.gz |
Add Kaitai Struct mime-type
For use with the Kaitai Struct visualiser, or any text/YAML editors
Diffstat (limited to 'tests/mime-detection')
-rw-r--r-- | tests/mime-detection/ico.ksy | 78 | ||||
-rw-r--r-- | tests/mime-detection/list | 1 |
2 files changed, 79 insertions, 0 deletions
diff --git a/tests/mime-detection/ico.ksy b/tests/mime-detection/ico.ksy new file mode 100644 index 00000000..592bce82 --- /dev/null +++ b/tests/mime-detection/ico.ksy @@ -0,0 +1,78 @@ +meta: + id: ico + title: Microsoft Windows icon file + file-extension: ico + endian: le + license: CC0-1.0 +doc: | + Microsoft Windows uses specific file format to store applications + icons - ICO. This is a container that contains one or more image + files (effectively, DIB parts of BMP files or full PNG files are + contained inside). +doc-ref: https://msdn.microsoft.com/en-us/library/ms997538.aspx +seq: + - id: magic + contents: [0, 0, 1, 0] + - id: num_images + -orig-id: idCount + type: u2 + doc: Number of images contained in this file + - id: images + -orig-id: idEntries + type: icon_dir_entry + repeat: expr + repeat-expr: num_images +types: + icon_dir_entry: + -orig-id: ICONDIRENTRY + seq: + - id: width + -orig-id: bWidth + type: u1 + doc: Width of image, px + - id: height + -orig-id: bHeight + type: u1 + doc: Height of image, px + - id: num_colors + -orig-id: bColorCount + type: u1 + doc: | + Number of colors in palette of the image or 0 if image has + no palette (i.e. RGB, RGBA, etc) + - id: reserved + -orig-id: bReserved + contents: [0] + - id: num_planes + -orig-id: wPlanes + type: u2 + doc: Number of color planes + - id: bpp + -orig-id: wBitCount + type: u2 + doc: Bits per pixel in the image + - id: len_img + -orig-id: dwBytesInRes + type: u4 + doc: Size of the image data + - id: ofs_img + -orig-id: dwImageOffset + type: u4 + doc: Absolute offset of the image data start in the file + instances: + img: + pos: ofs_img + size: len_img + doc: | + Raw image data. Use `is_png` to determine whether this is an + embedded PNG file (true) or a DIB bitmap (false) and call a + relevant parser, if needed to parse image data further. + png_header: + pos: ofs_img + size: 8 + doc: | + Pre-reads first 8 bytes of the image to determine if it's an + embedded PNG file. + is_png: + value: png_header == [137, 80, 78, 71, 13, 10, 26, 10] + doc: True if this image is in PNG format. diff --git a/tests/mime-detection/list b/tests/mime-detection/list index bef1cf5a..dd6b4df6 100644 --- a/tests/mime-detection/list +++ b/tests/mime-detection/list @@ -262,6 +262,7 @@ helloworld.java text/x-java ox helloworld.groovy text/x-groovy ox helloworld.vbs text/vbscript ox build.gradle text/x-gradle ox +ico.ksy text/x-kaitai-struct ox # Copied from http://asurvey.net/ccsfagent/media/survey.js survey.js application/javascript ox # Copied from gecko/accessible/src/jsat/Utils.jsm in Boot2Gecko |